diff options
author | Robin Gloster <mail@glob.in> | 2022-04-24 14:28:09 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-24 14:28:09 +0200 |
commit | ccf9257bb29f277b04f2eacfc1204c8c00aecbd9 (patch) | |
tree | 2d9229c2edd280e8cab6759b65ed8681e838fa7a | |
parent | 8fa007242cf4491d853daad3b7df1bdb57b1d541 (diff) | |
parent | 0d8c3cf64b0fd724c335f5fc5e3976447452152d (diff) |
Merge branch 'master' into bump-jira
543 files changed, 6549 insertions, 2788 deletions
diff --git a/doc/builders/fetchers.chapter.md b/doc/builders/fetchers.chapter.md index d9f22b062827c..09a41cd9ce0bb 100644 --- a/doc/builders/fetchers.chapter.md +++ b/doc/builders/fetchers.chapter.md @@ -6,7 +6,7 @@ When using Nix, you will frequently need to download source code and other files Because fixed output derivations are _identified_ by their hash, a common mistake is to update a fetcher's URL or a version parameter, without updating the hash. **This will cause the old contents to be used.** So remember to always invalidate the hash argument. -For those who develop and maintain fetchers, a similar problem arises with changes to the implementation of a fetcher. These may cause a fixed output derivation to fail, but won't normally be caught by tests because the supposed output is already in the store or cache. For the purpose of testing, you can use a trick that is embodied by the [`invalidateFetcherByDrvHash`](#sec-pkgs-invalidateFetcherByDrvHash) function. It uses the derivation `name` to create a unique output path per fetcher implementation, defeating the caching precisely where it would be harmful. +For those who develop and maintain fetchers, a similar problem arises with changes to the implementation of a fetcher. These may cause a fixed output derivation to fail, but won't normally be caught by tests because the supposed output is already in the store or cache. For the purpose of testing, you can use a trick that is embodied by the [`invalidateFetcherByDrvHash`](#tester-invalidateFetcherByDrvHash) function. It uses the derivation `name` to create a unique output path per fetcher implementation, defeating the caching precisely where it would be harmful. ## `fetchurl` and `fetchzip` {#fetchurl} diff --git a/doc/builders/special.xml b/doc/builders/special.xml index 2f84599cdd4f3..8902ce5c81329 100644 --- a/doc/builders/special.xml +++ b/doc/builders/special.xml @@ -7,5 +7,4 @@ </para> <xi:include href="special/fhs-environments.section.xml" /> <xi:include href="special/mkshell.section.xml" /> - <xi:include href="special/invalidateFetcherByDrvHash.section.xml" /> </chapter> diff --git a/doc/builders/special/invalidateFetcherByDrvHash.section.md b/doc/builders/special/invalidateFetcherByDrvHash.section.md deleted file mode 100644 index 7c2f03a64b7b3..0000000000000 --- a/doc/builders/special/invalidateFetcherByDrvHash.section.md +++ /dev/null @@ -1,31 +0,0 @@ - -## `invalidateFetcherByDrvHash` {#sec-pkgs-invalidateFetcherByDrvHash} - -Use the derivation hash to invalidate the output via name, for testing. - -Type: `(a@{ name, ... } -> Derivation) -> a -> Derivation` - -Normally, fixed output derivations can and should be cached by their output -hash only, but for testing we want to re-fetch everytime the fetcher changes. - -Changes to the fetcher become apparent in the drvPath, which is a hash of -how to fetch, rather than a fixed store path. -By inserting this hash into the name, we can make sure to re-run the fetcher -every time the fetcher changes. - -This relies on the assumption that Nix isn't clever enough to reuse its -database of local store contents to optimize fetching. - -You might notice that the "salted" name derives from the normal invocation, -not the final derivation. `invalidateFetcherByDrvHash` has to invoke the fetcher -function twice: once to get a derivation hash, and again to produce the final -fixed output derivation. - -Example: - - tests.fetchgit = invalidateFetcherByDrvHash fetchgit { - name = "nix-source"; - url = "https://github.com/NixOS/nix"; - rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a"; - sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY="; - }; diff --git a/doc/builders/testers.chapter.md b/doc/builders/testers.chapter.md new file mode 100644 index 0000000000000..2c30c8bd240e1 --- /dev/null +++ b/doc/builders/testers.chapter.md @@ -0,0 +1,82 @@ +# Testers {#chap-testers} +This chapter describes several testing builders which are available in the <literal>testers</literal> namespace. + +## `testVersion` {#tester-testVersion} + +Checks the command output contains the specified version + +Although simplistic, this test assures that the main program +can run. While there's no substitute for a real test case, +it does catch dynamic linking errors and such. It also provides +some protection against accidentally building the wrong version, +for example when using an 'old' hash in a fixed-output derivation. + +Examples: + +```nix +passthru.tests.version = testVersion { package = hello; }; + +passthru.tests.version = testVersion { + package = seaweedfs; + command = "weed version"; +}; + +passthru.tests.version = testVersion { + package = key; + command = "KeY --help"; + # Wrong '2.5' version in the code. Drop on next version. + version = "2.5"; +}; +``` + +## `testEqualDerivation` {#tester-testEqualDerivation} + +Checks that two packages produce the exact same build instructions. + +This can be used to make sure that a certain difference of configuration, +such as the presence of an overlay does not cause a cache miss. + +When the derivations are equal, the return value is an empty file. +Otherwise, the build log explains the difference via `nix-diff`. + +Example: + +```nix +testEqualDerivation + "The hello package must stay the same when enabling checks." + hello + (hello.overrideAttrs(o: { doCheck = true; })) +``` + +## `invalidateFetcherByDrvHash` {#tester-invalidateFetcherByDrvHash} + +Use the derivation hash to invalidate the output via name, for testing. + +Type: `(a@{ name, ... } -> Derivation) -> a -> Derivation` + +Normally, fixed output derivations can and should be cached by their output +hash only, but for testing we want to re-fetch everytime the fetcher changes. + +Changes to the fetcher become apparent in the drvPath, which is a hash of +how to fetch, rather than a fixed store path. +By inserting this hash into the name, we can make sure to re-run the fetcher +every time the fetcher changes. + +This relies on the assumption that Nix isn't clever enough to reuse its +database of local store contents to optimize fetching. + +You might notice that the "salted" name derives from the normal invocation, +not the final derivation. `invalidateFetcherByDrvHash` has to invoke the fetcher +function twice: once to get a derivation hash, and again to produce the final +fixed output derivation. + +Example: + +```nix +tests.fetchgit = invalidateFetcherByDrvHash fetchgit { + name = "nix-source"; + url = "https://github.com/NixOS/nix"; + rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a"; + sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY="; +}; +``` diff --git a/doc/languages-frameworks/chicken.section.md b/doc/languages-frameworks/chicken.section.md new file mode 100644 index 0000000000000..d8c35bd20c506 --- /dev/null +++ b/doc/languages-frameworks/chicken.section.md @@ -0,0 +1,49 @@ +# CHICKEN {#sec-chicken} + +[CHICKEN](https://call-cc.org/) is a +[R⁵RS](https://schemers.org/Documents/Standards/R5RS/HTML/)-compliant Scheme +compiler. It includes an interactive mode and a custom package format, "eggs". + +## Using Eggs + +Eggs described in nixpkgs are available inside the +`chickenPackages.chickenEggs` attrset. Including an egg as a build input is +done in the typical Nix fashion. For example, to include support for [SRFI +189](https://srfi.schemers.org/srfi-189/srfi-189.html) in a derivation, one +might write: + +```nix + buildInputs = [ + chicken + chickenPackages.chickenEggs.srfi-189 + ]; +``` + +Both `chicken` and its eggs have a setup hook which configures the environment +variables `CHICKEN_INCLUDE_PATH` and `CHICKEN_REPOSITORY_PATH`. + +## Updating Eggs + +nixpkgs only knows about a subset of all published eggs. It uses +[egg2nix](https://github.com/the-kenny/egg2nix) to generate a +package set from a list of eggs to include. + +The package set is regenerated by running the following shell commands: + +``` +$ nix-shell -p chickenPackages.egg2nix +$ cd pkgs/development/compilers/chicken/5/ +$ egg2nix eggs.scm > eggs.nix +``` + +## Adding Eggs + +When we run `egg2nix`, we obtain one collection of eggs with +mutually-compatible versions. This means that when we add new eggs, we may +need to update existing eggs. To keep those separate, follow the procedure for +updating eggs before including more eggs. + +To include more eggs, edit `pkgs/development/compilers/chicken/5/eggs.scm`. +The first section of this file lists eggs which are required by `egg2nix` +itself; all other eggs go into the second section. After editing, follow the +procedure for updating eggs. diff --git a/doc/languages-frameworks/index.xml b/doc/languages-frameworks/index.xml index 144fa96bac120..3d5b2f738976d 100644 --- a/doc/languages-frameworks/index.xml +++ b/doc/languages-frameworks/index.xml @@ -9,6 +9,7 @@ <xi:include href="android.section.xml" /> <xi:include href="beam.section.xml" /> <xi:include href="bower.section.xml" /> + <xi:include href="chicken.section.xml" /> <xi:include href="coq.section.xml" /> <xi:include href="crystal.section.xml" /> <xi:include href="cuda.section.xml" /> diff --git a/doc/manual.xml b/doc/manual.xml index e49ae67ec943a..ccbaf40586d1a 100644 --- a/doc/manual.xml +++ b/doc/manual.xml @@ -25,6 +25,7 @@ <title>Builders</title> <xi:include href="builders/fetchers.chapter.xml" /> <xi:include href="builders/trivial-builders.chapter.xml" /> + <xi:include href="builders/testers.chapter.xml" /> <xi:include href="builders/special.xml" /> <xi:include href="builders/images.xml" /> <xi:include href="hooks/index.xml" /> diff --git a/lib/strings.nix b/lib/strings.nix index 820d1901f945b..11066890ec3d3 100644 --- a/lib/strings.nix +++ b/lib/strings.nix @@ -253,10 +253,7 @@ rec { => false */ hasInfix = infix: content: - let - drop = x: substring 1 (stringLength x) x; - in hasPrefix infix content - || content != "" && hasInfix infix (drop content); + builtins.match ".*${escapeRegex infix}.*" content != null; /* Convert a string to a list of characters (i.e. singleton strings). This allows you to, e.g., map a function over each character. However, diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 8587a1fb02c3b..b20b473dc679e 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -675,6 +675,12 @@ githubId = 858965; name = "Andrew Morsillo"; }; + an-empty-string = { + name = "Tris Emmy Wilson"; + email = "tris@tris.fyi"; + github = "an-empty-string"; + githubId = 681716; + }; andehen = { email = "git@andehen.net"; github = "andehen"; @@ -1043,8 +1049,8 @@ name = "Kirill Boltaev"; }; ashley = { - email = "personavinny@protonmail.com"; - github = "paranoidcat"; + email = "ashley@kira64.xyz"; + github = "kira64xyz"; githubId = 84152630; name = "Ashley Chiara"; }; @@ -3843,6 +3849,13 @@ githubId = 222467; name = "Dmitry Ivanov"; }; + ethindp = { + name = "Ethin Probst"; + email = "harlydavidsen@gmail.com"; + matrix = "@ethindp:the-gdn.net"; + github = "ethindp"; + githubId = 8030501; + }; Etjean = { email = "et.jean@outlook.fr"; github = "Etjean"; @@ -7190,6 +7203,13 @@ githubId = 714; name = "Lily Ballard"; }; + lilyinstarlight = { + email = "lily@lily.flowers"; + matrix = "@lily:lily.flowers"; + github = "lilyinstarlight"; + githubId = 298109; + name = "Lily Foster"; + }; limeytexan = { email = "limeytexan@gmail.com"; github = "limeytexan"; @@ -8850,6 +8870,12 @@ githubId = 3747396; name = "Nathan Isom"; }; + neilmayhew = { + email = "nix@neil.mayhew.name"; + github = "neilmayhew"; + githubId = 166791; + name = "Neil Mayhew"; + }; nelsonjeppesen = { email = "nix@jeppesen.io"; github = "NelsonJeppesen"; diff --git a/nixos/doc/manual/development/writing-nixos-tests.section.md b/nixos/doc/manual/development/writing-nixos-tests.section.md index a9ffffe2277c2..e5ee1cb01ff16 100644 --- a/nixos/doc/manual/development/writing-nixos-tests.section.md +++ b/nixos/doc/manual/development/writing-nixos-tests.section.md @@ -159,34 +159,42 @@ The following methods are available on machine objects: `execute` : Execute a shell command, returning a list `(status, stdout)`. + + Commands are run with `set -euo pipefail` set: + + - If several commands are separated by `;` and one fails, the + command as a whole will fail. + + - For pipelines, the last non-zero exit status will be returned + (if there is one; otherwise zero will be returned). + + - Dereferencing unset variables fails the command. + + - It will wait for stdout to be closed. + If the command detaches, it must close stdout, as `execute` will wait for this to consume all output reliably. This can be achieved by redirecting stdout to stderr `>&2`, to `/dev/console`, `/dev/null` or a file. Examples of detaching commands are `sleep 365d &`, where the shell forks a new process that can write to stdout and `xclip -i`, where the `xclip` command itself forks without closing stdout. + Takes an optional parameter `check_return` that defaults to `True`. Setting this parameter to `False` will not check for the return code and return -1 instead. This can be used for commands that shut down the VM and would therefore break the pipe that would be used for retrieving the return code. + A timeout for the command can be specified (in seconds) using the optional + `timeout` parameter, e.g., `execute(cmd, timeout=10)` or + `execute(cmd, timeout=None)`. The default is 900 seconds. + `succeed` : Execute a shell command, raising an exception if the exit status is - not zero, otherwise returning the standard output. Commands are run - with `set -euo pipefail` set: - - - If several commands are separated by `;` and one fails, the - command as a whole will fail. - - - For pipelines, the last non-zero exit status will be returned - (if there is one, zero will be returned otherwise). - - - Dereferencing unset variables fail the command. - - - It will wait for stdout to be closed. See `execute` for the - implications. + not zero, otherwise returning the standard output. Similar to `execute`, + except that the timeout is `None` by default. See `execute` for details on + command execution. `fail` @@ -196,10 +204,13 @@ The following methods are available on machine objects: `wait_until_succeeds` : Repeat a shell command with 1-second intervals until it succeeds. + Has a default timeout of 900 seconds which can be modified, e.g. + `wait_until_succeeds(cmd, timeout=10)`. See `execute` for details on + command execution. `wait_until_fails` -: Repeat a shell command with 1-second intervals until it fails. +: Like `wait_until_succeeds`, but repeating the command until it fails. `wait_for_unit` diff --git a/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml b/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml index b194d58e5beb6..7ce3e4cb29065 100644 --- a/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml +++ b/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml @@ -274,35 +274,9 @@ start_all() <listitem> <para> Execute a shell command, returning a list - <literal>(status, stdout)</literal>. If the command - detaches, it must close stdout, as - <literal>execute</literal> will wait for this to consume all - output reliably. This can be achieved by redirecting stdout - to stderr <literal>>&2</literal>, to - <literal>/dev/console</literal>, - <literal>/dev/null</literal> or a file. Examples of - detaching commands are <literal>sleep 365d &</literal>, - where the shell forks a new process that can write to stdout - and <literal>xclip -i</literal>, where the - <literal>xclip</literal> command itself forks without - closing stdout. Takes an optional parameter - <literal>check_return</literal> that defaults to - <literal>True</literal>. Setting this parameter to - <literal>False</literal> will not check for the return code - and return -1 instead. This can be used for commands that - shut down the VM and would therefore break the pipe that - would be used for retrieving the return code. + <literal>(status, stdout)</literal>. </para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <literal>succeed</literal> - </term> - <listitem> <para> - Execute a shell command, raising an exception if the exit - status is not zero, otherwise returning the standard output. Commands are run with <literal>set -euo pipefail</literal> set: </para> @@ -317,22 +291,63 @@ start_all() <listitem> <para> For pipelines, the last non-zero exit status will be - returned (if there is one, zero will be returned - otherwise). + returned (if there is one; otherwise zero will be + returned). </para> </listitem> <listitem> <para> - Dereferencing unset variables fail the command. + Dereferencing unset variables fails the command. </para> </listitem> <listitem> <para> - It will wait for stdout to be closed. See - <literal>execute</literal> for the implications. + It will wait for stdout to be closed. </para> </listitem> </itemizedlist> + <para> + If the command detaches, it must close stdout, as + <literal>execute</literal> will wait for this to consume all + output reliably. This can be achieved by redirecting stdout + to stderr <literal>>&2</literal>, to + <literal>/dev/console</literal>, + <literal>/dev/null</literal> or a file. Examples of + detaching commands are <literal>sleep 365d &</literal>, + where the shell forks a new process that can write to stdout + and <literal>xclip -i</literal>, where the + <literal>xclip</literal> command itself forks without + closing stdout. + </para> + <para> + Takes an optional parameter <literal>check_return</literal> + that defaults to <literal>True</literal>. Setting this + parameter to <literal>False</literal> will not check for the + return code and return -1 instead. This can be used for + commands that shut down the VM and would therefore break the + pipe that would be used for retrieving the return code. + </para> + <para> + A timeout for the command can be specified (in seconds) + using the optional <literal>timeout</literal> parameter, + e.g., <literal>execute(cmd, timeout=10)</literal> or + <literal>execute(cmd, timeout=None)</literal>. The default + is 900 seconds. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>succeed</literal> + </term> + <listitem> + <para> + Execute a shell command, raising an exception if the exit + status is not zero, otherwise returning the standard output. + Similar to <literal>execute</literal>, except that the + timeout is <literal>None</literal> by default. See + <literal>execute</literal> for details on command execution. + </para> </listitem> </varlistentry> <varlistentry> @@ -353,7 +368,10 @@ start_all() <listitem> <para> Repeat a shell command with 1-second intervals until it - succeeds. + succeeds. Has a default timeout of 900 seconds which can be + modified, e.g. + <literal>wait_until_succeeds(cmd, timeout=10)</literal>. See + <literal>execute</literal> for details on command execution. </para> </listitem> </varlistentry> @@ -363,8 +381,8 @@ start_all() </term> <listitem> <para> - Repeat a shell command with 1-second intervals until it - fails. + Like <literal>wait_until_succeeds</literal>, but repeating + the command until it fails. </para> </listitem> </varlistentry> diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml index 5598709d59ae5..05b3822cab713 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml @@ -377,6 +377,14 @@ </listitem> <listitem> <para> + <link xlink:href="https://github.com/lakinduakash/linux-wifi-hotspot">create_ap</link>, + a module for creating wifi hotspots using the program + linux-wifi-hotspot. Available as + <link xlink:href="options.html#opt-services.create_ap.enable">services.create_ap</link>. + </para> + </listitem> + <listitem> + <para> <link xlink:href="https://0xerr0r.github.io/blocky/">blocky</link>, fast and lightweight DNS proxy as ad-blocker for local network with many features. @@ -2347,6 +2355,15 @@ generating host-global NNCP configuration. </para> </listitem> + <listitem> + <para> + The option <literal>services.snapserver.openFirewall</literal> + will no longer default to <literal>true</literal> starting + with NixOS 22.11. Enable it explicitly if you need to control + Snapserver remotely or connect streamig clients from other + hosts. + </para> + </listitem> </itemizedlist> </section> </section> diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md index 7373a5f4875da..16c59ce3dddb1 100644 --- a/nixos/doc/manual/release-notes/rl-2205.section.md +++ b/nixos/doc/manual/release-notes/rl-2205.section.md @@ -107,6 +107,8 @@ In addition to numerous new and upgraded packages, this release has the followin - [headscale](https://github.com/juanfont/headscale), an Open Source implementation of the [Tailscale](https://tailscale.io) Control Server. Available as [services.headscale](options.html#opt-services.headscale.enable) +- [create_ap](https://github.com/lakinduakash/linux-wifi-hotspot), a module for creating wifi hotspots using the program linux-wifi-hotspot. Available as [services.create_ap](options.html#opt-services.create_ap.enable). + - [blocky](https://0xerr0r.github.io/blocky/), fast and lightweight DNS proxy as ad-blocker for local network with many features. - [pacemaker](https://clusterlabs.org/pacemaker/) cluster resource manager @@ -830,4 +832,8 @@ In addition to numerous new and upgraded packages, this release has the followin - The `programs.nncp` options were added for generating host-global NNCP configuration. +- The option `services.snapserver.openFirewall` will no longer default to + `true` starting with NixOS 22.11. Enable it explicitly if you need to control + Snapserver remotely or connect streamig clients from other hosts. + <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. --> diff --git a/nixos/lib/test-driver/test_driver/machine.py b/nixos/lib/test-driver/test_driver/machine.py index f3e615fe5bf98..035e3ffe89731 100644 --- a/nixos/lib/test-driver/test_driver/machine.py +++ b/nixos/lib/test-driver/test_driver/machine.py @@ -526,10 +526,17 @@ class Machine: self.run_callbacks() self.connect() + # Always run command with shell opts + command = f"set -euo pipefail; {command}" + + timeout_str = "" if timeout is not None: - command = "timeout {} sh -c {}".format(timeout, shlex.quote(command)) + timeout_str = f"timeout {timeout}" + + out_command = ( + f"{timeout_str} sh -c {shlex.quote(command)} | (base64 --wrap 0; echo)\n" + ) - out_command = f"( set -euo pipefail; {command} ) | (base64 --wrap 0; echo)\n" assert self.shell self.shell.send(out_command.encode()) diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix index dfafda77cb560..1707935ad5bc6 100644 --- a/nixos/modules/installer/tools/nix-fallback-paths.nix +++ b/nixos/modules/installer/tools/nix-fallback-paths.nix @@ -1,7 +1,7 @@ { - x86_64-linux = "/nix/store/0n2wfvi1i3fg97cjc54wslvk0804y0sn-nix-2.7.0"; - i686-linux = "/nix/store/4p27c1k9z99pli6x8cxfph20yfyzn9nh-nix-2.7.0"; - aarch64-linux = "/nix/store/r9yr8ijsb0gi9r7y92y3yzyld59yp0kj-nix-2.7.0"; - x86_64-darwin = "/nix/store/hyfj5imsd0c4amlcjpf8l6w4q2draaj3-nix-2.7.0"; - aarch64-darwin = "/nix/store/9l96qllhbb6xrsjaai76dn74ap7rq92n-nix-2.7.0"; + x86_64-linux = "/nix/store/yx36yzxpw1hn4fz8iyf1rfyd56jg3yf4-nix-2.8.0"; + i686-linux = "/nix/store/c0hg806zvwg800qbszzj8ff4a224kjgf-nix-2.8.0"; + aarch64-linux = "/nix/store/wic2832ll53q392r2wks4xr2nrk7p8p5-nix-2.8.0"; + x86_64-darwin = "/nix/store/5yqdvnkmkrhl36xh0qy31pymdphjimdd-nix-2.8.0"; + aarch64-darwin = "/nix/store/izc9592szrnpv8n86hr88bhpyc9g6b4s-nix-2.8.0"; } diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index 2e088b9777102..bf5ec0f9690b0 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -206,6 +206,11 @@ in # Or disable the firewall altogether. # networking.firewall.enable = false; + # Copy the NixOS configuration file and link it from the resulting system + # (/run/current-system/configuration.nix). This is useful in case you + # accidentally delete configuration.nix. + # system.copySystemConfiguration = true; + # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 9aa8817ca517c..132416d865f4b 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -740,6 +740,7 @@ ./services/networking/coredns.nix ./services/networking/corerad.nix ./services/networking/coturn.nix + ./services/networking/create_ap.nix ./services/networking/croc.nix ./services/networking/dante.nix ./services/networking/ddclient.nix diff --git a/nixos/modules/services/audio/snapserver.nix b/nixos/modules/services/audio/snapserver.nix index 6d5ce98df8956..91d97a0b551e2 100644 --- a/nixos/modules/services/audio/snapserver.nix +++ b/nixos/modules/services/audio/snapserver.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, options, lib, pkgs, ... }: with lib; @@ -101,6 +101,8 @@ in { openFirewall = mkOption { type = types.bool; + # Make the behavior consistent with other services. Set the default to + # false and remove the accompanying warning after NixOS 22.05 is released. default = true; description = '' Whether to automatically open the specified ports in the firewall. @@ -273,10 +275,16 @@ in { config = mkIf cfg.enable { - # https://github.com/badaix/snapcast/blob/98ac8b2fb7305084376607b59173ce4097c620d8/server/streamreader/stream_manager.cpp#L85 - warnings = filter (w: w != "") (mapAttrsToList (k: v: if v.type == "spotify" then '' - services.snapserver.streams.${k}.type = "spotify" is deprecated, use services.snapserver.streams.${k}.type = "librespot" instead. - '' else "") cfg.streams); + warnings = + # https://github.com/badaix/snapcast/blob/98ac8b2fb7305084376607b59173ce4097c620d8/server/streamreader/stream_manager.cpp#L85 + filter (w: w != "") (mapAttrsToList (k: v: if v.type == "spotify" then '' + services.snapserver.streams.${k}.type = "spotify" is deprecated, use services.snapserver.streams.${k}.type = "librespot" instead. + '' else "") cfg.streams) + # Remove this warning after NixOS 22.05 is released. + ++ optional (options.services.snapserver.openFirewall.highestPrio >= (mkOptionDefault null).priority) '' + services.snapserver.openFirewall will no longer default to true starting with NixOS 22.11. + Enable it explicitly if you need to control Snapserver remotely. + ''; systemd.services.snapserver = { after = [ "network.target" ]; @@ -304,8 +312,8 @@ in { networking.firewall.allowedTCPPorts = optionals cfg.openFirewall [ cfg.port ] - ++ optional cfg.tcp.enable cfg.tcp.port - ++ optional cfg.http.enable cfg.http.port; + ++ optional (cfg.openFirewall && cfg.tcp.enable) cfg.tcp.port + ++ optional (cfg.openFirewall && cfg.http.enable) cfg.http.port; }; meta = { diff --git a/nixos/modules/services/networking/consul.nix b/nixos/modules/services/networking/consul.nix index ca9c422e6d7cb..cb53cc01f52dd 100644 --- a/nixos/modules/services/networking/consul.nix +++ b/nixos/modules/services/networking/consul.nix @@ -80,13 +80,21 @@ in The name of the interface to pull the bind_addr from. ''; }; + }; + forceAddrFamily = mkOption { + type = types.enum [ "any" "ipv4" "ipv6" ]; + default = "any"; + description = '' + Whether to bind ipv4/ipv6 or both kind of addresses. + ''; }; forceIpv4 = mkOption { - type = types.bool; - default = false; + type = types.nullOr types.bool; + default = null; description = '' + Deprecated: Use consul.forceAddrFamily instead. Whether we should force the interfaces to only pull ipv4 addresses. ''; }; @@ -175,6 +183,13 @@ in systemPackages = [ cfg.package ]; }; + warnings = lib.flatten [ + (lib.optional (cfg.forceIpv4 != null) '' + The option consul.forceIpv4 is deprecated, please use + consul.forceAddrFamily instead. + '') + ]; + systemd.services.consul = { wantedBy = [ "multi-user.target" ]; after = [ "network.target" ] ++ systemdDevices; @@ -196,15 +211,21 @@ in }); path = with pkgs; [ iproute2 gnugrep gawk consul ]; - preStart = '' + preStart = let + family = if cfg.forceAddrFamily == "ipv6" then + "-6" + else if cfg.forceAddrFamily == "ipv4" then + "-4" + else + ""; + in '' mkdir -m 0700 -p ${dataDir} chown -R consul ${dataDir} # Determine interface addresses getAddrOnce () { - ip addr show dev "$1" \ - | grep 'inet${optionalString (cfg.forceIpv4) " "}.*scope global' \ - | awk -F '[ /\t]*' '{print $3}' | head -n 1 + ip ${family} addr show dev "$1" scope global \ + | awk -F '[ /\t]*' '/inet/ {print $3}' | head -n 1 } getAddr () { ADDR="$(getAddrOnce $1)" @@ -234,6 +255,11 @@ in }; } + # deprecated + (mkIf (cfg.forceIpv4 != null && cfg.forceIpv4) { + services.consul.forceAddrFamily = "ipv4"; + }) + (mkIf (cfg.alerts.enable) { systemd.services.consul-alerts = { wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/networking/create_ap.nix b/nixos/modules/services/networking/create_ap.nix new file mode 100644 index 0000000000000..a3c330fab0075 --- /dev/null +++ b/nixos/modules/services/networking/create_ap.nix @@ -0,0 +1,50 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.create_ap; + configFile = pkgs.writeText "create_ap.conf" (generators.toKeyValue { } cfg.settings); +in { + options = { + services.create_ap = { + enable = mkEnableOption "setup wifi hotspots using create_ap"; + settings = mkOption { + type = with types; attrsOf (oneOf [ int bool str ]); + default = {}; + description = '' + Configuration for <package>create_ap</package>. + See <link xlink:href="https://raw.githubusercontent.com/lakinduakash/linux-wifi-hotspot/master/src/scripts/create_ap.conf">upstream example configuration</link> + for supported values. + ''; + example = { + INTERNET_IFACE = "eth0"; + WIFI_IFACE = "wlan0"; + SSID = "My Wifi Hotspot"; + PASSPHRASE = "12345678"; + }; + }; + }; + }; + + config = mkIf cfg.enable { + + systemd = { + services.create_ap = { + wantedBy = [ "multi-user.target" ]; + description = "Create AP Service"; + after = [ "network.target" ]; + restartTriggers = [ configFile ]; + serviceConfig = { + ExecStart = "${pkgs.linux-wifi-hotspot}/bin/create_ap --config ${configFile}"; + KillSignal = "SIGINT"; + Restart = "on-failure"; + }; + }; + }; + + }; + + meta.maintainers = with lib.maintainers; [ onny ]; + +} diff --git a/nixos/modules/services/web-apps/atlassian/jira.nix b/nixos/modules/services/web-apps/atlassian/jira.nix index d7a26838d6f82..a120f6cdb3d88 100644 --- a/nixos/modules/services/web-apps/atlassian/jira.nix +++ b/nixos/modules/services/web-apps/atlassian/jira.nix @@ -151,6 +151,7 @@ in users.users.${cfg.user} = { isSystemUser = true; group = cfg.group; + home = cfg.home; }; users.groups.${cfg.group} = {}; diff --git a/nixos/modules/services/x11/desktop-managers/gnome.nix b/nixos/modules/services/x11/desktop-managers/gnome.nix index 258d39d491859..e7e626c66f021 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome.nix @@ -22,6 +22,9 @@ let favorite-apps=[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop' ] ''; + nixos-background-ligtht = pkgs.nixos-artwork.wallpapers.simple-blue; + nixos-background-dark = pkgs.nixos-artwork.wallpapers.simple-dark-gray; + nixos-gsettings-desktop-schemas = let defaultPackages = with pkgs; [ gsettings-desktop-schemas gnome.gnome-shell ]; in @@ -42,11 +45,11 @@ let chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF [org.gnome.desktop.background] - picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-blue.gnomeFilePath}' - picture-uri-dark='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}' + picture-uri='file://${nixos-background-ligtht.gnomeFilePath}' + picture-uri-dark='file://${nixos-background-dark.gnomeFilePath}' [org.gnome.desktop.screensaver] - picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom.gnomeFilePath}' + picture-uri='file://${nixos-background-dark.gnomeFilePath}' ${cfg.favoriteAppsOverride} @@ -56,6 +59,26 @@ let ${pkgs.glib.dev}/bin/glib-compile-schemas $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/ ''; + nixos-background-info = pkgs.writeTextFile rec { + name = "nixos-background-info"; + text = '' + <?xml version="1.0"?> + <!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd"> + <wallpapers> + <wallpaper deleted="false"> + <name>Blobs</name> + <filename>${nixos-background-ligtht.gnomeFilePath}</filename> + <filename-dark>${nixos-background-dark.gnomeFilePath}</filename-dark> + <options>zoom</options> + <shade_type>solid</shade_type> + <pcolor>#3a4ba0</pcolor> + <scolor>#2f302f</scolor> + </wallpaper> + </wallpapers> + ''; + destination = "/share/gnome-background-properties/nixos.xml"; + }; + flashbackEnabled = cfg.flashback.enableMetacity || length cfg.flashback.customSessions > 0; flashbackWms = optional cfg.flashback.enableMetacity { wmName = "metacity"; @@ -431,6 +454,7 @@ in # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-38/elements/core/meta-gnome-core-shell.bst environment.systemPackages = with pkgs.gnome; [ adwaita-icon-theme + nixos-background-info gnome-backgrounds gnome-bluetooth gnome-color-manager @@ -439,8 +463,6 @@ in gnome-shell-extensions gnome-themes-extra pkgs.gnome-tour # GNOME Shell detects the .desktop file on first log-in. - pkgs.nixos-artwork.wallpapers.simple-dark-gray - pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom pkgs.gnome-user-docs pkgs.orca pkgs.glib # for gsettings diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index dde07571b3e7d..57fc02a2e3227 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -1,10 +1,11 @@ -{ config, lib, pkgs, ... }: +{ config, options, lib, pkgs, ... }: with lib; let luks = config.boot.initrd.luks; kernelPackages = config.boot.kernelPackages; + defaultPrio = (mkOptionDefault {}).priority; commonFunctions = '' die() { @@ -474,6 +475,16 @@ let preLVM = filterAttrs (n: v: v.preLVM) luks.devices; postLVM = filterAttrs (n: v: !v.preLVM) luks.devices; + stage1Crypttab = pkgs.writeText "initrd-crypttab" (lib.concatStringsSep "\n" (lib.mapAttrsToList (n: v: let + opts = v.crypttabExtraOpts + ++ optional v.allowDiscards "discard" + ++ optionals v.bypassWorkqueues [ "no-read-workqueue" "no-write-workqueue" ] + ++ optional (v.header != null) "header=${v.header}" + ++ optional (v.keyFileOffset != null) "keyfile-offset=${v.keyFileOffset}" + ++ optional (v.keyFileSize != null) "keyfile-size=${v.keyFileSize}" + ; + in "${n} ${v.device} ${if v.keyFile == null then "-" else v.keyFile} ${lib.concatStringsSep "," opts}") luks.devices)); + in { imports = [ @@ -802,6 +813,18 @@ in Commands that should be run right after we have mounted our LUKS device. ''; }; + + crypttabExtraOpts = mkOption { + type = with types; listOf singleLineStr; + default = []; + example = [ "_netdev" ]; + visible = false; + description = '' + Only used with systemd stage 1. + + Extra options to append to the last column of the generated crypttab file. + ''; + }; }; })); }; @@ -853,6 +876,31 @@ in -> versionAtLeast kernelPackages.kernel.version "5.9"; message = "boot.initrd.luks.devices.<name>.bypassWorkqueues is not supported for kernels older than 5.9"; } + + { assertion = config.boot.initrd.systemd.enable -> all (dev: !dev.fallbackToPassword) (attrValues luks.devices); + message = "boot.initrd.luks.devices.<name>.fallbackToPassword is implied by systemd stage 1."; + } + { assertion = config.boot.initrd.systemd.enable -> all (dev: dev.preLVM) (attrValues luks.devices); + message = "boot.initrd.luks.devices.<name>.preLVM is not used by systemd stage 1."; + } + { assertion = config.boot.initrd.systemd.enable -> options.boot.initrd.luks.reusePassphrases.highestPrio == defaultPrio; + message = "boot.initrd.luks.reusePassphrases has no effect with systemd stage 1."; + } + { assertion = config.boot.initrd.systemd.enable -> all (dev: dev.preOpenCommands == "" && dev.postOpenCommands == "") (attrValues luks.devices); + message = "boot.initrd.luks.devices.<name>.preOpenCommands and postOpenCommands is not supported by systemd stage 1. Please bind a service to cryptsetup.target or cryptsetup-pre.target instead."; + } + # TODO + { assertion = config.boot.initrd.systemd.enable -> !luks.gpgSupport; + message = "systemd stage 1 does not support GPG smartcards yet."; + } + # TODO + { assertion = config.boot.initrd.systemd.enable -> !luks.fido2Support; + message = "systemd stage 1 does not support FIDO2 yet."; + } + # TODO + { assertion = config.boot.initrd.systemd.enable -> !luks.yubikeySupport; + message = "systemd stage 1 does not support Yubikeys yet."; + } ]; # actually, sbp2 driver is the one enabling the DMA attack, but this needs to be tested @@ -867,7 +915,7 @@ in ++ (if builtins.elem "xts" luks.cryptoModules then ["ecb"] else []); # copy the cryptsetup binary and it's dependencies - boot.initrd.extraUtilsCommands = '' + boot.initrd.extraUtilsCommands = mkIf (!config.boot.initrd.systemd.enable) '' copy_bin_and_libs ${pkgs.cryptsetup}/bin/cryptsetup copy_bin_and_libs ${askPass}/bin/cryptsetup-askpass sed -i s,/bin/sh,$out/bin/sh, $out/bin/cryptsetup-askpass @@ -915,7 +963,7 @@ in ''} ''; - boot.initrd.extraUtilsCommandsTest = '' + boot.initrd.extraUtilsCommandsTest = mkIf (!config.boot.initrd.systemd.enable) '' $out/bin/cryptsetup --version ${optionalString luks.yubikeySupport '' $out/bin/ykchalresp -V @@ -932,9 +980,27 @@ in ''} ''; - boot.initrd.preFailCommands = postCommands; - boot.initrd.preLVMCommands = commonFunctions + preCommands + concatStrings (mapAttrsToList openCommand preLVM) + postCommands; - boot.initrd.postDeviceCommands = commonFunctions + preCommands + concatStrings (mapAttrsToList openCommand postLVM) + postCommands; + boot.initrd.systemd = { + contents."/etc/crypttab".source = stage1Crypttab; + + extraBin.systemd-cryptsetup = "${config.boot.initrd.systemd.package}/lib/systemd/systemd-cryptsetup"; + + additionalUpstreamUnits = [ + "cryptsetup-pre.target" + "cryptsetup.target" + "remote-cryptsetup.target" + ]; + storePaths = [ + "${config.boot.initrd.systemd.package}/lib/systemd/systemd-cryptsetup" + ]; + + }; + # We do this because we need the udev rules from the package + boot.initrd.services.lvm.enable = true; + + boot.initrd.preFailCommands = mkIf (!config.boot.initrd.systemd.enable) postCommands; + boot.initrd.preLVMCommands = mkIf (!config.boot.initrd.systemd.enable) (commonFunctions + preCommands + concatStrings (mapAttrsToList openCommand preLVM) + postCommands); + boot.initrd.postDeviceCommands = mkIf (!config.boot.initrd.systemd.enable) (commonFunctions + preCommands + concatStrings (mapAttrsToList openCommand postLVM) + postCommands); environment.systemPackages = [ pkgs.cryptsetup ]; }; diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index 5e42eda3875b0..d10ebac568282 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -420,7 +420,7 @@ let ${lib.optionalString (config.boot.initrd.secrets == {}) "exit 0"} - export PATH=${pkgs.coreutils}/bin:${pkgs.cpio}/bin:${pkgs.gzip}/bin:${pkgs.findutils}/bin + export PATH=${pkgs.coreutils}/bin:${pkgs.libarchive}/bin:${pkgs.gzip}/bin:${pkgs.findutils}/bin function cleanup { if [ -n "$tmp" -a -d "$tmp" ]; then @@ -440,7 +440,7 @@ let ) config.boot.initrd.secrets) } - (cd "$tmp" && find . -print0 | sort -z | cpio --quiet -o -H newc -R +0:+0 --reproducible --null) | \ + (cd "$tmp" && find . -print0 | sort -z | bsdtar --uid 0 --gid 0 -cnf - -T - | bsdtar --null -cf - --format=newc @-) | \ ${compressorExe} ${lib.escapeShellArgs initialRamdisk.compressorArgs} >> "$1" ''; diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 57c17508aab60..5158bc681e08b 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -524,6 +524,8 @@ in systemd-confinement = handleTest ./systemd-confinement.nix {}; systemd-cryptenroll = handleTest ./systemd-cryptenroll.nix {}; systemd-escaping = handleTest ./systemd-escaping.nix {}; + systemd-initrd-luks-keyfile = handleTest ./systemd-initrd-luks-keyfile.nix {}; + systemd-initrd-luks-password = handleTest ./systemd-initrd-luks-password.nix {}; systemd-initrd-shutdown = handleTest ./systemd-shutdown.nix { systemdStage1 = true; }; systemd-initrd-simple = handleTest ./systemd-initrd-simple.nix {}; systemd-initrd-swraid = handleTest ./systemd-initrd-swraid.nix {}; diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 30a5b5c45b366..ea2b2d04ed19d 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -299,6 +299,13 @@ let virtualisation.qemu.diskInterface = if grubVersion == 1 then "scsi" else "virtio"; + # We don't want to have any networking in the guest whatsoever. + # Also, if any vlans are enabled, the guest will reboot + # (with a different configuration for legacy reasons), + # and spend 5 minutes waiting for the vlan interface to show up + # (which will never happen). + virtualisation.vlans = []; + boot.loader.systemd-boot.enable = mkIf (bootLoader == "systemd-boot") true; hardware.enableAllFirmware = mkForce false; @@ -313,6 +320,7 @@ let docbook5 docbook_xsl_ns kmod.dev + libarchive.dev libxml2.bin libxslt.bin nixos-artwork.wallpapers.simple-dark-gray-bottom diff --git a/nixos/tests/nar-serve.nix b/nixos/tests/nar-serve.nix index 9ee738ffb170e..bb95ccb36911d 100644 --- a/nixos/tests/nar-serve.nix +++ b/nixos/tests/nar-serve.nix @@ -31,7 +31,7 @@ import ./make-test-python.nix ( # Create a fake cache with Nginx service the static files server.succeed( - "nix copy --to file:///var/www ${pkgs.hello}" + "nix --experimental-features nix-command copy --to file:///var/www ${pkgs.hello}" ) server.wait_for_unit("nginx.service") server.wait_for_open_port(80) diff --git a/nixos/tests/snapcast.nix b/nixos/tests/snapcast.nix index 30b8343e2ffee..9b62e4724e757 100644 --- a/nixos/tests/snapcast.nix +++ b/nixos/tests/snapcast.nix @@ -19,6 +19,7 @@ in { port = port; tcp.port = tcpPort; http.port = httpPort; + openFirewall = true; buffer = bufferSize; streams = { mpd = { diff --git a/nixos/tests/step-ca.nix b/nixos/tests/step-ca.nix index f21bd5366266a..a855b590232dd 100644 --- a/nixos/tests/step-ca.nix +++ b/nixos/tests/step-ca.nix @@ -9,6 +9,7 @@ import ./make-test-python.nix ({ pkgs, ... }: ''; in { + name = "step-ca"; nodes = { caserver = diff --git a/nixos/tests/systemd-initrd-luks-keyfile.nix b/nixos/tests/systemd-initrd-luks-keyfile.nix new file mode 100644 index 0000000000000..970163c36a4fc --- /dev/null +++ b/nixos/tests/systemd-initrd-luks-keyfile.nix @@ -0,0 +1,53 @@ +import ./make-test-python.nix ({ lib, pkgs, ... }: let + + keyfile = pkgs.writeText "luks-keyfile" '' + MIGHAoGBAJ4rGTSo/ldyjQypd0kuS7k2OSsmQYzMH6TNj3nQ/vIUjDn7fqa3slt2 + gV6EK3TmTbGc4tzC1v4SWx2m+2Bjdtn4Fs4wiBwn1lbRdC6i5ZYCqasTWIntWn+6 + FllUkMD5oqjOR/YcboxG8Z3B5sJuvTP9llsF+gnuveWih9dpbBr7AgEC + ''; + +in { + name = "systemd-initrd-luks-keyfile"; + + nodes.machine = { pkgs, ... }: { + # Use systemd-boot + virtualisation = { + emptyDiskImages = [ 512 ]; + useBootLoader = true; + useEFIBoot = true; + }; + boot.loader.systemd-boot.enable = true; + + environment.systemPackages = with pkgs; [ cryptsetup ]; + boot.initrd.systemd = { + enable = true; + emergencyAccess = true; + }; + + specialisation.boot-luks.configuration = { + boot.initrd.luks.devices = lib.mkVMOverride { + cryptroot = { + device = "/dev/vdc"; + keyFile = "/etc/cryptroot.key"; + }; + }; + virtualisation.bootDevice = "/dev/mapper/cryptroot"; + boot.initrd.systemd.contents."/etc/cryptroot.key".source = keyfile; + }; + }; + + testScript = '' + # Create encrypted volume + machine.wait_for_unit("multi-user.target") + machine.succeed("cryptsetup luksFormat -q --iter-time=1 -d ${keyfile} /dev/vdc") + + # Boot from the encrypted disk + machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf") + machine.succeed("sync") + machine.crash() + + # Boot and decrypt the disk + machine.wait_for_unit("multi-user.target") + assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount") + ''; +}) diff --git a/nixos/tests/systemd-initrd-luks-password.nix b/nixos/tests/systemd-initrd-luks-password.nix new file mode 100644 index 0000000000000..e8e651f7b35f8 --- /dev/null +++ b/nixos/tests/systemd-initrd-luks-password.nix @@ -0,0 +1,48 @@ +import ./make-test-python.nix ({ lib, pkgs, ... }: { + name = "systemd-initrd-luks-password"; + + nodes.machine = { pkgs, ... }: { + # Use systemd-boot + virtualisation = { + emptyDiskImages = [ 512 512 ]; + useBootLoader = true; + useEFIBoot = true; + }; + boot.loader.systemd-boot.enable = true; + + environment.systemPackages = with pkgs; [ cryptsetup ]; + boot.initrd.systemd = { + enable = true; + emergencyAccess = true; + }; + + specialisation.boot-luks.configuration = { + boot.initrd.luks.devices = lib.mkVMOverride { + # We have two disks and only type one password - key reuse is in place + cryptroot.device = "/dev/vdc"; + cryptroot2.device = "/dev/vdd"; + }; + virtualisation.bootDevice = "/dev/mapper/cryptroot"; + }; + }; + + testScript = '' + # Create encrypted volume + machine.wait_for_unit("multi-user.target") + machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdc -") + machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdd -") + + # Boot from the encrypted disk + machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf") + machine.succeed("sync") + machine.crash() + + # Boot and decrypt the disk + machine.start() + machine.wait_for_console_text("Please enter passphrase for disk cryptroot") + machine.send_console("supersecret\n") + machine.wait_for_unit("multi-user.target") + + assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount") + ''; +}) diff --git a/nixos/tests/web-apps/peertube.nix b/nixos/tests/web-apps/peertube.nix index 706c598338e82..d42b4e3d677bb 100644 --- a/nixos/tests/web-apps/peertube.nix +++ b/nixos/tests/web-apps/peertube.nix @@ -30,10 +30,11 @@ import ../make-test-python.nix ({pkgs, ...}: ''; }; - services.redis = { + services.redis.servers.peertube = { enable = true; bind = "0.0.0.0"; requirePass = "turrQfaQwnanGbcsdhxy"; + port = 6379; }; }; @@ -109,7 +110,7 @@ import ../make-test-python.nix ({pkgs, ...}: start_all() database.wait_for_unit("postgresql.service") - database.wait_for_unit("redis.service") + database.wait_for_unit("redis-peertube.service") database.wait_for_open_port(5432) database.wait_for_open_port(6379) diff --git a/pkgs/applications/accessibility/espeakup/default.nix b/pkgs/applications/accessibility/espeakup/default.nix new file mode 100644 index 0000000000000..00f432ff4138a --- /dev/null +++ b/pkgs/applications/accessibility/espeakup/default.nix @@ -0,0 +1,46 @@ +{ stdenv +, lib +, meson +, ninja +, espeak-ng +, fetchFromGitHub +, pkg-config +, ronn +, alsa-lib +, systemd +}: + +stdenv.mkDerivation rec { + pname = "espeakup"; + version = "0.90"; + + src = fetchFromGitHub { + owner = "linux-speakup"; + repo = "espeakup"; + rev = "v${version}"; + sha256 = "0lmjwafvfxy07zn18v3dzjwwpnid2xffgvy2dzlwkbns8gb60ds2"; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + ronn + ]; + + buildInputs = [ + espeak-ng + alsa-lib + systemd + ]; + + PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system"; + + meta = with lib; { + homepage = "https://github.com/linux-speakup/espeakup"; + description = "Lightweight connector for espeak-ng and speakup"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ ethindp ]; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/applications/accessibility/wvkbd/default.nix b/pkgs/applications/accessibility/wvkbd/default.nix new file mode 100644 index 0000000000000..a593b0d2ea2b0 --- /dev/null +++ b/pkgs/applications/accessibility/wvkbd/default.nix @@ -0,0 +1,36 @@ +{ stdenv +, lib +, fetchFromGitHub +, wayland-scanner +, wayland +, pango +, glib +, harfbuzz +, cairo +, pkg-config +, libxkbcommon +}: + +stdenv.mkDerivation rec { + pname = "wvkbd"; + version = "0.7"; + + src = fetchFromGitHub { + owner = "jjsullivan5196"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-5UV2PMrLXtF3AxjfPxxwFRkgVef+Ap8nG1v795o0bWE="; + }; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ wayland-scanner wayland pango glib harfbuzz cairo libxkbcommon ]; + installFlags = [ "PREFIX=$(out)" ]; + + meta = with lib; { + homepage = "https://github.com/jjsullivan5196/wvkbd"; + description = "On-screen keyboard for wlroots"; + maintainers = [ maintainers.elohmeier ]; + platforms = platforms.linux; + license = licenses.gpl3Plus; + }; +} diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix index 10cbbeb21de0b..2f177c2f8c637 100644 --- a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix +++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { pname = "bitwig-studio"; - version = "4.2.2"; + version = "4.2.3"; src = fetchurl { url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb"; - sha256 = "sha256-cpEV0EWW9vd2ZE+RaqN9fhyy7axgPlx4PmlOeX3TSfY="; + sha256 = "sha256-UCafrjrEwwHkhPum7sTOjtXzy7PNeK5/aeKg+b3CGJU="; }; nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ]; diff --git a/pkgs/applications/audio/ft2-clone/default.nix b/pkgs/applications/audio/ft2-clone/default.nix index 7e0fcf2717ebe..03c8e8d6ce699 100644 --- a/pkgs/applications/audio/ft2-clone/default.nix +++ b/pkgs/applications/audio/ft2-clone/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "ft2-clone"; - version = "1.52"; + version = "1.54"; src = fetchFromGitHub { owner = "8bitbubsy"; repo = "ft2-clone"; rev = "v${version}"; - sha256 = "sha256-RyZ3PV7jaTN3DEYMT0BqKDHbb+7/IgiRaCra1xA0h1A="; + sha256 = "sha256-lNiQ0X2vvPGubb4Pde+eh0Z6ClCQgigIUM+PddaiVUg="; }; # Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh) diff --git a/pkgs/applications/audio/furnace/default.nix b/pkgs/applications/audio/furnace/default.nix index 841a65e541fc1..115c5b7767d2e 100644 --- a/pkgs/applications/audio/furnace/default.nix +++ b/pkgs/applications/audio/furnace/default.nix @@ -1,7 +1,7 @@ { stdenv , lib , gitUpdater -, testVersion +, testers , furnace , fetchFromGitHub , cmake @@ -83,7 +83,7 @@ stdenv.mkDerivation rec { inherit pname version; rev-prefix = "v"; }; - tests.version = testVersion { + tests.version = testers.testVersion { package = furnace; # The command always exits with code 1 command = "(furnace --version || [ $? -eq 1 ])"; diff --git a/pkgs/applications/audio/jamesdsp/default.nix b/pkgs/applications/audio/jamesdsp/default.nix index 16683564b2c76..61f8907f99ca1 100644 --- a/pkgs/applications/audio/jamesdsp/default.nix +++ b/pkgs/applications/audio/jamesdsp/default.nix @@ -2,18 +2,31 @@ , mkDerivation , fetchFromGitHub , pipewire +, pulseaudio +, gst_all_1 , glibmm , qmake +, qtbase +, qtsvg +, wrapQtAppsHook , makeDesktopItem , pkg-config , libarchive , fetchpatch +, copyDesktopItems +, usePipewire ? true +, usePulseaudio ? false }: -mkDerivation rec{ +assert lib.asserts.assertMsg (usePipewire != usePulseaudio) "You need to enable one and only one of pulseaudio or pipewire support"; + +let + pluginPath = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good ]); +in + mkDerivation rec { pname = "jamesdsp"; version = "2.3"; - src = fetchFromGitHub rec{ + src = fetchFromGitHub rec { owner = "Audio4Linux"; repo = "JDSP4Linux"; fetchSubmodules = true; @@ -29,13 +42,30 @@ mkDerivation rec{ }) ]; - nativeBuildInputs = [ qmake pkg-config ]; + nativeBuildInputs = [ + qmake + pkg-config + copyDesktopItems + wrapQtAppsHook + ]; + buildInputs = [ glibmm libarchive - pipewire + qtbase + qtsvg + ] ++ lib.optional usePipewire pipewire + ++ lib.optionals usePulseaudio [ + pulseaudio + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gstreamer ]; + qtWrapperArgs = lib.optionals usePulseaudio [ "--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : ${pluginPath}" ]; + + qmakeFlags = lib.optionals usePulseaudio [ "CONFIG+=USE_PULSEAUDIO" ]; + desktopItems = [ (makeDesktopItem { name = "jamesdsp"; @@ -54,7 +84,7 @@ mkDerivation rec{ description = "An audio effect processor for PipeWire clients"; homepage = "https://github.com/Audio4Linux/JDSP4Linux"; license = licenses.gpl3Only; - maintainers = with maintainers;[ pasqui23 ]; + maintainers = with maintainers; [ pasqui23 rewine ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/pt2-clone/default.nix b/pkgs/applications/audio/pt2-clone/default.nix index 2577f61e8d518..8b586c455e3bf 100644 --- a/pkgs/applications/audio/pt2-clone/default.nix +++ b/pkgs/applications/audio/pt2-clone/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "pt2-clone"; - version = "1.43"; + version = "1.46"; src = fetchFromGitHub { owner = "8bitbubsy"; repo = "pt2-clone"; rev = "v${version}"; - sha256 = "sha256-+sHGjgDqizv/9n0dDj8knsl+4MBfO3/pMkmD+MPsuNM="; + sha256 = "sha256-xRq37hjuMiGxsWRnZ/ryXYLvQpjbfQEjQkMjjuqL7r8="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/audio/sonixd/default.nix b/pkgs/applications/audio/sonixd/default.nix index fff5a50624e6f..961fa2c8c1cd1 100644 --- a/pkgs/applications/audio/sonixd/default.nix +++ b/pkgs/applications/audio/sonixd/default.nix @@ -5,11 +5,11 @@ appimageTools.wrapType2 rec { pname = "sonixd"; - version = "0.15.0"; + version = "0.15.1"; src = fetchurl { url = "https://github.com/jeffvli/sonixd/releases/download/v${version}/Sonixd-${version}-linux-x86_64.AppImage"; - sha256 = "sha256-mZdM2wPJktitSCgIyOY/GwYPixPVTnYiOBVMQN8b7XU="; + sha256 = "sha256-23WU1nwvrzyw0J+Pplm3JbsScjJxu+RhmwVoe/PjozY="; }; extraInstallCommands = '' diff --git a/pkgs/applications/audio/spot/default.nix b/pkgs/applications/audio/spot/default.nix index 3fe3b0d06d31d..7dab868b941a4 100644 --- a/pkgs/applications/audio/spot/default.nix +++ b/pkgs/applications/audio/spot/default.nix @@ -21,19 +21,19 @@ stdenv.mkDerivation rec { pname = "spot"; - version = "0.3.1"; + version = "0.3.3"; src = fetchFromGitHub { owner = "xou816"; repo = "spot"; rev = version; - hash = "sha256-uZzylK9imEazwC/ogsDO8ZBvByE5/SNSV+mIlp7Z9Ww="; + hash = "sha256-0iuLZq9FSxaOchxx6LzGwpY8qnOq2APl/qkBYzEV2uw="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - hash = "sha256-v5xdlsI6OlEpCYOTFePTyI8BkIrAwT6FR2JwiRTGgOA="; + hash = "sha256-g46BkrTv6tdrGe/p245O4cBoPjbvyRP7U6hH1Hp4ja0="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/audio/whipper/default.nix b/pkgs/applications/audio/whipper/default.nix index 7b76d91acf810..f06907ad32f2c 100644 --- a/pkgs/applications/audio/whipper/default.nix +++ b/pkgs/applications/audio/whipper/default.nix @@ -8,7 +8,7 @@ , flac , sox , util-linux -, testVersion +, testers , whipper }: @@ -74,7 +74,7 @@ in python3.pkgs.buildPythonApplication rec { runHook postCheck ''; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = whipper; command = "HOME=$TMPDIR whipper --version"; }; diff --git a/pkgs/applications/blockchains/alfis/default.nix b/pkgs/applications/blockchains/alfis/default.nix index 28ce7512129e4..d42ee291cf050 100644 --- a/pkgs/applications/blockchains/alfis/default.nix +++ b/pkgs/applications/blockchains/alfis/default.nix @@ -14,16 +14,16 @@ rustPlatform.buildRustPackage rec { pname = "alfis"; - version = "0.6.11"; + version = "0.7.0"; src = fetchFromGitHub { owner = "Revertron"; repo = "Alfis"; rev = "v${version}"; - sha256 = "sha256-vm/JBJh58UaSem18RpJuPUzM2GCy4RfCb6Hr1B7KWQA="; + sha256 = "sha256-lamobXaDY+v8NpoI+TuuBO5Cdol9+7VPhdmLEH6sZIo="; }; - cargoSha256 = "sha256-8ijGO8up0qVQ/kVX5/DveKyovYLh7jm+d7vooS1waAA="; + cargoSha256 = "sha256-C5MCT4EG/lI4s2rVGSm9DgBu43FKpp3iTBbCf7N1jOA="; checkFlags = [ # these want internet access, disable them diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix index d72da2c060f17..59166149e6a6e 100644 --- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix +++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix @@ -2,12 +2,12 @@ let pname = "ledger-live-desktop"; - version = "2.40.2"; + version = "2.40.4"; name = "${pname}-${version}"; src = fetchurl { url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage"; - hash = "sha256-2L1iVPLCCIQ6qBqkg+GmiqMmknHmdDLUrysN8vcW2YQ="; + hash = "sha256-ktmGXEWoCrhx9hGau2VkQi0GMa53EqHV1wGtUk6kicc="; }; appimageContents = appimageTools.extractType2 { diff --git a/pkgs/applications/blockchains/solana/default.nix b/pkgs/applications/blockchains/solana/default.nix index 0eb48b19c88f5..a91d1f3905348 100644 --- a/pkgs/applications/blockchains/solana/default.nix +++ b/pkgs/applications/blockchains/solana/default.nix @@ -10,19 +10,23 @@ , zlib , protobuf }: +let + pinData = lib.importJSON ./pin.json; + version = pinData.version; + sha256 = pinData.sha256; + cargoSha256 = pinData.cargoSha256; +in rustPlatform.buildRustPackage rec { pname = "solana-testnet-cli"; - version = "1.9.2"; + inherit version cargoSha256; src = fetchFromGitHub { owner = "solana-labs"; repo = "solana"; rev = "v${version}"; - sha256 = "sha256-wrv35vBohLztMZPb6gfZdCaXcjj/Y7vnQqINaI6dBM4="; + inherit sha256; }; - cargoSha256 = "sha256-A5uVa+cRmrkVyw7MFH4QAr0VIFi18wcc2VPFvQyT9EM="; - buildAndTestSubdir = "cli"; nativeBuildInputs = lib.optionals stdenv.isLinux [ protobuf pkg-config ]; @@ -53,4 +57,5 @@ rustPlatform.buildRustPackage rec { maintainers = with maintainers; [ happysalada ]; platforms = platforms.unix; }; + passthru.updateScript = ./update.sh; } diff --git a/pkgs/applications/blockchains/solana/pin.json b/pkgs/applications/blockchains/solana/pin.json new file mode 100644 index 0000000000000..34ef479795927 --- /dev/null +++ b/pkgs/applications/blockchains/solana/pin.json @@ -0,0 +1,5 @@ +{ + "version": "1.10.9", + "sha256": "sha256-y7+ogMJ5E9E/+ZaTCHWOQWG7iR+BGuVqvlNUDT++Ghc=", + "cargoSha256": "sha256-7EULmmztt+INvSdluvvX5xbE2hWKAmHiW0MEYIPNPw4=" +} diff --git a/pkgs/applications/blockchains/solana/update.sh b/pkgs/applications/blockchains/solana/update.sh new file mode 100755 index 0000000000000..ffd8b0010cc26 --- /dev/null +++ b/pkgs/applications/blockchains/solana/update.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env nix-shell +#! nix-shell -i oil -p jq sd nix-prefetch-github ripgrep + +# TODO set to `verbose` or `extdebug` once implemented in oil +shopt --set xtrace +# we need failures inside of command subs to get the correct cargoSha256 +shopt --unset inherit_errexit + +const directory = $(dirname $0 | xargs realpath) +const owner = "solana-labs" +const repo = "solana" +const latest_rev = $(curl -q https://api.github.com/repos/${owner}/${repo}/releases/latest | \ + jq -r '.tag_name') +const latest_version = $(echo $latest_rev | sd 'v' '') +const current_version = $(jq -r '.version' $directory/pin.json) +if ("$latest_version" === "$current_version") { + echo "solana is already up-to-date" + return 0 +} else { + const tarball_meta = $(nix-prefetch-github $owner $repo --rev "$latest_rev") + const tarball_hash = "sha256-$(echo $tarball_meta | jq -r '.sha256')" + + jq ".version = \"$latest_version\" | \ + .\"sha256\" = \"$tarball_hash\" | \ + .\"cargoSha256\" = \"\"" $directory/pin.json | sponge $directory/pin.json + + const new_cargo_sha256 = $(nix-build -A solana-testnet 2>&1 | \ + tail -n 2 | \ + head -n 1 | \ + sd '\s+got:\s+' '') + + jq ".cargoSha256 = \"$new_cargo_sha256\"" $directory/pin.json | sponge $directory/pin.json +} diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix index 12324088b0401..ac293faee3b53 100644 --- a/pkgs/applications/editors/android-studio/common.nix +++ b/pkgs/applications/editors/android-studio/common.nix @@ -216,9 +216,9 @@ in runCommand # source-code itself). platforms = [ "x86_64-linux" ]; maintainers = with maintainers; rec { - stable = [ fabianhjr ]; - beta = [ fabianhjr ]; - canary = [ fabianhjr ]; + stable = [ ]; + beta = [ ]; + canary = [ ]; dev = canary; }."${channel}"; }; diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index e7824cd93f1c0..39bbff2565254 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -9,16 +9,16 @@ let inherit buildFHSUserEnv; }; stableVersion = { - version = "2021.1.1.21"; # "Android Studio Bumblebee (2021.1.1 Patch 1)" - sha256Hash = "PeMJIILfaunTlpR4EV76qQlTlZDcWoKes61qe9W9oqQ="; + version = "2021.1.1.23"; # "Android Studio Bumblebee (2021.1.1 Patch 3)" + sha256Hash = "1kxb19qf7bs5lyfgr8vamakp1nf2wlxlwwni1kihza67ib6hcxdk"; }; betaVersion = { - version = "2021.2.1.8"; # "Android Studio Chipmunk (2021.2.1) Beta 1" - sha256Hash = "bPfs4kw7czG9CbEgrzn0bQXdT03jyqPVqtaIuVBFSmc="; + version = "2021.2.1.11"; # "Android Studio Chipmunk (2021.2.1) Beta 4" + sha256Hash = "0in8x6v957y9hsnz5ak845pdpvgvnvlm0s6r9y8f27zkm947vbjd"; }; latestVersion = { # canary & dev - version = "2021.3.1.1"; # "Android Studio Dolphin (2021.3.1) Canary 1" - sha256Hash = "W3pNQBM7WdDScQo5b8q5Va5NTgl73uZu0ks/zDMb4aA="; + version = "2021.3.1.7"; # "Android Studio Dolphin (2021.3.1) Canary 7" + sha256Hash = "02jwy3q2ccs7l3snm8w40znzk54v2h1sljdr3d0yh7sy0qyn32k1"; }; in { # Attributes are named by their corresponding release channels diff --git a/pkgs/applications/editors/cudatext/default.nix b/pkgs/applications/editors/cudatext/default.nix index 2a4e29e473b18..ea07b3dfd60b3 100644 --- a/pkgs/applications/editors/cudatext/default.nix +++ b/pkgs/applications/editors/cudatext/default.nix @@ -38,13 +38,13 @@ let in stdenv.mkDerivation rec { pname = "cudatext"; - version = "1.162.0"; + version = "1.162.5"; src = fetchFromGitHub { owner = "Alexey-T"; repo = "CudaText"; rev = version; - sha256 = "sha256-lAH0HXtzWs1iFVzM/tvnBT1s1Mt0AGs4TqdtFu1NeMw="; + sha256 = "sha256-CQ0TPZH9A37WK+gm7jgCxL5eF+1SxHlsJTTzMVRkHIs="; }; postPatch = '' diff --git a/pkgs/applications/editors/cudatext/deps.json b/pkgs/applications/editors/cudatext/deps.json index 68b15ce107003..c66ec2c121c8d 100644 --- a/pkgs/applications/editors/cudatext/deps.json +++ b/pkgs/applications/editors/cudatext/deps.json @@ -16,8 +16,8 @@ }, "ATSynEdit": { "owner": "Alexey-T", - "rev": "2022.04.18", - "sha256": "sha256-tvFESbamCt7A6Xv8WGh0dKzr9neelYMM7guySOunfvk=" + "rev": "2022.04.21", + "sha256": "sha256-rPbQ3LNBXNHi9dgQKSaaCsuAY/VIzgq9tqlRXRl2IqU=" }, "ATSynEdit_Cmp": { "owner": "Alexey-T", @@ -26,8 +26,8 @@ }, "EControl": { "owner": "Alexey-T", - "rev": "2022.04.18", - "sha256": "sha256-Wp+/f/z2H/WANq9u8mRDn0BaeyFWiPpLrW0YqyT+ezw=" + "rev": "2022.04.21", + "sha256": "sha256-le6ulGFUNjeipYQKzVFezFb9u/0IcQcu5BMxFaIZdyw=" }, "ATSynEdit_Ex": { "owner": "Alexey-T", diff --git a/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix b/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix index caf7bbf24d285..ccbfe76719e59 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix @@ -5,23 +5,31 @@ , plz , cl-lib , ts +, magit-section +, taxy-magit-section +, taxy +, svg-lib }: trivialBuild { pname = "ement"; - version = "unstable-2021-10-08"; + version = "unstable-2022-04-22"; src = fetchFromGitHub { owner = "alphapapa"; repo = "ement.el"; - rev = "c951737dc855604aba389166bb0e7366afadc533"; - sha256 = "00iwwz4hzg4g59wrb5df6snqz3ppvrsadhfp61w1pa8gvg2z9bvy"; + rev = "70da19e4c9210d362b1d6d9c17ab2c034a03250d"; + sha256 = "sha256-Pxul0WrtyH2XZzF0fOOitLc3x/kc+Qc11RDH0n+Hm04="; }; packageRequires = [ plz cl-lib ts + magit-section + taxy-magit-section + taxy + svg-lib ]; patches = [ diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix index 56a3b696852d6..4dc546c6263da 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix @@ -233,6 +233,9 @@ sv-kalender = callPackage ./sv-kalender { }; + tree-sitter-langs = callPackage ./tree-sitter-langs { final = self; }; + tsc = callPackage ./tsc { }; + youtube-dl = callPackage ./youtube-dl { }; # From old emacsPackages (pre emacsPackagesNg) diff --git a/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default-grammars.json b/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default-grammars.json new file mode 100644 index 0000000000000..6a5608cbf8d56 --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default-grammars.json @@ -0,0 +1,32 @@ +[ + "tree-sitter-agda", + "tree-sitter-bash", + "tree-sitter-c", + "tree-sitter-c-sharp", + "tree-sitter-cpp", + "tree-sitter-css", + "tree-sitter-elixir", + "tree-sitter-elm", + "tree-sitter-fluent", + "tree-sitter-go", + "tree-sitter-haskell", + "tree-sitter-hcl", + "tree-sitter-html", + "tree-sitter-java", + "tree-sitter-javascript", + "tree-sitter-jsdoc", + "tree-sitter-json", + "tree-sitter-julia", + "tree-sitter-nix", + "tree-sitter-ocaml", + "tree-sitter-php", + "tree-sitter-prisma", + "tree-sitter-python", + "tree-sitter-ruby", + "tree-sitter-rust", + "tree-sitter-scala", + "tree-sitter-swift", + "tree-sitter-typescript", + "tree-sitter-verilog", + "tree-sitter-zig" +] diff --git a/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default.nix b/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default.nix new file mode 100644 index 0000000000000..e62a37565c83c --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default.nix @@ -0,0 +1,44 @@ +{ lib +, pkgs +, symlinkJoin +, fetchzip +, melpaBuild +, stdenv +, fetchFromGitHub +, writeText +, melpaStablePackages +, runCommand +, tree-sitter-grammars +, plugins ? map (g: tree-sitter-grammars.${g}) (lib.importJSON ./default-grammars.json) +, final +}: + +let + inherit (melpaStablePackages) tree-sitter-langs; + + libSuffix = if stdenv.isDarwin then "dylib" else "so"; + soName = g: lib.removeSuffix "-grammar" (lib.removePrefix "tree-sitter-" g.pname) + "." + libSuffix; + + grammarDir = runCommand "emacs-tree-sitter-grammars" { + # Fake same version number as upstream language bundle to prevent triggering runtime downloads + inherit (tree-sitter-langs) version; + } ('' + install -d $out/langs/bin + echo -n $version > $out/langs/bin/BUNDLE-VERSION + '' + lib.concatStringsSep "\n" (map ( + g: "ln -s ${g}/parser $out/langs/bin/${soName g}") plugins + )); + +in +melpaStablePackages.tree-sitter-langs.overrideAttrs(old: { + postPatch = old.postPatch or "" + '' + substituteInPlace ./tree-sitter-langs-build.el \ + --replace "tree-sitter-langs-grammar-dir tree-sitter-langs--dir" "tree-sitter-langs-grammar-dir \"${grammarDir}/langs\"" + ''; + + passthru = old.passthru or {} // { + inherit plugins; + withPlugins = fn: final.tree-sitter-langs.override { plugins = fn tree-sitter-grammars; }; + }; + +}) diff --git a/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/update-defaults.py b/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/update-defaults.py new file mode 100755 index 0000000000000..19bcb8989c30d --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/update-defaults.py @@ -0,0 +1,74 @@ +#!/usr/bin/env nix-shell +#! nix-shell ../../../../../../. -i python3 -p python3 -p nix +from os.path import ( + dirname, + abspath, + join, +) +from typing import ( + List, + Any, +) +import subprocess +import json +import sys +import os + + +def fmt_grammar(grammar: str) -> str: + return "tree-sitter-" + grammar + + +def eval_expr(nixpkgs: str, expr: str) -> Any: + p = subprocess.run( + [ + "nix-instantiate", + "--json", + "--eval", + "--expr", + ("with import %s {}; %s" % (nixpkgs, expr)), + ], + check=True, + stdout=subprocess.PIPE, + ) + return json.loads(p.stdout) + + +def check_grammar_exists(nixpkgs: str, grammar: str) -> bool: + return eval_expr( + nixpkgs, f'lib.hasAttr "{fmt_grammar(grammar)}" tree-sitter-grammars' + ) + + +def build_attr(nixpkgs, attr: str) -> str: + return ( + subprocess.run( + ["nix-build", "--no-out-link", nixpkgs, "-A", attr], + check=True, + stdout=subprocess.PIPE, + ) + .stdout.decode() + .strip() + ) + + +if __name__ == "__main__": + cwd = dirname(abspath(__file__)) + nixpkgs = abspath(join(cwd, "../../../../../..")) + + src_dir = build_attr(nixpkgs, "emacs.pkgs.tree-sitter-langs.src") + + existing: List[str] = [] + + grammars = os.listdir(join(src_dir, "repos")) + for g in grammars: + exists = check_grammar_exists(nixpkgs, g) + if exists: + existing.append(fmt_grammar(g)) + else: + sys.stderr.write("Missing grammar: " + fmt_grammar(g) + "\n") + sys.stderr.flush() + + with open(join(cwd, "default-grammars.json"), mode="w") as f: + json.dump(sorted(existing), f, indent=2) + f.write("\n") diff --git a/pkgs/applications/editors/emacs/elisp-packages/tsc/default.nix b/pkgs/applications/editors/emacs/elisp-packages/tsc/default.nix new file mode 100644 index 0000000000000..a9462298979d0 --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/tsc/default.nix @@ -0,0 +1,89 @@ +{ lib +, symlinkJoin +, melpaBuild +, fetchFromGitHub +, rustPlatform +, writeText +, clang +, llvmPackages + +, runtimeShell +, writeScript +, python3 +, nix-prefetch-github +, nix +}: + +let + + srcMeta = lib.importJSON ./src.json; + inherit (srcMeta) version; + + src = fetchFromGitHub srcMeta.src; + + tsc = melpaBuild { + inherit src; + inherit version; + + pname = "tsc"; + commit = version; + + sourceRoot = "source/core"; + + recipe = writeText "recipe" '' + (tsc + :repo "emacs-tree-sitter/elisp-tree-sitter" + :fetcher github) + ''; + }; + + tsc-dyn = rustPlatform.buildRustPackage { + inherit version; + inherit src; + + pname = "tsc-dyn"; + + nativeBuildInputs = [ clang ]; + sourceRoot = "source/core"; + + configurePhase = '' + export LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib" + ''; + + postInstall = '' + LIB=($out/lib/libtsc_dyn.*) + TSC_PATH=$out/share/emacs/site-lisp/elpa/tsc-${version} + install -d $TSC_PATH + install -m444 $out/lib/libtsc_dyn.* $TSC_PATH/''${LIB/*libtsc_/tsc-} + echo -n $version > $TSC_PATH/DYN-VERSION + rm -r $out/lib + ''; + + inherit (srcMeta) cargoSha256; + }; + +in symlinkJoin { + name = "tsc-${version}"; + paths = [ tsc tsc-dyn ]; + + passthru = { + updateScript = let + pythonEnv = python3.withPackages(ps: [ ps.requests ]); + in writeScript "tsc-update" '' + #!${runtimeShell} + set -euo pipefail + export PATH=${lib.makeBinPath [ + nix-prefetch-github + nix + pythonEnv + ]}:$PATH + exec python3 ${builtins.toString ./update.py} ${builtins.toString ./.} + ''; + }; + + meta = { + description = "The core APIs of the Emacs binding for tree-sitter."; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ pimeys ]; + }; +} diff --git a/pkgs/applications/editors/emacs/elisp-packages/tsc/src.json b/pkgs/applications/editors/emacs/elisp-packages/tsc/src.json new file mode 100644 index 0000000000000..6aa6fee1830ab --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/tsc/src.json @@ -0,0 +1,10 @@ +{ + "src": { + "owner": "emacs-tree-sitter", + "repo": "elisp-tree-sitter", + "rev": "909717c685ff5a2327fa2ca8fb8a25216129361c", + "sha256": "LrakDpP3ZhRQqz47dPcyoQnu5lROdaNlxGaQfQT6u+k=" + }, + "version": "0.18.0", + "cargoSha256": "sha256-IRCZqszBkGF8anF/kpcPOzHdOP4lAtJBAp6FS5tAOx8=" +} diff --git a/pkgs/applications/editors/emacs/elisp-packages/tsc/update.py b/pkgs/applications/editors/emacs/elisp-packages/tsc/update.py new file mode 100644 index 0000000000000..ce2054f909ef3 --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/tsc/update.py @@ -0,0 +1,122 @@ +#!/usr/bin/env python3 +from textwrap import dedent +from os.path import ( + abspath, + dirname, + join, +) +from typing import ( + Dict, + Any, +) +import subprocess +import tempfile +import json +import sys +import re + +import requests + + +def eval_drv(nixpkgs: str, expr: str) -> Any: + expr = "\n".join( + ( + "with (import %s {});" % nixpkgs, + expr, + ) + ) + + with tempfile.NamedTemporaryFile(mode="w") as f: + f.write(dedent(expr)) + f.flush() + p = subprocess.run( + ["nix-instantiate", "--json", f.name], stdout=subprocess.PIPE, check=True + ) + + return p.stdout.decode().strip() + + +def get_src(tag_name: str) -> Dict[str, str]: + p = subprocess.run( + [ + "nix-prefetch-github", + "--rev", + tag_name, + "--json", + "emacs-tree-sitter", + "elisp-tree-sitter", + ], + stdout=subprocess.PIPE, + check=True, + ) + src = json.loads(p.stdout) + + fields = ["owner", "repo", "rev", "sha256"] + + return {f: src[f] for f in fields} + + +def get_cargo_sha256(drv_path: str): + # Note: No check=True since we expect this command to fail + p = subprocess.run(["nix-store", "-r", drv_path], stderr=subprocess.PIPE) + + stderr = p.stderr.decode() + lines = iter(stderr.split("\n")) + + for l in lines: + if l.startswith("error: hash mismatch in fixed-output derivation"): + break + else: + raise ValueError("Did not find expected hash mismatch message") + + for l in lines: + m = re.match(r"\s+got:\s+(.+)$", l) + if m: + return m.group(1) + + raise ValueError("Could not extract actual sha256 hash: ", stderr) + + +if __name__ == "__main__": + cwd = sys.argv[1] + + nixpkgs = abspath(join(cwd, "../../../../../..")) + + tag_name = requests.get( + "https://api.github.com/repos/emacs-tree-sitter/elisp-tree-sitter/releases/latest" + ).json()["tag_name"] + + src = get_src(tag_name) + + with tempfile.NamedTemporaryFile(mode="w") as f: + json.dump(src, f) + f.flush() + + drv_path = eval_drv( + nixpkgs, + """ + rustPlatform.buildRustPackage { + pname = "tsc-dyn"; + version = "%s"; + nativeBuildInputs = [ clang ]; + src = fetchFromGitHub (lib.importJSON %s); + sourceRoot = "source/core"; + cargoSha256 = lib.fakeSha256; + } + """ + % (tag_name, f.name), + ) + + cargo_sha256 = get_cargo_sha256(drv_path) + + with open(join(cwd, "src.json"), mode="w") as f: + json.dump( + { + "src": src, + "version": tag_name, + "cargoSha256": cargo_sha256, + }, + f, + indent=2, + ) + f.write("\n") diff --git a/pkgs/applications/editors/emacs/elisp-packages/update b/pkgs/applications/editors/emacs/elisp-packages/update new file mode 100755 index 0000000000000..02701fb546d95 --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/update @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$( cd "$(dirname "$0")" ; pwd -P )" +cd "$SCRIPT_DIR" + +./update-from-overlay + +./update-manual +git commit -m "emacs.pkgs.manualPackages: $(date --iso)" -- . diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-manual b/pkgs/applications/editors/emacs/elisp-packages/update-manual new file mode 100755 index 0000000000000..3b199eecc3d2b --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/update-manual @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$( cd "$(dirname "$0")" ; pwd -P )" +cd "$SCRIPT_DIR" + +nix-build --no-out-link update-manual.nix | xargs -n 1 -P $(nproc) bash -c diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-manual.nix b/pkgs/applications/editors/emacs/elisp-packages/update-manual.nix new file mode 100644 index 0000000000000..788d096e6ec69 --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/update-manual.nix @@ -0,0 +1,11 @@ +let + pkgs = import ../../../../../. { + config.allowBroken = true; + }; + inherit (pkgs) lib emacs; + inherit (lib) isDerivation hasAttr filterAttrs mapAttrs attrValues; + + # Extract updateScript's from manually package emacs packages + hasScript = filterAttrs (_: v: isDerivation v && hasAttr "updateScript" v) emacs.pkgs.manualPackages; + +in attrValues (mapAttrs (_: v: v.updateScript) hasScript) diff --git a/pkgs/applications/editors/gnome-builder/default.nix b/pkgs/applications/editors/gnome-builder/default.nix index 8fd9f56a9d221..7cfde3a91f399 100644 --- a/pkgs/applications/editors/gnome-builder/default.nix +++ b/pkgs/applications/editors/gnome-builder/default.nix @@ -5,7 +5,6 @@ , appstream-glib , desktop-file-utils , fetchurl -, fetchpatch , flatpak , gnome , libgit2-glib @@ -41,23 +40,15 @@ stdenv.mkDerivation rec { pname = "gnome-builder"; - version = "42.0"; + version = "42.1"; outputs = [ "out" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "Uu/SltaLL/GCNBwEgdz9cGVMQIvbZ5/Ot225cDwiQo8="; + sha256 = "XU1RtwKGW0gBcgHwxgfiSifXIDGo9ciNT86HW1VFZwo="; }; - patches = [ - # Fix appstream validation - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-builder/-/commit/d7151679e0c925d27216256dc32fe67fb298d059.patch"; - sha256 = "vdNJawkqSBaFGRZvxzvjOryQpBL4jcN7tr1t3ihD7LA="; - }) - ]; - nativeBuildInputs = [ appstream-glib desktop-file-utils @@ -115,8 +106,6 @@ stdenv.mkDerivation rec { "-Dnetwork_tests=false" ]; - # Some tests fail due to being unable to find the Vte typelib, and I don't - # understand why. Somebody should look into fixing this. doCheck = true; postPatch = '' diff --git a/pkgs/applications/editors/mg/default.nix b/pkgs/applications/editors/mg/default.nix index c6f014238ea71..8545be13e3b91 100644 --- a/pkgs/applications/editors/mg/default.nix +++ b/pkgs/applications/editors/mg/default.nix @@ -11,6 +11,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-qnb0yB/NNJV257dsLmP84brajoRG03U+Ja1ACYbBvbE="; }; + postPatch = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + substituteInPlace configure --replace "./conftest" "echo" + ''; + enableParallelBuilding = true; makeFlags = [ "PKG_CONFIG=${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config" ]; diff --git a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock index 7a1975c37c6b5..9a8aaeeb56c42 100644 --- a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock +++ b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock @@ -1,9 +1,9 @@ GEM remote: https://rubygems.org/ specs: - msgpack (1.4.2) + msgpack (1.5.1) multi_json (1.15.0) - neovim (0.8.1) + neovim (0.9.0) msgpack (~> 1.1) multi_json (~> 1.0) diff --git a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix index 60dcc8ba38323..1a4f517412fe4 100644 --- a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix +++ b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix @@ -4,17 +4,17 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06iajjyhx0rvpn4yr3h1hc4w4w3k59bdmfhxnjzzh76wsrdxxrc6"; + sha256 = "sha256-fPWiGi0w4OFlMZOIf3gd21jyeYhg5t/VdLz7kK9fD8Q="; type = "gem"; }; - version = "1.4.2"; + version = "1.5.1"; }; multi_json = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; + sha256 = "sha256-H9BBOLbkqQAX6NG4BMA5AxOZhm/z+6u3girqNnx4YV0="; type = "gem"; }; version = "1.15.0"; @@ -25,9 +25,9 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lfrbi4r6lagn2q92lyivk2w22i2spw0jbdzxxlcfj2zhv2wnvvi"; + sha256 = "sha256-hRI43XGHGeqxMvpFjp0o79GGReiLXTkhwh5LYq6AQL4="; type = "gem"; }; - version = "0.8.1"; + version = "0.9.0"; }; } diff --git a/pkgs/applications/editors/oed/default.nix b/pkgs/applications/editors/oed/default.nix index 2281ca8c08b3d..f4012220c50d5 100644 --- a/pkgs/applications/editors/oed/default.nix +++ b/pkgs/applications/editors/oed/default.nix @@ -14,6 +14,15 @@ stdenv.mkDerivation rec { hash = "sha256-Z8B1RIFve3UPj+9G/WJX0BNc2ynG/qtoGfoesarYGz8="; }; + postPatch = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + substituteInPlace configure --replace "./conftest" "echo" + ''; + + installPhase = '' + install -m755 -Dt $out/bin ed + install -m644 -Dt $out/share/man/man1 ed.1 + ''; + meta = with lib; { homepage = "https://github.com/ibara/oed"; description = "Portable ed editor from OpenBSD"; diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix index eada77eea8433..8d4aa112cdb66 100644 --- a/pkgs/applications/editors/rstudio/default.nix +++ b/pkgs/applications/editors/rstudio/default.nix @@ -154,7 +154,7 @@ in hunspellDictionaries = with lib; filter isDerivation (unique (attrValues hunspellDicts)); # These dicts contain identically-named dict files, so we only keep the # -large versions in case of clashes - largeDicts = with lib; filter (d: hasInfix "-large-wordlist" d) hunspellDictionaries; + largeDicts = with lib; filter (d: hasInfix "-large-wordlist" d.name) hunspellDictionaries; otherDicts = with lib; filter (d: !(hasAttr "dictFileName" d && elem d.dictFileName (map (d: d.dictFileName) largeDicts))) diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 56bc367bbab0c..88853f3e7d321 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -10629,6 +10629,18 @@ final: prev: meta.homepage = "https://github.com/tpope/vim-scriptease/"; }; + vim-search-pulse = buildVimPluginFrom2Nix { + pname = "vim-search-pulse"; + version = "2017-01-05"; + src = fetchFromGitHub { + owner = "inside"; + repo = "vim-search-pulse"; + rev = "9f8f473e3813bd76ecb66e8d6182d96bda39b6df"; + sha256 = "1xr90a8wvjfkgw1yrh0zcvpvp9ma6z0wqkl8v8pabf20vckgy2q0"; + }; + meta.homepage = "https://github.com/inside/vim-search-pulse/"; + }; + vim-sensible = buildVimPluginFrom2Nix { pname = "vim-sensible"; version = "2022-04-11"; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 81e97ffe98675..1a307c8c7c7f9 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -891,6 +891,7 @@ https://github.com/mhinz/vim-sayonara/,7e774f58c5865d9c10d40396850b35ab95af17c5, https://github.com/derekwyatt/vim-scala/,, https://github.com/thinca/vim-scouter/,, https://github.com/tpope/vim-scriptease/,, +https://github.com/inside/vim-search-pulse/,, https://github.com/tpope/vim-sensible/,, https://github.com/guns/vim-sexp/,, https://github.com/tpope/vim-sexp-mappings-for-regular-people/,, diff --git a/pkgs/applications/emulators/dolphin-emu/master.nix b/pkgs/applications/emulators/dolphin-emu/master.nix index be3e7f555f8f4..8780975a84ad5 100644 --- a/pkgs/applications/emulators/dolphin-emu/master.nix +++ b/pkgs/applications/emulators/dolphin-emu/master.nix @@ -1,8 +1,8 @@ { lib, stdenv, fetchFromGitHub, pkg-config, cmake , wrapQtAppsHook, qtbase, bluez, ffmpeg, libao, libGLU, libGL, pcre, gettext -, libXrandr, libusb1, lzo, libpthreadstubs, libXext, libXxf86vm, libXinerama +, libXrandr, libusb1, libpthreadstubs, libXext, libXxf86vm, libXinerama , libSM, libXdmcp, readline, openal, udev, libevdev, portaudio, curl, alsa-lib -, miniupnpc, enet, mbedtls, soundtouch, sfml, writeScript +, miniupnpc, enet, mbedtls, soundtouch, sfml, xz, writeScript , vulkan-loader ? null, libpulseaudio ? null # - Inputs used for Darwin @@ -25,8 +25,8 @@ stdenv.mkDerivation rec { buildInputs = [ curl ffmpeg libao libGLU libGL pcre gettext libpthreadstubs libpulseaudio - libXrandr libXext libXxf86vm libXinerama libSM readline openal libXdmcp lzo - portaudio libusb1 libpng hidapi miniupnpc enet mbedtls soundtouch sfml + libXrandr libXext libXxf86vm libXinerama libSM readline openal libXdmcp + portaudio libusb1 libpng hidapi miniupnpc enet mbedtls soundtouch sfml xz qtbase ] ++ lib.optionals stdenv.isLinux [ bluez udev libevdev alsa-lib vulkan-loader diff --git a/pkgs/applications/emulators/dolphin-emu/primehack.nix b/pkgs/applications/emulators/dolphin-emu/primehack.nix index 90510d645226f..fdfc6d44ecade 100644 --- a/pkgs/applications/emulators/dolphin-emu/primehack.nix +++ b/pkgs/applications/emulators/dolphin-emu/primehack.nix @@ -14,7 +14,6 @@ , gettext , libXrandr , libusb1 -, lzo , libpthreadstubs , libXext , libXxf86vm @@ -34,6 +33,7 @@ , soundtouch , sfml , fmt +, xz , vulkan-loader , libpulseaudio @@ -81,7 +81,6 @@ stdenv.mkDerivation rec { readline openal libXdmcp - lzo portaudio libusb1 libpng @@ -92,6 +91,7 @@ stdenv.mkDerivation rec { soundtouch sfml fmt + xz qtbase ] ++ lib.optionals stdenv.isLinux [ bluez diff --git a/pkgs/applications/emulators/retroarch/cores.nix b/pkgs/applications/emulators/retroarch/cores.nix index 64de314c760f0..b553640d144e8 100644 --- a/pkgs/applications/emulators/retroarch/cores.nix +++ b/pkgs/applications/emulators/retroarch/cores.nix @@ -56,7 +56,7 @@ let , stdenvOverride ? stdenv , src ? (getCoreSrc core) , broken ? false - , version ? "unstable-2022-04-08" + , version ? "unstable-2022-04-21" , platforms ? retroarch.meta.platforms # The resulting core file is based on core name # Setting `normalizeCore` to `true` will convert `-` to `_` on the core filename @@ -359,6 +359,7 @@ in core = "dosbox"; description = "Port of DOSBox to libretro"; license = lib.licenses.gpl2Only; + stdenvOverride = gcc10Stdenv; }; eightyone = mkLibRetroCore { diff --git a/pkgs/applications/emulators/retroarch/default.nix b/pkgs/applications/emulators/retroarch/default.nix index c32f46cf26653..e9aa7d80d57fc 100644 --- a/pkgs/applications/emulators/retroarch/default.nix +++ b/pkgs/applications/emulators/retroarch/default.nix @@ -35,11 +35,11 @@ }: let - version = "1.10.2"; + version = "1.10.3"; libretroCoreInfo = fetchFromGitHub { owner = "libretro"; repo = "libretro-core-info"; - sha256 = "sha256-XOSIVH3BSwAFKUeRvyYc2OXDa+TLjoKVGl+b8fgnvtY="; + sha256 = "sha256-wIIMEWrria8bZe/rcoJwDA9aCMWwbkDQFyEU80TZXFQ="; rev = "v${version}"; }; runtimeLibs = lib.optional withVulkan vulkan-loader @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "libretro"; repo = "RetroArch"; - sha256 = "sha256-fMsHMQiEoXeFKITxeEyRH829z5SCf8p0Hxq6ww1p3z4="; + sha256 = "sha256-nAv1yv0laqlOmB8UUkK5wSYy/ySqXloEErm+yV30bbA="; rev = "v${version}"; }; diff --git a/pkgs/applications/emulators/retroarch/hashes.json b/pkgs/applications/emulators/retroarch/hashes.json index 78969df95d30f..80e4e278c9451 100644 --- a/pkgs/applications/emulators/retroarch/hashes.json +++ b/pkgs/applications/emulators/retroarch/hashes.json @@ -20,8 +20,8 @@ "beetle-ngp": { "owner": "libretro", "repo": "beetle-ngp-libretro", - "rev": "6abc74d9dc6a86460ab71c93c153fe1cb8ef4dbb", - "sha256": "+p3MwlzwwTghIKTDMzkqGlxhZiy/Px7xaDK3a0JagUE=" + "rev": "facf8e1f5440c5d289258ee3c483710f3bf916fb", + "sha256": "vDKDt7MvCB9XQYP291cwcEPDxfNIVgNSWtBYz9PVgcw=" }, "beetle-pce-fast": { "owner": "libretro", @@ -32,20 +32,20 @@ "beetle-pcfx": { "owner": "libretro", "repo": "beetle-pcfx-libretro", - "rev": "00abc26cafb15cc33dcd73f4bd6b93cbaab6e1ea", - "sha256": "4a1wV3WKZmg1ed3BD0PN0Ap9E9XahQtilRWTGV5Ns3g=" + "rev": "bfc0954e14b261a04dcf8dbe0df8798f16ae3f3c", + "sha256": "XzCb1lZFYgsg+3eQ1OqyycNxCgLtZFA30rno3ytdnoM=" }, "beetle-psx": { "owner": "libretro", "repo": "beetle-psx-libretro", - "rev": "88929ae90b4807a41b1b240377ab440e39ecf2cc", - "sha256": "5AX5FPsmsqGWCNzLgJ7lsekZaIdano2j5sb4qUkD4cQ=" + "rev": "5a24d54d30dd00d817d267cf92fd5b3f4640928f", + "sha256": "uG1BhElNW75PnfM+rEYfbl97iwRT89hnl84yvlgx6fg=" }, "beetle-saturn": { "owner": "libretro", "repo": "beetle-saturn-libretro", - "rev": "ae30f29e340a00b33e38df85ceaa599151a47cd7", - "sha256": "nc239PRM/TfkZMWm4Zl5kSoZBQcrMcMudupvCJtTBlc=" + "rev": "dd18f9c477106263b3b7b050f4970d331ff7b23a", + "sha256": "RN5dmORtNOjIklSz/n11lz37bZ4IcPD7cyRcBGS4Oi8=" }, "beetle-snes": { "owner": "libretro", @@ -62,14 +62,14 @@ "beetle-vb": { "owner": "libretro", "repo": "beetle-vb-libretro", - "rev": "a91437af0879124aa00b6cb30ca1189f2c84b7cb", - "sha256": "ryahr/g6PDvUKCPkF1D8xozNGNCa4bLw63b5Ra9Vsfo=" + "rev": "246555f8ed7e0b9e5748b2ee2ed6743187c61393", + "sha256": "96lQlDqx2bvFeovqGGkemxqS2zlHw92O6YeTEGlgf34=" }, "beetle-wswan": { "owner": "libretro", "repo": "beetle-wswan-libretro", - "rev": "089a62477c5f51ac746a5fc8eacf3599e9feb649", - "sha256": "yaaEJ+XgrBgtTEkffgnxvt2mrp5dsDYJ+TTxCZZU5OE=" + "rev": "d1fb3f399a2bc16b9ad0f2e8c8ba9f7051cd26bd", + "sha256": "p9mJv7zBFjNh1sh5iAjBZzxP6k8ydUNDXLQIjHl9doQ=" }, "blastem": { "owner": "libretro", @@ -135,8 +135,8 @@ "eightyone": { "owner": "libretro", "repo": "81-libretro", - "rev": "6aba19246c1ec08f3de5659b2dbc3277ec6bfb97", - "sha256": "2G6NkNlvqvP5RM35ydppnr2/RRbeiIpM2HKOpt8PkgU=" + "rev": "2e34567a320cba27b9162b1776db4de3cdb7cf03", + "sha256": "vjrHRLzc9Fy0MwV9d+LlcJTGJfVsRauEig8R+erBtfw=" }, "fbalpha2012": { "owner": "libretro", @@ -147,8 +147,8 @@ "fbneo": { "owner": "libretro", "repo": "fbneo", - "rev": "01bf2e189dcd96f978c3a4ae7bbbb00f2d90aabf", - "sha256": "naCfGSrwA9vO3Cu2rHLplCMcTbpx6S/sapwisFCcL5c=" + "rev": "e4625a196b9232ba93a156e3a5164aa11193f20a", + "sha256": "/5JmwuLWWBQWXnqCMjKzOC2XG6wo5a6xgQOYX1P1zcw=" }, "fceumm": { "owner": "libretro", @@ -165,8 +165,8 @@ "fmsx": { "owner": "libretro", "repo": "fmsx-libretro", - "rev": "f9ea9eacd49297783c216d147dcc1a22465b2749", - "sha256": "nDsaaUeZUm4zTj07+2nPDefoDpw18vXdhQr1BH6/4eY=" + "rev": "11fa9f3c08cde567394c41320ca76798c2c64670", + "sha256": "1u5c5oDIjjXEquh6UBv2H1F/Ln7h44DTF1ohDG0Qnww=" }, "freeintv": { "owner": "libretro", @@ -183,26 +183,26 @@ "genesis-plus-gx": { "owner": "libretro", "repo": "Genesis-Plus-GX", - "rev": "144045b30a18ab4b27c3ae46490274988f302748", - "sha256": "ydnyPdkJmM+xhuJqIOxZISFcTN8RFgOLbnRvOBJORek=" + "rev": "7520ac8aae7b08262c0472e724e6ef0bfe41d285", + "sha256": "wKcO/dulgZKgXTuHdcQvfSrfxSI5UA0az6qMLtP4K6g=" }, "gpsp": { "owner": "libretro", "repo": "gpsp", - "rev": "d4547baf26dd70a18eeb38d231ce3f998004ec30", - "sha256": "9XU9TmBpuZeAOzqxuKVQZvdHRgX8fm4HcEfleM3jB7E=" + "rev": "f0f0b31f9ab95946965b75fed8d31e19290f3d43", + "sha256": "aiegBSpQDyXzVkyWuUpI66QvA1tqS8PQ8+75U89K10A=" }, "gw": { "owner": "libretro", "repo": "gw-libretro", - "rev": "85bf5c936044db0bf4138e7eb8ab20d3a7330035", - "sha256": "yCAnveQw+VyZFQ/GsUBuyoMRQ4yfhA0f3tYghZ2HecU=" + "rev": "d08a08154ce8ed8e9de80582c108f157e4c6b226", + "sha256": "PWd/r4BBmhiNqJdV6OaXHr4XCdR1GyVipq3zvyBcqEs=" }, "handy": { "owner": "libretro", "repo": "libretro-handy", - "rev": "5145f79bb746f6d9c0b340c2f9cc4bf059848924", - "sha256": "madTjJWKM8elM35LRAwm0RwnA44skLtIK2/7RXPSNl0=" + "rev": "517bb2d02909271836604c01c8f09a79ad605297", + "sha256": "Igf/OvmnCzoWjCZBoep7T0pXsoBKq3NJpXlYhE7nr3s=" }, "hatari": { "owner": "libretro", @@ -213,14 +213,14 @@ "mame": { "owner": "libretro", "repo": "mame", - "rev": "2a0e4ea0e2362bb7dcf77216c9fcb48426cea1e8", - "sha256": "imuHEwzDpI8jbdOeOhBBfzl4k74mDq/3SrKD8upzZmo=" + "rev": "b7dd999590717638ceade2e24d16d63147aa12ad", + "sha256": "QgENNjykhO+WSxAb//J+R7QP3/rZnxqv7sarO4eBYuc=" }, "mame2000": { "owner": "libretro", "repo": "mame2000-libretro", - "rev": "f35db3877f8a79a174dd3b2e37f4ebf39d71d5a4", - "sha256": "JmtvxKWAYNk1SyV1YpFeLX49zzGqpUv6nqM82xU70OM=" + "rev": "dd9d6612c29bf5b29bc2f94cab2d43fe3dcd69ee", + "sha256": "X0fP0bNBk2hqXVdRspylLIjZO563aMXkyX4qgx/3Vr8=" }, "mame2003": { "owner": "libretro", @@ -267,8 +267,8 @@ "mesen-s": { "owner": "libretro", "repo": "mesen-s", - "rev": "3694c7f9692a0be32d86979c347884ae9def0a3b", - "sha256": "VBNl4682e2X12WNjtXZ3P4/Kw4OeRLSRWyZqYDpfmCo=" + "rev": "b0b53409eecb696fb13f411ffde72e8f576feb09", + "sha256": "lDHyeIsVsI5+ZK8EJI50alrFuu0uJmxscda5bR1UmQQ=" }, "meteor": { "owner": "libretro", @@ -297,8 +297,8 @@ "nestopia": { "owner": "libretro", "repo": "nestopia", - "rev": "7dbd5c6384c4c6326004c97fd8e6fa07cb4edcef", - "sha256": "OBkWP36BzwsEW+ORF2opHlXwXHgGN0l2ZxBuyDO/sKY=" + "rev": "a9e197f2583ef4f36e9e77d930a677e63a2c2f62", + "sha256": "QqmWSk8Ejf7QMJk0cVBgpnyqcK6oLjCnnXMXInuWfYc=" }, "np2kai": { "owner": "AZO234", @@ -310,8 +310,8 @@ "o2em": { "owner": "libretro", "repo": "libretro-o2em", - "rev": "efd749cec2dd1ce42a8aa3048a89f817d271d804", - "sha256": "aw0bJyQzYFOlQQOfNsRgqdeUJP1qF4llJxLq5t9oc5g=" + "rev": "641f06d67d192a0677ec861fcb731d3ce8da0f87", + "sha256": "s3FreOziXeGhUyQdSoOywZldD21m3+OXK0EJ2Z8rXiY=" }, "opera": { "owner": "libretro", @@ -334,28 +334,28 @@ "pcsx_rearmed": { "owner": "libretro", "repo": "pcsx_rearmed", - "rev": "37d9bf8315be570a350cd44876ae14f9b0eff20b", - "sha256": "ieuEWs+NIQFCgMl/yTnaFdClxEv5NurrLuUvkjSUar0=" + "rev": "e24732050e902bd5402b2b7da7c391d2ca8fa799", + "sha256": "tPz5E3QO6FucjYOzdjbY2FHLPz1Fmms10tdt7rZIW8U=" }, "picodrive": { "owner": "libretro", "repo": "picodrive", - "rev": "bb6a52fe60e6f3bdcd17effe75e68fd0f8c44ba7", - "sha256": "wztctLbK7VE4OPJS7ixKwnN4VkQv96Te3FmJlZ5m4A0=", + "rev": "7ff457f2f833570013f2a7e2608ac40632e0735d", + "sha256": "xEG5swvvWFhvosC1XpFaZphESNaf4AtX+6UE02B57j8=", "fetchSubmodules": true }, "play": { "owner": "jpd002", "repo": "Play-", - "rev": "ec2a9460ea2beeb69d30534ee8affbda4fc4b156", - "sha256": "8maLaSJiF9soJdIlYoFHSG+2XXYTdLmWH6cq9vZRd/4=", + "rev": "39eb5c2eb6da65dc76b1c4d1319175a68120a77a", + "sha256": "EF3p0lvHjKGt4pxtTAkDM+uHsnW72lN+Ki8BaZIk/BQ=", "fetchSubmodules": true }, "ppsspp": { "owner": "hrydgard", "repo": "ppsspp", - "rev": "0eea0acf13022ff8d910adb55cec14ebad825afc", - "sha256": "f1Tscndz0TcW0bUhixEvsrbFKefLfsCFjqWA7ANnfB4=", + "rev": "83b8211abf7fb705835eb1ccf8feae04816ae96c", + "sha256": "8K4bz/GUnE8GrlAVFULMXLC+i3ZYvR28EpehEg6up4s=", "fetchSubmodules": true }, "prboom": { @@ -391,20 +391,20 @@ "smsplus-gx": { "owner": "libretro", "repo": "smsplus-gx", - "rev": "8e8378896bc15c8a9f756339b596171ba266cc14", - "sha256": "zvG2SF4zx3Yaaf54NZ2DgsGPN59msW8TvQFCS4OMcHQ=" + "rev": "9de9847dc8ba458e9522d5ae8b87bf71ad437257", + "sha256": "XzqQ/3XH5L79UQep+DZ+mDHnUJKZQXzjNCZNZw2mGvY=" }, "snes9x": { "owner": "snes9xgit", "repo": "snes9x", - "rev": "78d006ffdbb5cb6944177db52c3640152948d928", - "sha256": "Qh+nLtwdLfjwYxXCv49pPPf0mqdxKRv/JLRm82knJu0=" + "rev": "3c729a9763263bc3a69f48370e43ae05e672970a", + "sha256": "01M6Wvbu1omMwh3Xg4RGh028jirGs7mLpxwKJgMRQxA=" }, "snes9x2002": { "owner": "libretro", "repo": "snes9x2002", - "rev": "25d9d4fea4c7d7fcc8608c65c2bec9bcbc41f26e", - "sha256": "EYcaWckvTfi2ajx6C1olE5pW51diLSjMdqZdyH8U2Ck=" + "rev": "c4397de75a5f11403d154abd935e39fe969bca94", + "sha256": "yL4SIRR1Er+7Iq3YPfoe5ES47nvyA3UmGK+upLzKiFA=" }, "snes9x2005": { "owner": "libretro", @@ -415,26 +415,26 @@ "snes9x2010": { "owner": "libretro", "repo": "snes9x2010", - "rev": "b12f3ba46f09dd5d0254676ed4b9e289d16b9ea8", - "sha256": "i4GEqZkgwlehuUQGcjLdMkO9xNWRs8k+3y2OGivwXCw=" + "rev": "c98224bc74aa0bbf355d128b22e4a2a4e94215b0", + "sha256": "mf5msdwdcRRfFWHwmWLS/qKd7gNlLwexGEB6wB6TfhE=" }, "stella": { "owner": "stella-emu", "repo": "stella", - "rev": "071e8f7eb1096dfe95d9eb2e5b7b27b30f28fbf9", - "sha256": "8WzBL8ojsHYxOqItHeeG4djALhqBBOV7nHE078UzqAY=" + "rev": "efb2a9f299cad241e12d811580f28d75b6c3438d", + "sha256": "QYwDTd8EZUMXJiuSJtoW8XQXgl+Wx0lPkNLOwzM5bzA=" }, "stella2014": { "owner": "libretro", "repo": "stella2014-libretro", - "rev": "1a2e96bc6ccf91de6fb4322048da05f67a9d21d4", - "sha256": "yINO6EU2kCldfxKcqym5ha3uIEQg7I6t4Wmu+8b6Hmw=" + "rev": "1351a4fe2ca6b1f3a66c7db0df2ec268ab002d41", + "sha256": "/sVDOfP5CE8k808lhmH3tT47oZ1ka3pgDG5LglfPmHc=" }, "swanstation": { "owner": "libretro", "repo": "swanstation", - "rev": "0932243b0e5f1a5a237b0521b30b39473b61fa31", - "sha256": "krA7X9CIOg53giWSMXgzgazeyWFXEpMobPSnOB7g994=" + "rev": "0e53a5ac09a30d73d78b628f7e4954ebe5615801", + "sha256": "vOu99fsm2oeSi96tWR+vV5suZSYCyXJVgOdvjnKbNhg=" }, "tgbdual": { "owner": "libretro", @@ -464,8 +464,8 @@ "vba-next": { "owner": "libretro", "repo": "vba-next", - "rev": "ebd175d57ebb2065726099d32034cb25934787ce", - "sha256": "hTUlhLzvsemNz6wSmlnQNoNtzaVhipA+hmVmhzZVN+w=" + "rev": "4191e09e2b0fcf175a15348c1fa8a12bbc6320dd", + "sha256": "IG2oH4F17tlSv1cXYZobggb37tFNE53JOHzan/X0+ws=" }, "vecx": { "owner": "libretro", diff --git a/pkgs/applications/emulators/retroarch/update_cores.py b/pkgs/applications/emulators/retroarch/update_cores.py index 0facf4e2656ee..c6c44926fc829 100755 --- a/pkgs/applications/emulators/retroarch/update_cores.py +++ b/pkgs/applications/emulators/retroarch/update_cores.py @@ -107,10 +107,16 @@ def get_repo_hash_fetchFromGitHub( extra_args = [] if deep_clone: extra_args.append("--deep-clone") + else: + extra_args.append("--no-deep-clone") if fetch_submodules: extra_args.append("--fetch-submodules") + else: + extra_args.append("--no-fetch-submodules") if leave_dot_git: extra_args.append("--leave-dot-git") + else: + extra_args.append("--no-leave-dot-git") if rev: extra_args.append("--rev") extra_args.append(rev) diff --git a/pkgs/applications/emulators/snes9x-gtk/default.nix b/pkgs/applications/emulators/snes9x-gtk/default.nix deleted file mode 100644 index ff7df4b094407..0000000000000 --- a/pkgs/applications/emulators/snes9x-gtk/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wrapGAppsHook, alsa-lib -, SDL2, zlib, gtkmm3, libXv, libepoxy, minizip, pulseaudio, portaudio }: - -stdenv.mkDerivation rec { - pname = "snes9x-gtk"; - version = "1.61"; - - src = fetchFromGitHub { - owner = "snes9xgit"; - repo = "snes9x"; - rev = version; - fetchSubmodules = true; - sha256 = "1kay7aj30x0vn8rkylspdycydrzsc0aidjbs0dd238hr5hid723b"; - }; - - nativeBuildInputs = [ meson ninja pkg-config wrapGAppsHook ]; - buildInputs = [ alsa-lib SDL2 zlib gtkmm3 libXv libepoxy minizip pulseaudio portaudio ]; - - preConfigure = "cd gtk"; - - meta = with lib; { - homepage = "https://www.snes9x.com"; - description = "Super Nintendo Entertainment System (SNES) emulator"; - - longDescription = '' - Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES) - emulator. It basically allows you to play most games designed for the SNES - and Super Famicom Nintendo game systems on your PC or Workstation; which - includes some real gems that were only ever released in Japan. - ''; - - # see https://github.com/snes9xgit/snes9x/blob/master/LICENSE for exact details - license = licenses.unfreeRedistributable; - maintainers = with maintainers; [ qknight xfix ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/emulators/snes9x/default.nix b/pkgs/applications/emulators/snes9x/default.nix new file mode 100644 index 0000000000000..779e4dab3b3d0 --- /dev/null +++ b/pkgs/applications/emulators/snes9x/default.nix @@ -0,0 +1,130 @@ +{ lib +, stdenv +, alsa-lib +, autoreconfHook +, fetchFromGitHub +, fetchpatch +, gtkmm3 +, libepoxy +, libpng +, libX11 +, libXv +, libXext +, libXinerama +, meson +, minizip +, ninja +, pkg-config +, portaudio +, pulseaudio +, SDL2 +, wrapGAppsHook +, zlib +, withGtk ? false +}: + +stdenv.mkDerivation rec { + pname = + if withGtk then + "snes9x-gtk" + else + "snes9x"; + version = "1.61"; + + src = fetchFromGitHub { + owner = "snes9xgit"; + repo = "snes9x"; + rev = version; + fetchSubmodules = true; + sha256 = "1kay7aj30x0vn8rkylspdycydrzsc0aidjbs0dd238hr5hid723b"; + }; + + patches = [ + # Fix cross-compilation, otherwise it fails to detect host compiler features + # Doesn't affect non CC builds + (fetchpatch { + url = "https://mirror.its.dal.ca/gentoo-portage/games-emulation/snes9x/files/snes9x-1.53-cross-compile.patch"; + sha256 = "sha256-ZCmnprimz8PtDIXkB1dYD0oura9icW81yKvJ4coKaDg="; + }) + ]; + + nativeBuildInputs = [ + pkg-config + ] + ++ lib.optionals (!withGtk) [ + autoreconfHook + ] + ++ lib.optionals withGtk [ + meson + ninja + wrapGAppsHook + ]; + + buildInputs = [ + libX11 + libXext + libXv + minizip + zlib + ] + # on non-Linux platforms this will build without sound support on X11 build + ++ lib.optionals stdenv.isLinux [ + alsa-lib + pulseaudio + ] + ++ lib.optionals (!withGtk) [ + libpng + libXinerama + ] + ++ lib.optionals withGtk [ + gtkmm3 + libepoxy + portaudio + SDL2 + ]; + + configureFlags = + lib.optional stdenv.hostPlatform.sse4_1Support "--enable-sse41" + ++ lib.optional stdenv.hostPlatform.avx2Support "--enable-avx2"; + + installPhase = lib.optionalString (!withGtk) '' + runHook preInstall + + install -Dm755 snes9x -t "$out/bin/" + install -Dm644 snes9x.conf.default -t "$out/share/doc/${pname}/" + install -Dm644 ../docs/{control-inputs,controls,snapshots}.txt -t \ + "$out/share/doc/${pname}/" + + runHook postInstall + ''; + + preAutoreconf = lib.optionalString (!withGtk) "cd unix"; + preConfigure = lib.optionalString withGtk "cd gtk"; + + enableParallelBuilding = true; + + meta = with lib; + let + interface = if withGtk then "GTK" else "X11"; + in + { + homepage = "https://www.snes9x.com"; + description = "Super Nintendo Entertainment System (SNES) emulator, ${interface} version"; + + longDescription = '' + Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES) + emulator. It basically allows you to play most games designed for the SNES + and Super Famicom Nintendo game systems on your PC or Workstation; which + includes some real gems that were only ever released in Japan. + + Version build with ${interface} interface. + ''; + + license = licenses.unfreeRedistributable // { + url = "https://github.com/snes9xgit/snes9x/blob/${version}/LICENSE"; + }; + maintainers = with maintainers; [ qknight xfix thiagokokada ]; + platforms = platforms.unix; + broken = (withGtk && stdenv.isDarwin); + }; +} diff --git a/pkgs/applications/emulators/yuzu/base.nix b/pkgs/applications/emulators/yuzu/base.nix deleted file mode 100644 index aff09134fae9f..0000000000000 --- a/pkgs/applications/emulators/yuzu/base.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ pname, version, src, branchName -, stdenv, lib, wrapQtAppsHook -, cmake, pkg-config -, libpulseaudio, libjack2, alsa-lib, sndio -, vulkan-loader, vulkan-headers -, qtbase, qtwebengine, qttools -, nlohmann_json, rapidjson -, zlib, zstd, libzip, lz4 -, glslang -, boost173 -, catch2 -, fmt_8 -, SDL2 -, udev -, libusb1 -, ffmpeg -}: - -stdenv.mkDerivation rec { - inherit pname version src; - - nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; - buildInputs = [ - libpulseaudio libjack2 alsa-lib sndio - vulkan-loader vulkan-headers - qtbase qtwebengine qttools - nlohmann_json rapidjson - zlib zstd libzip lz4 - glslang - boost173 - catch2 - fmt_8 - SDL2 - udev - libusb1 - ffmpeg - ]; - - cmakeFlags = [ - "-DYUZU_USE_BUNDLED_QT=OFF" - "-DYUZU_USE_BUNDLED_SDL2=OFF" - "-DYUZU_USE_BUNDLED_FFMPEG=OFF" - "-DENABLE_QT_TRANSLATION=ON" - "-DYUZU_USE_QT_WEB_ENGINE=ON" - "-DUSE_DISCORD_PRESENCE=ON" - ]; - - # This changes `ir/opt` to `ir/var/empty` in `externals/dynarmic/src/dynarmic/CMakeLists.txt` - # making the build fail, as that path does not exist - dontFixCmake = true; - - preConfigure = '' - # Trick the configure system. This prevents a check for submodule directories. - rm -f .gitmodules - - # see https://github.com/NixOS/nixpkgs/issues/114044, setting this through cmakeFlags does not work. - cmakeFlagsArray+=( - "-DTITLE_BAR_FORMAT_IDLE=yuzu ${branchName} ${version}" - "-DTITLE_BAR_FORMAT_RUNNING=yuzu ${branchName} ${version} | {3}" - ) - ''; - - # Fix vulkan detection - postFixup = '' - wrapProgram $out/bin/yuzu --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib - wrapProgram $out/bin/yuzu-cmd --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib - ''; - - meta = with lib; { - homepage = "https://yuzu-emu.org"; - description = "The ${branchName} branch of an experimental Nintendo Switch emulator written in C++"; - longDescription = '' - An experimental Nintendo Switch emulator written in C++. - Using the mainline branch is recommanded for general usage. - Using the early-access branch is recommanded if you would like to try out experimental features, with a cost of stability. - ''; - license = with licenses; [ - gpl2Plus - # Icons - cc-by-nd-30 cc0 - ]; - maintainers = with maintainers; [ ivar joshuafern sbruder ]; - platforms = platforms.linux; - broken = stdenv.isAarch64; # Currently aarch64 is not supported. - }; -} diff --git a/pkgs/applications/emulators/yuzu/compatibility-list.json b/pkgs/applications/emulators/yuzu/compatibility-list.json new file mode 100644 index 0000000000000..f780b1deff004 --- /dev/null +++ b/pkgs/applications/emulators/yuzu/compatibility-list.json @@ -0,0 +1 @@ +[{"id":"0006b2db-d7ac-44ca-bfbe-e28263a41afd","directory":"samsara-deluxe-edition","title":"Samsara: Deluxe Edition","compatibility":99,"releases":[{"id":"010014000C63C000","region":null}]},{"id":"000f7b84-cb3a-4e56-b34e-4d201f0798cc","directory":"barry-the-bunny","title":"Barry the Bunny","compatibility":99,"releases":[{"id":"0100C46015AA0000","region":null}]},{"id":"001027b2-7b31-4f26-aa64-dff9a9b7866e","directory":"aca-neogeo-metal-slug-3","title":"ACA NEOGEO METAL SLUG 3","compatibility":2,"releases":[{"id":"0100BA8001DC6000","region":null}]},{"id":"001a1be6-35d9-48be-9181-671401213b97","directory":"crossniq","title":"CROSSNIQ+","compatibility":1,"releases":[{"id":"01007BB00E760000","region":null}]},{"id":"001cb4d8-cf72-4292-b8b6-97ec3fc023ae","directory":"arcade-archives-image-fight","title":"Arcade Archives IMAGE FIGHT","compatibility":99,"releases":[{"id":"010008300C978000","region":null}]},{"id":"00303016-7f48-4386-b3e5-1c043c0d2877","directory":"path-through-the-forest","title":"Path: Through the Forest","compatibility":99,"releases":[{"id":"010036C0131E8000","region":null}]},{"id":"003e14aa-0699-4425-9e86-3eef87f5315b","directory":"deadly-days","title":"Deadly Days","compatibility":1,"releases":[{"id":"010095A011A14000","region":null}]},{"id":"00438af7-529e-44f9-b8d8-b48905ee0826","directory":"tetras-escape","title":"TETRA's Escape","compatibility":99,"releases":[{"id":"01004E500A15C000","region":null}]},{"id":"0045e76f-9fd9-4dd0-b5d0-64df6bde1547","directory":"untitled-goose-game","title":"Untitled Goose Game","compatibility":0,"releases":[{"id":"010082400BCC6000","region":null}]},{"id":"005faf1c-42ec-4c95-9a8a-00947085839a","directory":"cyber-hook","title":"Cyber Hook","compatibility":99,"releases":[{"id":"010008A00F15C000","region":null}]},{"id":"00619131-acb5-4cef-bc90-d721db0cf4df","directory":"chime-sharp","title":"Chime Sharp","compatibility":99,"releases":[{"id":"010069900C4AC000","region":null}]},{"id":"0061f86a-4b67-40ae-bfd6-d3bb2b6fed83","directory":"fishwitch-halloween","title":"FishWitch Halloween","compatibility":99,"releases":[{"id":"01004AA016918000","region":null}]},{"id":"0062101a-3109-4361-9914-51b33e6d4820","directory":"the-number-puzzle","title":"THE Number Puzzle","compatibility":99,"releases":[{"id":"0100A6F00A0FE000","region":null}]},{"id":"0063b5e2-64d2-4d6c-908e-141764fb3dd6","directory":"dairoku-agents-of-sakuratani","title":"Dairoku: Agents of Sakuratani","compatibility":99,"releases":[{"id":"010031F0143AE000","region":null}]},{"id":"007431da-a370-4ae5-8b2c-6709e47fe540","directory":"rivals-of-aether","title":"Rivals of Aether","compatibility":99,"releases":[{"id":"0100D2700DE7C000","region":null}]},{"id":"00760040-b010-4eda-867a-6f076aa7cd8b","directory":"va-11-hall-a-cyberpunk-bartender-action","title":"VA-11 Hall-A: Cyberpunk Bartender Action","compatibility":3,"releases":[{"id":"010086500D3C8000","region":null}]},{"id":"007d1b30-b2b4-4c05-a170-c5d7f71310e3","directory":"dusk-diver","title":"Dusk Diver","compatibility":3,"releases":[{"id":"0100B2B00E7AA000","region":null}]},{"id":"008490e4-94de-48ac-9ee3-bf859cb20c4d","directory":"space-commander-war-and-trade","title":"Space Commander: War and Trade","compatibility":0,"releases":[{"id":"0100E1E014AFA000","region":null}]},{"id":"0088eb2b-4ecc-4385-a19b-cd03056cfa07","directory":"wood-block-escape-puzzles-3","title":"Wood Block Escape Puzzles 3","compatibility":99,"releases":[{"id":"0100FA60152CC000","region":null}]},{"id":"008bc3d4-7e83-44d7-a6b5-f6c12b1e61d4","directory":"grizzland","title":"Grizzland","compatibility":2,"releases":[{"id":"010091300FFA0000","region":null}]},{"id":"008e5f9e-1428-4b99-bef0-4d8b4e281efc","directory":"mindball-play","title":"Mindball Play","compatibility":99,"releases":[{"id":"01002CD00C7C8000","region":null}]},{"id":"009302c8-fa3d-41a4-a209-4ecea3057bde","directory":"horse-farm","title":"Horse Farm","compatibility":4,"releases":[{"id":"010040900F032000","region":null}]},{"id":"00c489ba-0bb8-4151-a7e9-e67032bbbb48","directory":"enchanted-in-the-moonlight-kiryu-chikage-and-yukinojo-","title":"Enchanted in the Moonlight - Kiryu, Chikage & Yukinojo -","compatibility":3,"releases":[{"id":"010068300E08E000","region":null}]},{"id":"00c52b4e-54bd-4ef9-bf3c-62d3c2557d2f","directory":"the-wardrobe-even-better-edition","title":"The Wardrobe: Even Better Edition","compatibility":0,"releases":[{"id":"01008B200FC6C000","region":null}]},{"id":"00c65a86-4a43-4d11-81cd-ab502493fabe","directory":"throw-it-animal-park","title":"Throw it! Animal Park","compatibility":99,"releases":[{"id":"0100A52011374000","region":null}]},{"id":"00c88822-8324-4caf-91c5-6e83b8b7c225","directory":"wizards-wand-of-epicosity","title":"Wizards: Wand of Epicosity","compatibility":1,"releases":[{"id":"0100C7600E77E000","region":null}]},{"id":"00ce8157-a53b-4055-a833-723362dce618","directory":"8-9-ball-pocket","title":"8 & 9 Ball Pocket","compatibility":99,"releases":[{"id":"010049B016CF8000","region":null}]},{"id":"00e896e9-0a71-4764-b159-69b7c54d8bd9","directory":"devious-dungeon-demo","title":"Devious Dungeon DEMO","compatibility":99,"releases":[{"id":"0100EB900A534000","region":null}]},{"id":"00f6959e-063a-4ffb-a176-6cb4a2eb2e39","directory":"guild-of-darksteel","title":"Guild of Darksteel","compatibility":99,"releases":[{"id":"0100700013364000","region":null}]},{"id":"01019252-62f3-4bce-8915-a11bff86cdec","directory":"starlit-adventures-golden-stars","title":"Starlit Adventures Golden Stars","compatibility":99,"releases":[{"id":"010098E010FDA000","region":null}]},{"id":"010c619b-8da7-405d-a46f-7024b3eec4b6","directory":"dead-effect-2","title":"Dead Effect 2","compatibility":0,"releases":[{"id":"01007860152EE000","region":null}]},{"id":"01129eac-ddcb-4fbc-af9f-83359e385f3b","directory":"midnight-evil","title":"Midnight Evil","compatibility":99,"releases":[{"id":"0100A1200F20C000","region":null}]},{"id":"0114261a-d54e-4b3a-b169-534f0b0b740b","directory":"rayman-r-legends-definitive-edition-demo","title":"RAYMAN® LEGENDS: DEFINITIVE EDITION DEMO","compatibility":1,"releases":[{"id":"0100974004924000","region":null}]},{"id":"011ba4ba-6e43-4f48-8156-af39b883dc1f","directory":"arcade-archives-orius","title":"Arcade Archives ORIUS","compatibility":99,"releases":[{"id":"0100752016C3C000","region":null}]},{"id":"011d3d94-fa2f-4a69-8804-870dc6a15a73","directory":"asteroids-recharged","title":"Asteroids: Recharged","compatibility":2,"releases":[{"id":"01007DB01689C000","region":null}]},{"id":"012a66dc-b7ea-498d-832f-4b984298d4d3","directory":"arcade-archives-donkey-kong-3","title":"Arcade Archives DONKEY KONG 3","compatibility":2,"releases":[{"id":"010002E00D3FE000","region":null}]},{"id":"012f487b-733f-4c09-8e91-8fa11b2a0e48","directory":"mortal-kombat-11","title":"Mortal Kombat 11","compatibility":5,"releases":[{"id":"0100F2200C984000","region":null}]},{"id":"0131fb9e-1a78-43f3-b9d9-6e7c01c1d9e1","directory":"fantasy-hero-unsigned-legacy","title":"FANTASY HERO ~unsigned legacy~","compatibility":1,"releases":[{"id":"0100767008502000","region":null}]},{"id":"013776e4-78a9-4ff2-8dbb-7309afb6aaf3","directory":"golf-story","title":"Golf Story","compatibility":0,"releases":[{"id":"0100779004172000","region":null}]},{"id":"0144b61b-db22-4d37-9710-59d82d42b802","directory":"unicornicopia","title":"Unicornicopia","compatibility":99,"releases":[{"id":"0100A8700B30E000","region":null}]},{"id":"01468391-2729-43f3-8a0b-4d8bb6fa5559","directory":"x-morph-defense","title":"X-Morph: Defense","compatibility":99,"releases":[{"id":"0100DF100B97C000","region":null}]},{"id":"01483cc5-6848-48e4-8938-82506ee86f22","directory":"resolutiion","title":"Resolutiion","compatibility":5,"releases":[{"id":"0100E7F00FFB8000","region":null}]},{"id":"0149e6ce-d105-460a-ace5-17c176e866ca","directory":"serial-cleaner","title":"Serial Cleaner","compatibility":0,"releases":[{"id":"0100818008004000","region":null}]},{"id":"014ec7ad-c9e6-4c96-b065-cff7b33daa92","directory":"ramp-car-jumping","title":"Ramp Car Jumping","compatibility":4,"releases":[{"id":"0100F30012CBE000","region":null}]},{"id":"01519e31-7a53-402f-9da4-e29cd5d5d218","directory":"payday-2","title":"PAYDAY 2","compatibility":0,"releases":[{"id":"0100274004052000","region":null}]},{"id":"01554519-c001-4256-9593-3f7b71580afc","directory":"resident-evil","title":"Resident Evil","compatibility":1,"releases":[{"id":"010050F00BC1A000","region":null}]},{"id":"01585892-1b9e-4db7-bdd1-833022b77751","directory":"katana-zero","title":"Katana ZERO","compatibility":1,"releases":[{"id":"010029600D56A000","region":null}]},{"id":"0172902a-2c5e-4d38-9761-83e5bd5cc919","directory":"titans-pinball","title":"Titans Pinball","compatibility":99,"releases":[{"id":"01009C400E93E000","region":null}]},{"id":"017369db-f3af-45e6-a4e8-f737b84fba35","directory":"blocky-puzzle","title":"Blocky Puzzle","compatibility":99,"releases":[{"id":"01008B7015532000","region":null}]},{"id":"0176b68f-42d7-476f-90b0-a7782e1854e8","directory":"mushihimesama","title":"Mushihimesama","compatibility":1,"releases":[{"id":"010045800FBD0000","region":null}]},{"id":"0176e052-0257-4c09-a8d3-316e6c5602f8","directory":"stitchy-in-tooki-trouble","title":"Stitchy in Tooki Trouble","compatibility":0,"releases":[{"id":"010077B014518000","region":null}]},{"id":"01886de7-8948-4794-9bb1-0c514b856ab7","directory":"robox","title":"Robox","compatibility":99,"releases":[{"id":"010018800C7D2000","region":null}]},{"id":"018f0069-8fcb-45d9-9569-fafa365b88bb","directory":"lost-in-harmony","title":"Lost in Harmony","compatibility":99,"releases":[{"id":"0100B6C00AF6E000","region":null}]},{"id":"0193f221-2265-4818-82bc-064f6616837b","directory":"jetpin","title":"jetPIN","compatibility":99,"releases":[{"id":"0100BCC013864000","region":null}]},{"id":"019a74d6-11f9-4e2a-bbd1-46619aec45d4","directory":"neoverse-trinity-edition","title":"Neoverse Trinity Edition","compatibility":2,"releases":[{"id":"01001A201331E000","region":null}]},{"id":"01a6c714-fbdb-4198-8829-2cd1be71cf93","directory":"warlocks-tower","title":"Warlock's Tower","compatibility":99,"releases":[{"id":"010086C00790C000","region":null}]},{"id":"01a87ead-6dbb-49fa-b9b6-3b285a9ace6d","directory":"crypto-by-powgi","title":"Crypto by POWGI","compatibility":99,"releases":[{"id":"0100D480111C6000","region":null}]},{"id":"01bd32a5-03bf-4c4b-b4df-8c1e8f3ef3e7","directory":"evoland-legendary-edition","title":"Evoland Legendary Edition","compatibility":1,"releases":[{"id":"0100ED100B160000","region":null}]},{"id":"01bf2f4a-4eab-49a6-aad6-299628592331","directory":"hotline-miami-collection","title":"Hotline Miami Collection","compatibility":0,"releases":[{"id":"0100D0E00E51E000","region":null}]},{"id":"01c6bb6f-aa9a-4869-bfa0-7459ce9bb0f5","directory":"perry-pig-jump","title":"Perry Pig Jump","compatibility":99,"releases":[{"id":"01001E800D314000","region":null}]},{"id":"01d391d8-4b16-4bcd-b17d-ea0f36d09158","directory":"knight-terrors","title":"Knight Terrors","compatibility":99,"releases":[{"id":"0100D51006AAC000","region":null}]},{"id":"01d5a9a3-49ce-44e9-951c-73e708be78a4","directory":"arietta-of-spirits","title":"Arietta of Spirits","compatibility":2,"releases":[{"id":"0100E95015392000","region":null}]},{"id":"01f3da51-5ec6-4046-8bf3-192fa5c84ea5","directory":"the-childs-sight","title":"The Childs Sight","compatibility":99,"releases":[{"id":"010066800E9F8000","region":null}]},{"id":"01fa5774-bb1c-4eec-ae86-32cbca53bc17","directory":"bridge-constructor-ultimate-edition","title":"Bridge Constructor Ultimate Edition","compatibility":99,"releases":[{"id":"0100B2500F0E0000","region":null}]},{"id":"01ff1612-9583-40aa-abf9-12d2691d3ae6","directory":"this-is-the-zodiac-speaking","title":"This is the Zodiac Speaking","compatibility":99,"releases":[{"id":"010052D0129E4000","region":null}]},{"id":"020774d7-f81e-489d-a92d-81d9eb946e99","directory":"video-poker-at-aces-casino","title":"Video Poker at Aces Casino","compatibility":99,"releases":[{"id":"010049901147A000","region":null}]},{"id":"020dd823-9809-4f63-a75a-d4dfce101ed2","directory":"love-a-puzzle-box-filled-with-stories","title":"LOVE - A Puzzle Box Filled with Stories","compatibility":99,"releases":[{"id":"01004F0013BAA000","region":null}]},{"id":"021c63e3-31b9-4877-b07e-f5cd30bbb9e7","directory":"the-wardrobe","title":"The Wardrobe","compatibility":99,"releases":[{"id":"0100A6D009840000","region":null}]},{"id":"02208c4f-2448-4d68-b5a6-a7a8d191bc59","directory":"2048-cat","title":"2048 CAT","compatibility":0,"releases":[{"id":"01005E101014C000","region":null}]},{"id":"022a79fa-f098-470a-b783-5123209f91cb","directory":"townsmen","title":"Townsmen","compatibility":3,"releases":[{"id":"010049E00BA34000","region":null}]},{"id":"02348c3d-a06e-44c8-bff1-d3c2d21144cb","directory":"gunhouse","title":"Gunhouse","compatibility":99,"releases":[{"id":"010081C008164000","region":null}]},{"id":"023621d3-ecd1-4410-811e-0d10eb72dc04","directory":"hardway-party","title":"Hardway Party","compatibility":99,"releases":[{"id":"0100BB600C096000","region":null}]},{"id":"023723a6-48b9-4e31-aab5-e8e6741a3fc8","directory":"tetras-escape-demo","title":"Tetra's Escape DEMO","compatibility":99,"releases":[{"id":"01001F200A536000","region":null}]},{"id":"024a10a9-873f-4288-abb8-fc1cc988eefb","directory":"pity-pit","title":"Pity Pit","compatibility":99,"releases":[{"id":"0100197011BFE000","region":null}]},{"id":"024ffac6-eb15-4a76-b29c-36241a5a610c","directory":"broken-age","title":"Broken Age","compatibility":1,"releases":[{"id":"0100EDD0068A6000","region":null}]},{"id":"026c211b-1a6f-433e-b727-4a5a10aa38ee","directory":"cargo-crew-driver","title":"Cargo Crew Driver","compatibility":99,"releases":[{"id":"0100DD6014870000","region":null}]},{"id":"0273ebc8-91b9-4f6a-8295-46d574258a0f","directory":"multi-quiz","title":"Multi Quiz","compatibility":99,"releases":[{"id":"01008E2013FB4000","region":null}]},{"id":"02741eb6-1473-44bd-9b47-6e708fac2ecc","directory":"hero-express","title":"Hero Express","compatibility":99,"releases":[{"id":"0100BEA00E63A000","region":null}]},{"id":"027458bb-a69b-4bdf-8673-5e293c4026f6","directory":"bloodstained-curse-of-the-moon-2","title":"Bloodstained: Curse of the Moon 2","compatibility":0,"releases":[{"id":"01004680124E6000","region":null}]},{"id":"0275f145-b729-4f08-9bb2-47bc3d4b4b69","directory":"flight-sim-2019","title":"Flight Sim 2019","compatibility":1,"releases":[{"id":"0100B9000F2D8000","region":null}]},{"id":"027af589-d0bc-45fe-9bc5-021538fef37b","directory":"psikyo-shooting-stars-alpha","title":"Psikyo Shooting Stars Alpha","compatibility":4,"releases":[{"id":"01007A200F2E2000","region":null}]},{"id":"028dfaf6-f71a-4e77-9fba-02f9ab66a8fe","directory":"regions-of-ruin","title":"Regions of Ruin","compatibility":99,"releases":[{"id":"01005FD00F15A000","region":null}]},{"id":"0291b9ae-5e17-4a84-b8bc-620528a23367","directory":"star-ghost","title":"Star Ghost","compatibility":4,"releases":[{"id":"01002EB007D3A000","region":null}]},{"id":"0292fc04-d7fc-434b-9eef-d0be437dc71f","directory":"a-day-without-me","title":"A Day Without Me","compatibility":99,"releases":[{"id":"0100CD501401E000","region":null}]},{"id":"02a03133-df4e-4446-9ae9-cd8189220251","directory":"rigid-force-redux","title":"Rigid Force Redux","compatibility":0,"releases":[{"id":"0100763010D5A000","region":null}]},{"id":"02abfa5e-b34f-4cc8-bf88-186b62451ab6","directory":"just-shapes-beats-demo","title":"Just Shapes & Beats Demo","compatibility":99,"releases":[{"id":"0100D9600BA8E000","region":null}]},{"id":"02b18ac9-d844-4827-aeab-613019664c58","directory":"uno-demo","title":"Uno Demo","compatibility":99,"releases":[{"id":"010037B00A9C8000","region":null}]},{"id":"02c84d2f-d018-4af9-8944-e2443e2bc0f0","directory":"sumire","title":"Sumire","compatibility":1,"releases":[{"id":"01003D50126A4000","region":null}]},{"id":"02c89828-6468-41db-acd5-d34470c836ab","directory":"gearclub-unlimited","title":"Gear.Club Unlimited","compatibility":1,"releases":[{"id":"010065E003FD8000","region":null}]},{"id":"02d7e5aa-cc90-47cd-8f07-f4de0ad1c41b","directory":"timberman-vs","title":"Timberman VS","compatibility":99,"releases":[{"id":"0100EA1009022000","region":null}]},{"id":"02d82fa2-e38e-4c2b-9b57-839f0fb8dc61","directory":"null-drifter","title":"Null Drifter","compatibility":99,"releases":[{"id":"01000CC010594000","region":null}]},{"id":"02e71fc4-167c-458d-a6b8-2f4564fac71c","directory":"the-dark-eye-memoria","title":"The Dark Eye: Memoria","compatibility":99,"releases":[{"id":"01003FA00EE36000","region":null}]},{"id":"02e8c180-6592-4140-af57-85d1e5cf29c2","directory":"god-wars-the-complete-legend","title":"GOD WARS The Complete Legend","compatibility":99,"releases":[{"id":"0100F3D00B032000","region":null}]},{"id":"02f5b14c-87b0-41c6-9d8e-05a34bc6c634","directory":"8-ball-pocket","title":"8-Ball Pocket","compatibility":99,"releases":[{"id":"0100A9900F3BE000","region":null}]},{"id":"02f824e9-6665-468d-a6bb-0d3bb7ace158","directory":"prehistoric-life-puzzles","title":"Prehistoric Life Puzzles","compatibility":99,"releases":[{"id":"0100CC9015E30000","region":null}]},{"id":"02fac8d7-97dc-4f0b-aea8-d9e45fae6e86","directory":"prison-architect-nintendo-switch-edition","title":"Prison Architect: Nintendo Switch Edition","compatibility":1,"releases":[{"id":"010029200AB1C000","region":null}]},{"id":"02fbbefa-67d5-4e16-bf7e-a0e28cfb1511","directory":"1-anagrams","title":"#1 Anagrams","compatibility":99,"releases":[{"id":"0100F1D014F08000","region":null}]},{"id":"02fd7bf2-2e52-4bcd-8783-542942bd9cea","directory":"fantasy-tavern-sextet-vol-3-postlude-days","title":"Fantasy Tavern Sextet -Vol.3 Postlude Days-","compatibility":4,"releases":[{"id":"010043D014336000","region":null}]},{"id":"0300f2f2-7add-4196-a952-82ba6e735c4b","directory":"spintires-mudrunner-american-wilds","title":"Spintires: MudRunner - American Wilds","compatibility":2,"releases":[{"id":"01009D200952E000","region":null}]},{"id":"0307b175-72e6-45da-a8cc-d07c3f854868","directory":"link-a-pix-deluxe","title":"Link-a-Pix Deluxe","compatibility":0,"releases":[{"id":"010047600FBFE000","region":null}]},{"id":"0320f44f-ac02-463f-affd-536cc0963cc2","directory":"bridge-constructor-the-walking-dead","title":"Bridge Constructor: The Walking Dead","compatibility":99,"releases":[{"id":"01002AD0126AE000","region":null}]},{"id":"0321122f-a505-42ef-a1fc-71d5301c3309","directory":"just-dance-2019","title":"Just Dance 2019","compatibility":0,"releases":[{"id":"010075600AE96000","region":null}]},{"id":"03291850-6c69-4df0-9a55-aa7a1ea7f41f","directory":"startide","title":"Startide","compatibility":99,"releases":[{"id":"010051D00C9F8000","region":null}]},{"id":"032d0936-77ad-4041-86d2-4ff8148db22e","directory":"emma-lost-in-memories","title":"Emma: Lost in Memories","compatibility":99,"releases":[{"id":"010017B0102A8000","region":null}]},{"id":"03442c19-4ed9-427b-ba92-3fb1fd710c1f","directory":"five-nights-at-freddys-sister-location","title":"Five Nights at Freddy's: Sister Location","compatibility":4,"releases":[{"id":"01003B200E440000","region":null}]},{"id":"0348f10e-4526-4483-981f-650359fbbc9b","directory":"mushroom-savior","title":"Mushroom Savior","compatibility":99,"releases":[{"id":"0100812012554000","region":null}]},{"id":"03698c43-9f0e-4441-a3dc-085978bb0ff9","directory":"never-again","title":"Never Again","compatibility":99,"releases":[{"id":"01005F201038C000","region":null}]},{"id":"03699871-074b-4770-bea8-3e46971c5f62","directory":"skully","title":"Skully","compatibility":2,"releases":[{"id":"0100D7B011654000","region":null}]},{"id":"03722d61-ccf7-4012-9fcf-3561b0e3c2f3","directory":"word-forward","title":"Word Forward","compatibility":99,"releases":[{"id":"010051B016642000","region":null}]},{"id":"0374b54a-ebe0-45a1-aa1f-41e49f25d592","directory":"arcade-archives-vs-gradius","title":"Arcade Archives VS. GRADIUS","compatibility":4,"releases":[{"id":"01004EC00E634000","region":null}]},{"id":"037b6d81-0bcc-4319-9395-d9f27304cec3","directory":"the-midnight-sanctuary","title":"The Midnight Sanctuary","compatibility":99,"releases":[{"id":"0100DEC00B2BC000","region":null}]},{"id":"0381c189-fae0-466e-8150-5ce8d8ff6b43","directory":"snack-world-the-dungeon-crawl-gold","title":"SNACK WORLD: THE DUNGEON CRAWL — GOLD","compatibility":99,"releases":[{"id":"010010400D46A000","region":null}]},{"id":"038761c3-cfa3-4b0f-998a-73ef6d63d53c","directory":"pixel-game-maker-series-jewelinx","title":"Pixel Game Maker Series JEWELiNX","compatibility":99,"releases":[{"id":"010054E0168A6000","region":null}]},{"id":"0399e8ee-afa6-409e-be90-c863ac4c8897","directory":"cat-milk","title":".cat Milk","compatibility":99,"releases":[{"id":"0100972015984000","region":null}]},{"id":"039b5923-7444-485d-931d-56d15534fe79","directory":"touhou-spell-bubble","title":"Touhou spell bubble","compatibility":0,"releases":[{"id":"0100E9D00D6C2000","region":null}]},{"id":"03a0a436-aa88-4e62-9715-d73f1178f9e3","directory":"space-wars","title":"Space Wars","compatibility":99,"releases":[{"id":"010014F015DF2000","region":null}]},{"id":"03a69dde-0b31-4ee4-8cc6-6a05459cb390","directory":"traditional-tactics-ne","title":"Traditional Tactics Ne+","compatibility":99,"releases":[{"id":"010008C01010A000","region":null}]},{"id":"03a89231-9bd5-4efe-b1eb-12ebb3f29f15","directory":"hoggy2","title":"Hoggy2","compatibility":99,"releases":[{"id":"0100F7300ED2C000","region":null}]},{"id":"03ae7cbc-0efe-444b-87fd-ea3bd7845dbb","directory":"beat-rush","title":"Beat Rush","compatibility":99,"releases":[{"id":"0100DC500B4B0000","region":null}]},{"id":"03bd3eff-a7a6-4844-9ec9-755603d0f4f8","directory":"the-sokoban","title":"The Sokoban","compatibility":99,"releases":[{"id":"01003B4015BE4000","region":null}]},{"id":"03ee7eb7-f034-472f-9f9f-5b76e494b038","directory":"bullseye","title":"Bullseye™","compatibility":99,"releases":[{"id":"0100C06014588000","region":null}]},{"id":"040db7cb-98b4-452f-ae49-2d9d0a2b4be7","directory":"collapsed","title":"Collapsed","compatibility":99,"releases":[{"id":"01004F1012716000","region":null}]},{"id":"04197cee-d255-4215-8b05-b4ea4a45d666","directory":"sydney-hunter-and-the-curse-of-the-mayan","title":"Sydney Hunter and the Curse of the Mayan","compatibility":1,"releases":[{"id":"010007300C482000","region":null}]},{"id":"042343e6-7a4d-4181-b220-9e8b35c6cb24","directory":"okunoka","title":"OkunoKA","compatibility":99,"releases":[{"id":"01006AB00BD82000","region":null}]},{"id":"0435b268-a2ca-4788-b13f-b152e087ef73","directory":"pixel-game-maker-series-dungeon-of-nazarick","title":"Pixel Game Maker Series DUNGEON OF NAZARICK","compatibility":99,"releases":[{"id":"0100F40013720000","region":null}]},{"id":"043b85ef-0143-4690-9337-aba68eb22c0a","directory":"harvest-moon-r-one-world","title":"Harvest Moon®: One World","compatibility":2,"releases":[{"id":"010016B010FDE000","region":null}]},{"id":"044242f6-b9e1-4c67-9c7b-13e02dfc684b","directory":"ibb-obb","title":"ibb & obb","compatibility":99,"releases":[{"id":"0100E09009600000","region":null}]},{"id":"04531cc0-031c-41e2-bb07-dee28ec5e503","directory":"race-with-ryan","title":"Race with Ryan","compatibility":99,"releases":[{"id":"010075D00DD04000","region":null}]},{"id":"0458286c-d1c0-4d93-a867-aca2ab2c264a","directory":"trover-saves-the-universe","title":"Trover Saves The Universe","compatibility":99,"releases":[{"id":"010089600FB72000","region":null}]},{"id":"045f2c38-e15e-4d08-9194-6081d60796fb","directory":"dogfight","title":"Dogfight","compatibility":99,"releases":[{"id":"0100E80013BB0000","region":null}]},{"id":"046256e9-7ca4-4d7e-8786-6ccdcbb570eb","directory":"mon-amour","title":"Mon Amour","compatibility":99,"releases":[{"id":"0100E5500D294000","region":null}]},{"id":"0465c1af-696c-49d5-9092-c18682ac9494","directory":"farm-builder","title":"Farm Builder","compatibility":99,"releases":[{"id":"0100BC50122B6000","region":null}]},{"id":"046e0269-cf03-40fb-9c42-e4c5d171b058","directory":"yu-gi-oh-legacy-of-the-duelist-link-evolution","title":"Yu-Gi-Oh! Legacy of the Duelist: Link Evolution","compatibility":3,"releases":[{"id":"010022400BE5A000","region":null}]},{"id":"047b4e59-0370-41b8-b421-dfb0bf3ee733","directory":"splatter","title":"Splatter","compatibility":99,"releases":[{"id":"0100C8C0163E2000","region":null}]},{"id":"0485c2fd-1cf5-4b06-95d0-fe96d4369ec3","directory":"elva-the-eco-dragon","title":"Elva the Eco Dragon","compatibility":99,"releases":[{"id":"010012E0157A6000","region":null}]},{"id":"048f98bc-98b4-4eca-a84e-8469b78126af","directory":"she-sees-red-interactive-movie","title":"She Sees Red - Interactive Movie","compatibility":1,"releases":[{"id":"01000320110C2000","region":null}]},{"id":"04983c67-22f9-432e-bc7e-a57671f812c5","directory":"hoa","title":"Hoa","compatibility":99,"releases":[{"id":"010022E013A1A000","region":null}]},{"id":"04a14571-c5a5-44cc-945a-c1329e1e7402","directory":"tap-skaters","title":"Tap Skaters","compatibility":99,"releases":[{"id":"0100EBC00ECA8000","region":null}]},{"id":"04a9afdd-f96e-468d-af7e-7f0d2028d7e5","directory":"dead-dungeon","title":"Dead Dungeon","compatibility":99,"releases":[{"id":"01000D900E0F0000","region":null}]},{"id":"04acd6e8-cf01-493f-bad2-d6385859c6d3","directory":"spooky-chase","title":"Spooky Chase","compatibility":99,"releases":[{"id":"010097C01336A000","region":null}]},{"id":"04bf9899-6e58-49ee-b3ae-682dca48c699","directory":"race-arcade","title":"Race Arcade","compatibility":5,"releases":[{"id":"010054A008EE2000","region":null}]},{"id":"04c1d34c-8d64-4f19-96fa-f3c422ef0b21","directory":"override-mech-city-brawl-super-charged-mega-edition","title":"Override: Mech City Brawl – Super Charged Mega Edition","compatibility":99,"releases":[{"id":"0100F2600EA72000","region":null}]},{"id":"04c49116-b803-4a52-aa2f-b3982fdf166d","directory":"the-amazing-american-circus","title":"The Amazing American Circus","compatibility":99,"releases":[{"id":"0100630015B34000","region":null}]},{"id":"04d38b99-74af-4eeb-a574-5ce20286dc8f","directory":"bedtime-blues","title":"Bedtime Blues","compatibility":99,"releases":[{"id":"01001D600D2C8000","region":null}]},{"id":"04d4a2cb-beed-429c-a1ca-3e4bf33d0f5f","directory":"krystopia-a-puzzle-journey","title":"Krystopia: A Puzzle Journey","compatibility":99,"releases":[{"id":"0100971011AFC000","region":null}]},{"id":"04d702e9-bc1c-4f4b-9a9d-909c98c91e08","directory":"project-warlock","title":"Project Warlock","compatibility":0,"releases":[{"id":"0100BDB01150E000","region":null}]},{"id":"04d82582-b141-4d6d-8275-4f2d8d7d0df4","directory":"rpg-maker-mv","title":"RPG Maker MV","compatibility":99,"releases":[{"id":"0100E2C00B414000","region":null}]},{"id":"04d8c37f-0643-4e03-97ea-9b5c708f642a","directory":"donkey-kong-country-tropical-freeze","title":"Donkey Kong Country: Tropical Freeze","compatibility":1,"releases":[{"id":"0100C1F0051B6000","region":null}]},{"id":"04e7168b-337e-42e2-a43f-d3ce75975d71","directory":"close-to-the-sun","title":"Close to the Sun","compatibility":99,"releases":[{"id":"0100B7200DAC6000","region":null}]},{"id":"04eb51d7-8878-4e08-bff0-b43693c33078","directory":"choices-that-matter-and-their-souls-were-eaten","title":"Choices That Matter: And Their Souls Were Eaten","compatibility":99,"releases":[{"id":"01003DA0132EE000","region":null}]},{"id":"051d139e-0622-4b9a-9bbd-8a722874fdff","directory":"himno","title":"Himno","compatibility":99,"releases":[{"id":"010069900F270000","region":null}]},{"id":"05224cd5-7bdf-4b85-a9bc-a0abc6e657a2","directory":"a-winters-daydream","title":"A Winter's Daydream","compatibility":99,"releases":[{"id":"01000ED00F64E000","region":null}]},{"id":"053b753f-3a42-4f91-9524-b2f4b583173f","directory":"hidden-through-time","title":"Hidden Through Time","compatibility":0,"releases":[{"id":"01006D00109FE000","region":null}]},{"id":"053f229e-a2d6-442d-b150-caf49f29c22d","directory":"atelier-escha-and-logy-alchemists-of-the-dusk-sky-dx","title":"Atelier Escha & Logy: Alchemists of the Dusk Sky DX","compatibility":99,"releases":[{"id":"0100E5600EE8E000","region":null}]},{"id":"0542b59f-f5f5-4acb-866d-ba1fcb67743a","directory":"vaporum-lockdown","title":"Vaporum: Lockdown","compatibility":99,"releases":[{"id":"010088D013CE0000","region":null}]},{"id":"054d3a62-da65-4548-972f-5e09c5d244af","directory":"soccer-tactics-and-glory","title":"Soccer, Tactics & Glory","compatibility":99,"releases":[{"id":"010095C00F9DE000","region":null}]},{"id":"0565155a-5684-41bf-b336-f11a8cde8d22","directory":"lego-harry-potter-collection","title":"LEGO Harry Potter Collection","compatibility":3,"releases":[{"id":"010052A00B5D2000","region":null}]},{"id":"05681e05-63f0-42a9-8119-d84ade46feec","directory":"faraday-protocol","title":"Faraday Protocol","compatibility":99,"releases":[{"id":"010076E0145A6000","region":null}]},{"id":"05760a8d-8963-42e3-9aa1-da125fa75e58","directory":"minecraft-dungeons","title":"Minecraft Dungeons","compatibility":1,"releases":[{"id":"01006C100EC08000","region":null}]},{"id":"057c9dcf-93fb-4df1-ae4e-5d5d805fd6a9","directory":"craps-at-aces-casino","title":"Craps at Aces Casino","compatibility":99,"releases":[{"id":"01001CC014784000","region":null}]},{"id":"058eb0d3-aa86-4bac-85eb-88c0a79db175","directory":"snowball-collections-bubble","title":"Snowball Collections Bubble","compatibility":99,"releases":[{"id":"0100C20014B3C000","region":null}]},{"id":"059203a5-f0d8-4bd4-a8c1-f11a45f23bb7","directory":"jack-n-jill-dx","title":"Jack N' Jill DX","compatibility":1,"releases":[{"id":"01006E900B6EC000","region":null}]},{"id":"0597a469-c452-48fa-881d-6c49c429dad1","directory":"party-golf","title":"Party Golf","compatibility":0,"releases":[{"id":"0100B8E00359E000","region":null}]},{"id":"05a202e3-c724-4600-ae5f-35282edeaa6a","directory":"would-you-like-to-run-an-idol-cafe","title":"Would you like to run an idol cafe?","compatibility":99,"releases":[{"id":"0100A02016B4A000","region":null}]},{"id":"05a291cb-57bf-45f2-beb7-de2bc9722cac","directory":"pirates-pinball","title":"Pirates Pinball","compatibility":99,"releases":[{"id":"010077C00D610000","region":null}]},{"id":"05b490bb-d8c8-4063-836f-30ed1bc2e7e1","directory":"8-bit-farm","title":"8-Bit Farm","compatibility":99,"releases":[{"id":"01008E500EDE0000","region":null}]},{"id":"05bf85fb-8567-482b-8f52-20d73c1c6052","directory":"embr","title":"Embr","compatibility":99,"releases":[{"id":"0100CC6013432000","region":null}]},{"id":"05c9832f-d6b3-426e-ad04-3d085b6bf53f","directory":"strangers-of-the-power-3","title":"Strangers of the Power 3","compatibility":99,"releases":[{"id":"010081B00D890000","region":null}]},{"id":"05cc20e8-b373-420c-bde3-303801add377","directory":"xylophone","title":"Xylophone","compatibility":99,"releases":[{"id":"0100518015236000","region":null}]},{"id":"05dd4b3b-810e-4f18-a625-a882c7cec932","directory":"banner-saga-2","title":"Banner Saga 2","compatibility":5,"releases":[{"id":"0100388008758000","region":null}]},{"id":"05ec4bbd-cd3e-41cd-8af7-46c66d28eb7b","directory":"arcade-archives-soccer","title":"Arcade Archives SOCCER","compatibility":99,"releases":[{"id":"0100EFB01316C000","region":null}]},{"id":"05f4c845-e854-42ff-8286-ca0d6c4e703f","directory":"hidden-in-plain-sight","title":"Hidden in Plain Sight","compatibility":99,"releases":[{"id":"01004BA0110D6000","region":null}]},{"id":"060d85f5-d6fb-4e12-a50b-b35bfec3c304","directory":"obakeidoro","title":"OBAKEIDORO!","compatibility":1,"releases":[{"id":"010074600CC7A000","region":null}]},{"id":"060fab3b-4176-43ba-87ea-8f6fbcb52d74","directory":"little-friends-dogs-and-cats","title":"Little Friends: Dogs & Cats","compatibility":4,"releases":[{"id":"010079A00D9E8000","region":null}]},{"id":"0612c1d6-110c-4f49-aa14-09d337cc6716","directory":"travel-mosaics-9-mysterious-prague","title":"Travel Mosaics 9: Mysterious Prague","compatibility":99,"releases":[{"id":"0100E530133DA000","region":null}]},{"id":"0613691d-168c-44e5-977b-99599b7659f9","directory":"the-red-lantern","title":"The Red Lantern","compatibility":99,"releases":[{"id":"0100C6800D9D0000","region":null}]},{"id":"06331385-f45e-4be0-b839-975ce46c7d94","directory":"farming-simulator-nintendo-switch-edition","title":"Farming Simulator Nintendo Switch Edition","compatibility":1,"releases":[{"id":"0100D04004176000","region":null}]},{"id":"06377d5b-d1ae-47e0-88aa-5f4aec4b28b8","directory":"shadow-blade-reload","title":"Shadow Blade: Reload","compatibility":0,"releases":[{"id":"0100D5500DA94000","region":null}]},{"id":"0641afb5-a4d1-4229-b470-42f6e517c505","directory":"puzzle-bundle-3-in-1","title":"Puzzle Bundle - 3 in 1","compatibility":99,"releases":[{"id":"01004BC012436000","region":null}]},{"id":"065236fc-3d34-4ebc-b774-925df118f6e1","directory":"unhatched","title":"Unhatched","compatibility":99,"releases":[{"id":"01007D1013512000","region":null}]},{"id":"065bd008-cf29-4763-8186-266be728d134","directory":"siralim-3","title":"Siralim 3","compatibility":1,"releases":[{"id":"010073E00DBDA000","region":null}]},{"id":"06625524-c00b-49ef-9e1a-58537b5f2380","directory":"eat-beat-deadspike-san","title":"EAT BEAT DEADSPIKE-san","compatibility":1,"releases":[{"id":"0100A9B009678000","region":null}]},{"id":"06700092-816e-488b-9a33-0e0b54ce66b1","directory":"memoranda","title":"Memoranda","compatibility":99,"releases":[{"id":"01004B201308A000","region":null}]},{"id":"068baded-4c91-4806-9d2f-fb7c04f51e8a","directory":"rolling-gunner","title":"Rolling Gunner","compatibility":0,"releases":[{"id":"010076200CA16000","region":null}]},{"id":"068d9321-772d-4aa8-b75b-4f48aa1bb6a4","directory":"el-hijo-a-wild-west-tale","title":"El Hijo - A Wild West Tale","compatibility":2,"releases":[{"id":"010020A01209C000","region":null}]},{"id":"068e2bc8-60ca-49a4-95c6-17a0a71b68bf","directory":"turnip-boy-commits-tax-evasion","title":"Turnip Boy Commits Tax Evasion","compatibility":0,"releases":[{"id":"01008DF012A7A000","region":null}]},{"id":"068fff22-3f66-44ec-b786-17396f66fd97","directory":"alvastia-chronicles","title":"Alvastia Chronicles","compatibility":4,"releases":[{"id":"0100F0700CD8E000","region":null}]},{"id":"069ab4e6-10e0-49f5-b853-74fc5c26faea","directory":"inversus-deluxe","title":"INVERSUS Deluxe","compatibility":1,"releases":[{"id":"01001D0003B96000","region":null}]},{"id":"069b9a83-b3df-4662-b6ae-9dbce0483b3a","directory":"zombillie","title":"Zombillie","compatibility":99,"releases":[{"id":"0100CD300A1BA000","region":null}]},{"id":"069f5ad7-1c38-4631-a8f5-868602cc75f6","directory":"maze","title":"Maze","compatibility":99,"releases":[{"id":"0100E8B012FBC000","region":null}]},{"id":"06a25351-7335-409f-adc5-e55db813b181","directory":"nekopara-vol2","title":"NEKOPARA Vol.2","compatibility":0,"releases":[{"id":"010012900C782000","region":null}]},{"id":"06b4c047-674b-4991-a14e-8f7cbd48f8e8","directory":"tyr-chains-of-valhalla","title":"Tyr : Chains of Valhalla","compatibility":0,"releases":[{"id":"01003B200C6CA000","region":null}]},{"id":"06b9213a-bd6a-4542-a7c5-4fda944cefd8","directory":"lots-of-slots","title":"Lots of Slots","compatibility":99,"releases":[{"id":"0100CAB00FDC4000","region":null}]},{"id":"06c674e3-457a-48be-aaea-f1e0c0503bdd","directory":"klondike-solitaire-collection","title":"Klondike Solitaire Collection","compatibility":99,"releases":[{"id":"01000F6014D62000","region":null}]},{"id":"06d02ee3-2135-4926-b1ba-3ea32afc8f4c","directory":"i-hate-running-backwards","title":"I Hate Running Backwards","compatibility":99,"releases":[{"id":"01006D300AA58000","region":null}]},{"id":"06d4e565-ab1c-4364-898c-2679dc2f45a7","directory":"linelight","title":"Linelight","compatibility":99,"releases":[{"id":"0100EDE012B58000","region":null}]},{"id":"06f45c11-b1e2-4c1d-a1f4-ec6265518e71","directory":"croixleur-sigma","title":"Croixleur Sigma","compatibility":0,"releases":[{"id":"01000F0007D92000","region":null}]},{"id":"06f5e19f-b24b-410d-a13f-ed2cd3f7a778","directory":"sonic-mania","title":"Sonic Mania","compatibility":0,"releases":[{"id":"01009AA000FAA000","region":null}]},{"id":"06f907a6-b2ee-4bf8-a1ef-f185ae7db0b4","directory":"cube-blast-match","title":"Cube Blast: Match","compatibility":99,"releases":[{"id":"010019B013A12000","region":null}]},{"id":"06fa799f-0c6d-4b6b-866c-e0c3321a11f3","directory":"shadowgate","title":"Shadowgate","compatibility":99,"releases":[{"id":"010073400B696000","region":null}]},{"id":"07018016-8a81-4946-84cd-99a5e47c6c5e","directory":"zombies-ruined-my-day","title":"Zombies ruined my day","compatibility":99,"releases":[{"id":"010011B0122CA000","region":null}]},{"id":"0702d35e-f773-49cb-8e09-05bed41da271","directory":"piczle-lines-dx-demo","title":"Piczle Lines DX Demo","compatibility":99,"releases":[{"id":"0100917007888000","region":null}]},{"id":"070c6273-ecf2-4aeb-8e9c-bb2d644dca3b","directory":"aca-neogeo-puzzle-bobble","title":"ACA NEOGEO PUZZLE BOBBLE","compatibility":99,"releases":[{"id":"010049A00C7AA000","region":null}]},{"id":"07148a9c-2812-457c-ab04-cd3f2311e6e7","directory":"balloon-pop-learning-letters-numbers-colors-game-for-kids","title":"Balloon Pop - Learning Letters, Numbers, Colors, Game for Kids","compatibility":99,"releases":[{"id":"0100C5F015F70000","region":null}]},{"id":"071e0cf6-45f0-4bec-9b0f-bddc6f5fd777","directory":"saints-row-the-third-the-full-package","title":"SAINTS ROW: THE THIRD - THE FULL PACKAGE","compatibility":4,"releases":[{"id":"0100DE600BEEE000","region":null}]},{"id":"071e2f01-8b43-40bd-8379-40e61a84ff16","directory":"trigger-witch","title":"Trigger Witch","compatibility":99,"releases":[{"id":"010006A01441C000","region":null}]},{"id":"071ede26-edcd-4fd0-aa1b-89c47bfb1498","directory":"arcade-archives-vs-baseball","title":"Arcade Archives VS. BASEBALL","compatibility":99,"releases":[{"id":"0100865011CBC000","region":null}]},{"id":"071fe529-cd62-4850-b628-b92cad696cb7","directory":"mario-kart-live-home-circuit","title":"Mario Kart Live: Home Circuit™","compatibility":5,"releases":[{"id":"0100ED100BA3A000","region":null}]},{"id":"0720774f-15fe-4b47-acdc-8e58c5b07f50","directory":"crimsonland","title":"Crimsonland","compatibility":3,"releases":[{"id":"01005640080B0000","region":null}]},{"id":"072454b7-3ef9-4618-8034-65ad08f1ccb0","directory":"steamburg","title":"Steamburg","compatibility":99,"releases":[{"id":"01004DD00C87A000","region":null}]},{"id":"07286ba9-b58b-4aa5-81e7-3dbf0bbf78d6","directory":"guard-duty","title":"Guard Duty","compatibility":99,"releases":[{"id":"0100C69010522000","region":null}]},{"id":"073f3fa5-3d89-4066-9630-ce0dbf1712fc","directory":"puzzle-book","title":"Puzzle Book","compatibility":99,"releases":[{"id":"010043100F0EA000","region":null}]},{"id":"07433093-b16d-480e-82cb-3d3a42cb175c","directory":"galactic-invasion","title":"Galactic Invasion","compatibility":99,"releases":[{"id":"0100F9301632A000","region":null}]},{"id":"074dc1c8-02f2-4fc5-b60f-affc7c53f58e","directory":"radiohammer-station","title":"RADIOHAMMER STATION","compatibility":99,"releases":[{"id":"01008FA00ACEC000","region":null}]},{"id":"074fc4ab-e9af-4d93-8c92-b4e08c8c54fb","directory":"magicolors","title":"Magicolors","compatibility":99,"releases":[{"id":"010032C011356000","region":null}]},{"id":"0750e87c-41bb-4c85-8f18-c39dc9d866c8","directory":"xenoraid","title":"Xenoraid","compatibility":99,"releases":[{"id":"0100928005BD2000","region":null}]},{"id":"0753f321-4038-466b-ac90-d43b0186378d","directory":"exploding-kittens","title":"Exploding Kittens","compatibility":99,"releases":[{"id":"0100BC20118EE000","region":null}]},{"id":"076b7c2f-4e9e-4ec1-a74d-d3a78a90a281","directory":"the-experiment-escape-room","title":"The Experiment: Escape Room","compatibility":0,"releases":[{"id":"01006050114D4000","region":null}]},{"id":"077389f9-3cb9-41df-a7e8-fbb45b08d659","directory":"rico","title":"RICO","compatibility":99,"releases":[{"id":"01009D5009234000","region":null}]},{"id":"077581d2-e817-49aa-8176-697dc933c029","directory":"get-ogre-it","title":"Get Ogre It","compatibility":99,"releases":[{"id":"0100926014A96000","region":null}]},{"id":"077a681f-d6ea-4034-8112-253c6934442b","directory":"modern-combat-blackout","title":"Modern Combat Blackout","compatibility":5,"releases":[{"id":"0100D8700B712000","region":null}]},{"id":"07819478-12ba-4fe0-a081-35601f194f8b","directory":"starlink-battle-for-atlas-digital-edition","title":"Starlink: Battle for Atlas Digital Edition","compatibility":4,"releases":[{"id":"01002CC003FE6000","region":null}]},{"id":"0793348f-81f6-4c11-88c4-841ab15b880d","directory":"detective-di-the-silk-rose-murders","title":"Detective Di: The Silk Rose Murders","compatibility":99,"releases":[{"id":"0100032016AF6000","region":null}]},{"id":"079f984a-7226-4b0a-b998-116d85e025e9","directory":"marble-power-blast","title":"Marble Power Blast","compatibility":99,"releases":[{"id":"01008E800D1FE000","region":null}]},{"id":"07a2d9f9-c3a4-447c-8489-ed1b169e809d","directory":"danganronpa-s-ultimate-summer-camp","title":"Danganronpa S: Ultimate Summer Camp","compatibility":2,"releases":[{"id":"0100DF3014170000","region":null}]},{"id":"07ac6163-1b2a-4339-ae6f-f83de8879653","directory":"the-men-of-yoshiwara-ohgiya","title":"The Men of Yoshiwara: Ohgiya","compatibility":99,"releases":[{"id":"0100F4E006B32000","region":null}]},{"id":"07adb711-fabf-442e-9d2b-30fcd34fa67c","directory":"journey-of-the-broken-circle","title":"Journey of the Broken Circle","compatibility":99,"releases":[{"id":"0100251012E38000","region":null}]},{"id":"07b1b848-598f-4737-a332-251e868d0857","directory":"loot-monkey-bling-palace","title":"Loot Monkey: Bling Palace","compatibility":99,"releases":[{"id":"0100B1200ADEA000","region":null}]},{"id":"07b6c2f1-9832-473e-8196-e683bec0d4e3","directory":"henosis","title":"HENOSIS","compatibility":99,"releases":[{"id":"0100B8C014824000","region":null}]},{"id":"07cbbcef-0524-47f9-ba67-c28853cbc2d3","directory":"namco-museum-pac-man-vs-free-multiplayer-only-ver","title":"NAMCO MUSEUM (PAC-MAN VS. Free Multiplayer-only Ver.)","compatibility":5,"releases":[{"id":"0100BA3003B70000","region":null}]},{"id":"07d40f2d-3192-41a1-bcc6-29b4478ec2a5","directory":"rally-racers","title":"Rally Racers","compatibility":99,"releases":[{"id":"010057F007AA2000","region":null}]},{"id":"07d4a8a8-3a00-4188-994e-b39a625dcad7","directory":"battle-supremacy-ground-assault","title":"Battle Supremacy - Ground Assault","compatibility":99,"releases":[{"id":"0100F2100D8F2000","region":null}]},{"id":"07d9c3de-dbb2-41b8-a2f6-cd32807d8100","directory":"cook-serve-delicious-3","title":"Cook, Serve, Delicious! 3?!","compatibility":99,"releases":[{"id":"0100B82010B6C000","region":null}]},{"id":"07ebab3f-cace-4d35-bbae-5d8241570d00","directory":"warhammer-age-of-sigmar-champions","title":"Warhammer Age of Sigmar: Champions","compatibility":99,"releases":[{"id":"010089A00C7B0000","region":null}]},{"id":"07ee9c88-9f37-40d0-88b9-22e74dbe8296","directory":"aca-neogeo-metal-slug-2","title":"ACA NEOGEO METAL SLUG 2","compatibility":2,"releases":[{"id":"010086300486E000","region":null}]},{"id":"07fa22eb-4f54-4817-a26b-a56b0d3082ab","directory":"match-3-adventure-collection","title":"Match 3 Adventure Collection","compatibility":99,"releases":[{"id":"0100F3B015B14000","region":null}]},{"id":"07fb9ac2-7350-4993-96fe-1806fba05257","directory":"ashen","title":"Ashen","compatibility":4,"releases":[{"id":"010027B00E40E000","region":null}]},{"id":"08097f2d-8772-4136-b98e-ad09340eb092","directory":"rogue-explorer","title":"Rogue Explorer","compatibility":1,"releases":[{"id":"010090C014D3C000","region":null}]},{"id":"08112409-1784-4470-b650-35d6ae1e002e","directory":"crimson-keep","title":"Crimson Keep","compatibility":99,"releases":[{"id":"010004300C33A000","region":null}]},{"id":"081485f2-37cd-4a22-9c3d-681491e9d8fb","directory":"how-to-take-off-your-mask-remastered","title":"How to take off your Mask Remastered","compatibility":2,"releases":[{"id":"01005000133AE000","region":null}]},{"id":"0815a04f-8a85-4732-8967-236b3a566568","directory":"up-cliff-drive","title":"Up Cliff Drive","compatibility":99,"releases":[{"id":"0100D86012928000","region":null}]},{"id":"08186222-6a9c-4ab3-ac5c-1a2e7ab3bd0d","directory":"bite-the-bullet","title":"Bite the Bullet","compatibility":1,"releases":[{"id":"0100A0800EA9C000","region":null}]},{"id":"08372744-7f6f-49e2-bdf5-355d8c7de55e","directory":"dgeneration-the-original","title":"D/Generation : The Original","compatibility":99,"releases":[{"id":"010020700B432000","region":null}]},{"id":"083db69c-401c-4911-a956-29af2a21ccc2","directory":"akihabara-crash-123stage1","title":"Akihabara CRASH! 123STAGE+1","compatibility":99,"releases":[{"id":"010033100AC2C000","region":null}]},{"id":"08525a1b-6531-480d-8a93-d97681c753e5","directory":"blind-postman","title":"Blind Postman","compatibility":99,"releases":[{"id":"0100F8F015D3C000","region":null}]},{"id":"0855a1ea-bf5b-4ff7-8fef-02ebc432c537","directory":"demon-turf","title":"Demon Turf","compatibility":1,"releases":[{"id":"0100FF5015492000","region":null}]},{"id":"086a55b0-5765-457f-8a25-c2c10c61b1ec","directory":"children-of-morta","title":"Children of Morta","compatibility":2,"releases":[{"id":"01002DE00C250000","region":null}]},{"id":"086ca05d-d44d-40f4-9e47-347a27b8b4a6","directory":"necrosphere-deluxe","title":"Necrosphere Deluxe","compatibility":99,"releases":[{"id":"01003F000C7F8000","region":null}]},{"id":"086ce65f-5aed-4fe9-96df-501e3787ca2a","directory":"the-charming-empire","title":"The Charming Empire","compatibility":99,"releases":[{"id":"010006200949E000","region":null}]},{"id":"0877abb7-f55a-475c-a339-2c4f75956b45","directory":"alchemic-dungeons-dx","title":"Alchemic Dungeons DX","compatibility":99,"releases":[{"id":"01000E800CC26000","region":null}]},{"id":"08a10bf9-0900-4325-b8a1-cf9c55223070","directory":"trios-lofi-beats-numbers-to-chill-to","title":"TRIOS - lofi beats / numbers to chill to","compatibility":99,"releases":[{"id":"01007F5013AFA000","region":null}]},{"id":"08a4ebaf-4053-4418-8e75-abe4a2e940b9","directory":"niffelheim","title":"Niffelheim","compatibility":99,"releases":[{"id":"010022600A79A000","region":null}]},{"id":"08b09d92-b8aa-4280-9748-1f80c6cddf2b","directory":"n-nplusplus","title":"N++ (NPLUSPLUS)","compatibility":1,"releases":[{"id":"01000D5005974000","region":null}]},{"id":"08d68578-c99c-4dda-8969-8d52c5412c86","directory":"goat-simulator-the-goaty","title":"Goat Simulator: The GOATY","compatibility":4,"releases":[{"id":"010032600C8CE000","region":null}]},{"id":"08d95293-32ed-4b9a-83ee-57f3f90030b0","directory":"freaky-awesome","title":"Freaky Awesome","compatibility":2,"releases":[{"id":"01001EE00AD4C000","region":null}]},{"id":"08e0ab45-ab12-4667-a3cf-4e8bb80cfb10","directory":"metro-last-light-redux","title":"Metro: Last Light Redux","compatibility":3,"releases":[{"id":"0100F0400E850000","region":null}]},{"id":"08f0b234-9d61-4ea6-ae54-d6a4a0e00179","directory":"bulletstorm-duke-of-switch-edition","title":"Bulletstorm: Duke of Switch Edition","compatibility":2,"releases":[{"id":"01003DD00D658000","region":null}]},{"id":"0902646f-2e94-462b-a549-c60b7d4f1105","directory":"ankh-guardian-treasure-of-the-demons-temple","title":"Ankh Guardian - Treasure of the Demon's Temple","compatibility":0,"releases":[{"id":"010055500CCD2000","region":null}]},{"id":"0908a57b-d2bb-42ce-8d5e-a592f04fdf1c","directory":"immerse-land","title":"IMMERSE LAND","compatibility":99,"releases":[{"id":"0100F15012D36000","region":null}]},{"id":"0917dd33-f931-4747-ae3a-30e566f8d7cd","directory":"moero-chronicle-hyper","title":"Moero Chronicle Hyper","compatibility":5,"releases":[{"id":"0100B8500D570000","region":null}]},{"id":"091bb3dd-f832-43ab-98c5-3dc624415338","directory":"iris-fall","title":"Iris.Fall","compatibility":1,"releases":[{"id":"0100945012168000","region":null}]},{"id":"0934cf38-21ec-41ec-8db7-65c625947517","directory":"journey-to-the-savage-planet","title":"Journey to the Savage Planet","compatibility":1,"releases":[{"id":"0100FB90103DE000","region":null}]},{"id":"09424dd7-e24d-4d9c-bac4-131515ddd8db","directory":"headball-soccer-deluxe","title":"Headball Soccer Deluxe","compatibility":99,"releases":[{"id":"010032800E6D2000","region":null}]},{"id":"094882ee-9e94-419d-8d5b-568ff17f2f87","directory":"arcade-archives-x-multiply","title":"Arcade Archives X MULTIPLY","compatibility":4,"releases":[{"id":"010063600D3FA000","region":null}]},{"id":"094f2104-c820-4be0-b460-3b2204674623","directory":"hellblade-senuas-sacrifice","title":"Hellblade: Senua's Sacrifice","compatibility":3,"releases":[{"id":"010044500CF8E000","region":null}]},{"id":"09541ba7-7e4c-40c1-bace-7cae51114185","directory":"my-butler","title":"My Butler","compatibility":3,"releases":[{"id":"0100F6F0118B8000","region":null}]},{"id":"096e208c-62b9-44e7-808f-8d0fc75f829b","directory":"phantaruk","title":"Phantaruk","compatibility":99,"releases":[{"id":"0100DDD00C0EA000","region":null}]},{"id":"0970280b-f61a-42ed-bbbd-d1d2d7aca19f","directory":"bamerang","title":"Bamerang","compatibility":99,"releases":[{"id":"01008D30128E0000","region":null}]},{"id":"09732939-623e-404f-80fb-159f4aa24a40","directory":"touhou-kobuto-v-burst-battle","title":"Touhou Kobuto V: Burst Battle","compatibility":1,"releases":[{"id":"010010F004022000","region":null}]},{"id":"0973d66f-b464-4242-9e75-e77d6aff207e","directory":"indigo-7-quest-for-love","title":"Indigo 7 Quest for love","compatibility":99,"releases":[{"id":"0100AC60143F4000","region":null}]},{"id":"09802efa-d123-4c63-a2e4-bfedf25efa6a","directory":"paladins","title":"Paladins","compatibility":4,"releases":[{"id":"010023900AEE0000","region":null}]},{"id":"09891c88-479d-4882-9b1b-11b5eaf3e03d","directory":"arcade-archives-ninja-spirit","title":"Arcade Archives Ninja Spirit","compatibility":99,"releases":[{"id":"01002F300D2C6000","region":null}]},{"id":"098ba6bb-c831-42e5-b3c2-f0527b7b89bf","directory":"nubarron-the-adventure-of-an-unlucky-gnome","title":"Nubarron: The adventure of an unlucky gnome","compatibility":99,"releases":[{"id":"0100343013248000","region":null}]},{"id":"09995088-cd5f-4d33-a79a-aa88189a6732","directory":"totes-the-goat","title":"Totes the Goat","compatibility":99,"releases":[{"id":"01003D3009996000","region":null}]},{"id":"09ba32f7-2fa7-479a-9729-9c1d17e7ae72","directory":"tower-of-babel-no-mercy","title":"Tower of Babel - no mercy","compatibility":0,"releases":[{"id":"01002D20103E0000","region":null}]},{"id":"09c1d4ce-c95e-4667-851b-16acdf112bc0","directory":"creepy-tale","title":"Creepy Tale","compatibility":2,"releases":[{"id":"0100A19011EEE000","region":null}]},{"id":"09c854b9-c1c8-4244-b16a-083020c12ab1","directory":"ravva-and-the-cyclops-curse","title":"Ravva and the Cyclops Curse","compatibility":99,"releases":[{"id":"0100CA2014A0A000","region":null}]},{"id":"09ccb58c-75f4-4fb9-8c3f-e452d1048ecb","directory":"cresteaju","title":"Cresteaju","compatibility":99,"releases":[{"id":"01005C2013B00000","region":null}]},{"id":"09ccc361-3fec-407a-b9e4-21da8c7d23e6","directory":"reverse-memories","title":"Reverse Memories","compatibility":99,"releases":[{"id":"01003A6015316000","region":null}]},{"id":"09d3c71e-a094-4cff-aae6-7ea2e9dc999c","directory":"arcade-archives-tube-panic","title":"Arcade Archives TUBE PANIC","compatibility":99,"releases":[{"id":"01006D4011738000","region":null}]},{"id":"09e58672-e752-47bb-ad98-052b4f5493bb","directory":"battle-brothers-a-turn-based-tactical-rpg","title":"Battle Brothers – A Turn Based Tactical RPG","compatibility":1,"releases":[{"id":"0100C5000F294000","region":null}]},{"id":"09e5b8aa-d065-4453-8899-f091ad222cbc","directory":"pile-up-box-by-box","title":"Pile Up! Box by Box","compatibility":99,"releases":[{"id":"0100A4C011F2C000","region":null}]},{"id":"09ed6517-1e5c-4f7e-89d8-bc5e0333a0c4","directory":"dog-gone-golfing","title":"DOG GONE GOLFING","compatibility":99,"releases":[{"id":"01004CD012C9A000","region":null}]},{"id":"0a13637f-47bd-448e-afda-0d595b5fcf5d","directory":"gym-hero-idle-fitness-tycoon","title":"Gym Hero - Idle Fitness Tycoon","compatibility":99,"releases":[{"id":"0100E7400DBE2000","region":null}]},{"id":"0a1651df-98f8-4c7b-92d6-af18128d56d4","directory":"a-train-all-aboard-tourism","title":"A-Train: All Aboard! Tourism","compatibility":2,"releases":[{"id":"0100A3E010E56000","region":null}]},{"id":"0a204999-a813-4017-b7d4-b1896dc2af07","directory":"quell-zen","title":"Quell Zen","compatibility":99,"releases":[{"id":"0100C240116E8000","region":null}]},{"id":"0a30ec36-a0a1-4618-b1bf-7ee20750d3c3","directory":"the-legend-of-dark-witch","title":"The Legend of Dark Witch","compatibility":0,"releases":[{"id":"0100B1900F0B6000","region":null}]},{"id":"0a35d808-a71b-4377-afb4-85f167e9b70b","directory":"my-universe-pet-clinic-cats-dogs","title":"My Universe - PET CLINIC CATS & DOGS","compatibility":99,"releases":[{"id":"0100CD5011A02000","region":null}]},{"id":"0a3e35af-f6f8-45dd-afd5-3a3d4cae4027","directory":"duck-hunting-challenge","title":"Duck Hunting Challenge","compatibility":99,"releases":[{"id":"01000BA00C9EE000","region":null}]},{"id":"0a41b046-6849-4604-90c2-d2f03b6be93d","directory":"renzo-racer","title":"Renzo Racer","compatibility":99,"releases":[{"id":"01007CC0130C6000","region":null}]},{"id":"0a50480f-5cb1-4574-ad96-ecf97b6e062b","directory":"island-flight-simulator","title":"Island Flight Simulator","compatibility":2,"releases":[{"id":"010077900440A000","region":null}]},{"id":"0a686140-1a17-40de-a858-57075439e709","directory":"winter-sports-games","title":"Winter Sports Games","compatibility":99,"releases":[{"id":"010001800DBA6000","region":null}]},{"id":"0a6a1131-1bc2-4e3f-8173-3c5e1ebba03c","directory":"kaiju-khaos","title":"KAIJU KHAOS","compatibility":99,"releases":[{"id":"01005B500A1A2000","region":null}]},{"id":"0a6f20a7-b32e-4fb4-8ce5-a0bea4426d77","directory":"roboshark-rampage","title":"RoboShark Rampage","compatibility":99,"releases":[{"id":"0100715015F8A000","region":null}]},{"id":"0a80d05c-a802-4720-8b72-4ebc0431cf2c","directory":"aca-neogeo-art-of-fighting","title":"ACA NEOGEO ART OF FIGHTING","compatibility":99,"releases":[{"id":"01006A80038FC000","region":null}]},{"id":"0a8925a0-294b-472c-933e-67141081aaa1","directory":"bloo-kid-2","title":"Bloo Kid 2","compatibility":4,"releases":[{"id":"010055900FADA000","region":null}]},{"id":"0a9671a7-3603-413e-ab36-89e5bef10694","directory":"desktop-soccer","title":"Desktop Soccer","compatibility":99,"releases":[{"id":"01004F200CB08000","region":null}]},{"id":"0a9947c0-0cbb-4c0c-91d2-88bc637a4ebd","directory":"sunless-skies-sovereign-edition","title":"Sunless Skies: Sovereign Edition","compatibility":0,"releases":[{"id":"0100A940127F6000","region":null}]},{"id":"0aa00229-98cc-4a5f-857f-e762f7888e70","directory":"crashnauts","title":"Crashnauts","compatibility":99,"releases":[{"id":"0100A49012F5C000","region":null}]},{"id":"0aa1a525-c4e6-4919-a873-d4f1951a65b1","directory":"the-tower-of-beatrice","title":"The Tower of Beatrice","compatibility":99,"releases":[{"id":"010047300EBA6000","region":null}]},{"id":"0aa40d97-3710-41ef-ab7c-7b7842a76ee3","directory":"dodgeball-academia","title":"Dodgeball Academia","compatibility":99,"releases":[{"id":"010001F014D9A000","region":null}]},{"id":"0ab8e0b8-f784-4d5a-902f-de69a9072544","directory":"defentron","title":"Defentron","compatibility":99,"releases":[{"id":"0100CDE0136E6000","region":null}]},{"id":"0abc3bc9-2e0b-49f4-92a7-55d0e4132d2d","directory":"degrees-of-separation","title":"Degrees of Separation","compatibility":4,"releases":[{"id":"010067900B9C4000","region":null}]},{"id":"0ac50959-23fc-42ae-a647-13da6a94f973","directory":"santa-tracker","title":"Santa Tracker","compatibility":99,"releases":[{"id":"01000BA00CD2C000","region":null}]},{"id":"0adea618-0369-450f-a244-7c6c2442783b","directory":"ty-the-tasmanian-tiger-2-bush-rescue-hd","title":"TY the Tasmanian Tiger™ 2: Bush Rescue™ HD","compatibility":2,"releases":[{"id":"0100BC701417A000","region":null}]},{"id":"0adefa10-5d61-4e49-8f1d-41669fb062bf","directory":"knowledge-trainer-trivia","title":"Knowledge Trainer: Trivia","compatibility":99,"releases":[{"id":"01004CD00F690000","region":null}]},{"id":"0ae27399-f21f-4adf-82ca-5caedffb80b9","directory":"apple-slash","title":"Apple Slash","compatibility":99,"releases":[{"id":"01008E1012FE6000","region":null}]},{"id":"0aefa7c9-a4e6-4026-b15a-1add97a58f1d","directory":"war-titans","title":"War Titans","compatibility":99,"releases":[{"id":"0100C10012EFC000","region":null}]},{"id":"0af3d94c-d9f4-4988-8fdb-a5f0728dbc6d","directory":"lanternium","title":"Lanternium","compatibility":99,"releases":[{"id":"010015500F186000","region":null}]},{"id":"0b0115a1-8249-4cee-ba0c-cf6a08685df9","directory":"zombie-is-planting","title":"Zombie Is Planting","compatibility":99,"releases":[{"id":"01006C50159C8000","region":null}]},{"id":"0b06b002-eb53-448d-bb06-ade14044700f","directory":"king-oddball","title":"King Oddball","compatibility":1,"releases":[{"id":"0100B1300783E000","region":null}]},{"id":"0b09f691-4f99-476f-93cf-9a2c6da84108","directory":"the-liar-princess-and-the-blind-prince","title":"The Liar Princess and the Blind Prince","compatibility":1,"releases":[{"id":"010064B00B95C000","region":null}]},{"id":"0b0cb8d0-cc49-4a60-9f72-081157c5d75e","directory":"jewel-wars","title":"JEWEL WARS","compatibility":99,"releases":[{"id":"0100B5E00D218000","region":null}]},{"id":"0b1290ad-9eed-42db-82db-cd82c1ada8ab","directory":"tomb-of-the-mask","title":"Tomb of the Mask","compatibility":99,"releases":[{"id":"0100EE701494A000","region":null}]},{"id":"0b217259-e59c-433f-8e8e-51790584184d","directory":"candy-match-kiddies","title":"Candy Match Kiddies","compatibility":99,"releases":[{"id":"0100762014780000","region":null}]},{"id":"0b256889-bd0f-46fb-9adf-074877fa95b2","directory":"the-final-station","title":"The Final Station","compatibility":99,"releases":[{"id":"0100CDC00789E000","region":null}]},{"id":"0b3895de-3b17-4017-adc8-76311a24a82a","directory":"wondershot","title":"Wondershot","compatibility":99,"releases":[{"id":"0100F5D00C812000","region":null}]},{"id":"0b473c17-65dc-4d9d-8813-d4865a32c314","directory":"techno-tanks","title":"Techno Tanks","compatibility":99,"releases":[{"id":"0100F4A01487A000","region":null}]},{"id":"0b582623-02de-48e8-b1d9-2c7122e9036a","directory":"mugsters-demo","title":"Mugsters Demo","compatibility":99,"releases":[{"id":"01008F200C880000","region":null}]},{"id":"0b673328-6d4a-42a4-b4cc-35fbd5368b43","directory":"irony-curtain-from-matryoshka-with-love","title":"Irony Curtain: From Matryoshka with Love","compatibility":99,"releases":[{"id":"0100E5700CD56000","region":null}]},{"id":"0b6817ae-9367-4bb4-8f5c-dd05ad2d741c","directory":"shift-happens","title":"Shift Happens","compatibility":1,"releases":[{"id":"0100B1000AC3A000","region":null}]},{"id":"0b685090-6d17-4efd-a474-abaab70c11f4","directory":"fear-of-traffic","title":"Fear of Traffic","compatibility":99,"releases":[{"id":"0100E2800EF4A000","region":null}]},{"id":"0b708963-a0b2-4733-8c72-769dd76b1cb5","directory":"archery-club","title":"Archery Club","compatibility":1,"releases":[{"id":"0100D510169B2000","region":null}]},{"id":"0b77e0bd-3e3b-4e8b-8fb3-8ad4383dfe9a","directory":"restless-night","title":"Restless Night","compatibility":99,"releases":[{"id":"0100FF201568E000","region":null}]},{"id":"0b789aba-30ae-43b3-93fc-cbd993441bee","directory":"castle-of-no-escape","title":"Castle of no Escape","compatibility":99,"releases":[{"id":"010094F01328C000","region":null}]},{"id":"0b7acc8e-2070-40a0-95bf-4858c93d7aab","directory":"arcade-archives-track-and-field","title":"Arcade Archives TRACK & FIELD","compatibility":5,"releases":[{"id":"01002C300E630000","region":null}]},{"id":"0b8d85fc-b730-41d4-a8ed-c8f9fb967e08","directory":"super-sami-roll","title":"Super Sami Roll","compatibility":1,"releases":[{"id":"0100C69014B1E000","region":null}]},{"id":"0b94bdbb-97ff-440c-a197-c1361179d605","directory":"hulu","title":"Hulu","compatibility":5,"releases":[{"id":"0100A66003384000","region":null}]},{"id":"0ba42b2d-c6b5-4450-b853-5e4d9403c398","directory":"catan","title":"Catan","compatibility":2,"releases":[{"id":"010092C00C5EC000","region":null}]},{"id":"0bb07baa-3e2a-47a9-a28a-1a4818b2f077","directory":"the-fall","title":"The Fall","compatibility":99,"releases":[{"id":"01002DD00AF9E000","region":null}]},{"id":"0bb88805-569e-44fd-9c9f-e64607deba7c","directory":"black-hole","title":"Black Hole","compatibility":99,"releases":[{"id":"0100461007BB0000","region":null}]},{"id":"0bbd82c1-e9ad-45c7-a413-a9dce128be11","directory":"arcade-archives-alpha-mission","title":"Arcade Archives ALPHA MISSION","compatibility":99,"releases":[{"id":"01005DD00BE08000","region":null}]},{"id":"0bcf1e78-f2a9-4775-9a6d-004cec03263c","directory":"shikhondo-soul-eater","title":"Shikhondo - Soul Eater","compatibility":1,"releases":[{"id":"010061400A990000","region":null}]},{"id":"0bcf214d-cd55-4277-846d-75d326bf2bf6","directory":"no-more-heroes","title":"No More Heroes","compatibility":1,"releases":[{"id":"0100F0400F202000","region":null}]},{"id":"0bee566b-0d5d-4bd2-b974-c5b47cf19cde","directory":"bit-trip-beat","title":"BIT.TRIP BEAT","compatibility":99,"releases":[{"id":"010038B012D32000","region":null}]},{"id":"0bf9b34b-4a34-45b9-b2e5-f8fa0d67382e","directory":"jars","title":"JARS","compatibility":99,"releases":[{"id":"0100A1F0156F0000","region":null}]},{"id":"0c03a3f9-1e91-4563-bd34-05efd29bf35f","directory":"demons-rise-war-for-the-deep","title":"Demon's Rise - War for the Deep","compatibility":99,"releases":[{"id":"0100C3501094E000","region":null}]},{"id":"0c413d0c-e584-4eed-b5b6-8e983d058097","directory":"hookbots","title":"Hookbots","compatibility":99,"releases":[{"id":"0100AFA00DED4000","region":null}]},{"id":"0c461b03-9656-4448-b969-6c326d02a152","directory":"desert-child","title":"Desert Child","compatibility":99,"releases":[{"id":"01000DC00AF1C000","region":null}]},{"id":"0c519f5e-9569-4989-a5d0-d8601a2ebb0b","directory":"true-fear-forsaken-souls-part-2","title":"True Fear: Forsaken Souls - Part 2","compatibility":99,"releases":[{"id":"0100DC400E5CE000","region":null}]},{"id":"0c553c65-7dab-4b4b-bf33-a839a0e9a2f2","directory":"spider-solitaire-collection","title":"Spider Solitaire Collection","compatibility":99,"releases":[{"id":"0100ED3014E6A000","region":null}]},{"id":"0c5bd2c0-69db-4f07-bbb5-f3204704aa80","directory":"the-colonists","title":"The Colonists","compatibility":99,"releases":[{"id":"010086901425C000","region":null}]},{"id":"0c65fa44-df8d-4236-b6a4-2dd923e6204f","directory":"ttv2","title":"TTV2","compatibility":99,"releases":[{"id":"0100752011628000","region":null}]},{"id":"0c673305-4337-49de-855e-8ab6a5046aaa","directory":"sega-ages-virtua-racing","title":"SEGA AGES Virtua Racing","compatibility":1,"releases":[{"id":"010054400D2E6000","region":null}]},{"id":"0c6cc0bc-22d7-4914-9671-421b2d2feb32","directory":"pizza-titan-ultra","title":"Pizza Titan Ultra","compatibility":99,"releases":[{"id":"01004A900C352000","region":null}]},{"id":"0c6e7682-cfbe-459b-b73b-77e0eaab238f","directory":"night-trap-25th-anniversary-edition","title":"Night Trap - 25th Anniversary Edition","compatibility":4,"releases":[{"id":"0100D8500A692000","region":null}]},{"id":"0c7506fb-45ac-403d-9902-1d74d2918bbf","directory":"nexomon-extinction","title":"Nexomon: Extinction","compatibility":1,"releases":[{"id":"01005A5011A44000","region":null}]},{"id":"0c8900f8-4321-4df7-8485-fd9339ccc781","directory":"exertus-redux","title":"Exertus: Redux","compatibility":99,"releases":[{"id":"0100453016AF2000","region":null}]},{"id":"0c8b7d98-bc0b-4c09-b006-5e9acb4b835d","directory":"ovivo","title":"OVIVO","compatibility":5,"releases":[{"id":"010045F00D56C000","region":null}]},{"id":"0c90984a-5337-4015-abb1-e75f27083139","directory":"timothy-and-the-mysterious-forest","title":"Timothy and the Mysterious Forest","compatibility":99,"releases":[{"id":"0100393013A10000","region":null}]},{"id":"0cb93916-a25d-481f-a2e8-e4a5d28762f6","directory":"dandy-dungeon-legend-of-brave-yamada-","title":"Dandy Dungeon - Legend of Brave Yamada -","compatibility":1,"releases":[{"id":"0100DFB00D808000","region":null}]},{"id":"0cc372da-3c58-4098-b1ce-c1708f0fc27f","directory":"outbreak-the-nightmare-chronicles","title":"Outbreak The Nightmare Chronicles","compatibility":99,"releases":[{"id":"01006EE013100000","region":null}]},{"id":"0ccf686d-f5c7-4515-ac14-fcc84e9d3f1c","directory":"love-letter-from-thief-x","title":"Love Letter from Thief X","compatibility":99,"releases":[{"id":"0100D36011AD4000","region":null}]},{"id":"0cdd4cdc-ddca-43b6-b7bf-8a07a9677c98","directory":"sky-mercenaries-redux","title":"Sky Mercenaries Redux","compatibility":99,"releases":[{"id":"0100668010DC2000","region":null}]},{"id":"0ce625b9-a945-46e3-a1c2-cd1a67c9b34a","directory":"poker-pretty-girls-battle-texas-holdem","title":"Poker Pretty Girls Battle: Texas Hold'em","compatibility":99,"releases":[{"id":"01003B9014D3E000","region":null}]},{"id":"0cf26c5e-4414-48f3-b0ad-f343fcfd2270","directory":"tennis-1920s","title":"Tennis 1920s","compatibility":99,"releases":[{"id":"010022300F856000","region":null}]},{"id":"0d0be9c3-8acb-451f-9490-2f769d7f2740","directory":"cyber-shadow","title":"Cyber Shadow","compatibility":99,"releases":[{"id":"01008D100DE46000","region":null}]},{"id":"0d20e2c3-95dc-48d8-897f-579fef4c1afa","directory":"velocity2x","title":"Velocity2X","compatibility":4,"releases":[{"id":"010002800B818000","region":null}]},{"id":"0d3b20b1-106f-4db7-b43d-1170f331f64a","directory":"guilty-gear","title":"GUILTY GEAR","compatibility":99,"releases":[{"id":"0100C8400B248000","region":null}]},{"id":"0d3be0bc-54fb-4ec3-949a-cb15c423d1db","directory":"classic-solitaire","title":"Classic Solitaire","compatibility":99,"releases":[{"id":"01000CA014A10000","region":null}]},{"id":"0d3f61e3-7144-4c1c-9dad-428e27074241","directory":"zhed","title":"ZHED","compatibility":99,"releases":[{"id":"010089300FDC2000","region":null}]},{"id":"0d3f6e0d-277b-4df3-8435-e63693e40d23","directory":"case-animatronics","title":"CASE: Animatronics","compatibility":99,"releases":[{"id":"0100EA700EC90000","region":null}]},{"id":"0d4fbf02-bc80-464a-8172-9f0afe512c8e","directory":"chicken-police-paint-it-red","title":"Chicken Police – Paint it RED!","compatibility":99,"releases":[{"id":"0100713010E7A000","region":null}]},{"id":"0d6448ab-df39-4dad-97f4-4e53ac87c86a","directory":"aca-neogeo-neo-turf-masters","title":"ACA NEOGEO NEO TURF MASTERS","compatibility":1,"releases":[{"id":"01002E70032E8000","region":null}]},{"id":"0d68e3f8-3d38-453f-8e05-db189e2a6557","directory":"the-keep","title":"The Keep","compatibility":99,"releases":[{"id":"0100005006BA4000","region":null}]},{"id":"0d6eb6fe-c6fa-494f-b8bb-18c66de7130a","directory":"arcade-archives-rygar","title":"Arcade Archives RYGAR","compatibility":99,"releases":[{"id":"0100C2D00981E000","region":null}]},{"id":"0d981092-cf70-4e29-9d72-e16a58d3471b","directory":"witchspring3-re-fine]-the-story-of-eirudy","title":"WitchSpring3 [Re:Fine] - The Story of Eirudy","compatibility":99,"releases":[{"id":"010091F014E5C000","region":null}]},{"id":"0d9e6c56-c35e-408e-be50-e9afaf838117","directory":"xenogunner","title":"Xenogunner","compatibility":99,"releases":[{"id":"010039300B6A2000","region":null}]},{"id":"0dad4f72-71b8-4335-81d8-199bfac28a85","directory":"reds-kingdom","title":"Red's Kingdom","compatibility":4,"releases":[{"id":"010006600AE9C000","region":null}]},{"id":"0db0b69f-d6f4-4037-a62f-4c760638e798","directory":"uncharted-tides-port-royal","title":"Uncharted Tides: Port Royal","compatibility":99,"releases":[{"id":"0100CC8011000000","region":null}]},{"id":"0dc06167-6f7b-438f-a87d-d0947370e3cc","directory":"depth-of-extinction","title":"Depth of Extinction","compatibility":99,"releases":[{"id":"010096300DE22000","region":null}]},{"id":"0dca4859-aeed-4ef1-b221-72a3d6088fe7","directory":"knights-of-pen-and-paper-1-deluxier-edition","title":"Knights of Pen and Paper +1 Deluxier Edition","compatibility":1,"releases":[{"id":"0100D3F008746000","region":null}]},{"id":"0dccce4b-97b6-4028-bf28-28c50aa42b14","directory":"the-caligula-effect-overdose","title":"The Caligula Effect: Overdose","compatibility":3,"releases":[{"id":"010069100B7F0000","region":null}]},{"id":"0dd3fa06-4e1e-41bc-b514-0890b4839712","directory":"fossil-hunters","title":"Fossil Hunters","compatibility":1,"releases":[{"id":"0100CA500756C000","region":null}]},{"id":"0dd5d393-48a2-4bb7-b00f-8881197b3608","directory":"minigolf-adventure","title":"Minigolf Adventure","compatibility":99,"releases":[{"id":"01005500158D0000","region":null}]},{"id":"0de0bf2f-5119-45f0-be0c-da1aeea1704b","directory":"pianista","title":"PIANISTA","compatibility":1,"releases":[{"id":"010077300A86C000","region":null}]},{"id":"0de6e9da-8164-4e26-8369-8b8492f6e798","directory":"dungeon-solver","title":"Dungeon Solver","compatibility":99,"releases":[{"id":"01008300128F2000","region":null}]},{"id":"0deac9b4-bfe0-4e23-8fb1-002d4500dbce","directory":"umihara-kawase-fresh","title":"Umihara Kawase Fresh!","compatibility":5,"releases":[{"id":"0100DE400D7B8000","region":null}]},{"id":"0deb16b5-373d-419b-8d68-9409e42bc274","directory":"ragdoll-fighter","title":"Ragdoll Fighter","compatibility":0,"releases":[{"id":"0100400013A46000","region":null}]},{"id":"0df2eeab-b43c-4762-8e57-61bce5bd6ad8","directory":"unsighted","title":"UNSIGHTED","compatibility":99,"releases":[{"id":"0100FF6014BEE000","region":null}]},{"id":"0e037590-ab54-411e-9be5-c6c59532ed46","directory":"undead-darlings-no-cure-for-love","title":"Undead Darlings ~no cure for love~","compatibility":99,"releases":[{"id":"0100ED301196A000","region":null}]},{"id":"0e1328f0-c085-49cf-8c2c-f0eb576cdb9e","directory":"golf-zero","title":"Golf Zero","compatibility":1,"releases":[{"id":"01007EA01252E000","region":null}]},{"id":"0e1bfa86-4406-4a17-aad8-728c11e86df0","directory":"shantae-riskys-revenge-directors-cut","title":"Shantae: Risky's Revenge - Director's Cut","compatibility":0,"releases":[{"id":"0100ADA012370000","region":null}]},{"id":"0e1f249c-d0b9-43ab-a0fb-77b932e9e09e","directory":"please-dont-touch-anything-classic","title":"Please, Don't Touch Anything: Classic","compatibility":99,"releases":[{"id":"0100CC000DA44000","region":null}]},{"id":"0e20bf71-3636-40f4-b122-1fb4e51cdd57","directory":"hyperspace-delivery-service","title":"Hyperspace Delivery Service","compatibility":99,"releases":[{"id":"010049000F6B0000","region":null}]},{"id":"0e24b468-c12b-4729-a4c1-a3fe29da1173","directory":"happy-animals-bowling","title":"Happy Animals Bowling","compatibility":99,"releases":[{"id":"01009FB00EE4A000","region":null}]},{"id":"0e44f104-c215-490d-b861-256fcbd4a795","directory":"inmost","title":"INMOST","compatibility":0,"releases":[{"id":"0100F1401161E000","region":null}]},{"id":"0e49aed5-61ad-4869-a23f-9f3afb011aa5","directory":"cabelas-the-hunt-championship-edition","title":"Cabela's: The Hunt - Championship Edition","compatibility":4,"releases":[{"id":"0100E24004510000","region":null}]},{"id":"0e6b5224-89f8-48d0-9862-439c102f91b6","directory":"venus-improbable-dream","title":"Venus: Improbable Dream","compatibility":99,"releases":[{"id":"0100F1B015400000","region":null}]},{"id":"0e715bb8-f834-4b2b-b10f-e8b6efd0c293","directory":"cafeteria-nipponica","title":"Cafeteria Nipponica","compatibility":1,"releases":[{"id":"01008E300D136000","region":null}]},{"id":"0e72c97b-edc2-4cda-a753-b5509ef2632b","directory":"city-traffic-driver","title":"City Traffic Driver","compatibility":99,"releases":[{"id":"0100D4C016B08000","region":null}]},{"id":"0e758144-2757-4fd7-83d7-725d1089c398","directory":"aca-neogeo-fatal-fury-2","title":"ACA NEOGEO FATAL FURY 2","compatibility":99,"releases":[{"id":"0100CAF001DBE000","region":null}]},{"id":"0e7d2809-5822-4325-b8f7-35df5931b36e","directory":"planet-rix-13","title":"Planet RIX-13","compatibility":99,"releases":[{"id":"01001B100C3D4000","region":null}]},{"id":"0e877a15-f53c-447d-ab55-e7bb9977881d","directory":"tanzia","title":"Tanzia","compatibility":99,"releases":[{"id":"01004DF007564000","region":null}]},{"id":"0e887f3e-a24a-422e-be34-3b439fba02a1","directory":"spirit-roots","title":"Spirit Roots","compatibility":0,"releases":[{"id":"01000AC00F5EC000","region":null}]},{"id":"0e8df0a7-8514-4263-b6df-2af3ba853ab5","directory":"lets-sing-2019","title":"Let's Sing 2019","compatibility":99,"releases":[{"id":"010062200CAD2000","region":null}]},{"id":"0e8edca4-50a6-4ef2-853d-24fffb1e4574","directory":"aegis-defenders-demo","title":"Aegis Defenders demo","compatibility":99,"releases":[{"id":"010064500AF72000","region":null}]},{"id":"0e943a00-7b51-4a6e-8388-9a466a877760","directory":"fighting-ex-layer-another-dash","title":"FIGHTING EX LAYER ANOTHER DASH","compatibility":1,"releases":[{"id":"0100D02014048000","region":null}]},{"id":"0e9de394-d679-4d27-9856-39369cbace31","directory":"party-hard-2","title":"Party Hard 2","compatibility":1,"releases":[{"id":"010022801217E000","region":null}]},{"id":"0ea60a0f-3131-4396-93de-9b99dcff2670","directory":"doodle-derby","title":"Doodle Derby","compatibility":4,"releases":[{"id":"0100F2C00F060000","region":null}]},{"id":"0eb86a91-8685-4a51-bc14-867b616df8e6","directory":"2weistein-the-curse-of-the-red-dragon","title":"2weistein – The Curse of the Red Dragon","compatibility":99,"releases":[{"id":"0100E20012886000","region":null}]},{"id":"0ebe4caf-e111-4b92-b7af-d838b4070084","directory":"inventioneers","title":"Inventioneers","compatibility":99,"releases":[{"id":"0100DAC00BB52000","region":null}]},{"id":"0ece7af1-8cf5-47c1-97c2-77dd10a01b53","directory":"bleep-bloop","title":"Bleep Bloop","compatibility":0,"releases":[{"id":"0100AEA00CCAE000","region":null}]},{"id":"0ee10f69-5e32-4968-9d8d-26f4a1f97920","directory":"beyond-blue","title":"Beyond Blue","compatibility":99,"releases":[{"id":"0100DBC012C9E000","region":null}]},{"id":"0ee7c2ac-9722-49f0-918c-dd599c94f72a","directory":"super-magbot","title":"Super Magbot","compatibility":1,"releases":[{"id":"010018D013CAA000","region":null}]},{"id":"0eea9292-2f99-455d-adcf-4e5e45e6d434","directory":"garden-paws","title":"Garden Paws","compatibility":99,"releases":[{"id":"01009A000C35C000","region":null}]},{"id":"0eed6725-c336-48b2-855c-7852ac746fec","directory":"the-red-strings-club","title":"The Red Strings Club","compatibility":5,"releases":[{"id":"0100EB100D17C000","region":null}]},{"id":"0ef21a6c-ba99-48aa-9823-a4c4086872bb","directory":"the-manga-works","title":"The Manga Works","compatibility":0,"releases":[{"id":"0100A3500E2D8000","region":null}]},{"id":"0efbad4b-26ff-4ee8-87b8-0867017a7b09","directory":"mulaka","title":"Mulaka","compatibility":4,"releases":[{"id":"0100211005E94000","region":null}]},{"id":"0f0bcd40-fa62-438d-b1b4-61d0255de62a","directory":"dream-house-days-dx","title":"Dream House Days DX","compatibility":99,"releases":[{"id":"0100BE9014420000","region":null}]},{"id":"0f0fd0ab-7889-4553-aeba-02bef5b0ea8f","directory":"miden-tower","title":"Miden Tower","compatibility":99,"releases":[{"id":"01001EB011D38000","region":null}]},{"id":"0f137050-e378-4568-9511-b88b7acaf36e","directory":"goosebumps-the-game","title":"Goosebumps The Game","compatibility":3,"releases":[{"id":"0100B8000B190000","region":null}]},{"id":"0f177323-a9a9-4007-ae13-9b8b80f7e26f","directory":"farm-expert-2018-for-nintendo-switch","title":"Farm Expert 2018 for Nintendo Switch","compatibility":99,"releases":[{"id":"0100BB9009FC8000","region":null}]},{"id":"0f183135-c12d-4bfa-a70c-2f39b1424497","directory":"beach-bounce-remastered","title":"Beach Bounce Remastered","compatibility":99,"releases":[{"id":"01004060145C0000","region":null}]},{"id":"0f22e4c4-27d8-41a7-88ed-6d471a3f27aa","directory":"piczle-cross-adventure","title":"Piczle Cross Adventure","compatibility":99,"releases":[{"id":"01000EE010B40000","region":null}]},{"id":"0f23ea9a-764a-42a2-b5b1-1446c509cb2f","directory":"sacred-stones","title":"Sacred Stones","compatibility":99,"releases":[{"id":"01005CE00F970000","region":null}]},{"id":"0f2423f2-d962-4068-9ad5-078bc2062ae8","directory":"from-earth-to-heaven","title":"From Earth To Heaven","compatibility":99,"releases":[{"id":"01000EE015C66000","region":null}]},{"id":"0f2bad5d-bede-4aba-ae55-3bd6e9394c8e","directory":"fuser","title":"FUSER™","compatibility":2,"releases":[{"id":"0100E1F013674000","region":null},{"id":"010089D00E28A000","region":null}]},{"id":"0f31bd9d-f6be-4d4a-851a-4d462a22adc5","directory":"dicey-dungeons","title":"Dicey Dungeons","compatibility":1,"releases":[{"id":"0100BBF011394000","region":null}]},{"id":"0f351c74-acde-4957-8239-a25b8c34a7db","directory":"fifa-18","title":"FIFA 18","compatibility":5,"releases":[{"id":"0100F7B002340000","region":null}]},{"id":"0f36f79f-d2cc-49d6-b694-89ff3d1d4245","directory":"poi-explorer-edition","title":"Poi: Explorer Edition","compatibility":1,"releases":[{"id":"01005EC0039E4000","region":null}]},{"id":"0f39289b-563b-41e1-9b4a-c6b796350d04","directory":"arcade-archives-shusse-ozumo","title":"Arcade Archives Shusse Ozumo","compatibility":4,"releases":[{"id":"01007A4009834000","region":null}]},{"id":"0f3f1767-0178-4324-ace4-4ec3ca20da24","directory":"syberia","title":"Syberia","compatibility":5,"releases":[{"id":"0100421003FD4000","region":null}]},{"id":"0f52d11c-8d5f-4f41-9fe5-93da4d34059e","directory":"kakuro-magic","title":"Kakuro Magic","compatibility":99,"releases":[{"id":"0100137011172000","region":null}]},{"id":"0f53289b-a70e-46d7-b6e4-8a08c091133f","directory":"gleaner-heights","title":"Gleaner Heights","compatibility":5,"releases":[{"id":"0100D6300ED2E000","region":null}]},{"id":"0f5b105f-82a3-4545-9c64-842b4934bdc9","directory":"new-star-manager","title":"New Star Manager","compatibility":99,"releases":[{"id":"010082900C5FA000","region":null}]},{"id":"0f5f93bd-5372-4f4e-afbb-07658474c00c","directory":"save-your-nuts","title":"Save Your Nuts","compatibility":99,"releases":[{"id":"010091000F72C000","region":null}]},{"id":"0f624235-ee78-4ce5-81e9-5ff6f086ccdf","directory":"monster-truck-arena","title":"Monster Truck Arena","compatibility":99,"releases":[{"id":"0100098016148000","region":null}]},{"id":"0f688bcc-1f73-4608-b205-ca2c4221cf3f","directory":"accidental-queens-collection","title":"Accidental Queens Collection","compatibility":99,"releases":[{"id":"010053601357E000","region":null}]},{"id":"0f7fe8f6-4c28-4c94-a1b3-224ea641687a","directory":"slide-stars","title":"Slide Stars","compatibility":99,"releases":[{"id":"010010D011E1C000","region":null}]},{"id":"0f99c46f-1ae2-4c0e-a812-bc0a1d2042bc","directory":"space-dave","title":"Space Dave","compatibility":99,"releases":[{"id":"0100E28002D74000","region":null}]},{"id":"0f9cb2e4-c59f-467c-8339-61d81ae4e3c8","directory":"tank-mechanic-simulator","title":"Tank Mechanic Simulator","compatibility":99,"releases":[{"id":"0100E06012BB4000","region":null}]},{"id":"0fa0aced-3a76-4af2-bd06-68298bfa102c","directory":"smoke-and-sacrifice","title":"Smoke And Sacrifice","compatibility":99,"releases":[{"id":"0100207007EB2000","region":null}]},{"id":"0fae18c3-2432-41b3-a8cd-e897d03c4918","directory":"badland-game-of-the-year-edition","title":"Badland: Game of the Year Edition","compatibility":99,"releases":[{"id":"0100D730151C8000","region":null}]},{"id":"0fb08e59-b003-4491-981a-f7855ae0e398","directory":"quell-reflect","title":"Quell Reflect","compatibility":99,"releases":[{"id":"0100111012438000","region":null}]},{"id":"0fb1ee65-50fd-4bfb-8b47-e7209f305d5e","directory":"lethis-path-of-progress","title":"Lethis - Path of Progress","compatibility":99,"releases":[{"id":"0100CF600F366000","region":null}]},{"id":"0fb5149d-233c-4e1d-acfc-1aa99d75db4f","directory":"happy-game","title":"Happy Game","compatibility":99,"releases":[{"id":"010031D013A4E000","region":null}]},{"id":"0fb63a1d-96c4-4350-a303-3026d964d050","directory":"guardian-of-lore","title":"Guardian of Lore","compatibility":99,"releases":[{"id":"010092B016A18000","region":null}]},{"id":"0fcaabfc-629e-4f64-83d1-52282026ff59","directory":"offroad-mini-racing","title":"Offroad Mini Racing","compatibility":99,"releases":[{"id":"0100EE0014072000","region":null}]},{"id":"0fcd1a55-096e-4ff0-b886-ef23209e5550","directory":"narita-boy","title":"Narita Boy","compatibility":0,"releases":[{"id":"010062200E912000","region":null}]},{"id":"0fe2eada-c107-4749-a249-085a039e28a2","directory":"kings-bounty-ii","title":"King's Bounty II","compatibility":4,"releases":[{"id":"010026F013B3A000","region":null}]},{"id":"0fe4fb97-849e-490a-8c0d-de09c5843e89","directory":"best-day-ever","title":"Best Day Ever","compatibility":99,"releases":[{"id":"010022D0142BE000","region":null}]},{"id":"0fee546a-4f9b-4b79-be40-2be921f861f5","directory":"new-pokemon-snap","title":"New Pokémon Snap™","compatibility":1,"releases":[{"id":"0100F4300BF2C000","region":null}]},{"id":"0ff2bb98-8e26-4a1e-8413-874520b28a3b","directory":"nerf-legends","title":"Nerf Legends","compatibility":99,"releases":[{"id":"0100D0A012D0E000","region":null}]},{"id":"100c186b-1bd2-4bbc-81a0-c90dfed7b9ae","directory":"atelier-lulua-~the-scion-of-arland~","title":"Atelier Lulua ~The Scion of Arland~","compatibility":4,"releases":[{"id":"0100B1400CD50000","region":null}]},{"id":"101fff51-1174-4946-94ac-5a03b2e39db2","directory":"odysseus-kosmos-and-his-robot-quest","title":"Odysseus Kosmos and his Robot Quest","compatibility":99,"releases":[{"id":"0100353013D06000","region":null}]},{"id":"1022160e-98fe-40c3-9af0-fdf2ba8e2e2f","directory":"bqm-blockquest-maker-","title":"BQM -BlockQuest Maker-","compatibility":99,"releases":[{"id":"0100CA400B6D0000","region":null}]},{"id":"1022b89b-33c3-4537-af8b-efc816a24c57","directory":"tilt-pack","title":"Tilt Pack","compatibility":99,"releases":[{"id":"010026E0104C0000","region":null}]},{"id":"1033f8fc-3e5d-4349-9917-a462c805fef7","directory":"youtube","title":"YouTube","compatibility":5,"releases":[{"id":"01003A400C3DA000","region":null}]},{"id":"1047febf-8ace-45a8-b237-1c0f66462089","directory":"aca-neogeo-samurai-shodown-ii","title":"ACA NEOGEO SAMURAI SHODOWN II","compatibility":99,"releases":[{"id":"010052B00871C000","region":null}]},{"id":"1062094a-c04d-497f-8a00-2a3c48f9a8bc","directory":"root-double-before-crime-after-days-xtend-edition","title":"Root Double -Before Crime * After Days- Xtend Edition","compatibility":5,"releases":[{"id":"0100936011556000","region":null}]},{"id":"1072f1d3-a2e1-44e1-86be-aba1023f04ca","directory":"power-racing-bundle","title":"Power Racing Bundle","compatibility":99,"releases":[{"id":"01004A301226A000","region":null}]},{"id":"10782f2e-4be3-47d3-a907-662f682927dd","directory":"park-inc","title":"Park Inc","compatibility":99,"releases":[{"id":"010048A014B8E000","region":null}]},{"id":"109c0c1b-4463-4d71-91a3-1cd5969bf849","directory":"syberia-1-and-2","title":"Syberia 1 & 2","compatibility":5,"releases":[{"id":"01004BB00421E000","region":null}]},{"id":"10a2059c-a34a-4aef-9452-6a3a4772b2b5","directory":"towaga-among-shadows","title":"Towaga: Among Shadows","compatibility":0,"releases":[{"id":"010062900E610000","region":null}]},{"id":"10b11ea8-768f-4edc-b50b-e3bfd4a3f136","directory":"fight-of-animals-arena","title":"Fight of Animals: Arena","compatibility":99,"releases":[{"id":"0100AC6015996000","region":null}]},{"id":"10b6e65b-3646-4484-992e-19d3363218a7","directory":"marbles-rush","title":"Marbles Rush","compatibility":99,"releases":[{"id":"010001601590E000","region":null}]},{"id":"10c8133d-8b43-4178-a345-a809ea1c9bea","directory":"my-diggy-dog-2","title":"My Diggy Dog 2","compatibility":0,"releases":[{"id":"01008EB012608000","region":null}]},{"id":"10c97f95-a512-454a-b4ba-c26d9fd7eebf","directory":"rolld","title":"Roll'd","compatibility":99,"releases":[{"id":"0100B7200FC96000","region":null}]},{"id":"10ccfae7-7a1e-4461-94cf-ea7a2029fea8","directory":"worm-jazz","title":"Worm Jazz","compatibility":99,"releases":[{"id":"01009CD012CC0000","region":null}]},{"id":"10cdea6c-df89-4447-851b-80bc8532d925","directory":"attack-on-titan-2","title":"Attack on Titan 2","compatibility":1,"releases":[{"id":"010034500641A000","region":null}]},{"id":"10dc0eb2-5299-4bc8-a28e-10c1972dc9e4","directory":"unepic","title":"Unepic","compatibility":1,"releases":[{"id":"01008F80049C6000","region":null}]},{"id":"10dc5578-4ee2-48d7-8c24-8e32516ffabd","directory":"johnny-turbos-arcade-express-raider","title":"Johnny Turbo’s Arcade: Express Raider","compatibility":99,"releases":[{"id":"0100378002CCA000","region":null}]},{"id":"10e26e57-d3e7-4bc6-b763-fbd6f0169a02","directory":"monster-crown","title":"Monster Crown","compatibility":0,"releases":[{"id":"0100E0600C78E000","region":null}]},{"id":"10e52b36-bf7c-4cf4-9232-4a048ef1924c","directory":"among-the-sleep-enhanced-edition","title":"Among the Sleep - Enhanced Edition","compatibility":4,"releases":[{"id":"010046500C8D2000","region":null}]},{"id":"10f563ce-ed19-4f5a-91d3-151b137663b7","directory":"takorita-meets-fries","title":"Takorita Meets Fries","compatibility":99,"releases":[{"id":"0100E02015EDA000","region":null}]},{"id":"10f927ec-54cc-455e-972f-9a1adbf175a9","directory":"actraiser-renaissance","title":"Actraiser Renaissance","compatibility":0,"releases":[{"id":"010049E013134000","region":null}]},{"id":"10fc0124-ac41-4eda-b8f4-6272b735fc73","directory":"warsaw","title":"WARSAW","compatibility":99,"releases":[{"id":"0100DFB011B12000","region":null}]},{"id":"10ff9ebd-664e-4d61-9810-bc3b3b6de97e","directory":"shinsekai-into-the-depths","title":"Shinsekai Into the Depths™","compatibility":2,"releases":[{"id":"01004EE0104F6000","region":null}]},{"id":"1109a1bd-5f14-440a-a68e-7bd95c247061","directory":"embracelet","title":"Embracelet","compatibility":99,"releases":[{"id":"010071B012940000","region":null}]},{"id":"110c6f1a-cc4d-4f47-beea-df33f6a54902","directory":"blitz-breaker","title":"Blitz Breaker","compatibility":99,"releases":[{"id":"0100C7001526C000","region":null}]},{"id":"11254983-27e3-417d-9a7e-24f4996a03a7","directory":"the-jackbox-party-pack-4","title":"The Jackbox Party Pack 4","compatibility":99,"releases":[{"id":"0100E1F003EE8000","region":null}]},{"id":"11271371-4d58-4de3-a4ef-4cfeee69fa4a","directory":"commander-keen-in-keen-dreams-definitive-edition","title":"Commander Keen in Keen Dreams: Definitive Edition","compatibility":99,"releases":[{"id":"0100E400129EC000","region":null}]},{"id":"11282353-0ead-467f-a245-428055dada32","directory":"castaway-paradise","title":"Castaway Paradise","compatibility":99,"releases":[{"id":"0100D1101445C000","region":null}]},{"id":"11297484-d3af-43cb-acf7-480308955bd5","directory":"sakura-santa","title":"Sakura Santa","compatibility":99,"releases":[{"id":"0100D99016B22000","region":null}]},{"id":"1134264f-4c31-45aa-ae1b-efca7d07f60c","directory":"the-good-life","title":"The Good Life","compatibility":99,"releases":[{"id":"0100B1B015ABA000","region":null}]},{"id":"1136a8bb-393d-445a-975a-2d82e8992593","directory":"sorry-james","title":"Sorry, James","compatibility":99,"releases":[{"id":"01009EA00F180000","region":null}]},{"id":"1136ccb0-553b-450d-adef-d3a5dd6a4597","directory":"aca-neogeo-sengoku","title":"ACA NEOGEO SENGOKU","compatibility":1,"releases":[{"id":"0100D170038EA000","region":null}]},{"id":"11392d80-6e7a-4075-8231-d1043559a0a0","directory":"duck-life-adventure","title":"Duck Life Adventure","compatibility":99,"releases":[{"id":"01005BC012C66000","region":null}]},{"id":"113b01dc-a1fb-4daf-b7d9-749adccabc07","directory":"donut-county","title":"Donut County","compatibility":0,"releases":[{"id":"0100E2800C364000","region":null}]},{"id":"113c19b4-7bce-420e-8758-43af88f817dc","directory":"bonkies","title":"Bonkies","compatibility":99,"releases":[{"id":"01008E20128DE000","region":null}]},{"id":"114e4565-b61c-4156-9566-5e2929511c7b","directory":"millie","title":"Millie","compatibility":99,"releases":[{"id":"0100976008FBE000","region":null}]},{"id":"11603e8a-d5b8-4e58-a75c-f3e4949aff9b","directory":"retrograde-arena","title":"Retrograde Arena","compatibility":99,"releases":[{"id":"0100802011A2A000","region":null}]},{"id":"1168c41b-817f-4c6d-9bc9-2b58103eb3a8","directory":"chess-knights-shinobi","title":"Chess Knights: Shinobi","compatibility":99,"releases":[{"id":"01009D6013CB0000","region":null}]},{"id":"117be7d2-af9b-4125-b03c-86e3107cf968","directory":"always-sometimes-monsters","title":"Always Sometimes Monsters","compatibility":99,"releases":[{"id":"0100895013EE0000","region":null}]},{"id":"117ce0a9-0000-4d3f-8dcc-76cbcb13f6a6","directory":"lost-sphear","title":"LOST SPHEAR","compatibility":0,"releases":[{"id":"010077B0038B2000","region":null}]},{"id":"118b0979-380f-4fa8-ae81-efbb3e69cdd2","directory":"sudoku-classic","title":"Sudoku Classic","compatibility":99,"releases":[{"id":"0100380015262000","region":null}]},{"id":"1191eb5b-8b00-44ab-8bb6-a90366998e07","directory":"word-search-by-powgi","title":"Word Search by POWGI","compatibility":99,"releases":[{"id":"0100F9A008AD6000","region":null}]},{"id":"1192ee2a-4dbf-43be-be82-083bd4e22ba7","directory":"braveland-trilogy","title":"Braveland Trilogy","compatibility":99,"releases":[{"id":"0100A5B00D3D2000","region":null}]},{"id":"11afb680-d98d-4134-843c-3d42e64d6b9c","directory":"namco-museum-r-archives-vol-1","title":"NAMCO MUSEUM® ARCHIVES Vol 1","compatibility":2,"releases":[{"id":"010084E010E18000","region":null}]},{"id":"11ba351e-d67a-4cbd-a9a3-98f1cd5cc64e","directory":"lets-sing-country","title":"Let's Sing Country","compatibility":99,"releases":[{"id":"0100E5A00DF60000","region":null}]},{"id":"11beb21e-9824-477d-b718-fb6657de11c1","directory":"choices-that-matter-and-their-heroes-were-lost","title":"Choices That Matter: And Their Heroes Were Lost","compatibility":99,"releases":[{"id":"01006680132F0000","region":null}]},{"id":"11c396e0-d1e4-4d60-97b0-1ca022203a84","directory":"attack-of-the-toy-tanks","title":"Attack of the Toy Tanks","compatibility":99,"releases":[{"id":"010039600E7AC000","region":null}]},{"id":"11c39e2b-b2e5-4d72-b475-6a3830909881","directory":"save-me-mr-tako-definitive-edition","title":"Save me Mr Tako: Definitive Edition","compatibility":99,"releases":[{"id":"010099601473E000","region":null}]},{"id":"11d05985-31e7-4901-8434-2d02e816f286","directory":"the-saviors-gang","title":"The Savior's Gang","compatibility":99,"releases":[{"id":"01002BA00C7CE000","region":null}]},{"id":"11dcbc76-1052-4934-b09e-4fd007ca3445","directory":"ragtag-adventurers","title":"Ragtag Adventurers","compatibility":99,"releases":[{"id":"010032200BBC0000","region":null}]},{"id":"11e10014-39bd-4b5b-aebe-bc043e56da4c","directory":"dream-daddy-a-dad-dating-simulator","title":"Dream Daddy: A Dad Dating Simulator","compatibility":99,"releases":[{"id":"0100BF500E94E000","region":null}]},{"id":"11e6b926-1b79-4ce7-abb9-f5616c808a81","directory":"aca-neogeo-the-king-of-fighters-95","title":"ACA NEOGEO THE KING OF FIGHTERS '95","compatibility":99,"releases":[{"id":"01009DC001DB6000","region":null}]},{"id":"11e73b84-a764-4542-8bb3-24cecb6e2f64","directory":"max-the-curse-of-brotherhood","title":"Max: The Curse of Brotherhood","compatibility":0,"releases":[{"id":"01001C9007614000","region":null}]},{"id":"11e9f4cd-4b32-4f3d-a640-596ad2459f4d","directory":"captain-toad-treasure-tracker","title":"Captain Toad: Treasure Tracker","compatibility":0,"releases":[{"id":"01009BF0072D4000","region":null}]},{"id":"12111a8c-17f7-402f-8781-5d234ee265d1","directory":"just-dance-2018","title":"Just Dance 2018","compatibility":0,"releases":[{"id":"0100A0500348A000","region":null}]},{"id":"12126413-acd8-4ccc-8e06-58ae33b985d0","directory":"siegecraft-commander","title":"Siegecraft Commander","compatibility":99,"releases":[{"id":"010016B005CF8000","region":null}]},{"id":"121294f6-90f0-4a41-b720-e35e03cfc887","directory":"mercenaries-blaze-dawn-of-the-twin-dragons","title":"Mercenaries Blaze: Dawn of the Twin Dragons","compatibility":0,"releases":[{"id":"0100A790133FC000","region":null}]},{"id":"12316866-554e-49ff-8c73-8be31235f594","directory":"spot-the-differences-party","title":"Spot The Differences: Party!","compatibility":99,"releases":[{"id":"010052100D1B4000","region":null}]},{"id":"1231e9f7-123d-4051-b73f-4eaf1320a82e","directory":"rainbocorns","title":"Rainbocorns","compatibility":99,"releases":[{"id":"01005EE0142F6000","region":null}]},{"id":"123bbe82-016f-4d14-8382-ee9b9456ca1a","directory":"potata-fairy-flower","title":"Potata: Fairy Flower","compatibility":5,"releases":[{"id":"01005FC010EB2000","region":null}]},{"id":"12411e4a-2981-427a-929d-d935e2ffde88","directory":"super-toy-cars-2","title":"Super Toy Cars 2","compatibility":2,"releases":[{"id":"0100C6800D770000","region":null}]},{"id":"1246f3fc-4bb3-4ff5-9acf-9ae286424cf7","directory":"the-legend-of-zelda-breath-of-the-wild","title":"The Legend of Zelda: Breath of the Wild","compatibility":1,"releases":[{"id":"01007EF00011E000","region":null}]},{"id":"1247a15e-a09f-4055-9236-9839d0c1f6a0","directory":"personality-and-psychology-premium","title":"Personality and Psychology Premium","compatibility":99,"releases":[{"id":"0100DEA00B758000","region":null}]},{"id":"124cc074-e891-43f2-8f90-5a09d2047147","directory":"she-and-the-light-bearer","title":"She and the Light Bearer","compatibility":1,"releases":[{"id":"01008CD00C5FC000","region":null}]},{"id":"124f1a2c-d833-4ffa-b5e9-08d0c2d23028","directory":"saboteur-sio","title":"Saboteur SiO","compatibility":0,"releases":[{"id":"0100D94012FE8000","region":null}]},{"id":"124fd6c9-9d3c-4a3f-8f18-24b41a5c2cdb","directory":"roki","title":"Röki","compatibility":99,"releases":[{"id":"010022600E4AE000","region":null}]},{"id":"1259a413-3b14-4f0d-bccf-2c8459b0a712","directory":"super-mario-3d-world-bowsers-fury","title":"Super Mario™ 3D World + Bowser’s Fury","compatibility":0,"releases":[{"id":"010028600EBDA000","region":null}]},{"id":"12626755-3764-4ff7-9437-50051bd6fb34","directory":"tokyo-school-life","title":"Tokyo School Life","compatibility":99,"releases":[{"id":"0100E2E00CB14000","region":null}]},{"id":"1262a7e3-1efa-4901-9ba0-5f245e084d1c","directory":"kings-of-paradise","title":"Kings of Paradise","compatibility":99,"releases":[{"id":"0100FE9013182000","region":null}]},{"id":"1272064d-6d1e-4415-8332-ddd1af2ae4b9","directory":"arcade-archives-traverse-usa","title":"Arcade Archives Traverse USA","compatibility":4,"releases":[{"id":"010029D006ED8000","region":null}]},{"id":"1280b2e2-cabe-49dd-877a-869a9e23c24f","directory":"vampires-fall-origins","title":"Vampire's Fall: Origins","compatibility":99,"releases":[{"id":"0100BD0012A68000","region":null}]},{"id":"12915b33-3c15-4dbf-9bca-5bd2fcee8565","directory":"fatal-twelve","title":"FATAL TWELVE","compatibility":99,"releases":[{"id":"010054101370E000","region":null}]},{"id":"129361a4-ab74-436a-b346-1269921d6987","directory":"jet-ski-rush","title":"Jet Ski Rush","compatibility":99,"releases":[{"id":"01004BC010D70000","region":null}]},{"id":"1297432c-533c-4d57-a48e-ba73a6907831","directory":"langrisser-i-ii","title":"Langrisser I & II","compatibility":1,"releases":[{"id":"0100BAB00E8C0000","region":null}]},{"id":"12abb349-215e-4b76-961d-6dc41b1e1a56","directory":"shinobi-blade","title":"Shinobi Blade","compatibility":99,"releases":[{"id":"0100006013A4A000","region":null}]},{"id":"12adb826-8c9c-4c3d-9361-1ce84c12a4e0","directory":"pba-pro-bowling-2021","title":"PBA Pro Bowling 2021","compatibility":3,"releases":[{"id":"0100F95013772000","region":null}]},{"id":"12ae30e3-ec20-4afd-b9fa-fc984ac93472","directory":"drag-sim-2020","title":"Drag Sim 2020","compatibility":0,"releases":[{"id":"0100B59011A1C000","region":null}]},{"id":"12b4a6a5-8361-44b3-80ba-7edc8b1dcc5e","directory":"apple-knight","title":"Apple Knight","compatibility":0,"releases":[{"id":"01004C1013548000","region":null}]},{"id":"12cd2960-6c90-48f0-8be0-6a4cb65f0b3b","directory":"sakura-swim-club","title":"Sakura Swim Club","compatibility":1,"releases":[{"id":"0100425015F7E000","region":null}]},{"id":"12d1f9b8-0ed2-46c4-8cd6-22d8f9ca5f0f","directory":"decay-of-logos","title":"Decay of Logos","compatibility":99,"releases":[{"id":"010027700FD2E000","region":null}]},{"id":"12d80c91-e1a7-4773-800b-5f6aae517f52","directory":"ittle-dew-2","title":"Ittle Dew 2+","compatibility":0,"releases":[{"id":"01004070022F0000","region":null}]},{"id":"12e16ceb-6085-4ca1-84f1-e6a48c5c2599","directory":"lethal-league-blaze","title":"Lethal League Blaze","compatibility":1,"releases":[{"id":"01003AB00983C000","region":null}]},{"id":"12e298fc-8cf2-460a-87a2-424c5f0d83db","directory":"here-be-dragons","title":"Here Be Dragons","compatibility":5,"releases":[{"id":"0100F9B012C6A000","region":null}]},{"id":"12f1da60-2c2f-43c4-9e6d-fbf32cef4f3d","directory":"ghostrunner","title":"Ghostrunner","compatibility":3,"releases":[{"id":"010090F012916000","region":null}]},{"id":"12f6df58-67bc-49a9-883d-1bff1eeab9ac","directory":"red-ronin","title":"Red Ronin","compatibility":99,"releases":[{"id":"01000FE014632000","region":null}]},{"id":"130078d4-c20d-4714-b5be-2e3c96ab0526","directory":"cubixx","title":"Cubixx","compatibility":99,"releases":[{"id":"0100DDE00DAC4000","region":null}]},{"id":"13013e71-7ad8-44c4-a422-847218d15728","directory":"green","title":"GREEN","compatibility":99,"releases":[{"id":"010068D00AE68000","region":null}]},{"id":"1305480e-a0fa-4f25-aad4-86d255838844","directory":"the-great-perhaps","title":"The Great Perhaps","compatibility":99,"releases":[{"id":"010007B012514000","region":null}]},{"id":"13079917-76b1-4898-a87e-bfb5ba58a423","directory":"super-squidlit","title":"Super Squidlit","compatibility":99,"releases":[{"id":"01009BD0128EC000","region":null}]},{"id":"13185fc8-84e4-49a8-9602-402dbf9e34d1","directory":"risk-of-rain-2","title":"Risk of Rain 2","compatibility":2,"releases":[{"id":"010076D00E4BA000","region":null}]},{"id":"131ea256-b191-41f8-bd3f-aeb04f69dc17","directory":"istanbul-digital-edition","title":"Istanbul: Digital Edition","compatibility":99,"releases":[{"id":"01008E700CAAC000","region":null}]},{"id":"13363229-d71e-4027-9655-f02a36bb9642","directory":"megaton-rainfall","title":"Megaton Rainfall","compatibility":3,"releases":[{"id":"010005A00B312000","region":null}]},{"id":"133a3d57-7dc0-41b2-80a5-c2ce1f5fd64f","directory":"unto-the-end","title":"Unto The End","compatibility":99,"releases":[{"id":"0100E49013190000","region":null}]},{"id":"133d776f-3f09-4557-8387-cda5bae46574","directory":"color-your-world","title":"Color Your World","compatibility":99,"releases":[{"id":"0100EB00132FE000","region":null}]},{"id":"133e203d-b19c-4b0b-9c3e-1cbcdeb2c539","directory":"the-survivalists","title":"The Survivalists","compatibility":2,"releases":[{"id":"0100EF200DA60000","region":null}]},{"id":"133f868e-c4d6-4ed7-93b4-14949197f528","directory":"arcade-archives-pooyan","title":"Arcade Archives POOYAN","compatibility":4,"releases":[{"id":"0100A6E00D3F8000","region":null}]},{"id":"1347b7c8-b381-4caa-b717-51e8aead14f5","directory":"freddy-fazbears-pizzeria-simulator","title":"Freddy Fazbear's Pizzeria Simulator","compatibility":99,"releases":[{"id":"01009C000E442000","region":null}]},{"id":"135ada33-d572-428d-9e63-2998748ba221","directory":"horace","title":"Horace","compatibility":99,"releases":[{"id":"010086D011EB8000","region":null}]},{"id":"13714937-5ff9-4d3b-8897-71f0b9e4bb2c","directory":"rocket-league","title":"Rocket League","compatibility":3,"releases":[{"id":"01005EE0036EC000","region":null}]},{"id":"137885f2-d411-4e22-911e-96ba1e770d42","directory":"skee-ball","title":"Skee-Ball","compatibility":99,"releases":[{"id":"0100B2F008BD8000","region":null}]},{"id":"137af45a-d177-4700-87d2-973d0e668129","directory":"call-of-juarez-gunslinger","title":"Call of Juarez: Gunslinger","compatibility":1,"releases":[{"id":"0100B4700BFC6000","region":null}]},{"id":"1382e58d-839a-4f76-b663-33efd91f249e","directory":"spongebob-squarepants-battle-for-bikini-bottom-rehydrated","title":"SpongeBob SquarePants: Battle for Bikini Bottom - Rehydrated","compatibility":1,"releases":[{"id":"010062800D39C000","region":null}]},{"id":"1382ebfb-7623-4e61-bb4c-eadf7129bfb2","directory":"de-mambo","title":"De Mambo","compatibility":4,"releases":[{"id":"01008E900471E000","region":null}]},{"id":"13878c70-366c-45a9-8595-5ebaa7613498","directory":"push-the-box-puzzle-game","title":"Push the Box - Puzzle Game","compatibility":99,"releases":[{"id":"01001DD0116AA000","region":null}]},{"id":"138f32a6-1bbb-4240-96d3-eba409011e07","directory":"otto","title":"Otto","compatibility":99,"releases":[{"id":"010068B0094A0000","region":null}]},{"id":"13993903-2d89-4c84-bdef-46db9eaa44b9","directory":"pocket-clothier","title":"Pocket Clothier","compatibility":99,"releases":[{"id":"010052900DC7E000","region":null}]},{"id":"13a4e002-6720-4440-b2ea-d60bffe427bd","directory":"virtuaverse","title":"VirtuaVerse","compatibility":99,"releases":[{"id":"0100D7C013544000","region":null}]},{"id":"13a8c665-b413-4e76-8fc9-1fda289e0a67","directory":"lockstone","title":"Lockstone","compatibility":99,"releases":[{"id":"0100610011780000","region":null}]},{"id":"13af1247-2296-49bf-a827-aed247922f55","directory":"voxel-pirates","title":"Voxel Pirates","compatibility":99,"releases":[{"id":"0100AFA011068000","region":null}]},{"id":"13b4607b-72c9-44d8-9b91-889ce8abf9c4","directory":"the-bridge","title":"The Bridge","compatibility":0,"releases":[{"id":"01002A2004530000","region":null}]},{"id":"13b83e28-e4c5-469f-9412-98f16c512a12","directory":"whipseey-and-the-lost-atlas","title":"Whipseey and the Lost Atlas","compatibility":1,"releases":[{"id":"010017500E7E0000","region":null}]},{"id":"13b89ff7-647d-4838-9126-10b2526470d8","directory":"desktop-baseball","title":"Desktop Baseball","compatibility":99,"releases":[{"id":"0100FC800E64E000","region":null}]},{"id":"13be55e7-7a6c-485b-9515-195859609ee3","directory":"doggie-ninja-the-burning-strikers","title":"Doggie Ninja The Burning Strikers","compatibility":99,"releases":[{"id":"0100013010456000","region":null}]},{"id":"13c299bf-da28-47e2-bff0-50067ab987f1","directory":"detective-dolittle","title":"Detective Dolittle","compatibility":1,"releases":[{"id":"010030600E65A000","region":null}]},{"id":"13c98210-4771-41da-a939-41f575a33734","directory":"s-n-i-p-e-r-hunter-scope","title":"S.N.I.P.E.R. - Hunter Scope","compatibility":0,"releases":[{"id":"0100B8B012ECA000","region":null}]},{"id":"13ca5850-eb1a-4cc7-a24a-ccfddc37fd01","directory":"arcade-archives-seicross","title":"Arcade Archives SEICROSS","compatibility":99,"releases":[{"id":"0100740014CBE000","region":null}]},{"id":"13cacd3e-5127-4eaa-b280-cdc86390e0c2","directory":"3d-minigolf","title":"3D MiniGolf","compatibility":1,"releases":[{"id":"01006DA00707C000","region":null}]},{"id":"13cefb29-65b1-4269-a53c-2a1d80b17d0a","directory":"street-outlaws-2-winner-takes-all","title":"Street Outlaws 2: Winner Takes All","compatibility":99,"releases":[{"id":"0100A49012D10000","region":null}]},{"id":"13d074d6-1601-4623-a318-53059abb3869","directory":"the-mahjong-huntress","title":"The Mahjong Huntress","compatibility":99,"releases":[{"id":"0100D1A00C330000","region":null}]},{"id":"13d90096-4ecd-48ed-968b-4f97314ec22f","directory":"scrap-rush","title":"SCRAP RUSH!!","compatibility":99,"releases":[{"id":"0100A8000B65C000","region":null}]},{"id":"13d92c7d-9014-4f14-b405-60432902b0b7","directory":"fluxteria","title":"Fluxteria","compatibility":99,"releases":[{"id":"01008D4010C46000","region":null}]},{"id":"13dec7bb-9512-4380-a581-3030f8993664","directory":"the-drama-queen-murder","title":"The Drama Queen Murder","compatibility":99,"releases":[{"id":"0100BD700EBC0000","region":null}]},{"id":"13e25db0-74bc-4ef4-819e-2a6b6f82b717","directory":"streets-of-rage-4","title":"Streets of Rage 4","compatibility":1,"releases":[{"id":"0100EC9010258000","region":null}]},{"id":"13e719a8-440c-42a0-aa3a-ec137e608115","directory":"mini-trains","title":"Mini Trains","compatibility":1,"releases":[{"id":"0100FB700DE1A000","region":null}]},{"id":"13f81878-3f4e-4c9a-848e-15a2cfe93815","directory":"dodge-hard","title":"DODGE HARD","compatibility":99,"releases":[{"id":"0100DE400D5A4000","region":null}]},{"id":"140dbca6-0dd4-4c8e-bcf4-e4ee82ea04b6","directory":"pokemon-lets-go-pikachu-and-pokemon-lets-go-eevee-demo-version","title":"Pokémon: Let’s Go, Pikachu! and Pokémon: Let’s Go, Eevee! Demo Version","compatibility":1,"releases":[{"id":"0100C1800D7AE000","region":null}]},{"id":"141bed7b-0603-4a2b-90b2-81a66ba84df6","directory":"big-bobby-car-the-big-race","title":"BIG-Bobby-Car - The Big Race","compatibility":99,"releases":[{"id":"010007401287E000","region":null}]},{"id":"1422204d-13f9-4963-b088-867a269978d5","directory":"hellpoint","title":"Hellpoint","compatibility":4,"releases":[{"id":"010024600C794000","region":null}]},{"id":"1429463d-a697-4506-9b7f-8d777ef367e5","directory":"a-gummys-life","title":"A Gummy's Life","compatibility":99,"releases":[{"id":"0100ABC009708000","region":null}]},{"id":"1433f02f-3366-44b3-8566-7bab2cd415e1","directory":"collidalot","title":"Collidalot","compatibility":99,"releases":[{"id":"010030800BC36000","region":null}]},{"id":"14361049-20f4-45f2-8899-2921e21d73c1","directory":"rmx-real-motocross","title":"RMX Real Motocross","compatibility":99,"releases":[{"id":"01008AC0115C6000","region":null}]},{"id":"14398c8e-6895-4e9b-a05e-5ab341fd7d4e","directory":"guardian-force-saturn-tribute","title":"Guardian Force - Saturn Tribute","compatibility":99,"releases":[{"id":"0100C67015270000","region":null}]},{"id":"1443b012-0498-4125-a696-871782a60e69","directory":"bubble-bobble-4-friends","title":"Bubble Bobble 4 Friends","compatibility":3,"releases":[{"id":"010010900F7B4000","region":null}]},{"id":"14447c7a-41b4-4376-89ae-8ab090e1dacb","directory":"nena","title":"NENA","compatibility":99,"releases":[{"id":"0100C39013874000","region":null}]},{"id":"1452a155-81d0-4b81-a4a4-75bf5e055703","directory":"will-a-wonderful-world","title":"WILL: A Wonderful World","compatibility":99,"releases":[{"id":"0100D360098B6000","region":null}]},{"id":"1452ecb0-fc2a-4b79-8a0a-7c2655e8444c","directory":"fall-gummies","title":"Fall Gummies","compatibility":99,"releases":[{"id":"01005CB013872000","region":null}]},{"id":"1454c243-3148-4b41-972a-e04ef3a98e6a","directory":"fuze-player","title":"FUZE Player","compatibility":99,"releases":[{"id":"010055801134E000","region":null}]},{"id":"1461d0db-f64b-4b34-bd11-c1e369720a88","directory":"king-leo","title":"King Leo","compatibility":99,"releases":[{"id":"01002D0015888000","region":null}]},{"id":"146be457-5d2c-41bf-8b02-483718aba736","directory":"aca-neogeo-shock-troopers","title":"ACA NEOGEO SHOCK TROOPERS","compatibility":1,"releases":[{"id":"01008A9001DC2000","region":null}]},{"id":"146c0cba-b9cf-4b61-875e-f6383ef1dda1","directory":"escape-first-2","title":"Escape First 2","compatibility":99,"releases":[{"id":"010021201296A000","region":null}]},{"id":"1481278b-ebb1-4046-b6a9-54b068f53ebd","directory":"yooka-laylee-and-the-impossible-lair","title":"Yooka-Laylee and the Impossible Lair","compatibility":0,"releases":[{"id":"010022F00DA66000","region":null}]},{"id":"148984d8-4eae-4602-81a2-8f7c0dad4594","directory":"sokodice","title":"Sokodice","compatibility":99,"releases":[{"id":"010094501406E000","region":null}]},{"id":"148a0fe8-475e-444d-9ef2-88503d1ae753","directory":"brawl","title":"BRAWL","compatibility":3,"releases":[{"id":"0100A42004718000","region":null}]},{"id":"148da4b8-e8b9-439c-8558-02a58b6ac586","directory":"god-eater-3","title":"GOD EATER 3","compatibility":4,"releases":[{"id":"01001C700873E000","region":null}]},{"id":"149354ab-db83-4e70-99b7-391450753f20","directory":"professor-rubiks-brain-fitness","title":"Professor Rubik's Brain Fitness","compatibility":99,"releases":[{"id":"01000160127EC000","region":null}]},{"id":"14be7350-4107-458f-ad56-a674735e1a02","directory":"little-misfortune","title":"Little Misfortune","compatibility":99,"releases":[{"id":"0100E7000E826000","region":null}]},{"id":"14cf2538-52af-44e7-a7d5-c1ef13247c9b","directory":"road-z-survival-the-last-winter","title":"Road Z Survival: The Last Winter","compatibility":99,"releases":[{"id":"0100F89016626000","region":null}]},{"id":"14d75c4e-21ce-41e0-8f76-38f4e5ee3889","directory":"legrand-legacy-tale-of-the-fatebounds","title":"LEGRAND LEGACY: Tale of the Fatebounds","compatibility":99,"releases":[{"id":"0100E7500BF84000","region":null}]},{"id":"14fae381-3e9f-4ff6-9b52-7c4b4326ef08","directory":"lacuna-a-sci-fi-noir-adventure","title":"Lacuna - A Sci-Fi Noir Adventure","compatibility":99,"releases":[{"id":"0100CA201683E000","region":null}]},{"id":"15048ed5-0e28-4589-813e-022151cebf51","directory":"infernium","title":"Infernium","compatibility":99,"releases":[{"id":"0100D4300A4CA000","region":null}]},{"id":"1507e490-f043-4b03-b2dc-9f6617f6fe11","directory":"rogue-legacy","title":"Rogue Legacy","compatibility":3,"releases":[{"id":"010056500AD50000","region":null}]},{"id":"150e9b73-0106-4a98-8f90-fa0d73ed70db","directory":"pacific-wings","title":"Pacific Wings","compatibility":5,"releases":[{"id":"010006900EF5E000","region":null}]},{"id":"15171d58-347e-4a0c-8fd9-9a88b74bfebf","directory":"supermoose","title":"SuperMoose","compatibility":99,"releases":[{"id":"0100A0A013AEE000","region":null}]},{"id":"152d3634-a728-4aea-aaf5-942b8f6aa7f0","directory":"double-kick-heroes","title":"Double Kick Heroes","compatibility":99,"releases":[{"id":"01000F400C1A4000","region":null}]},{"id":"15365f32-52ca-4e56-bf19-c03ce78ac31e","directory":"home-escape","title":"Home Escape","compatibility":99,"releases":[{"id":"01006D100E1DE000","region":null}]},{"id":"153fff97-c2fe-4705-bb5b-f17efbf1e154","directory":"doggie-ninja-the-golden-mission","title":"Doggie Ninja The Golden Mission","compatibility":99,"releases":[{"id":"0100F9400D6CC000","region":null}]},{"id":"15519c25-bfd3-4e99-b671-f4a49f65b735","directory":"animal-revolt-battle-simulator","title":"Animal Revolt Battle Simulator","compatibility":99,"releases":[{"id":"0100778017196000","region":null}]},{"id":"155cab79-2ed6-422f-ab9c-eaf41d51845e","directory":"youtubers-life-omg-edition","title":"Youtubers Life OMG Edition","compatibility":3,"releases":[{"id":"01002C9005F36000","region":null}]},{"id":"1561028a-bba1-447a-8e90-ad320484b3c1","directory":"pretty-princess-party","title":"Pretty Princess Party","compatibility":99,"releases":[{"id":"01007F00128CC000","region":null}]},{"id":"1563b1e0-3da4-4a54-bf81-610f5bd586e1","directory":"unholy-heights","title":"Unholy Heights","compatibility":99,"releases":[{"id":"0100B58007D40000","region":null}]},{"id":"1595d5b2-abe6-409a-83c4-427990a4c4c5","directory":"hitman-3-cloud-version","title":"HITMAN 3 - Cloud Version","compatibility":99,"releases":[{"id":"01004990132AC000","region":null}]},{"id":"159b4cd3-0c06-441f-84c4-7a04a7f3628e","directory":"double-dragon-iii-the-sacred-stones","title":"DOUBLE DRAGON Ⅲ: The Sacred Stones","compatibility":1,"releases":[{"id":"01001AD00E49A000","region":null}]},{"id":"159cf8df-96c4-4132-8cc3-94522e1d7087","directory":"r-b-i-baseball-21","title":"R.B.I. Baseball 21","compatibility":4,"releases":[{"id":"0100B4A0115CA000","region":null}]},{"id":"159f89da-a76e-4d89-9f77-af9cc2535ff9","directory":"girls-tank-battle","title":"Girls Tank Battle","compatibility":99,"releases":[{"id":"0100C1C0158F2000","region":null}]},{"id":"15a4a24a-7d2e-45d6-97cd-c9b0a830f2a2","directory":"three-fourths-home-extended-edition","title":"Three Fourths Home: Extended Edition","compatibility":99,"releases":[{"id":"0100D1D00ACB8000","region":null}]},{"id":"15b08700-5be0-47f9-a8e6-ea75d16851d8","directory":"the-knight-and-the-dragon","title":"the Knight & the Dragon","compatibility":99,"releases":[{"id":"010031B00DB34000","region":null}]},{"id":"15b7a5c9-eae3-47b7-9512-2410a5bc3f57","directory":"where-the-water-tastes-like-wine","title":"Where the Water Tastes Like Wine","compatibility":0,"releases":[{"id":"01005D800E022000","region":null}]},{"id":"15be02af-1631-4f4c-9e1b-83c65ba57134","directory":"kuukiyomi-consider-it","title":"KUUKIYOMI: Consider It!","compatibility":0,"releases":[{"id":"010079600BF22000","region":null}]},{"id":"15be382b-f4e7-4233-bf25-7cdf54a278ca","directory":"memory-lane-2","title":"Memory Lane 2","compatibility":99,"releases":[{"id":"01003840151F8000","region":null}]},{"id":"15dfaac9-94da-4b7d-b40a-8fc94d31cad6","directory":"she-remembered-caterpillars","title":"She Remembered Caterpillars","compatibility":99,"releases":[{"id":"01004F50085F2000","region":null}]},{"id":"15e0e206-6ed6-446b-b8ce-e161a6385901","directory":"arcade-archives-thunder-dragon","title":"Arcade Archives THUNDER DRAGON","compatibility":99,"releases":[{"id":"0100D540141FE000","region":null}]},{"id":"15e558cf-dda6-4f06-86ec-8ee57625a3e1","directory":"hyperbrawl-tournament","title":"HyperBrawl Tournament","compatibility":1,"releases":[{"id":"01006C500A29C000","region":null}]},{"id":"15e5ee50-e6e2-4575-a424-29a9c166db57","directory":"reverse-crawl","title":"Reverse Crawl","compatibility":99,"releases":[{"id":"010080000D8CA000","region":null}]},{"id":"15ea2c81-bfbf-4739-a89f-aaf2d9ce3ad0","directory":"beyond-enemy-lines-essentials","title":"Beyond Enemy Lines: Essentials","compatibility":99,"releases":[{"id":"0100B8F00DACA000","region":null}]},{"id":"15f3fbd5-9eb7-4530-b02b-3e3dba670278","directory":"drizzlepath-deja-vu","title":"Drizzlepath: Deja Vu","compatibility":99,"releases":[{"id":"0100377015A84000","region":null}]},{"id":"1601bd2b-e4aa-41fb-9597-1f52f63f017e","directory":"wasteland-2-directors-cut","title":"Wasteland 2: Director's Cut","compatibility":3,"releases":[{"id":"010039A00BC64000","region":null}]},{"id":"160fae18-542f-4392-b4f9-d7183ae1f7bb","directory":"3000th-duel","title":"3000th Duel","compatibility":1,"releases":[{"id":"0100FB5010D2E000","region":null}]},{"id":"1625ba8e-f23a-49f0-a671-a7b9777d5b2e","directory":"attack-on-beetle","title":"Attack on Beetle","compatibility":99,"releases":[{"id":"0100427012690000","region":null}]},{"id":"16268300-6feb-42fb-a4e4-df0092789661","directory":"unbound-worlds-apart","title":"Unbound: Worlds Apart","compatibility":2,"releases":[{"id":"0100C5A013B7A000","region":null}]},{"id":"163c25d6-e63b-4302-9050-b0fb1f9ac9c0","directory":"wing-of-darkness","title":"Wing of Darkness","compatibility":2,"releases":[{"id":"010035B012F28000","region":null}]},{"id":"164d69cb-90d1-40b5-ab18-ec51c6455c3f","directory":"macbat-64-journey-of-a-nice-chap","title":"Macbat 64: Journey of a Nice Chap","compatibility":99,"releases":[{"id":"0100272012DEC000","region":null}]},{"id":"164e775b-c57f-4c18-872c-22d78fcd09b7","directory":"gelly-break","title":"Gelly Break","compatibility":2,"releases":[{"id":"01009D000AF3A000","region":null}]},{"id":"16530325-9173-4dc3-acdc-90fbe6a813eb","directory":"arcade-archives-kurikinton","title":"Arcade Archives KURIKINTON","compatibility":99,"releases":[{"id":"01001AD014CC6000","region":null}]},{"id":"16539121-f973-4654-9f56-d44759a05e24","directory":"arcade-archives-pac-man","title":"Arcade Archives PAC-MAN","compatibility":99,"releases":[{"id":"0100431015ABE000","region":null}]},{"id":"16663ed0-70f0-495f-ab13-99a13b1d2b5f","directory":"resident-evil-0","title":"Resident Evil 0","compatibility":0,"releases":[{"id":"010097000BC10000","region":null}]},{"id":"16670d6e-841f-4acc-8e09-d93b6d43a100","directory":"sports-adventure-pinball","title":"Sports & Adventure Pinball","compatibility":99,"releases":[{"id":"0100CAF015C32000","region":null}]},{"id":"166c2d88-d4e0-4b14-b9cb-439eaf4fb3f4","directory":"coffee-talk","title":"Coffee Talk","compatibility":99,"releases":[{"id":"010066200E1E6000","region":null}]},{"id":"166f735b-3862-4e1c-8fd1-281e6d93bb95","directory":"inside-grass-a-little-adventure","title":"Inside Grass: A little adventure","compatibility":99,"releases":[{"id":"0100EC7012D34000","region":null}]},{"id":"1671f8ba-5de6-4cdc-bd98-75115ea689a1","directory":"catherine-full-body","title":"Catherine: Full Body","compatibility":2,"releases":[{"id":"0100BF00112C0000","region":null}]},{"id":"167ca5d5-b087-4190-a0aa-29a34ca02ab5","directory":"worms-wmd","title":"Worms W.M.D","compatibility":4,"releases":[{"id":"01001AE005166000","region":null}]},{"id":"16827019-62b9-4b9d-bc1e-cbeb53632272","directory":"party-crashers","title":"Party Crashers","compatibility":99,"releases":[{"id":"0100CB10089DE000","region":null}]},{"id":"168fc201-0521-4469-bcb1-f7f9164a4235","directory":"where-cards-fall","title":"Where Cards Fall","compatibility":99,"releases":[{"id":"010055501288A000","region":null}]},{"id":"1692cf28-bbcc-41fd-9a92-4607f09b89fd","directory":"rogue-star-rescue","title":"Rogue Star Rescue","compatibility":99,"releases":[{"id":"0100BE6013408000","region":null}]},{"id":"1693afc3-0105-4ff2-9184-61918398a510","directory":"pj-masks-heroes-of-the-night","title":"PJ MASKS: HEROES OF THE NIGHT","compatibility":99,"releases":[{"id":"0100614013DC0000","region":null}]},{"id":"1695613f-898f-4a3f-86d7-79620651dbbf","directory":"spiral-memoria-the-summer-i-meet-myself","title":"Spiral Memoria -The Summer I Meet Myself-","compatibility":1,"releases":[{"id":"0100F6D01250C000","region":null}]},{"id":"16ab1654-6c79-4cb7-b419-e8267591194d","directory":"zenith","title":"Zenith","compatibility":99,"releases":[{"id":"0100AAC00E692000","region":null}]},{"id":"16b55431-03be-42b5-9af2-851e120f9421","directory":"tangrams-deluxe","title":"Tangrams Deluxe","compatibility":0,"releases":[{"id":"01009CC00BD6E000","region":null}]},{"id":"16c3742f-de31-4935-a079-b34bf2f2698e","directory":"please-teach-me-onedari-shogi","title":"Please Teach Me Onedari Shogi","compatibility":1,"releases":[{"id":"0100F2C00EED4000","region":null}]},{"id":"16d462a2-e81b-4ca2-9944-34151376fe26","directory":"tactical-mind","title":"Tactical Mind","compatibility":99,"releases":[{"id":"01000F20083A8000","region":null}]},{"id":"16d4d6cb-d3e6-48c6-874a-44dad3a010d3","directory":"metal-unit","title":"Metal Unit","compatibility":99,"releases":[{"id":"0100F25014BD6000","region":null}]},{"id":"16db7c08-bc25-4dec-83af-df6eed1fb93b","directory":"zombo-buster-rising","title":"Zombo Buster Rising","compatibility":99,"releases":[{"id":"010096201690C000","region":null}]},{"id":"16e51da3-8640-4475-8e25-9e046f34527f","directory":"flipping-death","title":"Flipping Death","compatibility":3,"releases":[{"id":"01009FB002B2E000","region":null}]},{"id":"16e84023-89a6-42ab-a270-76888a7352c0","directory":"sniper","title":"Sniper","compatibility":99,"releases":[{"id":"0100839010DD6000","region":null}]},{"id":"16ed8fd0-f69e-4584-baff-a377ba7721b2","directory":"donutsnjustice","title":"Donuts'n'Justice","compatibility":99,"releases":[{"id":"0100D01014DC8000","region":null}]},{"id":"16f2c62b-5c84-49d3-823d-ec220545acbf","directory":"nape-retroverse-collection","title":"NAPE RETROVERSE COLLECTION","compatibility":99,"releases":[{"id":"0100415016902000","region":null}]},{"id":"16f4c437-10c1-4838-9cd8-6866170f2eb5","directory":"dominate-board-game","title":"Dominate - Board Game","compatibility":99,"releases":[{"id":"01007A1012376000","region":null}]},{"id":"16f9892d-8e09-4bcf-bd5c-4ef4439009fd","directory":"battery-jam","title":"Battery Jam","compatibility":99,"releases":[{"id":"0100E4400C0A2000","region":null}]},{"id":"16fe8d17-a3b3-4561-9786-b11bf1ea7bea","directory":"vortex-attack-ex","title":"Vortex Attack EX","compatibility":99,"releases":[{"id":"010018400E4FC000","region":null}]},{"id":"17156ad0-c452-435f-9687-fcbb527de4f7","directory":"barricadez-revisited","title":"BARRICADEZ ReVisited","compatibility":99,"releases":[{"id":"010004A0143C4000","region":null}]},{"id":"171c111c-6a51-45ec-b390-c9899f5a4e83","directory":"shipped","title":"Shipped","compatibility":99,"releases":[{"id":"0100B2E00F13E000","region":null}]},{"id":"1722cb84-19f3-4d9b-be62-a5c10c3c9501","directory":"suzerain","title":"Suzerain","compatibility":1,"releases":[{"id":"0100531014988000","region":null}]},{"id":"1723432d-3dcd-4ccd-ba68-f6a7296513f0","directory":"pig-eat-ball","title":"Pig Eat Ball","compatibility":1,"releases":[{"id":"01000FD00D5CC000","region":null}]},{"id":"1728c626-69cd-4c61-a930-cb3219afad51","directory":"tallowmere","title":"Tallowmere","compatibility":99,"releases":[{"id":"01006AA006BE4000","region":null}]},{"id":"172fae20-664d-4dbd-873c-98bd8fd21399","directory":"code-of-princess-ex","title":"Code of Princess EX","compatibility":3,"releases":[{"id":"010034E005C9C000","region":null}]},{"id":"1732a213-d64c-4570-89bc-36540ac04974","directory":"beach-buggy-racing","title":"Beach Buggy Racing","compatibility":1,"releases":[{"id":"010095C00406C000","region":null}]},{"id":"1739d604-f693-4c94-ba4b-60c50e515f54","directory":"peaky-blinders-mastermind","title":"Peaky Blinders: Mastermind","compatibility":99,"releases":[{"id":"010002100CDCC000","region":null}]},{"id":"173bc7fd-c2fb-41c5-8fc8-c0306273aee0","directory":"love-pop","title":"Love Pop!","compatibility":99,"releases":[{"id":"010072D0167D0000","region":null}]},{"id":"17527141-9b96-48f5-bee7-78b2865e993d","directory":"happy-birthdays","title":"Happy Birthdays","compatibility":99,"releases":[{"id":"010083600AE9E000","region":null}]},{"id":"17575b19-2805-463b-be73-4e2024784a9e","directory":"aca-neogeo-2020-super-baseball","title":"ACA NEOGEO 2020 SUPER BASEBALL","compatibility":4,"releases":[{"id":"01003C400871E000","region":null}]},{"id":"17577fc2-393d-495e-b5ab-ddb87b803daf","directory":"risk-of-rain","title":"Risk of Rain","compatibility":1,"releases":[{"id":"0100AAA00ACBE000","region":null}]},{"id":"176528b6-d924-4c40-8398-13dfbcbf0982","directory":"mah-jongg-puzzle-pai-sen","title":"Mah-jongg Puzzle Pai-Sen","compatibility":99,"releases":[{"id":"0100EC400E1C0000","region":null}]},{"id":"177b2492-13c5-41e6-9494-947ab9495dc7","directory":"castle-crashers-remastered","title":"Castle Crashers Remastered","compatibility":4,"releases":[{"id":"010001300D14A000","region":null}]},{"id":"1787bdb4-0146-4348-ba11-7eeb402f42ec","directory":"bubble-cats-rescue","title":"Bubble Cats Rescue","compatibility":99,"releases":[{"id":"0100D0200EA92000","region":null}]},{"id":"178a288f-0a49-4aeb-bc51-19320656596e","directory":"car-mechanic-simulator-pocket-edition","title":"Car Mechanic Simulator Pocket Edition","compatibility":99,"releases":[{"id":"01009D100F112000","region":null}]},{"id":"1795ac7c-2ac4-4004-a223-b0ed3641e1e0","directory":"glass-masquerade","title":"Glass Masquerade","compatibility":99,"releases":[{"id":"0100D4C00C9FC000","region":null}]},{"id":"17ab0fbd-fc0f-46cb-b684-d30df0926741","directory":"easy-flight-simulator","title":"Easy Flight Simulator","compatibility":99,"releases":[{"id":"010031F015C98000","region":null}]},{"id":"17aff7ee-10b5-4e81-8a54-e628ed3958ed","directory":"aca-neogeo-samurai-shodown-iv","title":"ACA NEOGEO SAMURAI SHODOWN IV","compatibility":4,"releases":[{"id":"010047F001DBC000","region":null}]},{"id":"17b38226-e8fa-43a3-802b-1d19e5f86326","directory":"grid-autosport","title":"GRID Autosport","compatibility":3,"releases":[{"id":"0100DC800A602000","region":null}]},{"id":"17bee7e0-49ee-46dd-94c4-9988f7897c5e","directory":"vivid-knight","title":"Vivid Knight","compatibility":99,"releases":[{"id":"01006EB01626E000","region":null}]},{"id":"17cc208c-8c74-416e-be13-3875e8766090","directory":"thunder-paw","title":"Thunder Paw","compatibility":99,"releases":[{"id":"01009AF0110E4000","region":null}]},{"id":"17d380ec-eb24-4d1c-8aef-5983eb138e55","directory":"bad-dream-fever","title":"Bad Dream: Fever","compatibility":99,"releases":[{"id":"0100B3B00D81C000","region":null}]},{"id":"17de4c6a-4884-44cf-b456-349c1df0e23d","directory":"felix-the-reaper","title":"Felix The Reaper","compatibility":99,"releases":[{"id":"010003B00D3A2000","region":null}]},{"id":"17f3b080-0403-47a2-95e6-44a532952277","directory":"the-inner-world-the-last-wind-monk","title":"The Inner World - The Last Wind Monk","compatibility":0,"releases":[{"id":"0100A9D00B31A000","region":null}]},{"id":"1804bdec-c829-4336-a582-146c05d9efe7","directory":"crossroad-crash","title":"Crossroad crash","compatibility":99,"releases":[{"id":"0100CFA015CBC000","region":null}]},{"id":"181d9641-085c-479a-887a-39ebcd26e09e","directory":"laser-kitty-pow-pow","title":"Laser Kitty Pow Pow","compatibility":99,"releases":[{"id":"0100A0800E974000","region":null}]},{"id":"18237aa5-915e-4a83-adf0-0be56cd3e10d","directory":"pecaminosa-a-pixel-noir-game","title":"Pecaminosa - a pixel noir game","compatibility":99,"releases":[{"id":"0100876014188000","region":null}]},{"id":"18283db7-ca9d-498c-809f-a5198b90eb91","directory":"in-other-waters","title":"In Other Waters","compatibility":99,"releases":[{"id":"0100B6E01056E000","region":null}]},{"id":"182a8a40-7764-4682-aec7-4c98be81d189","directory":"gemstone-keeper","title":"Gemstone Keeper","compatibility":99,"releases":[{"id":"01000D600EFC4000","region":null}]},{"id":"1833a30b-cb91-4a3c-a578-8a29590c412f","directory":"angry-golf","title":"Angry Golf","compatibility":99,"releases":[{"id":"01008B50144EC000","region":null}]},{"id":"184584f7-21cc-4e3c-ba65-3575bf9bb8e6","directory":"puzzle-plowing-a-field","title":"Puzzle Plowing A Field","compatibility":99,"releases":[{"id":"010057F013764000","region":null}]},{"id":"1858901c-251d-43f5-b485-4f5369a83c0c","directory":"kauils-treasure","title":"KAUIL’S TREASURE","compatibility":99,"releases":[{"id":"010028F013358000","region":null}]},{"id":"1858c78a-53e0-4529-a67d-5b58fc405bd8","directory":"the-unicorn-princess","title":"The Unicorn Princess","compatibility":1,"releases":[{"id":"010064E00ECBC000","region":null}]},{"id":"185c04c6-322f-4c3c-be93-abf1741bff8c","directory":"demolish-and-build-2018","title":"Demolish & Build 2018","compatibility":0,"releases":[{"id":"010099D00D1A4000","region":null}]},{"id":"18698ad2-5625-48b9-944d-8a44f08b8c4c","directory":"bad-north","title":"Bad North","compatibility":3,"releases":[{"id":"0100E98006F22000","region":null}]},{"id":"186b350d-3103-4c32-b576-e12bc976f4a7","directory":"sayonara-wild-hearts","title":"Sayonara Wild Hearts","compatibility":0,"releases":[{"id":"010010A00A95E000","region":null}]},{"id":"1874e3e7-40c2-4216-8036-7777016facca","directory":"cosmic-defenders","title":"Cosmic Defenders","compatibility":99,"releases":[{"id":"01000AB00E73A000","region":null}]},{"id":"187defd4-ffb9-44e0-8604-a199f451ce34","directory":"crowdy-farm-puzzle","title":"Crowdy Farm Puzzle","compatibility":99,"releases":[{"id":"0100E21012232000","region":null}]},{"id":"187f93ab-df3a-410c-8521-e2428591e719","directory":"arcade-archives-koutetsu-yousai-strahl","title":"Arcade Archives KOUTETSU YOUSAI STRAHL","compatibility":99,"releases":[{"id":"01005370123D0000","region":null}]},{"id":"188e17a9-49a5-4f1a-85d4-eb966d1d258c","directory":"projection-first-light","title":"Projection: First Light","compatibility":1,"releases":[{"id":"010063901024A000","region":null}]},{"id":"189627ea-6822-47c0-9a13-061ae4f15d22","directory":"space-cows","title":"Space Cows","compatibility":99,"releases":[{"id":"010005500E81E000","region":null}]},{"id":"18a4eaf5-c3f9-4466-93bf-4955e040adf8","directory":"mecho-wars-desert-ashes","title":"Mecho Wars: Desert Ashes","compatibility":99,"releases":[{"id":"01006D500B0C8000","region":null}]},{"id":"18ae9873-ce8e-4a75-8c6c-2e92f884e81d","directory":"christmas-tina","title":"Christmas Tina","compatibility":99,"releases":[{"id":"010003001536E000","region":null}]},{"id":"18be2db5-fa81-4e88-9e57-bf012949f58c","directory":"flip-wars","title":"Flip Wars","compatibility":4,"releases":[{"id":"010095A004040000","region":null}]},{"id":"18d20635-7781-48b6-9741-38b6c8337da0","directory":"distraint-deluxe-edition","title":"DISTRAINT: Deluxe Edition","compatibility":99,"releases":[{"id":"010075B004DD2000","region":null}]},{"id":"18e96304-628f-4946-b1b9-62cbee40969e","directory":"pro-flight-simulator","title":"Pro Flight Simulator","compatibility":99,"releases":[{"id":"0100B11016870000","region":null}]},{"id":"18efd594-0681-4033-8e40-c64fbba44163","directory":"little-busters-converted-edition","title":"Little Busters! Converted Edition","compatibility":5,"releases":[{"id":"0100943010310000","region":null}]},{"id":"18f50822-daa5-4c20-a609-fed8ebe9ab93","directory":"pachi-pachi-on-a-roll","title":"Pachi Pachi On A Roll","compatibility":99,"releases":[{"id":"0100F2B012658000","region":null}]},{"id":"18fa17af-8ecb-4e81-85c4-ff2372952e9c","directory":"renegade","title":"Renegade","compatibility":99,"releases":[{"id":"010047A00E486000","region":null}]},{"id":"18fa84a5-48b3-4b9b-96d0-5eed622208a3","directory":"rocket-fist","title":"Rocket Fist","compatibility":99,"releases":[{"id":"0100D800040AC000","region":null}]},{"id":"1909498e-1644-458c-8ee0-830b40f03048","directory":"instant-chef-party","title":"INSTANT Chef Party","compatibility":99,"releases":[{"id":"01002500129F4000","region":null}]},{"id":"19150f00-5406-4937-9b64-a3ecf10646eb","directory":"tiny-derby","title":"Tiny Derby","compatibility":0,"releases":[{"id":"01009E100D660000","region":null}]},{"id":"1917899d-5b62-43ba-807a-58cfb0813b4a","directory":"polyroll","title":"Polyroll","compatibility":3,"releases":[{"id":"010074B00ED32000","region":null}]},{"id":"1919172d-52ef-4720-ac77-15926b186478","directory":"piczle-lines-dx","title":"Piczle Lines DX","compatibility":99,"releases":[{"id":"0100D06003056000","region":null}]},{"id":"19285ae9-6af4-47ec-a6ef-5f70ac25aa5c","directory":"super-mega-baseball-2-ultimate-edition","title":"Super Mega Baseball 2: Ultimate Edition","compatibility":99,"releases":[{"id":"0100120004644000","region":null}]},{"id":"19343141-bbce-4cea-9ee7-bf34742d1556","directory":"tales-from-the-dragon-mountain-2-the-lair","title":"Tales from the Dragon Mountain 2: The Lair","compatibility":99,"releases":[{"id":"01002F5012864000","region":null}]},{"id":"19723410-b1c7-4a87-84aa-4270bc1b3a39","directory":"hexagravity","title":"HexaGravity","compatibility":0,"releases":[{"id":"01007AC00E012000","region":null}]},{"id":"1986c51c-2bda-4e0c-a64b-864db3effb78","directory":"hidden-folks","title":"Hidden Folks","compatibility":0,"releases":[{"id":"01003BB00B08E000","region":null}]},{"id":"199226dc-75cc-4281-9ece-7121c8c8b54b","directory":"invisible-fist","title":"Invisible Fist","compatibility":99,"releases":[{"id":"0100C5B00FADE000","region":null}]},{"id":"199ade7e-5be4-4abd-b358-65593d343e39","directory":"wild-adventure-pinball","title":"Wild & Adventure Pinball","compatibility":99,"releases":[{"id":"010092C016564000","region":null}]},{"id":"19b058d8-d974-47bf-a68a-34896186902d","directory":"rebel-cops","title":"Rebel Cops","compatibility":99,"releases":[{"id":"0100D9B00E22C000","region":null}]},{"id":"19bec2a9-c533-4f75-833b-082b2c7c911d","directory":"unlock-the-king-3","title":"Unlock The King 3","compatibility":99,"releases":[{"id":"0100E5501206E000","region":null}]},{"id":"19c57777-390a-455a-bfa3-e5b8d313b907","directory":"stump","title":"STUMP","compatibility":99,"releases":[{"id":"010000300B4EE000","region":null}]},{"id":"19caa1f6-1773-48dd-b88f-2583e27a06ff","directory":"jigsaw-fun-wonderful-nature","title":"Jigsaw Fun: Wonderful Nature","compatibility":99,"releases":[{"id":"0100751015DC2000","region":null}]},{"id":"19cbd956-f04b-453e-bcd7-6315b509cdca","directory":"saviors-of-sapphire-wings-stranger-of-sword-city-revisited","title":"Saviors of Sapphire Wings / Stranger of Sword City Revisited","compatibility":99,"releases":[{"id":"0100AA00128BA000","region":null}]},{"id":"19cc0748-0636-41d6-821d-9a33fb39805a","directory":"windstorm-start-of-a-great-friendship","title":"Windstorm: Start of a Great Friendship","compatibility":2,"releases":[{"id":"01005A100B314000","region":null}]},{"id":"19e4c776-b83c-4736-9677-e7b5203fd442","directory":"60-parsecs","title":"60 Parsecs!","compatibility":99,"releases":[{"id":"010010100FF14000","region":null}]},{"id":"19ea85d6-b3cc-4c4b-839f-af98c918b062","directory":"food-truck-tycoon-asian-cuisine","title":"Food Truck Tycoon - Asian Cuisine","compatibility":1,"releases":[{"id":"0100AC3011C4C000","region":null}]},{"id":"19f2114c-0b30-4d13-8f8c-a39b57c320f1","directory":"idoldays","title":"IdolDays","compatibility":99,"releases":[{"id":"01002EC014BCA000","region":null}]},{"id":"19f7c2e8-32c0-47be-8210-54ffa0f819aa","directory":"police-stories","title":"Police Stories","compatibility":5,"releases":[{"id":"0100E5000DDD2000","region":null}]},{"id":"19fc75f8-f7cf-4b24-8700-74e1a78aabdb","directory":"aca-neogeo-the-king-of-fighters-2000","title":"ACA NEOGEO THE KING OF FIGHTERS 2000","compatibility":4,"releases":[{"id":"0100B97002B44000","region":null}]},{"id":"1a0c2073-858d-4b4c-85be-b0043e7017c5","directory":"troll-and-i","title":"Troll and I","compatibility":2,"releases":[{"id":"0100F78002040000","region":null}]},{"id":"1a0c6cbb-f3a8-4f2a-abb8-041b97bb4f3f","directory":"hatsune-miku-logic-paint-s","title":"Hatsune Miku Logic Paint S","compatibility":1,"releases":[{"id":"0100B4101459A000","region":null}]},{"id":"1a165aca-27f9-4167-908c-067f3187ea92","directory":"shadows-of-kurgansk","title":"Shadows of Kurgansk","compatibility":99,"releases":[{"id":"01004D90159B0000","region":null}]},{"id":"1a16dbf6-ddb9-48c2-9b0f-0ea1b532b099","directory":"arcade-archives-donkey-kong-jr","title":"Arcade Archives DONKEY KONG JR.","compatibility":1,"releases":[{"id":"0100DDC00C7A6000","region":null}]},{"id":"1a194a0f-1708-4997-a851-0dfbed372820","directory":"flood-of-light","title":"Flood of Light","compatibility":2,"releases":[{"id":"0100D1700ACFC000","region":null}]},{"id":"1a19c72b-9b7f-4285-b917-4549467d73d9","directory":"comic-coloring-book","title":"Comic Coloring Book","compatibility":99,"releases":[{"id":"0100EE40138C2000","region":null}]},{"id":"1a1a63ee-31e9-4966-bb1c-658b51da23d4","directory":"star-ghost-demo","title":"Star Ghost Demo","compatibility":99,"releases":[{"id":"01005AE00A528000","region":null}]},{"id":"1a342092-06c1-4018-bebf-44897bd0ef95","directory":"fell-seal-arbiters-mark","title":"Fell Seal: Arbiter's Mark","compatibility":99,"releases":[{"id":"0100A0C00D846000","region":null}]},{"id":"1a4c57d1-61d4-4e01-956a-aa4fd892b1db","directory":"gravity-duck","title":"Gravity Duck","compatibility":99,"releases":[{"id":"0100E4A00EEF6000","region":null}]},{"id":"1a6a9d71-7363-45c1-a1b4-35cf4f845c43","directory":"aery-little-bird-adventure","title":"Aery - Little Bird Adventure","compatibility":99,"releases":[{"id":"0100875011D0C000","region":null}]},{"id":"1a6c08c6-9d9e-41d5-a55a-99f4aefbaaff","directory":"the-jackbox-party-pack-8","title":"The Jackbox Party Pack 8","compatibility":4,"releases":[{"id":"010050F015280000","region":null}]},{"id":"1a6f60bf-5423-4163-936b-68b3a1d92271","directory":"willy-morgan-and-the-curse-of-bone-town","title":"Willy Morgan and the Curse of Bone Town","compatibility":99,"releases":[{"id":"010035C013B50000","region":null}]},{"id":"1a804d51-8970-496b-b188-4a04043a5d77","directory":"book-of-demons","title":"Book of Demons","compatibility":5,"releases":[{"id":"01007A200F452000","region":null}]},{"id":"1a823130-53a6-4088-9c19-d408c1211eb5","directory":"beastie-bay-dx","title":"Beastie Bay DX","compatibility":99,"releases":[{"id":"01004EF012D9A000","region":null}]},{"id":"1a83b518-a354-456f-8bf9-93926f015525","directory":"terra-lander-ii-rockslide-rescue","title":"Terra Lander II - Rockslide Rescue","compatibility":99,"releases":[{"id":"0100E360145EC000","region":null}]},{"id":"1a84186c-06a9-49f4-a304-96f5ff33fb9b","directory":"c14-dating","title":"C14 Dating","compatibility":0,"releases":[{"id":"0100CAA0132D2000","region":null}]},{"id":"1a8bf253-a9fa-48aa-ae59-892de9220f4f","directory":"waifu-discovered-2-medieval-fantasy","title":"Waifu Discovered 2: Medieval Fantasy","compatibility":4,"releases":[{"id":"01006420153D4000","region":null}]},{"id":"1a8ee269-4e7b-412c-b509-31f71bba300d","directory":"war-theatre","title":"War Theatre","compatibility":99,"releases":[{"id":"010084D00A134000","region":null}]},{"id":"1a9810ba-13df-46be-8ca0-4874fb2d07df","directory":"nuclear-throne","title":"Nuclear Throne","compatibility":5,"releases":[{"id":"0100CFE00CE6E000","region":null}]},{"id":"1aa31ff3-5f01-4a74-a3d7-9d9bc9b7a8c4","directory":"devil-may-cry-3-special-edition","title":"Devil May Cry 3 Special Edition","compatibility":2,"releases":[{"id":"01007B600D5BC000","region":null}]},{"id":"1aa82e9d-ae1b-4bfd-b1f4-ccc1651dad4e","directory":"timelie","title":"Timelie","compatibility":99,"releases":[{"id":"01005D6014BE8000","region":null}]},{"id":"1abd10bc-f200-46bf-8db4-7c23d1f24cb5","directory":"marenian-tavern-story-patty-and-the-hungry-god","title":"Marenian Tavern Story: Patty and the Hungry God","compatibility":99,"releases":[{"id":"010040E00C2D2000","region":null}]},{"id":"1ac260e3-9376-43d6-9b85-71280c9b7cfa","directory":"dawn-of-the-breakers","title":"Dawn of the Breakers","compatibility":4,"releases":[{"id":"0100F0B0081DA000","region":null}]},{"id":"1acc36ff-e353-4630-9c7c-8db303c06ce0","directory":"binaries","title":"Binaries","compatibility":2,"releases":[{"id":"01002A1004C48000","region":null}]},{"id":"1ade5687-15a8-419f-9745-fb90f773d194","directory":"johnny-turbos-arcade-sly-spy","title":"Johnny Turbo's Arcade: Sly Spy","compatibility":99,"releases":[{"id":"0100B70003836000","region":null}]},{"id":"1ae0c056-7081-458f-abdb-5696900020cd","directory":"neurodeck","title":"Neurodeck","compatibility":99,"releases":[{"id":"0100B38013F66000","region":null}]},{"id":"1ae1283a-8692-4e87-a14d-1bab43ef7504","directory":"arcade-archives-pettan-pyuu","title":"Arcade Archives Pettan Pyuu","compatibility":99,"releases":[{"id":"01007FC011CF0000","region":null}]},{"id":"1af59a1c-c356-4641-9574-3ce9332a5cc9","directory":"smashy-road-wanted-2","title":"Smashy Road: Wanted 2","compatibility":99,"releases":[{"id":"010012D016176000","region":null}]},{"id":"1af82d4f-12b6-490c-b66d-e292d60d9caa","directory":"arcade-archives-exerion","title":"Arcade Archives EXERION","compatibility":99,"releases":[{"id":"010055B009820000","region":null}]},{"id":"1b0c76bd-c0ea-4ba2-bc09-f86147224075","directory":"aca-neogeo-world-heroes-2-jet","title":"ACA NEOGEO WORLD HEROES 2 JET","compatibility":2,"releases":[{"id":"01006C3004FAE000","region":null}]},{"id":"1b0d0835-d0d6-480d-b528-3d53254dac97","directory":"spoiler-alert","title":"Spoiler Alert","compatibility":99,"releases":[{"id":"0100F9D00C598000","region":null}]},{"id":"1b1c2af9-c084-4cf1-927f-79ab944dec2f","directory":"megaquarium","title":"Megaquarium","compatibility":99,"releases":[{"id":"010082B00E8B8000","region":null}]},{"id":"1b1cf6e2-2a7a-4581-80ea-4fe4d4cba01d","directory":"arcade-archives-ice-climber","title":"Arcade Archives ICE CLIMBER","compatibility":4,"releases":[{"id":"01007D200D3FC000","region":null}]},{"id":"1b2d6e6a-8aaa-4354-a7c9-e7920a6f77c3","directory":"photon-cube","title":"Photon Cube","compatibility":99,"releases":[{"id":"010024D0032F2000","region":null}]},{"id":"1b2dc0bf-ac84-4b07-a7ed-8d7b830a6251","directory":"junior-league-sports","title":"Junior League Sports","compatibility":99,"releases":[{"id":"01008B1008466000","region":null}]},{"id":"1b39e247-b8dc-405b-bf1a-c5f192b1d863","directory":"effie","title":"Effie","compatibility":99,"releases":[{"id":"01002550129F0000","region":null}]},{"id":"1b3f40fa-8447-40d9-a857-0ba5ff0af098","directory":"speed-truck-racing","title":"Speed Truck Racing","compatibility":0,"releases":[{"id":"010061F013A0E000","region":null}]},{"id":"1b47054e-38b2-41a8-82e7-dbd7d387f714","directory":"season-match","title":"Season Match","compatibility":99,"releases":[{"id":"010001900BDCA000","region":null}]},{"id":"1b627bf1-61ed-43e8-8ff0-dd8e740696f8","directory":"angry-video-game-nerd-1-2-deluxe","title":"Angry Video Game Nerd 1 & 2 Deluxe","compatibility":0,"releases":[{"id":"010084500C7DC000","region":null}]},{"id":"1b7422f9-ac6a-4619-85d7-94b08a700f36","directory":"warplanes-ww2-dogfight","title":"Warplanes: WW2 Dogfight","compatibility":99,"releases":[{"id":"010068E00D346000","region":null}]},{"id":"1b767711-b29a-42d3-99e5-c3401f82f3cf","directory":"lovekami-healing-harem","title":"Lovekami -Healing Harem-","compatibility":99,"releases":[{"id":"01002DF01599E000","region":null}]},{"id":"1b7b1e72-3d55-48c7-8ba6-1a4ac75e4337","directory":"grab-the-bottle","title":"Grab the Bottle","compatibility":99,"releases":[{"id":"01003FF009E60000","region":null}]},{"id":"1b7d41b7-f6ea-4d84-a432-581daa61142f","directory":"drowning-cross","title":"Drowning Cross","compatibility":99,"releases":[{"id":"0100B5F017376000","region":null}]},{"id":"1b7f5e3e-9b32-4e95-bc4b-15861f3b138f","directory":"street-racer-underground","title":"Street Racer Underground","compatibility":99,"releases":[{"id":"0100EEE0129F2000","region":null}]},{"id":"1b90423b-68dd-4fab-8d28-575edd8968c3","directory":"pure-pool","title":"Pure Pool","compatibility":99,"releases":[{"id":"0100AEC012DEE000","region":null}]},{"id":"1b932e67-52eb-431e-9c98-c6c3b16bc000","directory":"golf-royale","title":"Golf Royale","compatibility":0,"releases":[{"id":"01004B10149F8000","region":null}]},{"id":"1ba1b3c3-ab5c-4a0f-a73d-643a544be78c","directory":"sparkle-zero","title":"Sparkle ZERO","compatibility":99,"releases":[{"id":"0100E4F00AE14000","region":null}]},{"id":"1baca302-5c37-433e-a9c3-90412d7c404b","directory":"clock-simulator","title":"Clock Simulator","compatibility":99,"releases":[{"id":"010002A00CC42000","region":null}]},{"id":"1baf9bb5-994e-493d-874f-1f69cdf6d7c9","directory":"lumione","title":"Lumione","compatibility":99,"releases":[{"id":"01001E80154B8000","region":null}]},{"id":"1bb464c3-5501-469d-8667-77e4783cf64d","directory":"cooking-tycoons-2-3-in-1-bundle","title":"Cooking Tycoons 2 - 3 in 1 Bundle","compatibility":1,"releases":[{"id":"01005350126E0000","region":null}]},{"id":"1bb74c4d-3b9e-4cf2-8236-4ae5497f73b3","directory":"curious-cases","title":"Curious Cases","compatibility":0,"releases":[{"id":"010054501075C000","region":null}]},{"id":"1bbe5841-76ad-4640-a91c-90b884ce0d65","directory":"overcooked-all-you-can-eat","title":"Overcooked! All You Can Eat","compatibility":1,"releases":[{"id":"0100F28011892000","region":null}]},{"id":"1bc61f4f-9170-4e83-b061-6e24d88d373a","directory":"say-no-more","title":"Say No! More","compatibility":99,"releases":[{"id":"01001C3012912000","region":null}]},{"id":"1bd2a89e-d085-49df-89b5-8b3d60cf92fe","directory":"super-cane-magic-zero","title":"Super Cane Magic ZERO","compatibility":99,"releases":[{"id":"0100D9B00DB5E000","region":null}]},{"id":"1bd45288-a764-4507-bcf2-566277700657","directory":"tohu","title":"TOHU","compatibility":99,"releases":[{"id":"0100B5E011920000","region":null}]},{"id":"1bd5678d-7c07-4023-a2f3-c08104098cf9","directory":"baobabs-mausoleum-ep1-ovnifagos-dont-eat-flamingos","title":"Baobabs Mausoleum Ep.1: Ovnifagos Don't Eat Flamingos","compatibility":99,"releases":[{"id":"0100425009FB2000","region":null}]},{"id":"1be4c250-c870-4e08-8cb0-6d8df536af9b","directory":"qbik","title":"Qbik","compatibility":99,"releases":[{"id":"0100465009020000","region":null}]},{"id":"1befaa75-8022-4843-b8fe-d97430cbb55a","directory":"bake-n-switch","title":"Bake ‘n Switch","compatibility":99,"releases":[{"id":"01003E2010282000","region":null}]},{"id":"1bf296dc-df30-4736-841c-9951d7d88f51","directory":"99moves","title":"99Moves","compatibility":99,"releases":[{"id":"0100DE900CB84000","region":null}]},{"id":"1bfd3d43-7f28-440a-b7e8-5aa0c41c168a","directory":"hotel-dracula","title":"Hotel Dracula","compatibility":99,"releases":[{"id":"01008D000D980000","region":null}]},{"id":"1c0b7af9-937a-4410-8737-3a5631cab603","directory":"subaracity","title":"SubaraCity","compatibility":99,"releases":[{"id":"0100CD6004130000","region":null}]},{"id":"1c0c2b3d-cf3b-4066-bf66-e76c49b548dd","directory":"twist-switch-bundle","title":"Twist & Switch Bundle","compatibility":99,"releases":[{"id":"0100448014568000","region":null}]},{"id":"1c0e9ef3-8ec8-44c9-8f58-622555bcb0c8","directory":"sky-racket","title":"Sky Racket","compatibility":2,"releases":[{"id":"01004F0010A02000","region":null}]},{"id":"1c1002c8-2e8b-46f3-9256-102f8fe250c7","directory":"cloudpunk","title":"Cloudpunk","compatibility":0,"releases":[{"id":"0100916011210000","region":null}]},{"id":"1c18979f-1b35-4b30-bfc1-293981de97f2","directory":"crazy-zen-codeword","title":"Crazy Zen Codeword","compatibility":99,"releases":[{"id":"01001A2016CFE000","region":null}]},{"id":"1c2bc530-0ee8-4c4a-934a-929f918ae90b","directory":"de-blob","title":"de Blob","compatibility":1,"releases":[{"id":"0100D0A009310000","region":null}]},{"id":"1c2c2c9a-d540-4fa1-88b1-000ab47d82f0","directory":"gerritory","title":"Gerritory","compatibility":99,"releases":[{"id":"0100F1E011982000","region":null}]},{"id":"1c2ca6ef-b015-4bc8-8e70-069572fbec8f","directory":"reactorx","title":"ReactorX","compatibility":99,"releases":[{"id":"01003BF014B18000","region":null}]},{"id":"1c389996-39fa-4122-9db8-970bc4bbc580","directory":"spider-solitaire-f","title":"Spider Solitaire F","compatibility":99,"releases":[{"id":"01001BF00B54E000","region":null}]},{"id":"1c3d7ae8-229d-4926-ba19-b2c28249a414","directory":"2urvive","title":"2URVIVE","compatibility":99,"releases":[{"id":"01007550131EE000","region":null}]},{"id":"1c491c16-1514-41ff-b0f4-9aa9c8dc9cf9","directory":"micetopia","title":"Micetopia","compatibility":0,"releases":[{"id":"0100B8701266A000","region":null}]},{"id":"1c52c4a6-19d5-420d-93b5-dd5c564f1b3b","directory":"desktop-table-tennis","title":"Desktop Table Tennis","compatibility":99,"releases":[{"id":"01001C800DBC0000","region":null}]},{"id":"1c584b0b-31e1-4a7e-acac-ea73959c4651","directory":"torchlight-ii","title":"Torchlight II","compatibility":1,"releases":[{"id":"010090400D366000","region":null}]},{"id":"1c5a9026-ae97-47ba-bfc7-c8839ba50d0a","directory":"spaceland","title":"Spaceland","compatibility":0,"releases":[{"id":"010034800FB60000","region":null}]},{"id":"1c5b0e37-a177-4668-acd3-c5b7b34e146c","directory":"sky-gamblers-storm-raiders-2","title":"Sky Gamblers: Storm Raiders 2","compatibility":5,"releases":[{"id":"010068200E96E000","region":null}]},{"id":"1c61dc9f-d777-4a32-a5fc-2a30cb004ee6","directory":"push-the-crate-2","title":"Push the Crate 2","compatibility":99,"releases":[{"id":"0100B60010432000","region":null}]},{"id":"1c642de0-ac45-400c-87a2-ccd5781b54f0","directory":"esports-life-tycoon","title":"Esports Life Tycoon","compatibility":2,"releases":[{"id":"01001AA00BADC000","region":null}]},{"id":"1c74c506-dbaf-462c-a1f5-0a93ee497a4d","directory":"ascendant-hearts","title":"Ascendant Hearts","compatibility":0,"releases":[{"id":"01009C200F45A000","region":null}]},{"id":"1c754a18-98cc-44eb-a8c0-da2504e24db6","directory":"stonefly","title":"Stonefly","compatibility":99,"releases":[{"id":"010000E0145BA000","region":null}]},{"id":"1c791f8a-d542-4f12-b313-ea59266ed746","directory":"our-world-is-ended","title":"Our World Is Ended.","compatibility":3,"releases":[{"id":"0100D5D00C6BE000","region":null}]},{"id":"1c89d9bd-14e9-4424-8a6e-d65a64bf07f1","directory":"island-saver","title":"Island Saver","compatibility":99,"releases":[{"id":"0100A2600FCA0000","region":null}]},{"id":"1c96c67d-4cc1-4491-bb20-36886b2918e3","directory":"robot-car-war-transform-battle-machines","title":"Robot Car War: Transform Battle Machines","compatibility":99,"releases":[{"id":"010010001636E000","region":null}]},{"id":"1c98fb1a-4205-45d5-b5de-a9b61e6af6a8","directory":"everhood","title":"Everhood","compatibility":0,"releases":[{"id":"0100E20014028000","region":null}]},{"id":"1c9e6738-ba70-4069-aaf7-a5e647bec1d6","directory":"the-sundew","title":"The Sundew","compatibility":99,"releases":[{"id":"0100E1E01523A000","region":null}]},{"id":"1ca3e61c-6ba6-4395-a7b7-5c6768f7e591","directory":"castle-kong","title":"Castle Kong","compatibility":99,"releases":[{"id":"010042201353E000","region":null}]},{"id":"1cb4163c-6928-44fc-8fc8-56d6924240b5","directory":"aqua-tv","title":"Aqua TV","compatibility":99,"releases":[{"id":"01008ED00B916000","region":null}]},{"id":"1cb49f8f-e562-4b90-9590-bd4c68d00503","directory":"twitch","title":"Twitch","compatibility":99,"releases":[{"id":"01008D101524E000","region":null}]},{"id":"1cbd4e14-607c-40ee-ac93-d148e36e359a","directory":"nascar-heat-ultimate-edition","title":"NASCAR Heat Ultimate Edition+","compatibility":0,"releases":[{"id":"0100DC7013938000","region":null}]},{"id":"1cc3e48c-8d3b-44c1-9d13-70866f0abccf","directory":"digerati-indie-bundle-ink-and-hackyzack","title":"Digerati Indie Bundle: INK & HackyZack","compatibility":99,"releases":[{"id":"01003D800BE5C000","region":null}]},{"id":"1cd37a9e-cce2-47c1-9369-11d1bd73a37c","directory":"luigis-mansion-3","title":"Luigi's Mansion 3","compatibility":3,"releases":[{"id":"0100DCA0064A6000","region":null}]},{"id":"1cd90b58-81d2-4350-a2bc-164a47727d51","directory":"void-source","title":"Void Source","compatibility":99,"releases":[{"id":"010099E013430000","region":null}]},{"id":"1cda8699-af49-43fb-be4a-9c416a7e00c1","directory":"cast-of-the-seven-godsends","title":"Cast of the Seven Godsends","compatibility":99,"releases":[{"id":"0100AEF00A270000","region":null}]},{"id":"1ce96f5d-524c-4f95-8784-412fb7c5c65f","directory":"forklift-the-simulation","title":"Forklift - The Simulation","compatibility":99,"releases":[{"id":"01006A900EB1A000","region":null}]},{"id":"1cec6689-db5f-4f7d-9083-3f0464c77364","directory":"johnny-rocket","title":"Johnny Rocket","compatibility":99,"releases":[{"id":"0100C030124E8000","region":null}]},{"id":"1cfc3c63-334c-4efa-b28b-cbdfc1adcf1b","directory":"drawngeon-dungeons-of-ink-and-paper","title":"Drawngeon: Dungeons of Ink and Paper","compatibility":99,"releases":[{"id":"0100B7E0102E4000","region":null}]},{"id":"1d004410-8b5c-4a54-8f32-0a929d412c36","directory":"code-realize-wintertide-miracles","title":"Code: Realize ~Wintertide Miracles~","compatibility":0,"releases":[{"id":"0100A27013626000","region":null}]},{"id":"1d0954b8-a9f9-4f67-b747-e926c7089813","directory":"debris-infinity","title":"Debris Infinity","compatibility":1,"releases":[{"id":"010034F00BFC8000","region":null}]},{"id":"1d2d4e81-8a45-415d-8be7-0f193ef17473","directory":"pirate-pop-plus","title":"Pirate Pop Plus","compatibility":99,"releases":[{"id":"010025E0092B6000","region":null}]},{"id":"1d3d08b1-ef84-4a26-9d21-7bbec898d2ae","directory":"survival-z","title":"Survival Z","compatibility":99,"releases":[{"id":"01008950156C4000","region":null}]},{"id":"1d4072d7-074e-47a8-a0b2-af9c0361cba3","directory":"fuzzball","title":"FuzzBall","compatibility":99,"releases":[{"id":"010067600F1A0000","region":null}]},{"id":"1d611969-6159-4cf2-9317-9805d4fd8f1a","directory":"rally-rock-n-racing","title":"Rally Rock 'N Racing","compatibility":99,"releases":[{"id":"0100F5700DE18000","region":null}]},{"id":"1d79b3a6-3cd6-4213-8388-22880d4632e4","directory":"shaq-fu-a-legend-reborn","title":"Shaq Fu: A Legend Reborn","compatibility":0,"releases":[{"id":"0100769004584000","region":null}]},{"id":"1d86e9c8-87b9-41ab-97a1-01569d1911fc","directory":"anodyne-2-return-to-dust","title":"Anodyne 2: Return to Dust","compatibility":99,"releases":[{"id":"01007BB012B0A000","region":null}]},{"id":"1d8c64a8-0a7a-4b1b-a7ee-9e8d51ba5c4d","directory":"tumblestone-demo","title":"Tumblestone Demo","compatibility":99,"releases":[{"id":"010023300B0F0000","region":null}]},{"id":"1d91644f-d24f-434f-91f9-20af67ed991c","directory":"road-3-pack","title":"Road 3 Pack","compatibility":99,"releases":[{"id":"01009070133D0000","region":null}]},{"id":"1db92208-2f1a-40ec-93eb-b814a01f339e","directory":"os-omega","title":"OS Omega","compatibility":99,"releases":[{"id":"01005A8015436000","region":null}]},{"id":"1dc32f05-35cf-4c73-979c-8194995df63f","directory":"ion-fury","title":"Ion Fury","compatibility":99,"releases":[{"id":"010041C00D086000","region":null}]},{"id":"1dc803c7-67f7-41e0-8a0d-b4742b48ad4e","directory":"cupcake-match","title":"Cupcake Match","compatibility":99,"releases":[{"id":"0100EB501414A000","region":null}]},{"id":"1dcd2616-0b5d-4988-8f21-3145ba3fea63","directory":"when-the-past-was-around","title":"When the Past was Around","compatibility":0,"releases":[{"id":"01008C9012F4A000","region":null}]},{"id":"1dce20cc-d6fc-41db-b765-f7c6c3628ea5","directory":"pressure-overdrive","title":"Pressure Overdrive","compatibility":2,"releases":[{"id":"01003F300C6BC000","region":null}]},{"id":"1dd07a31-daea-41f2-bcd5-f2dd1cea9074","directory":"nova-111","title":"Nova-111","compatibility":99,"releases":[{"id":"0100B2E0160E6000","region":null}]},{"id":"1dd0f0a1-4dae-4fc5-ada9-6cb560d37fda","directory":"draculas-legacy","title":"Dracula's Legacy","compatibility":5,"releases":[{"id":"01001B80099F6000","region":null}]},{"id":"1dd5f709-22c5-4ffc-91dd-3374546b325d","directory":"pang-adventures","title":"Pang Adventures","compatibility":1,"releases":[{"id":"010087300B730000","region":null}]},{"id":"1de0e68d-a41e-4018-9f2a-6cd392a94059","directory":"galaxy-of-pen-paper-1-edition","title":"Galaxy of Pen & Paper +1 Edition","compatibility":99,"releases":[{"id":"0100CFD00BF3E000","region":null}]},{"id":"1de42e24-74bd-4b74-886a-b9c1c99a1071","directory":"aca-neogeo-soccer-brawl","title":"ACA NEOGEO SOCCER BRAWL","compatibility":99,"releases":[{"id":"0100DBF004FAA000","region":null}]},{"id":"1df1008a-1587-4cde-84f2-98d549d290ae","directory":"the-missing-jj-macfield-and-the-island-of-memories","title":"The MISSING: J.J. Macfield and the Island of Memories","compatibility":2,"releases":[{"id":"0100F1B00B456000","region":null}]},{"id":"1e0044f2-509d-475e-afa9-39a1ee48bab0","directory":"mochi-mochi-boy","title":"Mochi Mochi Boy","compatibility":99,"releases":[{"id":"01008C500E7D8000","region":null}]},{"id":"1e0de444-f4b8-4b47-922d-9abaa3ec9d3e","directory":"sega-ages-phantasy-star","title":"SEGA AGES Phantasy Star","compatibility":1,"releases":[{"id":"01005A300C9F6000","region":null}]},{"id":"1e23ee88-3e8e-4453-9c31-030beecda57f","directory":"subsurface-circular","title":"Subsurface Circular","compatibility":1,"releases":[{"id":"01002C80086E6000","region":null}]},{"id":"1e2bfa2d-7b9f-448f-8f68-df8349628413","directory":"game-builder-garage","title":"Game Builder Garage™","compatibility":2,"releases":[{"id":"0100FA5010788000","region":null}]},{"id":"1e2d3cbf-6632-4f29-aad4-235164403551","directory":"zengeon","title":"Zengeon","compatibility":2,"releases":[{"id":"0100057011E50000","region":null}]},{"id":"1e30fecb-c229-48f9-a54b-23941db78f8d","directory":"arcade-archives-crazy-climber2","title":"Arcade Archives CRAZY CLIMBER2","compatibility":1,"releases":[{"id":"010055B009814000","region":null}]},{"id":"1e34cd6a-8ccf-4455-9fd8-a15ad59f2ac9","directory":"arcade-archives-psycho-soldier","title":"Arcade Archives PSYCHO SOLDIER","compatibility":4,"releases":[{"id":"01000D200C7A4000","region":null}]},{"id":"1e38c6d2-f5f3-4979-97de-fce614ec4a6c","directory":"chroma-quaternion","title":"Chroma Quaternion","compatibility":99,"releases":[{"id":"01003F0014F32000","region":null}]},{"id":"1e395234-65e0-485b-9d64-16132d22e9e2","directory":"river-city-girls","title":"River City Girls","compatibility":1,"releases":[{"id":"01004E700DFE6000","region":null}]},{"id":"1e3c2b9a-21d0-46c7-bebf-6502a745dd78","directory":"the-outer-worlds","title":"The Outer Worlds","compatibility":3,"releases":[{"id":"0100626011656000","region":null}]},{"id":"1e4caeb0-dde0-4004-be20-9df029febaa6","directory":"zombie-driver-immortal-edition","title":"Zombie Driver Immortal Edition","compatibility":0,"releases":[{"id":"01006CF00DA8C000","region":null}]},{"id":"1e550c82-f91b-4799-8a2f-98a3965c3765","directory":"paint","title":"Paint","compatibility":99,"releases":[{"id":"0100946012446000","region":null}]},{"id":"1e667873-9e4c-4c24-adba-c756f6c9038e","directory":"pretty-girls-mahjong-solitaire","title":"Pretty Girls Mahjong Solitaire","compatibility":99,"releases":[{"id":"01008B7013F7C000","region":null}]},{"id":"1e6a542a-5f6d-4c65-bbb4-d486ec971d89","directory":"i-dream-of-you-and-ice-cream","title":"I dream of you and ice cream","compatibility":99,"releases":[{"id":"010071D0121B0000","region":null}]},{"id":"1e70e208-ba60-4bdd-8aeb-b07985676282","directory":"nba-2k18","title":"NBA 2K18","compatibility":5,"releases":[{"id":"0100760002048000","region":null}]},{"id":"1e75bd94-930c-43b5-8c76-9c740f6e2bf4","directory":"revenant-dogma","title":"Revenant Dogma","compatibility":99,"releases":[{"id":"0100BE400BEC8000","region":null}]},{"id":"1e8e5bb5-f93e-432a-801a-63cce5703e88","directory":"city-pipes","title":"City Pipes","compatibility":99,"releases":[{"id":"0100DE80166F6000","region":null}]},{"id":"1e8f2bf1-619f-4b5e-a49f-2f8aa1828b74","directory":"lost-grimoires-3-the-forgotten-well","title":"Lost Grimoires 3: The Forgotten Well","compatibility":99,"releases":[{"id":"0100BBB015694000","region":null}]},{"id":"1e8fce03-2328-4b1c-8f32-c4365a7c364f","directory":"princess-maker-gogo-princess","title":"Princess Maker Go!Go! Princess","compatibility":99,"releases":[{"id":"010018100F688000","region":null}]},{"id":"1eb66164-f8f6-404c-9c23-8d3cc390ddfc","directory":"tangledeep","title":"Tangledeep","compatibility":1,"releases":[{"id":"010048F007ADE000","region":null}]},{"id":"1ec0a469-ed00-474a-941e-768a0cc2d46e","directory":"disney-magical-world-2-enchanted-edition","title":"Disney Magical World 2: Enchanted Edition","compatibility":99,"releases":[{"id":"010029E01403A000","region":null}]},{"id":"1ecb849e-bab0-4e69-82f7-5a4be0556b74","directory":"boyfriend-dungeon","title":"Boyfriend Dungeon","compatibility":2,"releases":[{"id":"0100D2200BC82000","region":null}]},{"id":"1ede7b32-8104-4ffa-92f4-8e8e2dcc3b5e","directory":"dragon-marked-for-death-frontline-fighters","title":"Dragon Marked for Death: Frontline Fighters","compatibility":0,"releases":[{"id":"010089700150E000","region":null}]},{"id":"1ee1894e-ee4d-4501-b860-b410516227d1","directory":"mega-man-x-legacy-collection-2","title":"Mega Man X Legacy Collection 2","compatibility":1,"releases":[{"id":"01005250086C4000","region":null}]},{"id":"1ee66f3e-ec97-4953-b255-4ba2ced87737","directory":"ghost-blade-hd","title":"Ghost Blade HD","compatibility":99,"releases":[{"id":"010063200C588000","region":null}]},{"id":"1ef95ee4-8e8f-442e-9e07-93bf33346716","directory":"groove-coaster-wai-wai-party","title":"GROOVE COASTER WAI WAI PARTY!!!!","compatibility":0,"releases":[{"id":"0100EB500D92E000","region":null}]},{"id":"1f07335a-fdce-454c-adc5-219a3f422233","directory":"battle-chef-brigade-deluxe","title":"Battle Chef Brigade Deluxe","compatibility":1,"releases":[{"id":"0100CC2001C6C000","region":null}]},{"id":"1f082208-397f-4d1e-ae5f-d0c73f38522c","directory":"zombie-army-trilogy","title":"Zombie Army Trilogy","compatibility":1,"releases":[{"id":"0100C7300EEE4000","region":null}]},{"id":"1f0e83f8-5cc2-4251-8a89-6e1c6db5718e","directory":"super-kirby-clash","title":"Super Kirby Clash","compatibility":1,"releases":[{"id":"01003FB00C5A8000","region":null}]},{"id":"1f115fb6-4066-4495-b764-31bc9b930378","directory":"portal-knights-demo","title":"Portal Knights Demo","compatibility":99,"releases":[{"id":"010086100AA54000","region":null}]},{"id":"1f11a10e-7f4e-45e8-94db-d439b951d912","directory":"junkyard-builder","title":"Junkyard Builder","compatibility":99,"releases":[{"id":"01006700152AE000","region":null}]},{"id":"1f2022e5-46be-4233-9116-55dfb2d608a2","directory":"epic-dumpster-bear-2-he-who-bears-wins","title":"Epic Dumpster Bear 2: He Who Bears Wins","compatibility":99,"releases":[{"id":"0100271014B26000","region":null}]},{"id":"1f27a8f6-94a2-4213-84cb-c00e97b24146","directory":"claybook","title":"Claybook","compatibility":5,"releases":[{"id":"010009300AA6C000","region":null}]},{"id":"1f2e6f86-ce0f-429d-8c16-4f8f59341de0","directory":"the-wild-at-heart","title":"The Wild at Heart","compatibility":99,"releases":[{"id":"0100129014FA8000","region":null}]},{"id":"1f35ae36-1882-43cd-ba02-d004926d310e","directory":"table-top-racing-world-tour-nitro-edition","title":"Table Top Racing: World Tour - Nitro Edition","compatibility":3,"releases":[{"id":"010015B00BB00000","region":null}]},{"id":"1f36cc18-c8d0-48b7-9b33-130282f47e3d","directory":"justice-chronicles","title":"Justice Chronicles","compatibility":99,"releases":[{"id":"01000F4015BF6000","region":null}]},{"id":"1f3e2fac-9f00-449c-8217-a1fd68089f1d","directory":"shiftlings-enhanced-edition","title":"Shiftlings - Enhanced Edition","compatibility":0,"releases":[{"id":"01000750084B2000","region":null}]},{"id":"1f3f1303-c384-4713-9745-66ec468448ad","directory":"atelier-shallie-alchemists-of-the-dusk-sea-dx","title":"Atelier Shallie: Alchemists of the Dusk Sea DX","compatibility":99,"releases":[{"id":"010005C00EE90000","region":null}]},{"id":"1f4093da-43eb-424f-ada1-d1afae710413","directory":"kero-blaster","title":"Kero Blaster","compatibility":4,"releases":[{"id":"0100DA200A09A000","region":null}]},{"id":"1f4722e8-012f-4f08-9245-7cb3841ea5db","directory":"animus-harbinger","title":"ANIMUS: Harbinger","compatibility":0,"releases":[{"id":"0100E5A00FD38000","region":null}]},{"id":"1f4d56a2-30cd-443f-aa84-b7fdede4ed67","directory":"motogp19","title":"MotoGP19","compatibility":3,"releases":[{"id":"01004B800D0E8000","region":null}]},{"id":"1f552c09-0d17-433a-9836-c95bfbf51f20","directory":"safari-pinball","title":"Safari Pinball","compatibility":99,"releases":[{"id":"01005DE00F3BC000","region":null}]},{"id":"1f578feb-cc6a-4dac-a3e8-f2472a2a5fc5","directory":"rocket-rabbit-coin-race","title":"Rocket Rabbit - Coin Race","compatibility":99,"releases":[{"id":"010031C0110F6000","region":null}]},{"id":"1f5ce262-7d4a-4c95-9bfc-12cc8ea9ace9","directory":"spelunker-party-demo-version","title":"Spelunker Party! DEMO VERSION","compatibility":99,"releases":[{"id":"01000D7005E28000","region":null}]},{"id":"1f6773ef-2866-46a8-9e14-253e30dd8a7d","directory":"arcade-archives-task-force-harrier","title":"Arcade Archives TASK FORCE HARRIER","compatibility":99,"releases":[{"id":"01007EB014716000","region":null}]},{"id":"1f684c48-f43a-4552-a9c5-f0b362392705","directory":"squareboy-vs-bullies-arena-edition","title":"Squareboy vs Bullies: Arena Edition","compatibility":99,"releases":[{"id":"0100DE40068CA000","region":null}]},{"id":"1f8cddc1-ec72-4a34-bf3f-a41f85bc5b95","directory":"casino-roulette-royal","title":"Casino Roulette Royal","compatibility":99,"releases":[{"id":"01002EE015ED4000","region":null}]},{"id":"1f903d0c-65f3-4b58-b581-0c53d1264385","directory":"lair-of-the-clockwork-god","title":"Lair of the Clockwork God","compatibility":99,"releases":[{"id":"01008280119B2000","region":null}]},{"id":"1f9a73e4-7108-413a-b19d-f31b594e64bb","directory":"pixel-game-maker-series-dragon-peak","title":"Pixel Game Maker Series DRAGON PEAK","compatibility":99,"releases":[{"id":"01004040145CA000","region":null}]},{"id":"1fb8c7c5-ceb0-4f51-a0af-3cbde335b08b","directory":"steampunk-tower-2","title":"Steampunk Tower 2","compatibility":99,"releases":[{"id":"0100AA8012EF2000","region":null}]},{"id":"1fc1c0c3-0d94-4261-888d-4f676a0e03e5","directory":"arcade-archives-vigilante","title":"Arcade Archives VIGILANTE","compatibility":99,"releases":[{"id":"0100EA300EFF0000","region":null}]},{"id":"1fce57d7-90f1-42f2-87eb-ad14f13194aa","directory":"aca-neogeo-super-sidekicks-2","title":"ACA NEOGEO SUPER SIDEKICKS 2","compatibility":4,"releases":[{"id":"010055A00A300000","region":null}]},{"id":"1fcf6234-3ac5-41b6-9b68-2fc9ad0034aa","directory":"planetarian","title":"planetarian","compatibility":2,"releases":[{"id":"0100BD100C752000","region":null}]},{"id":"1fd088d8-7bd7-4831-8289-97f7a2466072","directory":"rocketsrocketsrockets","title":"ROCKETSROCKETSROCKETS","compatibility":99,"releases":[{"id":"010053400BFA6000","region":null}]},{"id":"1fd485b9-215c-462f-bfcb-45cd5bec3a95","directory":"funbox-party","title":"FunBox Party","compatibility":1,"releases":[{"id":"0100A8F00B3D0000","region":null}]},{"id":"1fe0a9a0-ecbc-40b4-bf37-a197b40d058a","directory":"deep-ones-demo","title":"Deep Ones Demo","compatibility":99,"releases":[{"id":"010071000AAFC000","region":null}]},{"id":"1fe5f60f-db40-4154-b6c1-d25f3d81569b","directory":"ninja-gaiden-master-collection","title":"NINJA GAIDEN: Master Collection","compatibility":0,"releases":[{"id":"01002AF014F4C000","region":null}]},{"id":"1fe804e6-ca03-4d5a-9849-df3680574082","directory":"capes-escape-game","title":"Cape's escape game","compatibility":99,"releases":[{"id":"0100C73013506000","region":null}]},{"id":"1feecf39-7dcf-403d-b3a0-643feb5380ad","directory":"rock-n-racing-bundle-off-road-rally","title":"Rock 'N Racing Bundle Off Road & Rally","compatibility":99,"releases":[{"id":"0100FDE013DE4000","region":null}]},{"id":"20116a7e-0380-45c4-8160-f99465e9a2c4","directory":"sky-children-of-the-light","title":"Sky: Children of the Light","compatibility":5,"releases":[{"id":"0100C52011460000","region":null}]},{"id":"2016c53d-59fe-4d46-9391-57b6c95bd0cb","directory":"the-lego-movie-2-videogame","title":"The LEGO Movie 2 Videogame","compatibility":2,"releases":[{"id":"0100A4400BE74000","region":null}]},{"id":"201f3f51-d912-4091-a3d0-b3e58168cc44","directory":"solitaire-tripeaks-flowers","title":"Solitaire TriPeaks Flowers","compatibility":99,"releases":[{"id":"0100AD3012234000","region":null}]},{"id":"20258df2-9766-49c1-a430-a10912f37f3e","directory":"little-nightmares-complete-edition","title":"Little Nightmares Complete Edition","compatibility":3,"releases":[{"id":"01002FC00412C000","region":null}]},{"id":"20382fd5-e22d-4163-9bcb-88b088e40da3","directory":"rift-keeper","title":"Rift Keeper","compatibility":99,"releases":[{"id":"0100AC600D898000","region":null}]},{"id":"20427ac3-1424-45cb-9b38-524eb879d587","directory":"mr-shifty","title":"Mr. Shifty","compatibility":99,"releases":[{"id":"010031F002B66000","region":null}]},{"id":"205d95b3-aa7c-4bb0-8d39-cf4ae0f39539","directory":"car-trader","title":"Car Trader","compatibility":99,"releases":[{"id":"01006E200E322000","region":null}]},{"id":"206b8848-33ee-48a0-a109-4ca33ed1f71d","directory":"gemini-arms","title":"GEMINI ARMS","compatibility":3,"releases":[{"id":"01004BF01267E000","region":null}]},{"id":"207471ef-d9ff-48c4-a0d3-bb23953f665f","directory":"the-end-is-nigh","title":"The End Is Nigh","compatibility":3,"releases":[{"id":"01004A9006B84000","region":null}]},{"id":"207fe52d-6855-4b14-afae-f7cc7e53b5d4","directory":"area-86","title":"Area 86","compatibility":1,"releases":[{"id":"01004DA012976000","region":null}]},{"id":"20875a64-7dcc-4a1e-ad71-a117e5ef7238","directory":"soul-knight","title":"Soul Knight","compatibility":1,"releases":[{"id":"0100A0800B83A000","region":null}]},{"id":"20881c63-972f-4cfb-80d6-80a775da2e4f","directory":"john-wick-hex","title":"John Wick Hex","compatibility":0,"releases":[{"id":"01007090104EC000","region":null}]},{"id":"208cb4e5-fa3a-465f-a503-6c33c4e84fa3","directory":"sega-ages-wonder-boy-monster-land","title":"SEGA AGES Wonder Boy: Monster Land","compatibility":0,"releases":[{"id":"01001E700AC60000","region":null}]},{"id":"20972b55-7da6-45f3-89f0-442b8946eadb","directory":"monster-train-first-class","title":"Monster Train First Class","compatibility":99,"releases":[{"id":"01006D9013894000","region":null}]},{"id":"20a59e40-0375-40fc-be00-3e62c693c2ca","directory":"i-am-the-hero","title":"I Am The Hero","compatibility":99,"releases":[{"id":"0100019006F4E000","region":null}]},{"id":"20ac99fa-9033-469d-b524-ca65a5371192","directory":"12-is-better-than-6","title":"12 is Better Than 6","compatibility":2,"releases":[{"id":"01007F600D1B8000","region":null}]},{"id":"20bb8183-b7e9-43a9-bec1-8dcc580a3cc9","directory":"bishoujo-battle-mahjong-solitaire","title":"Bishoujo Battle Mahjong Solitaire","compatibility":99,"releases":[{"id":"01008AE013F82000","region":null}]},{"id":"20cd1374-31f1-45f3-81be-2c46bf841bbd","directory":"skellboy-refractured","title":"Skellboy Refractured","compatibility":99,"releases":[{"id":"0100D7001453A000","region":null}]},{"id":"20d5a7b7-a72c-4504-b971-371fca167412","directory":"daemon-x-machina","title":"DAEMON X MACHINA™","compatibility":2,"releases":[{"id":"0100B6400CA56000","region":null}]},{"id":"20dff95b-4fa1-464a-a061-d0b38d935ad7","directory":"pixel-game-maker-series-the-witch-and-the-66-mushrooms","title":"Pixel Game Maker Series The Witch and The 66 Mushrooms","compatibility":99,"releases":[{"id":"01002C90133CA000","region":null}]},{"id":"20e3d5fc-72ff-4a19-ba80-6321a05a3165","directory":"frodoric-the-driver","title":"Frodoric The Driver","compatibility":99,"releases":[{"id":"0100716013B3C000","region":null}]},{"id":"20e9137a-82c4-4c95-b2c0-26aa17e13336","directory":"4x4-dirt-track","title":"4x4 Dirt Track","compatibility":0,"releases":[{"id":"01006890126E4000","region":null}]},{"id":"20ecf007-e540-432c-bd50-12288a726ad6","directory":"the-aquatic-adventure-of-the-last-human","title":"The Aquatic Adventure of the Last Human","compatibility":0,"releases":[{"id":"0100A6F00C34E000","region":null}]},{"id":"20f4c4af-3c1d-4ff1-a9bd-bdfdad8b99a5","directory":"poker-club","title":"Poker Club","compatibility":99,"releases":[{"id":"0100F16010A40000","region":null}]},{"id":"21013044-7fbf-494f-9384-aec7dc7f259a","directory":"grave-danger","title":"Grave Danger","compatibility":1,"releases":[{"id":"010074E0099FA000","region":null}]},{"id":"21030b15-bc98-4680-a754-9469d05796be","directory":"stickman-far-east-battle","title":"Stickman: Far East Battle","compatibility":99,"releases":[{"id":"0100C6F0163B0000","region":null}]},{"id":"21057225-0710-4b15-a9e8-a1b54506dc07","directory":"razion-ex","title":"Razion EX","compatibility":0,"releases":[{"id":"010032B013CE4000","region":null}]},{"id":"2119bf7e-de48-4e57-aeea-a072d1ebf3b0","directory":"estiman","title":"Estiman","compatibility":0,"releases":[{"id":"01008E500CF02000","region":null}]},{"id":"21231b5c-65e1-469d-9958-73406c400c13","directory":"radical-rabbit-stew","title":"Radical Rabbit Stew","compatibility":99,"releases":[{"id":"0100C8B00D2BE000","region":null}]},{"id":"2125e57f-b93b-40ae-b810-bc8fc3606c17","directory":"skulls-of-the-shogun-bone-a-fide-edition","title":"Skulls of the Shogun: Bone-A-Fide Edition","compatibility":99,"releases":[{"id":"0100D1100BF9C000","region":null}]},{"id":"212b8819-5458-49a3-94bb-6ce54131af65","directory":"caveblazers","title":"Caveblazers","compatibility":5,"releases":[{"id":"01001A100C0E8000","region":null}]},{"id":"2131b9b9-2898-4944-a9dc-64b7d13d52b7","directory":"my-lovely-daughter","title":"My Lovely Daughter","compatibility":99,"releases":[{"id":"010086B00C784000","region":null}]},{"id":"21430a69-56f5-4e52-a202-a14221d6e05f","directory":"metamorphosis","title":"Metamorphosis","compatibility":99,"releases":[{"id":"010055200E87E000","region":null}]},{"id":"2147ea00-2529-4561-83b6-513b23b49f6e","directory":"final-fantasy-xx-2-hd-remaster","title":"FINAL FANTASY X/X-2 HD Remaster","compatibility":1,"releases":[{"id":"0100BC300CB48000","region":null}]},{"id":"2149cdcc-49b3-4b74-bca3-e403f1046c68","directory":"realm-royale","title":"Realm Royale","compatibility":99,"releases":[{"id":"0100CC400DDE8000","region":null}]},{"id":"21599666-82bf-4518-beaa-6a2f592878b5","directory":"arcade-archives-super-punch-out","title":"Arcade Archives SUPER PUNCH-OUT!!","compatibility":0,"releases":[{"id":"01007E2011CE4000","region":null}]},{"id":"215a5c85-be4d-4646-9e7a-02960a0395d8","directory":"slayaway-camp-butchers-cut","title":"Slayaway Camp: Butcher's Cut","compatibility":0,"releases":[{"id":"0100501006494000","region":null}]},{"id":"21626c01-f7d5-4465-9681-b014c9729c14","directory":"spelunky","title":"Spelunky","compatibility":0,"releases":[{"id":"0100710013ABA000","region":null}]},{"id":"2175a0c6-24b6-4c6b-a320-9795c3bb41f2","directory":"the-trail-frontier-challenge","title":"The Trail: Frontier Challenge","compatibility":99,"releases":[{"id":"0100B0E0086F6000","region":null}]},{"id":"217f4ac9-a6e3-431a-ba97-11a6bca49ab9","directory":"hardcube","title":"HardCube","compatibility":99,"releases":[{"id":"01000C90117FA000","region":null}]},{"id":"21859f8d-4bf6-4957-8e2e-a887adf3d2b3","directory":"cave-story","title":"Cave Story+","compatibility":1,"releases":[{"id":"0100B7D0022EE000","region":null}]},{"id":"218e3d35-9319-4e66-aa14-a12eb2820078","directory":"grand-prix-rock-n-racing","title":"Grand Prix Rock 'N Racing","compatibility":99,"releases":[{"id":"0100D84005AF6000","region":null}]},{"id":"21953b79-3d68-48cf-906c-fa5124d6cfcb","directory":"octopath-traveler","title":"Octopath Traveler","compatibility":1,"releases":[{"id":"010057D006492000","region":null}]},{"id":"2198df3b-5d0b-4395-bfa0-56add2aa9099","directory":"scribblenauts-showdown","title":"Scribblenauts Showdown","compatibility":5,"releases":[{"id":"01001E40041BE000","region":null}]},{"id":"21aafce7-1080-4a35-afb7-355ee49893b7","directory":"kirakira-stars-idol-project-reika","title":"Kirakira stars idol project Reika","compatibility":99,"releases":[{"id":"010009E0154C0000","region":null}]},{"id":"21ad9527-423a-497b-9d0e-1c51c842ee87","directory":"word-mesh","title":"Word Mesh","compatibility":99,"releases":[{"id":"010042800E748000","region":null}]},{"id":"21afa80e-1e9c-45d3-a8ab-bb7c95958696","directory":"debtor","title":"Debtor","compatibility":99,"releases":[{"id":"0100D96011D0E000","region":null}]},{"id":"21b46363-8d89-4935-9ca0-1c982caa4ebd","directory":"noreload-heroes","title":"NoReload Heroes","compatibility":1,"releases":[{"id":"0100E9A00B0BC000","region":null}]},{"id":"21b96f74-c035-47fc-a4c4-3b485e68c843","directory":"landflix-odyssey","title":"Landflix Odyssey","compatibility":99,"releases":[{"id":"0100BE3013A38000","region":null}]},{"id":"21bc2d01-e013-4bbc-bb39-897f2685f21f","directory":"a-jugglers-tale","title":"A Juggler's Tale","compatibility":99,"releases":[{"id":"0100CFD01517A000","region":null}]},{"id":"21de6c2e-45c1-4dc4-ba47-1bc61af6b114","directory":"wenjia","title":"Wenjia","compatibility":0,"releases":[{"id":"010035600EC94000","region":null}]},{"id":"21e59cc0-b312-4b15-bb43-6c1f829a6945","directory":"arcade-archives-radical-radial","title":"Arcade Archives RADICAL RADIAL","compatibility":99,"releases":[{"id":"0100A01011B04000","region":null}]},{"id":"22046a28-1842-40f5-82b8-9d580d482991","directory":"canceled-super-puzzles-dream","title":"Canceled! Super Puzzles Dream","compatibility":99,"releases":[{"id":"010023E016F8E000","region":null}]},{"id":"22135b58-c614-4888-9e2e-b073a51ed893","directory":"rise-and-shine","title":"Rise and Shine","compatibility":3,"releases":[{"id":"010065B00B0EC000","region":null}]},{"id":"221afbe6-2dec-4cc0-906b-ba37047fb688","directory":"fobia","title":"Fobia","compatibility":99,"releases":[{"id":"010056000BA1C000","region":null}]},{"id":"222af30e-b532-478d-aebf-8be7cc072594","directory":"road-96","title":"Road 96","compatibility":1,"releases":[{"id":"010031B0145B4000","region":null}]},{"id":"2231e39e-911e-4a1c-898f-605b69f431dd","directory":"super-skelemania","title":"Super Skelemania","compatibility":99,"releases":[{"id":"010039700D200000","region":null}]},{"id":"2234a4c2-afda-4b86-af77-47ea1f4dbc30","directory":"dungeon-nightmares-1-2-collection","title":"Dungeon Nightmares 1+2 Collection","compatibility":99,"releases":[{"id":"01009020135FE000","region":null}]},{"id":"2255a9e1-e120-4101-ac68-c617b692ece5","directory":"the-fall-part-2-unbound","title":"The Fall Part 2: Unbound","compatibility":99,"releases":[{"id":"01003E5002320000","region":null}]},{"id":"22597902-9e9e-40ce-a7da-75ac7dd49cf5","directory":"20xx","title":"20XX","compatibility":3,"releases":[{"id":"0100749009844000","region":null}]},{"id":"226d3d5f-b5f1-4bad-b4c2-79ddd629f181","directory":"kakurasu-world","title":"Kakurasu World","compatibility":99,"releases":[{"id":"010053C012AE2000","region":null}]},{"id":"22852653-ecee-4b9b-819d-9906dfa6e650","directory":"zombie-raid","title":"Zombie Raid","compatibility":99,"releases":[{"id":"0100A0E0153D0000","region":null}]},{"id":"2286d67d-338d-4888-9193-fa4942b7a236","directory":"good-night-knight","title":"Good Night, Knight","compatibility":99,"releases":[{"id":"01003AD0123A2000","region":null}]},{"id":"22b3bf07-2e57-420f-8498-7a8a54cb225b","directory":"at-sundown-shots-in-the-dark","title":"At Sundown: Shots in the Dark","compatibility":99,"releases":[{"id":"010032A008754000","region":null}]},{"id":"22b57769-80c5-400f-9361-62d2a3087f80","directory":"aca-neogeo-mutation-nation","title":"ACA NEOGEO MUTATION NATION","compatibility":99,"releases":[{"id":"01007F4004FA4000","region":null}]},{"id":"22bb3ec3-0c40-4f74-9f02-7152c50c73eb","directory":"robonauts","title":"Robonauts","compatibility":4,"releases":[{"id":"0100618004096000","region":null}]},{"id":"22bf5101-3823-43ae-8542-d9820e9521e5","directory":"paper-wars-cannon-fodder-devastated","title":"Paper Wars: Cannon Fodder Devastated","compatibility":99,"releases":[{"id":"0100D1D007F4E000","region":null}]},{"id":"22c5850e-f2c3-4867-830c-06861061929f","directory":"dirt-trackin-sprint-cars","title":"Dirt Trackin Sprint Cars","compatibility":99,"releases":[{"id":"01004CB01378A000","region":null}]},{"id":"22c7c7a9-b996-4bb7-90e9-f27ff8156fae","directory":"arcade-archives-ninja-kazan","title":"Arcade Archives Ninja Kazan","compatibility":99,"releases":[{"id":"010054B013FB2000","region":null}]},{"id":"22cda249-4823-43d5-8ff3-55e881b5429d","directory":"travel-mosaics-5-waltzing-vienna","title":"Travel Mosaics 5: Waltzing Vienna","compatibility":99,"releases":[{"id":"01004C4010C00000","region":null}]},{"id":"22d3a6a8-de8e-4951-aee1-9cb0419c3120","directory":"stay-cool-kobayashi-san-a-river-city-ransom-story","title":"STAY COOL, KOBAYASHI-SAN!: A RIVER CITY RANSOM STORY","compatibility":2,"releases":[{"id":"0100B61009C60000","region":null}]},{"id":"22dba733-83ec-4ebb-89bd-3b5ddc06f702","directory":"q-yo-blaster","title":"Q-YO Blaster","compatibility":5,"releases":[{"id":"0100F1100E606000","region":null}]},{"id":"22e266eb-92d9-42bc-9ae3-ca7962106c16","directory":"horror-sports-pinball","title":"Horror & Sports Pinball","compatibility":99,"releases":[{"id":"0100A6B016838000","region":null}]},{"id":"22e5384f-c6c6-4742-a291-7cd6468a03cd","directory":"monster-rancher-1-2-dx","title":"Monster Rancher 1 & 2 DX","compatibility":99,"releases":[{"id":"0100195015AC6000","region":null}]},{"id":"22e8123c-547f-4326-9eaf-7b3fd03acea2","directory":"smoots-world-cup-tennis","title":"Smoots World Cup Tennis","compatibility":0,"releases":[{"id":"0100A1A011944000","region":null}]},{"id":"22ea4756-2509-494b-97a0-8faa2f0fab68","directory":"ys-origin","title":"Ys Origin","compatibility":2,"releases":[{"id":"0100F90010882000","region":null}]},{"id":"22edb79e-f733-4f12-91b7-7e19b2231373","directory":"mr-blaster","title":"Mr Blaster","compatibility":99,"releases":[{"id":"0100D3300F110000","region":null}]},{"id":"22f1a7a0-2c51-4854-aec3-3deff3c4a265","directory":"voxelgram","title":"Voxelgram","compatibility":99,"releases":[{"id":"0100082010A4E000","region":null}]},{"id":"22f210bc-7b6c-413f-9d34-fa16080a2454","directory":"the-world-next-door","title":"The World Next Door","compatibility":99,"releases":[{"id":"0100E6200D56E000","region":null}]},{"id":"22fc5500-274c-4000-b13e-231fc7496b37","directory":"replica","title":"REPLICA","compatibility":99,"releases":[{"id":"0100EC3012AAC000","region":null}]},{"id":"2301177c-07ef-4928-a52a-acdeeb636235","directory":"lieat","title":"LiEat","compatibility":99,"releases":[{"id":"01000810151FA000","region":null}]},{"id":"23019c5d-3e3d-49e2-9672-08074cd0e8c5","directory":"secrets-of-magic-2-witches-wizards","title":"Secrets of Magic 2 - Witches & Wizards","compatibility":99,"releases":[{"id":"01000C100CFD8000","region":null}]},{"id":"230c236b-2300-4cbd-8fe1-b6b55d448f6f","directory":"sword-art-online-fatal-bullet-complete-edition","title":"SWORD ART ONLINE: FATAL BULLET Complete Edition","compatibility":4,"releases":[{"id":"01005DF00DC26000","region":null}]},{"id":"2328fbd4-7ea7-4ad8-91fb-d9637e53eb57","directory":"zumba-burn-it-up","title":"Zumba Burn It Up!","compatibility":3,"releases":[{"id":"0100C1700CD94000","region":null}]},{"id":"232e64fd-0a6b-42c4-b6da-4e5d387a82c6","directory":"tools-up","title":"Tools Up!","compatibility":0,"releases":[{"id":"010093F00E818000","region":null}]},{"id":"23456eed-20e3-471e-ac2c-9d2e56be07fa","directory":"telling-lies","title":"Telling Lies","compatibility":99,"releases":[{"id":"010021100DF22000","region":null}]},{"id":"234a0b6c-9545-4df8-89b7-5c1374098a0e","directory":"pocket-circuit","title":"Pocket Circuit","compatibility":99,"releases":[{"id":"01002D4012BBC000","region":null}]},{"id":"235121eb-4d4c-4563-9a84-b331a664b7cb","directory":"salt-and-sanctuary","title":"Salt and Sanctuary","compatibility":2,"releases":[{"id":"0100D250083B4000","region":null}]},{"id":"23522ed0-3e25-4a26-aaba-9c1065891d5a","directory":"diablo-iii-eternal-collection","title":"Diablo III: Eternal Collection","compatibility":1,"releases":[{"id":"01001B300B9BE000","region":null}]},{"id":"2352eeb6-d666-49f8-8d03-bfe3fe85f392","directory":"castle-of-no-escape-2","title":"Castle of no Escape 2","compatibility":99,"releases":[{"id":"0100F5500FA0E000","region":null}]},{"id":"23577b90-9779-4bdd-813d-d9b455be6df4","directory":"bucket-knight","title":"Bucket Knight","compatibility":1,"releases":[{"id":"0100089010A92000","region":null}]},{"id":"2367e1e5-82a3-41b3-8d65-0e7d92565f13","directory":"nerdook-bundle-vol-1","title":"Nerdook Bundle Vol. 1","compatibility":1,"releases":[{"id":"01000B2011352000","region":null}]},{"id":"237c60fa-0edb-4550-9fb8-85b26afd0c66","directory":"contract-killers","title":"Contract Killers","compatibility":99,"releases":[{"id":"0100726013C06000","region":null}]},{"id":"238e9728-9459-46bf-b874-842ae19977d2","directory":"light-fall","title":"Light Fall","compatibility":99,"releases":[{"id":"010030A006F6E000","region":null}]},{"id":"2390c702-1839-486b-833f-0025ca64edb2","directory":"blaster-master-zero-3","title":"Blaster Master Zero 3","compatibility":1,"releases":[{"id":"01002030143D0000","region":null}]},{"id":"2398e965-01cd-43ea-8aca-647e2d45a25b","directory":"metroid-dread","title":"Metroid™ Dread","compatibility":1,"releases":[{"id":"010093801237C000","region":null}]},{"id":"239b4c1c-5b1b-4397-ad68-5d12c94970ff","directory":"plumber-puzzles","title":"Plumber Puzzles","compatibility":99,"releases":[{"id":"0100ABF016B50000","region":null}]},{"id":"23a9dbc1-8447-44af-bc30-c72856c6ad93","directory":"the-grisaia-trilogy","title":"THE GRISAIA TRILOGY","compatibility":2,"releases":[{"id":"01003B300E4AA000","region":null}]},{"id":"23c0c458-2a75-45e9-a8ee-a61707c9787d","directory":"vvvvvv","title":"VVVVVV","compatibility":0,"releases":[{"id":"0100B1E0022F8000","region":null}]},{"id":"23c99558-7d3a-418d-9bcc-eb36b5c51ea3","directory":"ironcast","title":"IRONCAST","compatibility":1,"releases":[{"id":"01004DB003E6A000","region":null}]},{"id":"23ca17e4-55ed-48fe-a6ab-1eb9af257d4d","directory":"dungreed","title":"Dungreed","compatibility":0,"releases":[{"id":"0100FAD00C2AA000","region":null}]},{"id":"23cbb844-b213-46c4-9a78-a5b30ebd638d","directory":"cosmic-express","title":"Cosmic Express","compatibility":99,"releases":[{"id":"0100334013308000","region":null}]},{"id":"23d1b984-3a37-44b7-9f2f-acc7a50d3ffe","directory":"guns-gore-and-cannoli-2","title":"Guns, Gore and Cannoli 2","compatibility":0,"releases":[{"id":"01006D4003BCE000","region":null}]},{"id":"23d85b67-7f6b-443e-8351-56d3c8c32445","directory":"guess-the-character","title":"Guess the Character","compatibility":99,"releases":[{"id":"010089900C9FA000","region":null}]},{"id":"23e42778-2af4-4d07-9856-acaf20d86cca","directory":"picture-painting-puzzle-1000","title":"Picture Painting Puzzle 1000!","compatibility":99,"releases":[{"id":"0100A1A00C5D8000","region":null}]},{"id":"23f76bae-06e4-4709-a210-62f68aead488","directory":"xenon-valkyrie-demo","title":"Xenon Valkyrie+ Demo","compatibility":99,"releases":[{"id":"01007A300C856000","region":null}]},{"id":"23f808d0-c857-4d86-9324-33cd73feba24","directory":"pokemon-brilliant-diamond","title":"Pokémon™ Brilliant Diamond","compatibility":2,"releases":[{"id":"0100000011D90000","region":null}]},{"id":"23f82ff7-422d-4047-b115-e52e4cd9d629","directory":"space-crew","title":"Space Crew","compatibility":99,"releases":[{"id":"01004550100CC000","region":null}]},{"id":"240674b2-77e0-42e9-92b0-aeb2b3faf09c","directory":"lines-xl","title":"Lines XL","compatibility":99,"releases":[{"id":"010032F01096C000","region":null}]},{"id":"241cdc10-ea0e-4472-9fdc-94c2543349b2","directory":"think-of-the-children","title":"Think of the Children","compatibility":1,"releases":[{"id":"0100F2300A5DA000","region":null}]},{"id":"241d5092-b083-4675-83a3-da801b95905a","directory":"there-is-no-game-wrong-dimension","title":"There Is No Game: Wrong Dimension","compatibility":0,"releases":[{"id":"0100009013566000","region":null}]},{"id":"243ff8e7-f082-49fa-9ace-7b4dacc487b1","directory":"deemo","title":"DEEMO","compatibility":1,"releases":[{"id":"01002CC0062B8000","region":null}]},{"id":"24443beb-3f53-4089-8681-f7abbd482638","directory":"earth-atlantis","title":"Earth Atlantis","compatibility":1,"releases":[{"id":"0100E07006C84000","region":null}]},{"id":"24516c21-a98f-442d-8ba2-6bfb878a2397","directory":"tricky-spider","title":"Tricky Spider","compatibility":99,"releases":[{"id":"010097000EDB4000","region":null}]},{"id":"24518ec9-b9c5-48f1-a2ba-bab59d6d2b44","directory":"dynos-ghosts","title":"Dynos & Ghosts","compatibility":99,"releases":[{"id":"01007C30140F4000","region":null}]},{"id":"2451a42f-57ce-42b8-aa73-d93b70d8c2f9","directory":"thimbleweed-park","title":"Thimbleweed Park","compatibility":4,"releases":[{"id":"01009BD003B36000","region":null}]},{"id":"245933b0-2802-4136-8c14-a108a9268064","directory":"premium-pool-arena","title":"Premium Pool Arena","compatibility":0,"releases":[{"id":"0100D98007784000","region":null}]},{"id":"246ea180-88a6-436a-8428-38d11a12f8b7","directory":"star-crossed-myth-the-department-of-wishes-","title":"Star-Crossed Myth - The Department of Wishes -","compatibility":4,"releases":[{"id":"01005EB00EA10000","region":null}]},{"id":"246f8f1e-932c-4712-94ff-b126d21f3043","directory":"aca-neogeo-spin-master","title":"ACA NEOGEO SPIN MASTER","compatibility":4,"releases":[{"id":"01007D1004DBA000","region":null}]},{"id":"2474ca57-195e-4e6b-af72-f89f26dbce7c","directory":"the-incredible-adventures-of-super-panda","title":"The Incredible Adventures of Super Panda","compatibility":99,"releases":[{"id":"0100D1500F6DC000","region":null}]},{"id":"247ae799-a7fa-4a08-bfb8-bab65a164209","directory":"crash-team-racing-nitro-fueled","title":"Crash™ Team Racing Nitro-Fueled","compatibility":1,"releases":[{"id":"0100F9F00C696000","region":null}]},{"id":"24838602-eaa0-464e-a519-82edcb61f8b0","directory":"okinawa-rush","title":"Okinawa Rush","compatibility":99,"releases":[{"id":"0100D7B013BA8000","region":null}]},{"id":"24856159-94a7-4427-85dd-8c65b153ae42","directory":"trenga-unlimited","title":"Trenga Unlimited","compatibility":99,"releases":[{"id":"0100A8E013A16000","region":null}]},{"id":"24a40a71-39be-47b7-9aa1-d37b78e03dd2","directory":"truberbrook","title":"Trüberbrook","compatibility":99,"releases":[{"id":"0100E6300D448000","region":null}]},{"id":"24a69d36-978a-479b-981d-f104f51fd60e","directory":"reverie-sweet-as-edition","title":"Reverie: Sweet As Edition","compatibility":99,"releases":[{"id":"01008FF00B8FA000","region":null}]},{"id":"24a89d69-4e13-4e46-9082-30e8ba0ad8e4","directory":"hammer-2-reloaded","title":"Hammer 2 Reloaded","compatibility":1,"releases":[{"id":"01008FB015E40000","region":null}]},{"id":"24b65360-13d5-408c-b59c-c7b639980c5c","directory":"hunt","title":"Hunt","compatibility":99,"releases":[{"id":"01000DE0125B8000","region":null}]},{"id":"24bdf7c3-b4dd-47e7-9b64-9c34d2667fe3","directory":"baseball-riot","title":"Baseball Riot","compatibility":4,"releases":[{"id":"01004860080A0000","region":null}]},{"id":"24c042dc-653a-4cc1-95f1-45ca373883c8","directory":"mighty-goose","title":"Mighty Goose","compatibility":1,"releases":[{"id":"0100AD701344C000","region":null}]},{"id":"24c60885-fc30-49a5-b274-08a5740d2a51","directory":"perchang","title":"Perchang","compatibility":99,"releases":[{"id":"010011700D1B2000","region":null}]},{"id":"24c68af7-de4e-4a94-9189-ed7028e936c5","directory":"pba-pro-bowling","title":"PBA Pro Bowling","compatibility":3,"releases":[{"id":"010085700ABC8000","region":null}]},{"id":"24da3cc6-6e24-470f-81e5-f80fff6d4299","directory":"911-operator","title":"911 Operator","compatibility":0,"releases":[{"id":"0100CF10099B2000","region":null}]},{"id":"24df0ef5-c19f-4985-97d7-23979a17568d","directory":"boomerang-x","title":"Boomerang X","compatibility":99,"releases":[{"id":"0100C09014530000","region":null}]},{"id":"24e1cf3a-ae7e-4477-828b-4a2fdd116785","directory":"fortnite","title":"Fortnite","compatibility":2,"releases":[{"id":"010025400AECE000","region":null}]},{"id":"24eacb5a-67d1-4d9e-a468-5b41d84ba4cc","directory":"air-strike-ww2-fighters-sky-combat","title":"Air Strike: WW2 Fighters Sky Combat","compatibility":0,"releases":[{"id":"0100E2F016680000","region":null}]},{"id":"24ed537b-65a6-4382-933a-fa88c6226505","directory":"the-eternal-castle-remastered]","title":"The Eternal Castle [REMASTERED]","compatibility":99,"releases":[{"id":"010061900F896000","region":null}]},{"id":"24f11789-c7c1-4150-9f32-2d43581269f2","directory":"atomicrops","title":"Atomicrops","compatibility":99,"releases":[{"id":"0100AD30095A4000","region":null}]},{"id":"2502f6a9-b5b3-4e48-a2cc-a84da27e5b11","directory":"nba-2k20","title":"NBA 2K20","compatibility":99,"releases":[{"id":"010026000E466000","region":null}]},{"id":"250b193f-ed39-4cf7-bcd4-9f44164b0910","directory":"golden-force","title":"Golden Force","compatibility":1,"releases":[{"id":"01007DE013A48000","region":null}]},{"id":"25106727-7c11-4242-8d9c-cfdce93e2bbb","directory":"lets-sing-2021","title":"Let's Sing 2021","compatibility":99,"releases":[{"id":"010061F0119FA000","region":null}]},{"id":"251209de-fe72-4234-8cd0-3203dbe4fa42","directory":"nicole","title":"Nicole","compatibility":99,"releases":[{"id":"0100A95012668000","region":null}]},{"id":"2515706e-c36c-4094-82ba-440e49a8f303","directory":"the-bug-butcher","title":"The Bug Butcher","compatibility":0,"releases":[{"id":"01008D700AB14000","region":null}]},{"id":"251cee89-edab-4796-9d06-3209a827e7c5","directory":"cross-the-moon","title":"Cross the Moon","compatibility":99,"releases":[{"id":"0100946014BBC000","region":null}]},{"id":"2521ed47-f1b0-4cda-8533-9b3a1b19e239","directory":"beefense-beemastered","title":"BeeFense BeeMastered","compatibility":99,"releases":[{"id":"010018F007786000","region":null}]},{"id":"2537bf82-30b8-4e90-9e80-dd5467a7f84f","directory":"super-battle-cards","title":"Super Battle Cards","compatibility":99,"releases":[{"id":"0100D1B0102B0000","region":null}]},{"id":"254d6953-8096-487f-93d9-005cc89e56f1","directory":"delicious-pretty-girls-mahjong-solitaire","title":"Delicious! Pretty Girls Mahjong Solitaire","compatibility":99,"releases":[{"id":"0100498013F7E000","region":null}]},{"id":"254edea8-76de-4295-a1b8-146439e022c2","directory":"her-majestys-ship","title":"Her Majesty's Ship","compatibility":99,"releases":[{"id":"0100531011EF4000","region":null}]},{"id":"2557ff56-1d8b-4b0e-bbf0-0b0523cb44e8","directory":"gunbrick-reloaded","title":"Gunbrick: Reloaded","compatibility":1,"releases":[{"id":"01008DF00B78E000","region":null}]},{"id":"255f0446-96c3-4c4b-9a50-6ba26a067b39","directory":"fishing-fighters","title":"Fishing Fighters","compatibility":99,"releases":[{"id":"0100F38014A3E000","region":null}]},{"id":"2566e0e9-6e7c-4600-8936-40ab67185eec","directory":"arcade-archives-kids-horehore-daisakusen","title":"Arcade Archives Kid's Horehore Daisakusen","compatibility":99,"releases":[{"id":"0100E7C001DE0000","region":null}]},{"id":"2570eaaa-7827-4b57-94c0-9a83e433ec4d","directory":"hell-is-other-demons","title":"Hell is Other Demons","compatibility":99,"releases":[{"id":"0100E4300C278000","region":null}]},{"id":"258b9af0-342e-4188-bcdc-e24e13070c41","directory":"valthirian-arc-hero-school-story-demo","title":"Valthirian Arc: Hero School Story Demo","compatibility":99,"releases":[{"id":"0100CEC00BF04000","region":null}]},{"id":"25949273-4413-4c5a-8023-1452a20afc48","directory":"the-lightbringer","title":"The Lightbringer","compatibility":0,"releases":[{"id":"0100491014980000","region":null}]},{"id":"25ad20e7-0e34-4c2c-bb17-189d4d63a75b","directory":"7th-sector","title":"7th Sector","compatibility":1,"releases":[{"id":"01004B200DF76000","region":null}]},{"id":"25b069c8-3a7f-40c8-8c4c-c0aef49027f0","directory":"little-bug","title":"Little Bug","compatibility":1,"releases":[{"id":"0100F8D016700000","region":null}]},{"id":"25be889e-3780-4a34-a547-abdf74cf8497","directory":"shift-quantum-demo","title":"Shift Quantum Demo","compatibility":99,"releases":[{"id":"0100CA000C682000","region":null}]},{"id":"25cfe7d4-1efc-45f7-ad65-eb19162b46d7","directory":"retro-game-pack","title":"Retro Game Pack","compatibility":99,"releases":[{"id":"010026D0122B8000","region":null}]},{"id":"25d9e72f-ec5c-462e-8ea6-ce49827333f4","directory":"state-of-anarchy-master-of-mayhem","title":"State of Anarchy: Master of Mayhem","compatibility":99,"releases":[{"id":"010000700A572000","region":null}]},{"id":"25debf59-5320-401c-95c3-fefa89349fea","directory":"true-fear-forsaken-souls-part-1-demo","title":"True Fear: Forsaken Souls - Part 1 Demo","compatibility":99,"releases":[{"id":"010020100B768000","region":null}]},{"id":"25e6efee-38ec-4fa2-8c32-dc0645891d69","directory":"bomb","title":"Bomb","compatibility":99,"releases":[{"id":"0100516011606000","region":null}]},{"id":"26079cf6-911a-47ff-9733-7b0b187bea27","directory":"arcade-archives-haunted-castle","title":"Arcade Archives HAUNTED CASTLE","compatibility":99,"releases":[{"id":"010093E01450A000","region":null}]},{"id":"26127716-4ad5-48e2-b217-204cbc0e208f","directory":"never-stop","title":"Never Stop","compatibility":5,"releases":[{"id":"010021D00ACA2000","region":null}]},{"id":"2618b207-6f6f-4bcf-966c-457d9fee70a1","directory":"narcos-rise-of-the-cartels","title":"Narcos: Rise of the Cartels","compatibility":99,"releases":[{"id":"010072B00BDDE000","region":null}]},{"id":"26197e54-da9a-461e-ba31-545f08ea27ae","directory":"oxenfree","title":"OXENFREE","compatibility":2,"releases":[{"id":"01008B8004E36000","region":null}]},{"id":"261ab5d4-dd4b-4ff3-8ba2-9c27919b8732","directory":"seabed","title":"SeaBed","compatibility":99,"releases":[{"id":"0100C2400D68C000","region":null}]},{"id":"261bdb11-cbfa-43df-a516-64f00eba821b","directory":"infinite-tanks-wwii","title":"Infinite Tanks WWII","compatibility":99,"releases":[{"id":"010057101473A000","region":null}]},{"id":"2629aacc-38a7-482b-bc86-397ed191c035","directory":"ultimate-ski-jumping-2020","title":"Ultimate Ski Jumping 2020","compatibility":99,"releases":[{"id":"01006B601117E000","region":null}]},{"id":"262a87e3-cac4-43da-ad76-8c0ddbefab8d","directory":"one-escape","title":"One Escape","compatibility":99,"releases":[{"id":"010024C013E58000","region":null}]},{"id":"262cf9d1-fb3b-48bf-b896-e16531f67fbb","directory":"make-war","title":"Make War","compatibility":99,"releases":[{"id":"0100B0B011748000","region":null}]},{"id":"262dc5bb-818d-4b5d-9ec5-4b83abcfcc89","directory":"connection-haunted-server-error","title":"/Connection Haunted <SERVER ERROR>","compatibility":99,"releases":[{"id":"0100A5D01174C000","region":null}]},{"id":"262de758-7345-4316-8771-23ced1bcae4e","directory":"combat-core","title":"Combat Core","compatibility":99,"releases":[{"id":"0100A040069DE000","region":null}]},{"id":"262e0821-02af-45c8-93c1-ecca506485d8","directory":"far-lone-sails","title":"FAR: Lone Sails","compatibility":0,"releases":[{"id":"010022700E7D6000","region":null}]},{"id":"2648b853-0203-4aa5-b24e-f27e86e59ef7","directory":"black-bird","title":"BLACK BIRD","compatibility":0,"releases":[{"id":"010022B00ACE6000","region":null}]},{"id":"265ecef2-e08d-4b25-8b6a-eb992527166b","directory":"the-journey-down-chapter-one","title":"The Journey Down: Chapter One","compatibility":99,"releases":[{"id":"010052C00B184000","region":null}]},{"id":"266eddfa-e1b3-425b-9c56-893a44b09174","directory":"nightshade","title":"Nightshade/百花百狼","compatibility":2,"releases":[{"id":"010042300C4F6000","region":null}]},{"id":"2680263e-02ed-4487-84d3-253b96b6a65f","directory":"lost-castle","title":"Lost Castle","compatibility":0,"releases":[{"id":"0100581007068000","region":null}]},{"id":"2680607a-3659-4621-b617-e4df4966da96","directory":"arcade-archives-super-dodge-ball","title":"Arcade Archives Super Dodge Ball","compatibility":99,"releases":[{"id":"0100C6C009812000","region":null}]},{"id":"26849633-a46f-42cc-a9d8-84c67c0333ad","directory":"sky-gamblers-storm-raiders","title":"Sky Gamblers: Storm Raiders","compatibility":99,"releases":[{"id":"010093D00AC38000","region":null}]},{"id":"268f76e7-4d54-467f-9649-9b7b85e327b8","directory":"laraan","title":"Laraan","compatibility":99,"releases":[{"id":"0100AFE00E882000","region":null}]},{"id":"26a5e587-e712-4849-86b7-0a5ed195b582","directory":"pic-a-pix-deluxe-demo","title":"Pic-a-Pix Deluxe Demo","compatibility":99,"releases":[{"id":"01006E30099B8000","region":null}]},{"id":"26a84019-d132-4c6c-b377-928fc9fe5c7c","directory":"survival","title":"Survival","compatibility":99,"releases":[{"id":"0100DBB0136CE000","region":null}]},{"id":"26aa6a68-ca76-4e1e-923a-21ae86acb337","directory":"nickelodeon-kart-racers","title":"Nickelodeon Kart Racers","compatibility":0,"releases":[{"id":"0100D6200933C000","region":null}]},{"id":"26b92ab8-14ee-4b1f-b822-067e47754738","directory":"squabble","title":"Squabble","compatibility":99,"releases":[{"id":"010027E01435C000","region":null}]},{"id":"26ba904b-fc72-43a3-a123-3acc8b1e8854","directory":"knight-squad-2","title":"Knight Squad 2","compatibility":99,"releases":[{"id":"010024B00E1D6000","region":null}]},{"id":"26ba9c65-13b9-464b-b937-ffe43e23934a","directory":"mini-puzzle-balls","title":"Mini Puzzle Balls","compatibility":99,"releases":[{"id":"0100591010262000","region":null}]},{"id":"26e4371c-8ef2-435b-81b9-fc9914513285","directory":"slice-of-life","title":"Slice of Life","compatibility":99,"releases":[{"id":"010093A0117A0000","region":null}]},{"id":"26e5bf9a-87be-4558-b2e7-cb5b04d176ac","directory":"tetris-r-effect-connected","title":"Tetris® Effect: Connected","compatibility":2,"releases":[{"id":"0100DE501433A000","region":null}]},{"id":"26ea2bb8-b2c8-4201-bec7-bca6cdc2509d","directory":"flashback","title":"FLASHBACK","compatibility":1,"releases":[{"id":"01000A0004C50000","region":null}]},{"id":"26f2bbf5-6575-4c93-ae6a-b9f7bd896cd1","directory":"family-vacation-california","title":"Family Vacation: California","compatibility":99,"releases":[{"id":"010070A015100000","region":null}]},{"id":"26f88a47-d812-4669-a0ba-87a4464be5d4","directory":"touchdown-pinball","title":"Touchdown Pinball","compatibility":99,"releases":[{"id":"0100D04010E38000","region":null}]},{"id":"26fa5d12-391c-4cfa-917e-3127a522ba87","directory":"the-room","title":"The Room","compatibility":0,"releases":[{"id":"010079400BEE0000","region":null}]},{"id":"26fec3d3-07da-467c-807d-754cd48a0564","directory":"pocket-academy-demo","title":"Pocket Academy Demo","compatibility":99,"releases":[{"id":"010004D00D222000","region":null}]},{"id":"27063981-7c54-476f-b40c-a2e64bdc04b4","directory":"mekorama","title":"Mekorama","compatibility":4,"releases":[{"id":"0100B360068B2000","region":null}]},{"id":"2710af6d-9981-4786-9dd6-e7efdef080ec","directory":"hello-neighbor","title":"Hello Neighbor","compatibility":99,"releases":[{"id":"0100FAA00B168000","region":null}]},{"id":"2715224a-d26a-4de3-be6d-5fb6f4548121","directory":"aca-neogeo-alpha-mission-ii","title":"ACA NEOGEO ALPHA MISSION II","compatibility":99,"releases":[{"id":"0100A76002B46000","region":null}]},{"id":"2715dbc7-aa93-422d-814d-c8437c84fadb","directory":"knights-of-pen-and-paper-2-deluxiest-edition","title":"Knights of Pen & Paper 2 Deluxiest Edition","compatibility":3,"releases":[{"id":"010004400B22A000","region":null}]},{"id":"2722e23f-654e-4934-9a65-8fee06ff6a01","directory":"omotomo","title":"OmoTomO","compatibility":99,"releases":[{"id":"0100395010AD2000","region":null}]},{"id":"27298c36-6b52-4571-8bf6-e223048eeb88","directory":"resident-evil-4","title":"resident evil 4","compatibility":0,"releases":[{"id":"010099A00BC1E000","region":null}]},{"id":"2745a96a-3811-432d-bd95-2950c86cb072","directory":"shadows-of-adam","title":"Shadows of Adam","compatibility":99,"releases":[{"id":"0100AD700CBBE000","region":null}]},{"id":"2747c708-1c36-4cb9-856f-cfc01f946681","directory":"fallout-shelter","title":"Fallout Shelter","compatibility":2,"releases":[{"id":"010043500A17A000","region":null}]},{"id":"27569774-9c2c-4a07-98ac-b79c757a61c1","directory":"fateextella-link","title":"Fate/EXTELLA LINK","compatibility":4,"releases":[{"id":"01006E000C81C000","region":null}]},{"id":"2762e4cf-930a-4c94-b5c6-7d99caa47d5f","directory":"taiwan-monster-fruit-prologue","title":"Taiwan Monster Fruit : Prologue","compatibility":99,"releases":[{"id":"010028E013E0A000","region":null}]},{"id":"2769dcaa-bb34-490a-a10b-7e675382ed92","directory":"ooo-ascension","title":"oOo: Ascension","compatibility":99,"releases":[{"id":"010074000BE8E000","region":null}]},{"id":"276a7e80-33d1-49f0-b824-31bf163d712b","directory":"dry-drowning","title":"Dry Drowning","compatibility":99,"releases":[{"id":"01008ED00DABC000","region":null}]},{"id":"27858943-9d18-47d2-a238-50b15abb5c71","directory":"encodya","title":"Encodya","compatibility":99,"releases":[{"id":"0100D08014D88000","region":null}]},{"id":"278ab89b-8909-49c8-91e0-109341854849","directory":"arcade-archives-block-hole","title":"Arcade Archives BLOCK HOLE","compatibility":99,"releases":[{"id":"01009E7013B2C000","region":null}]},{"id":"278d00fd-578f-437e-92f1-2472a815377b","directory":"party-games-15-in-1","title":"Party Games: 15 in 1","compatibility":99,"releases":[{"id":"01009D901321A000","region":null}]},{"id":"2794ca70-e9f8-47c5-9c39-697b5d07fd0d","directory":"mighty-fight-federation","title":"Mighty Fight Federation","compatibility":99,"releases":[{"id":"0100C1E0135E0000","region":null}]},{"id":"27a06875-089e-400b-adc3-81a3a5ddd5b0","directory":"minute-of-islands","title":"Minute of Islands","compatibility":99,"releases":[{"id":"01004F500F9E4000","region":null}]},{"id":"27a134df-7243-4958-a192-323001acdf31","directory":"gone-home","title":"Gone Home","compatibility":2,"releases":[{"id":"0100EEC00AA6E000","region":null}]},{"id":"27ad3aa1-5d5b-4ae3-9e88-7c37e79c9156","directory":"dokuro","title":"Dokuro (ドクロ)","compatibility":2,"releases":[{"id":"01005EE00BC78000","region":null}]},{"id":"27b12f82-42a4-4999-9684-23926ba7fec9","directory":"snake-vs-snake","title":"Snake vs Snake","compatibility":4,"releases":[{"id":"0100FF700B96C000","region":null}]},{"id":"27b583df-6125-4ae3-a82b-374a7c0ba7b6","directory":"hot-shot-burn","title":"Hot Shot Burn","compatibility":99,"releases":[{"id":"0100DB80123D2000","region":null}]},{"id":"27b5ce95-7626-426d-872c-14cafdb8be87","directory":"twist-and-match","title":"Twist & Match","compatibility":99,"releases":[{"id":"0100EBE00DB2C000","region":null}]},{"id":"27b816a5-4c90-4980-8558-cd0c7f5bd009","directory":"my-little-fruit-juice-booth","title":"My Little Fruit Juice Booth","compatibility":99,"releases":[{"id":"0100B950153B2000","region":null}]},{"id":"27cb7e53-7e2c-4f66-9f5f-be3876170e5d","directory":"levelhead","title":"Levelhead","compatibility":99,"releases":[{"id":"01009A200BE42000","region":null}]},{"id":"27d5168b-e0c7-49e0-88f3-9c632880ad96","directory":"the-ramen-sensei","title":"The Ramen Sensei","compatibility":99,"releases":[{"id":"010020B00E89E000","region":null}]},{"id":"27d5cfdb-eca6-48b6-96ce-33ee307a27e7","directory":"the-park","title":"The Park","compatibility":99,"releases":[{"id":"01005C500D690000","region":null}]},{"id":"27f51d99-8642-407a-bb41-2f7924e0939a","directory":"community-inc","title":"Community Inc","compatibility":99,"releases":[{"id":"010059C00E900000","region":null}]},{"id":"27f581f2-dba3-41e9-a4d5-95609a18266c","directory":"hungry-baby-party-treats","title":"Hungry Baby: Party Treats","compatibility":99,"releases":[{"id":"01002A100E010000","region":null}]},{"id":"27fc53ea-2f66-4e8a-8112-7938007f41dd","directory":"halloween-forever","title":"Halloween Forever","compatibility":0,"releases":[{"id":"010057D013210000","region":null}]},{"id":"28114dea-3c42-4a10-8091-cc7e7dc30754","directory":"hell-sports","title":"Hell Sports","compatibility":0,"releases":[{"id":"010036A01342C000","region":null}]},{"id":"28148d4a-f1d1-4325-a50d-b2a4ca5a8d84","directory":"marvels-guardians-of-the-galaxy-cloud-version","title":"Marvel's Guardians of the Galaxy: Cloud Version","compatibility":99,"releases":[{"id":"0100C3F01567E000","region":null}]},{"id":"2814b905-7f36-45bc-b0e1-d75a32486fee","directory":"welcome-to-primrose-lake","title":"Welcome to Primrose Lake","compatibility":99,"releases":[{"id":"0100D7F010B94000","region":null}]},{"id":"2814f61c-3d78-4aa1-b9b1-8aeac1037016","directory":"very-very-valet","title":"Very Very Valet","compatibility":99,"releases":[{"id":"0100379013A62000","region":null}]},{"id":"282d7e28-a1bf-4909-ae56-9c3307aa2780","directory":"all-walls-must-fall","title":"All Walls Must Fall","compatibility":99,"releases":[{"id":"0100CBD012FB6000","region":null}]},{"id":"28331c17-fb9e-42a4-843d-617c6e3bc532","directory":"monster-bugs-eat-people","title":"Monster Bugs Eat People","compatibility":99,"releases":[{"id":"01005FC01000E000","region":null}]},{"id":"28412b0d-5b31-446f-aa5e-29a62435650b","directory":"moero-crystal-h","title":"Moero Crystal H","compatibility":5,"releases":[{"id":"01004EB0119AC000","region":null}]},{"id":"28508d8c-2aaa-4601-8efc-d367023c029c","directory":"monkey-king-master-of-the-clouds","title":"Monkey King: Master of the Clouds","compatibility":0,"releases":[{"id":"01004C500B8E0000","region":null}]},{"id":"2854ccc1-b80a-4502-8340-6e8f1159f1f8","directory":"batman-the-enemy-within","title":"Batman: The Enemy Within","compatibility":2,"releases":[{"id":"0100E6300AA3A000","region":null}]},{"id":"28566967-36cb-4640-a898-35a361850f51","directory":"taiko-no-tatsujin-rhythmic-adventure-pack","title":"Taiko no Tatsujin: Rhythmic Adventure Pack","compatibility":0,"releases":[{"id":"0100DD6012644000","region":null}]},{"id":"286fdfc0-ad6f-471c-8e9b-3762bb803531","directory":"earthfall-alien-horde","title":"Earthfall: Alien Horde","compatibility":99,"releases":[{"id":"0100DFC00E472000","region":null}]},{"id":"28825b3c-4e8b-46dd-a417-95a43e861a55","directory":"pandaball","title":"PandaBall","compatibility":99,"releases":[{"id":"010044A0134E8000","region":null}]},{"id":"288c324b-d13f-4429-a1e3-b066be756ef5","directory":"nordlicht","title":"Nordlicht","compatibility":0,"releases":[{"id":"0100A5601375C000","region":null}]},{"id":"288cc6a1-4b59-42ac-aad5-be93aff5e63b","directory":"the-mooseman","title":"The Mooseman","compatibility":99,"releases":[{"id":"010033300AC1A000","region":null}]},{"id":"2892dabe-3058-4213-918c-c0f982901afd","directory":"war-truck-simulator","title":"War Truck Simulator","compatibility":99,"releases":[{"id":"0100B6B013B8A000","region":null}]},{"id":"28a9659a-baf9-4c96-9295-101c4fec1540","directory":"despotism-3k","title":"Despotism 3k","compatibility":1,"releases":[{"id":"010082C011B24000","region":null}]},{"id":"28ac1f5b-ed5a-445b-99f7-6c3a2476b509","directory":"tinker-racers","title":"Tinker Racers","compatibility":0,"releases":[{"id":"0100F93012A36000","region":null}]},{"id":"28ad66bf-0931-4eb6-89d2-a9137254467c","directory":"down-to-hell","title":"Down to Hell","compatibility":99,"releases":[{"id":"0100B6600FE06000","region":null}]},{"id":"28b11ed4-e1de-4456-90f2-8530293fa798","directory":"embers-of-mirrim","title":"Embers of Mirrim","compatibility":1,"releases":[{"id":"0100322004844000","region":null}]},{"id":"28b1ba55-cf86-4670-9c4e-7148e823c381","directory":"kholat","title":"Kholat","compatibility":99,"releases":[{"id":"0100F680116A2000","region":null}]},{"id":"28cbdd1b-89ba-4e9b-bce7-04de52efb8dd","directory":"zarvot","title":"Zarvot","compatibility":99,"releases":[{"id":"0100E7900C4C0000","region":null}]},{"id":"28cdb5a8-e701-4673-aba5-0a94c2baa92b","directory":"sisters-royale-five-sisters-under-fire","title":"Sisters Royale: Five Sisters Under Fire","compatibility":1,"releases":[{"id":"0100B3900F02A000","region":null}]},{"id":"28efe0cb-199b-4132-bfaf-7f1821a2cf6a","directory":"phantom-trigger","title":"Phantom Trigger","compatibility":5,"releases":[{"id":"0100C31005A50000","region":null}]},{"id":"28f5a6ea-fca9-44c5-bb9d-8be6b0cf3c3f","directory":"five-nights-at-freddys-4","title":"Five Nights at Freddy's 4","compatibility":99,"releases":[{"id":"010083800E43E000","region":null}]},{"id":"29141afd-6353-428b-aed4-2472e92e6916","directory":"danger-gazers","title":"Danger Gazers","compatibility":3,"releases":[{"id":"0100B3901324A000","region":null}]},{"id":"291f5d68-e1c8-486b-9557-23ac9132dac2","directory":"aery-dreamscape","title":"Aery - Dreamscape","compatibility":99,"releases":[{"id":"0100C5A016C2E000","region":null}]},{"id":"29597c3b-7f4e-41d6-b048-820d40030793","directory":"orbals","title":"Orbals","compatibility":99,"releases":[{"id":"0100372013286000","region":null}]},{"id":"296085e7-34b2-4acb-ac37-99f7fbba578a","directory":"madoris-r","title":"MADORIS R","compatibility":99,"releases":[{"id":"0100A5A01119A000","region":null}]},{"id":"2961af0c-10be-46c3-8e05-d8b3a2d17fa1","directory":"jewel-fever-2-demo","title":"Jewel Fever 2 Demo","compatibility":99,"releases":[{"id":"010021400C6C4000","region":null}]},{"id":"29680773-1ab1-496e-a06d-1979f725babd","directory":"red-colony","title":"Red Colony","compatibility":99,"releases":[{"id":"0100ED90137C6000","region":null}]},{"id":"2975b278-0b2b-4a8c-816d-92277b3fc69c","directory":"worlds-of-magic-planar-conquest","title":"Worlds of Magic: Planar Conquest","compatibility":99,"releases":[{"id":"010000301025A000","region":null}]},{"id":"2976f228-38a7-4f2b-be5b-580ea1e97457","directory":"orbibot","title":"Orbibot","compatibility":0,"releases":[{"id":"010006A0158A8000","region":null}]},{"id":"297ed1c2-911b-4bb7-9d14-626143431603","directory":"automachef","title":"Automachef","compatibility":99,"releases":[{"id":"0100AA800DA42000","region":null}]},{"id":"298ad295-1c30-4143-bb8f-6d4896df8156","directory":"stilstand","title":"Stilstand","compatibility":99,"releases":[{"id":"0100442015FDA000","region":null}]},{"id":"29936ce7-d786-4207-b138-14b027cd3852","directory":"clash-force","title":"Clash Force","compatibility":99,"releases":[{"id":"01005ED0107F4000","region":null}]},{"id":"299653a2-9224-4fd1-868b-9a4f9d5d8d50","directory":"overwhelm","title":"OVERWHELM","compatibility":3,"releases":[{"id":"01005F000CC18000","region":null}]},{"id":"2999b067-96f9-44b8-a17f-e26c1864976f","directory":"ninjin-clash-of-carrots","title":"Ninjin: Clash of Carrots","compatibility":99,"releases":[{"id":"010003C00B868000","region":null}]},{"id":"29ad44d9-0372-4c19-855c-2594449f845c","directory":"travel-mosaics-3-tokyo-animated","title":"Travel Mosaics 3: Tokyo Animated","compatibility":99,"releases":[{"id":"0100102010BFC000","region":null}]},{"id":"29c16c60-63e7-487c-8139-76343086ff9e","directory":"grim-fandango-remastered","title":"Grim Fandango Remastered","compatibility":2,"releases":[{"id":"0100B7900B024000","region":null}]},{"id":"29e2b51f-693e-41ad-9b2b-ec51be9c7ba5","directory":"dawn-of-survivors","title":"Dawn of Survivors","compatibility":99,"releases":[{"id":"010009500C30C000","region":null}]},{"id":"29ea1d88-907d-4ab0-9fab-45ccbd18d64a","directory":"samurai-defender-ninja-warfare","title":"Samurai Defender: Ninja Warfare","compatibility":99,"releases":[{"id":"01002B400873C000","region":null}]},{"id":"29f82e00-a6bd-4dcf-9b4d-622ebe70a45d","directory":"disjunction","title":"Disjunction","compatibility":4,"releases":[{"id":"01000B70122A2000","region":null}]},{"id":"29fce534-5504-46f1-b18a-c33fca5bdc75","directory":"pic-a-pix-pieces","title":"Pic-a-Pix Pieces","compatibility":4,"releases":[{"id":"010065500C980000","region":null}]},{"id":"29ff7102-60c5-4e4f-82bd-d85d7fa75fd3","directory":"vegas-party","title":"Vegas Party","compatibility":99,"releases":[{"id":"01009CD003A0A000","region":null}]},{"id":"2a067c15-b84c-4520-9128-890b2d806df3","directory":"jewel-rotation","title":"Jewel Rotation","compatibility":99,"releases":[{"id":"010060200F954000","region":null}]},{"id":"2a0fab55-8ab3-47fe-81d6-3164b8b0e3f0","directory":"void-trrlm-void-terrarium","title":"void tRrLM(); //Void Terrarium","compatibility":1,"releases":[{"id":"0100FF7010E7E000","region":null}]},{"id":"2a18bdf0-dcf4-44db-a866-10ba8e3b6040","directory":"fire-tonight","title":"Fire Tonight","compatibility":99,"releases":[{"id":"0100810013704000","region":null}]},{"id":"2a270d9f-292f-4a5f-8062-6c3af5fcaada","directory":"tied-together-demo","title":"Tied Together Demo","compatibility":99,"releases":[{"id":"01001DB00CCA6000","region":null}]},{"id":"2a2c1ef6-cec0-4f68-85cf-029ed06dbe0b","directory":"writhe","title":"WRITHE","compatibility":99,"releases":[{"id":"0100567011972000","region":null}]},{"id":"2a3a13a2-c35c-476f-83dc-c6b6642cfa3b","directory":"fort-triumph","title":"Fort Triumph","compatibility":99,"releases":[{"id":"01008DE013C40000","region":null}]},{"id":"2a53acef-ef91-4f34-a1d7-f4d58a417571","directory":"the-stretchers","title":"The Stretchers","compatibility":1,"releases":[{"id":"0100AA400A238000","region":null}]},{"id":"2a548889-e3de-4df7-a7d2-591fec232c11","directory":"rock-n-racing-bundle-grand-prix-rally","title":"Rock 'N Racing Bundle Grand Prix & Rally","compatibility":2,"releases":[{"id":"01000CC012D74000","region":null}]},{"id":"2a5543d7-ada4-4e38-b787-561da8c6aeda","directory":"tricky-towers","title":"Tricky Towers","compatibility":1,"releases":[{"id":"010015F005C8E000","region":null}]},{"id":"2a55a15e-7c69-4c35-95ac-b9df2c5ae55f","directory":"tadpole-treble-encore","title":"Tadpole Treble Encore","compatibility":99,"releases":[{"id":"01004D400C870000","region":null}]},{"id":"2a689c18-22d5-419d-8ec3-69fb0283cec4","directory":"gunbarich-for-nintendo-switch","title":"GUNBARICH for Nintendo Switch","compatibility":1,"releases":[{"id":"01002B2004F76000","region":null}]},{"id":"2a69aa7f-abf4-43c8-a934-c55d9206527b","directory":"radio-commander","title":"Radio Commander","compatibility":99,"releases":[{"id":"0100BAD013B6E000","region":null}]},{"id":"2a70c104-f7b5-4be7-921e-2151f6744dfa","directory":"nyan-cat-lost-in-space","title":"Nyan Cat: Lost in Space","compatibility":99,"releases":[{"id":"010049F00EC30000","region":null}]},{"id":"2a7904bf-9b0c-47ba-9b95-f0692214849d","directory":"cooking-simulator-pizza","title":"Cooking Simulator - Pizza","compatibility":99,"releases":[{"id":"010033C014666000","region":null}]},{"id":"2a7a9dc8-53c8-4026-8ec2-7888fa8dcb8c","directory":"arcade-archives-typhoon-gal","title":"Arcade Archives TYPHOON GAL","compatibility":99,"releases":[{"id":"01006B80156D2000","region":null}]},{"id":"2a81a464-c86e-4211-b657-7c276083000f","directory":"puzzle-chess","title":"Puzzle & Chess","compatibility":99,"releases":[{"id":"0100287014E96000","region":null}]},{"id":"2a8afe20-6cea-46bd-b049-ff851898ee14","directory":"eat-your-letters","title":"Eat your letters","compatibility":99,"releases":[{"id":"0100BBA014FCC000","region":null}]},{"id":"2a8df75e-c542-4e55-8171-06dc7a291d8e","directory":"super-star-blast","title":"Super Star Blast","compatibility":99,"releases":[{"id":"01000E300E2D6000","region":null}]},{"id":"2a8f7b2c-14c7-4002-b564-f884456bf186","directory":"earthlock-demo","title":"EARTHLOCK Demo","compatibility":99,"releases":[{"id":"010067300AFFA000","region":null}]},{"id":"2a965068-ad2c-47ac-9a2e-0e04579d44b1","directory":"spacecolorsrunner","title":"SpaceColorsRunner","compatibility":99,"releases":[{"id":"0100E6700EF4C000","region":null}]},{"id":"2a9bf3c4-747d-4e5a-a509-9cdc003fc47f","directory":"i-am-ball","title":"I am Ball","compatibility":99,"releases":[{"id":"010070A01134A000","region":null}]},{"id":"2a9fa91f-8493-493c-8ab8-0f7e7a29b054","directory":"plunge","title":"Plunge","compatibility":99,"releases":[{"id":"0100F1800B3EC000","region":null}]},{"id":"2aa2fee2-a108-411d-80b7-c18170dcda1d","directory":"picross-s","title":"PICROSS S","compatibility":0,"releases":[{"id":"0100BA0003EEA000","region":null}]},{"id":"2aba7821-5614-415d-a829-4646d9d33d00","directory":"hix-puzzle-islands","title":"HIX: Puzzle Islands","compatibility":99,"releases":[{"id":"01002F70156FA000","region":null}]},{"id":"2abba450-bb63-4986-baef-5fe33dea43ab","directory":"bloodrayne-2-revamped","title":"BloodRayne 2: ReVamped","compatibility":0,"releases":[{"id":"0100BF50147C2000","region":null}]},{"id":"2ac25c48-6f54-4a56-97e2-ea9d5b3c7afd","directory":"gabbuchi","title":"Gabbuchi","compatibility":1,"releases":[{"id":"0100CCB00CBA8000","region":null}]},{"id":"2ad954cc-a4bd-4db9-9359-1e954a2732f2","directory":"hiragana-pixel-party","title":"Hiragana Pixel Party","compatibility":1,"releases":[{"id":"0100F3D008436000","region":null}]},{"id":"2ae69877-53a8-4e95-a062-1f9236b6d289","directory":"still-there","title":"Still There","compatibility":99,"releases":[{"id":"0100EF600F6C4000","region":null}]},{"id":"2aeacdd4-3bb3-416f-8c7a-3047a71c85e3","directory":"super-putty-squad","title":"Super Putty Squad","compatibility":5,"releases":[{"id":"0100331005E8E000","region":null}]},{"id":"2afb0488-46d2-4891-961e-fdf47764fd0d","directory":"rrootage-reloaded","title":"rRootage Reloaded","compatibility":0,"releases":[{"id":"01005CD015986000","region":null}]},{"id":"2b09f667-06f6-41bb-9222-b42e90d0b6e4","directory":"alpaca-ball-allstars","title":"Alpaca Ball: Allstars","compatibility":99,"releases":[{"id":"0100DE70131F4000","region":null}]},{"id":"2b0cfeed-7ebc-4065-a094-597bedd89eaf","directory":"secrets-of-magic-the-book-of-spells","title":"Secrets of Magic - The Book of Spells","compatibility":99,"releases":[{"id":"01003CB00CFD6000","region":null}]},{"id":"2b16a843-03b2-40f1-9023-87698ec8fb8f","directory":"uoris-dx","title":"UORiS DX","compatibility":99,"releases":[{"id":"0100F6300F94C000","region":null}]},{"id":"2b194c6d-a81d-43ec-8e8f-7634e6cd5faa","directory":"bezier-second-edition","title":"Bezier: Second Edition","compatibility":99,"releases":[{"id":"0100F1400FC9A000","region":null}]},{"id":"2b1dc18c-68cb-491e-964b-85c87c27d99f","directory":"minecraft-story-mode-season-two","title":"Minecraft: Story Mode - Season Two","compatibility":3,"releases":[{"id":"01003EF007ABA000","region":null}]},{"id":"2b24f456-7102-40db-bbe8-3a588c5bf315","directory":"arcade-archives-vs-castlevania","title":"Arcade Archives VS. CASTLEVANIA","compatibility":4,"releases":[{"id":"010029600EAE4000","region":null}]},{"id":"2b304feb-e4b8-43ae-b60e-a628550e6f47","directory":"firefighters-airport-heroes","title":"Firefighters - Airport Heroes","compatibility":99,"releases":[{"id":"010097500FBFA000","region":null}]},{"id":"2b3c1e1b-d779-47b4-b6b9-4f0f2f65bb84","directory":"ritual-crown-of-horns","title":"Ritual: Crown of Horns","compatibility":2,"releases":[{"id":"010042500FABA000","region":null}]},{"id":"2b3c5d30-9150-41c0-8c5f-82d7b60be2d4","directory":"sokobond","title":"Sokobond","compatibility":99,"releases":[{"id":"0100DF8013304000","region":null}]},{"id":"2b492945-407b-4f0e-9e29-8b54c071251e","directory":"raging-justice","title":"Raging Justice","compatibility":99,"releases":[{"id":"01003D00099EC000","region":null}]},{"id":"2b53a767-9d50-455a-833b-4681f188f239","directory":"gnomes-garden-2","title":"Gnomes Garden 2","compatibility":99,"releases":[{"id":"010008D00CCEC000","region":null}]},{"id":"2b5586c3-dd6f-489a-8cc2-2a8d06a19373","directory":"stellar-interface","title":"Stellar Interface","compatibility":99,"releases":[{"id":"01005A700C954000","region":null}]},{"id":"2b585edd-36b3-4055-ad61-b7b4296983d5","directory":"regina-mac","title":"Regina & Mac","compatibility":99,"releases":[{"id":"0100B56011B90000","region":null}]},{"id":"2b594bfb-9c3a-4220-8556-ed064d36fb03","directory":"angels-of-death","title":"Angels of Death","compatibility":1,"releases":[{"id":"0100AE000AEBC000","region":null}]},{"id":"2b64566e-8e40-40cd-8623-ab978b28528c","directory":"no-heroes-here","title":"No Heroes Here","compatibility":3,"releases":[{"id":"01009B400ACBA000","region":null}]},{"id":"2b655829-9398-4602-b04f-34e93f7a013e","directory":"street-outlaws-the-list","title":"Street Outlaws: The List","compatibility":99,"releases":[{"id":"010012400D202000","region":null}]},{"id":"2b80ad41-57f6-457b-974c-09ab898abbb9","directory":"freecell-solitaire-collection","title":"FreeCell Solitaire Collection","compatibility":99,"releases":[{"id":"0100E11014E68000","region":null}]},{"id":"2b815b5b-9998-4d31-9c31-797fd3ab856c","directory":"halloween-pinball","title":"Halloween Pinball","compatibility":99,"releases":[{"id":"0100E0D00C336000","region":null}]},{"id":"2b84296b-948d-4b10-ba6e-218d291f3f95","directory":"unlock-the-king","title":"Unlock The King","compatibility":99,"releases":[{"id":"0100AB2010B4C000","region":null}]},{"id":"2b8a3cd6-cd1d-4533-b41d-38fabe4aa304","directory":"my-universe-doctors-nurses","title":"My Universe - Doctors & Nurses","compatibility":99,"releases":[{"id":"01009CE015FD4000","region":null}]},{"id":"2ba1dd5a-6e24-46b1-818f-1d28bc9fbb62","directory":"darkest-dungeon","title":"Darkest Dungeon","compatibility":5,"releases":[{"id":"01008F1008DA6000","region":null}]},{"id":"2ba56d23-0c7a-4370-b3bb-4107c4c4b6ac","directory":"azurebreak-heroes","title":"Azurebreak Heroes","compatibility":99,"releases":[{"id":"010031D012BA4000","region":null}]},{"id":"2ba8eb51-9db9-446f-b291-338d2673f517","directory":"rekt-high-octane-stunts","title":"REKT! High Octane Stunts","compatibility":99,"releases":[{"id":"0100F1900B144000","region":null}]},{"id":"2ba99096-12b9-4471-9e78-5149d57f4712","directory":"salad-bar-tycoon","title":"Salad Bar Tycoon","compatibility":99,"releases":[{"id":"0100708012ECC000","region":null}]},{"id":"2baec860-a7d8-4013-b34c-5766b8a8d805","directory":"dual-brain-vol3-shapes","title":"Dual Brain Vol.3: Shapes","compatibility":1,"releases":[{"id":"0100C0F01078E000","region":null}]},{"id":"2bcce98f-5c40-4e9a-8a68-0a4329cc4cab","directory":"animal-pals-bubble-pop","title":"Animal Pals Bubble Pop","compatibility":99,"releases":[{"id":"010049501393A000","region":null}]},{"id":"2bd58ca4-cac9-4207-9721-57b9e4111c24","directory":"doom","title":"DOOM","compatibility":3,"releases":[{"id":"0100416004C00000","region":null}]},{"id":"2c049962-d0fa-4377-8a13-bb329d84d14d","directory":"undead-battle-royale","title":"Undead Battle Royale","compatibility":99,"releases":[{"id":"010033E014E3E000","region":null}]},{"id":"2c0fd009-5ee0-47ab-8fe7-fc44b042a837","directory":"cyanide-happiness-freakpocalypse","title":"Cyanide & Happiness - Freakpocalypse","compatibility":99,"releases":[{"id":"0100D0B01135C000","region":null}]},{"id":"2c14599d-7961-48b0-9880-a02e9486eb4a","directory":"creaks","title":"Creaks","compatibility":2,"releases":[{"id":"0100B0E010CF8000","region":null}]},{"id":"2c1d4f44-c17b-4ad8-8130-3e2a5e027bf3","directory":"gris","title":"GRIS","compatibility":0,"releases":[{"id":"0100E1700C31C000","region":null}]},{"id":"2c28f1f2-68a2-45a5-997b-68b6d7b5430e","directory":"mimpi-dreams","title":"Mimpi Dreams","compatibility":4,"releases":[{"id":"0100C41009E1A000","region":null}]},{"id":"2c57de46-5599-4899-852f-52bae94060d0","directory":"endocrisis","title":"Endocrisis","compatibility":99,"releases":[{"id":"0100A340154E6000","region":null}]},{"id":"2c668835-a72d-4cb0-9acb-a830ca3faf9e","directory":"asterix-and-obelix-xxl-2","title":"Asterix & Obelix XXL 2","compatibility":4,"releases":[{"id":"010050400BD38000","region":null}]},{"id":"2c6e66e5-eac6-4651-b00d-03105b70fdfd","directory":"blood-will-be-spilled","title":"Blood will be Spilled","compatibility":99,"releases":[{"id":"0100E060102AA000","region":null}]},{"id":"2c6fe20e-aa4e-4743-a4cf-cf9b38f0e285","directory":"more-dark","title":"More Dark","compatibility":99,"releases":[{"id":"01004230123E0000","region":null}]},{"id":"2c8d0849-4211-4cd3-b6e5-8fd5cb0ce2f2","directory":"laid-back-camp-virtual-fumoto-campsite","title":"Laid-Back Camp - Virtual - Fumoto Campsite","compatibility":0,"releases":[{"id":"0100030012E82000","region":null}]},{"id":"2c97f94b-9c6f-47b6-b3c2-3371f143f341","directory":"lost-lands-3-the-golden-curse","title":"Lost Lands 3: The Golden Curse","compatibility":99,"releases":[{"id":"0100156014C6A000","region":null}]},{"id":"2cb127eb-e996-43c0-af31-5153c3638b5a","directory":"hindsight-20-20-wrath-of-the-raakshasa","title":"Hindsight 20/20 - Wrath of the Raakshasa","compatibility":99,"releases":[{"id":"01005E3008452000","region":null}]},{"id":"2cbe4c69-0ba9-4a3a-ab9e-3d5e553a12a5","directory":"arcade-archives-wild-western","title":"Arcade Archives WILD WESTERN","compatibility":4,"releases":[{"id":"01001B000D8B6000","region":null}]},{"id":"2cc6c616-b346-4b1e-9c96-583a876c0643","directory":"the-sushi-spinnery","title":"The Sushi Spinnery","compatibility":99,"releases":[{"id":"010044200D2C4000","region":null}]},{"id":"2ccb3da9-5ac0-4a84-951e-63f52b208445","directory":"shift-happens-demo","title":"Shift Happens Demo","compatibility":99,"releases":[{"id":"010029E00B0D8000","region":null}]},{"id":"2cd09981-8d61-4193-97a4-b2c239bf4e05","directory":"nightmare-boy","title":"Nightmare Boy","compatibility":99,"releases":[{"id":"01005F4009112000","region":null}]},{"id":"2cdae8da-96a7-4233-932c-91c663d17d20","directory":"arcade-archives-shingen-samurai-fighter","title":"Arcade Archives SHINGEN SAMURAI-FIGHTER","compatibility":99,"releases":[{"id":"0100A9F014DB6000","region":null}]},{"id":"2cf744f1-784c-4cb1-9e9d-85ae51cd0d81","directory":"treadnauts","title":"Treadnauts","compatibility":99,"releases":[{"id":"01006EB004B0E000","region":null}]},{"id":"2d03e4ab-09db-4f60-82fd-e5026a02857b","directory":"robbie-swifthand-and-the-orb-of-mysteries","title":"Robbie Swifthand and the Orb of Mysteries","compatibility":2,"releases":[{"id":"010026500DAA8000","region":null}]},{"id":"2d20206e-85fa-436a-b7d0-83f1af57f3d6","directory":"monochrome-order","title":"Monochrome Order","compatibility":1,"releases":[{"id":"010075200F1CA000","region":null}]},{"id":"2d205f94-139d-4f51-ae83-2bcc89e20a82","directory":"paw-patrol-mighty-pups-save-adventure-bay","title":"PAW Patrol Mighty Pups Save Adventure Bay","compatibility":1,"releases":[{"id":"01001F201121E000","region":null}]},{"id":"2d2288a3-c9b7-4b6c-bf83-4074725ba702","directory":"aca-neogeo-real-bout-fatal-fury","title":"ACA NEOGEO REAL BOUT FATAL FURY","compatibility":2,"releases":[{"id":"010030F008730000","region":null}]},{"id":"2d311550-703e-4d03-bad2-cec598b5dbac","directory":"head-over-heels","title":"Head over Heels","compatibility":99,"releases":[{"id":"010048A0151CA000","region":null}]},{"id":"2d342f9b-dff4-42ab-8d05-394afe906c1f","directory":"vaporum","title":"Vaporum","compatibility":99,"releases":[{"id":"010030F00CA1E000","region":null}]},{"id":"2d356936-b25b-4d64-b271-b02a97276f2d","directory":"arcade-archives-circus-charlie","title":"Arcade Archives CIRCUS CHARLIE","compatibility":99,"releases":[{"id":"0100557012752000","region":null}]},{"id":"2d3a928c-b90c-437e-a181-fdedb3d3816d","directory":"the-almost-gone","title":"The Almost Gone","compatibility":1,"releases":[{"id":"010079A0112BE000","region":null}]},{"id":"2d4c03c3-d5db-4668-8268-4f1f417a9696","directory":"jdm-racing","title":"JDM Racing","compatibility":99,"releases":[{"id":"010002D00EDD0000","region":null}]},{"id":"2d5da000-8676-428d-88b5-ce3ff7c13fb5","directory":"professor-lupo-and-his-horrible-pets","title":"Professor Lupo and his Horrible Pets","compatibility":0,"releases":[{"id":"010018300C83A000","region":null}]},{"id":"2d5e8023-e179-48b4-b7c6-c99c5bab208b","directory":"remothered-broken-porcelain","title":"Remothered: Broken Porcelain","compatibility":3,"releases":[{"id":"0100FBD00F5F6000","region":null}]},{"id":"2d60e067-dc8a-48c3-a4f5-ba9825f67e95","directory":"please-the-gods","title":"Please The Gods","compatibility":99,"releases":[{"id":"0100E5500FE0A000","region":null}]},{"id":"2d62c5d1-e638-4fa4-9c25-08f64ea68219","directory":"the-church-in-the-darkness","title":"The Church in the Darkness","compatibility":99,"releases":[{"id":"010000B00D800000","region":null}]},{"id":"2d6fa37f-5e74-466e-ac68-219045ce79f9","directory":"just-glide","title":"Just Glide","compatibility":99,"releases":[{"id":"01002C301033E000","region":null}]},{"id":"2d7755c9-a089-4008-86a9-97208358d316","directory":"alchemists-castle","title":"Alchemist's Castle","compatibility":0,"releases":[{"id":"010001E00F75A000","region":null}]},{"id":"2d793e23-4f89-4ad1-b4b1-ec9b70938dca","directory":"realmyst-masterpiece-edition","title":"realMyst: Masterpiece Edition","compatibility":2,"releases":[{"id":"0100E64010BAA000","region":null}]},{"id":"2d7fb843-820d-4260-bd8c-ee1b9f37e854","directory":"bonfire-peaks","title":"Bonfire Peaks","compatibility":99,"releases":[{"id":"010057C01330A000","region":null}]},{"id":"2d8543f6-e27a-410a-85b0-16a0c89f7b32","directory":"aragami-shadow-edition","title":"Aragami: Shadow Edition","compatibility":99,"releases":[{"id":"010071800BA74000","region":null}]},{"id":"2d85d9be-78a5-4c4e-93aa-f94a2b6e8223","directory":"bloxiq","title":"bloxiq","compatibility":99,"releases":[{"id":"01002F300AC18000","region":null}]},{"id":"2d9675d1-1e34-4d4c-a458-aadbdb0935ea","directory":"bioshock-2-remastered","title":"BioShock 2 Remastered","compatibility":4,"releases":[{"id":"01002620102C6000","region":null}]},{"id":"2d9c1475-54aa-4b77-8759-22fd2e94eeb5","directory":"dark-arcana-the-carnival","title":"Dark Arcana: The Carnival","compatibility":99,"releases":[{"id":"01003D301357A000","region":null}]},{"id":"2da01d0f-bacd-4113-ba74-3c27727acb7e","directory":"aca-neogeo-samurai-shodown-iii","title":"ACA NEOGEO SAMURAI SHODOWN III","compatibility":99,"releases":[{"id":"0100804008794000","region":null}]},{"id":"2da41c46-2ca3-4f4d-a2c2-2917f12361e7","directory":"doubles-hard","title":"Doubles Hard","compatibility":99,"releases":[{"id":"0100024011858000","region":null}]},{"id":"2db69998-2c95-447f-bc0f-3c0ff616e902","directory":"caveman-chuck-prehistoric-adventure","title":"Caveman Chuck: Prehistoric Adventure","compatibility":99,"releases":[{"id":"010080C00AC3C000","region":null}]},{"id":"2dc32575-1ca5-4c8f-8cc5-74f8b4503429","directory":"save-koch","title":"Save Koch","compatibility":99,"releases":[{"id":"0100C8300FA90000","region":null}]},{"id":"2dd151e2-3031-48d8-8ae0-e72df746cfec","directory":"sunless-sea-zubmariner-edition","title":"Sunless Sea: Zubmariner Edition","compatibility":3,"releases":[{"id":"01005A700ECF8000","region":null}]},{"id":"2de4b2ff-9ecf-4501-b28b-d3d1c0b2b894","directory":"onigiri","title":"Onigiri","compatibility":99,"releases":[{"id":"0100BC200B99E000","region":null}]},{"id":"2de9ca7d-afe0-41aa-8159-6a26d9fa31f5","directory":"dark-thrones","title":"Dark Thrones","compatibility":1,"releases":[{"id":"01002D5014EB4000","region":null}]},{"id":"2deab351-bd80-4ef6-9c81-90fcc3e32400","directory":"light-tracer","title":"Light Tracer","compatibility":0,"releases":[{"id":"010087700D07C000","region":null}]},{"id":"2df885ac-a961-400c-bc99-23e09a5e0d23","directory":"truck-simulator","title":"Truck Simulator","compatibility":99,"releases":[{"id":"010066D013354000","region":null}]},{"id":"2e00eee8-1a21-4d26-8deb-a397073d902e","directory":"toree-2","title":"Toree 2","compatibility":99,"releases":[{"id":"0100C7301658C000","region":null}]},{"id":"2e0577a9-ab69-4364-b462-bf80afc9791d","directory":"aca-neogeo-world-heroes-2","title":"ACA NEOGEO WORLD HEROES 2","compatibility":99,"releases":[{"id":"01001BD00915A000","region":null}]},{"id":"2e224d9c-899f-40a3-8a1a-3f53d3e5ed3e","directory":"asdivine-menace","title":"Asdivine Menace","compatibility":1,"releases":[{"id":"0100FE000EC24000","region":null}]},{"id":"2e2610c1-fb3c-4e99-98f0-6de79bb8855e","directory":"transistor","title":"Transistor","compatibility":3,"releases":[{"id":"0100BE500BEA2000","region":null}]},{"id":"2e34b406-84cf-42b7-9265-01783497231a","directory":"red-rope-dont-fall-behind","title":"Red Rope: Don't Fall Behind +","compatibility":99,"releases":[{"id":"01002800110CA000","region":null}]},{"id":"2e42827f-837a-4944-914d-5a168cae0f9d","directory":"swap-this","title":"Swap This!","compatibility":1,"releases":[{"id":"010005500ADDC000","region":null}]},{"id":"2e42fd87-ae31-4832-a9d7-905a234ce9ae","directory":"duel-princess","title":"Duel Princess","compatibility":0,"releases":[{"id":"0100EDD016562000","region":null}]},{"id":"2e64dc24-624d-4622-b35b-8a658606a23b","directory":"dininho-space-adventure","title":"Dininho Space Adventure","compatibility":99,"releases":[{"id":"010027E0158A6000","region":null}]},{"id":"2e6ff344-f455-4fa7-96cf-11d5d9eaadcd","directory":"samurai-shodown-2","title":"SAMURAI SHODOWN!2","compatibility":0,"releases":[{"id":"010095300F778000","region":null}]},{"id":"2e751254-d567-4c85-92f1-250e102e54e9","directory":"mentori-puzzle","title":"Mentori Puzzle","compatibility":99,"releases":[{"id":"010080B00AF0E000","region":null}]},{"id":"2e891f14-70fa-48de-a1f1-1ed0c2ef5244","directory":"black-book","title":"Black Book","compatibility":99,"releases":[{"id":"0100DD1014AB8000","region":null}]},{"id":"2e9c54c3-5dcf-470b-a5c8-1adf17213268","directory":"smelter","title":"Smelter","compatibility":2,"releases":[{"id":"0100B45010E9C000","region":null}]},{"id":"2eadb046-8cc2-4837-a561-40049f22f6d7","directory":"arcade-archives-golf","title":"Arcade Archives GOLF","compatibility":99,"releases":[{"id":"01005BA00E6BE000","region":null}]},{"id":"2eb0cdad-043b-46d4-bece-9f78f2007ecc","directory":"maitetsupure-station","title":"Maitetsu:Pure Station","compatibility":99,"releases":[{"id":"0100D9900F220000","region":null}]},{"id":"2eb58c74-78a7-4f83-bbbe-3b32d1fb830a","directory":"dont-forget-me","title":"Don't Forget Me","compatibility":99,"releases":[{"id":"01006DF015F00000","region":null}]},{"id":"2ec5de8f-8d9c-4ea0-bba6-0a315dc69e9c","directory":"behold-the-kickmen","title":"Behold the Kickmen","compatibility":99,"releases":[{"id":"0100558010B26000","region":null}]},{"id":"2ecbbf44-dfc8-4347-825c-303d18dad4fc","directory":"slam-land","title":"Slam Land","compatibility":99,"releases":[{"id":"01004E400A48C000","region":null}]},{"id":"2ed15f64-0abd-4758-9b0a-912eb43cf853","directory":"jigsaw-fun-piece-it-together","title":"Jigsaw Fun: Piece It Together!","compatibility":99,"releases":[{"id":"01008F1012DF4000","region":null}]},{"id":"2ed69050-8b03-480c-b6e1-1c6af4599711","directory":"cytus-a","title":"Cytus α","compatibility":1,"releases":[{"id":"010063100B2C2000","region":null}]},{"id":"2f06f14e-df13-4397-940a-7098ce561dc4","directory":"we-the-revolution","title":"We. The Revolution","compatibility":99,"releases":[{"id":"010045C00E27C000","region":null}]},{"id":"2f092c64-0cfa-4d0e-82fd-49b38a2fac34","directory":"7-billion-humans","title":"7 Billion Humans","compatibility":1,"releases":[{"id":"0100DA900B67A000","region":null}]},{"id":"2f133c3a-697d-4ed2-9a62-6c8ccadc137e","directory":"valkyria-chronicles-4","title":"Valkyria Chronicles 4","compatibility":4,"releases":[{"id":"01005C600AC68000","region":null}]},{"id":"2f1d5455-2701-437b-9276-8f1213c3710d","directory":"baobabs-mausoleum-ep2-1313-barnabas-dead-end-drive","title":"Baobabs Mausoleum Ep.2: 1313 Barnabas Dead End Drive","compatibility":99,"releases":[{"id":"010079300E976000","region":null}]},{"id":"2f207759-4a12-447b-a7bd-aab223f3734b","directory":"speed-brawl","title":"Speed Brawl","compatibility":5,"releases":[{"id":"010040F00AA9A000","region":null}]},{"id":"2f39f7c1-9d07-42f0-8ef1-81c54fdff93d","directory":"yokus-island-express","title":"Yoku's Island Express","compatibility":4,"releases":[{"id":"010002D00632E000","region":null}]},{"id":"2f3f7b28-40dc-4245-9970-54cf35d467f5","directory":"the-jackbox-party-pack","title":"The Jackbox Party Pack","compatibility":99,"releases":[{"id":"0100AE5003EE6000","region":null}]},{"id":"2f47c60c-43e4-437a-9b49-7505724106bb","directory":"defenders-of-ekron-definitive-edition","title":"Defenders of Ekron: Definitive Edition","compatibility":99,"releases":[{"id":"01008BB00F824000","region":null}]},{"id":"2f559e7e-837f-4252-9571-99aa36675ce8","directory":"tux-and-fanny","title":"Tux and Fanny","compatibility":99,"releases":[{"id":"0100E3301426E000","region":null}]},{"id":"2f6128d9-502f-47d4-bf5a-638d7478c592","directory":"atelier-firis-the-alchemist-and-the-mysterious-journey-dx","title":"Atelier Firis: The Alchemist and the Mysterious Journey DX","compatibility":99,"releases":[{"id":"010023201421E000","region":null}]},{"id":"2f70a015-ed03-4d4c-9f9f-8f9e4735db10","directory":"lofi-ping-pong","title":"Lofi Ping Pong","compatibility":99,"releases":[{"id":"0100D2C013288000","region":null}]},{"id":"2f73dcf4-f022-4f5e-8bd3-1ff2594aefa0","directory":"akibas-trip-hellbound-debriefed","title":"AKIBA'S TRIP: Hellbound & Debriefed","compatibility":99,"releases":[{"id":"01009E8012976000","region":null}]},{"id":"2f8787a9-3732-41d1-ab2c-9a9013ea3b02","directory":"kotodama-the-7-mysteries-of-fujisawa","title":"Kotodama: The 7 Mysteries of Fujisawa","compatibility":0,"releases":[{"id":"010046600CCA4000","region":null}]},{"id":"2fa16b43-f78d-4077-b3f6-19162d7dc700","directory":"armello","title":"Armello","compatibility":1,"releases":[{"id":"010070A00A5F4000","region":null}]},{"id":"2fa346a7-ec9c-4c3b-8556-d9ff54ce08d2","directory":"mowin-and-throwin","title":"Mowin' & Throwin'","compatibility":99,"releases":[{"id":"01001C500D850000","region":null}]},{"id":"2fadd10c-399a-4d73-b0c8-49b21ef8b601","directory":"baldurs-gate-dark-alliance","title":"Baldur's Gate: Dark Alliance","compatibility":0,"releases":[{"id":"0100FD1014726000","region":null}]},{"id":"2faec41b-9a72-4a15-b58b-bcce4665abec","directory":"freddy-spaghetti-2","title":"Freddy Spaghetti 2","compatibility":99,"releases":[{"id":"0100329015900000","region":null}]},{"id":"2fb77223-9b73-4427-a2e9-487d987b692c","directory":"mexican-train-dominoes-gold","title":"Mexican Train Dominoes Gold","compatibility":99,"releases":[{"id":"01007320134EE000","region":null}]},{"id":"2fc91efa-0b6c-40ac-9ed0-2da2af13a05c","directory":"inked-a-tale-of-love","title":"Inked: A Tale of Love","compatibility":99,"releases":[{"id":"01008B801471C000","region":null}]},{"id":"2fe91d42-a9b4-4586-ab3a-628b6117d34f","directory":"everyday-todays-menu-for-emiya-family","title":"Everyday♪ Today's MENU for EMIYA Family","compatibility":1,"releases":[{"id":"010031B012254000","region":null}]},{"id":"2ff80137-7601-4fd4-b7fb-3f17591c5dfb","directory":"oddworld-munchs-oddysee","title":"Oddworld: Munch's Oddysee","compatibility":4,"releases":[{"id":"0100BB500EE3C000","region":null}]},{"id":"300ae4ff-2934-4866-92b3-84627024870f","directory":"grisaia-phantom-trigger-03","title":"GRISAIA PHANTOM TRIGGER 03","compatibility":3,"releases":[{"id":"01005250123B8000","region":null}]},{"id":"301ee9be-e52e-400b-aeec-bab95afb8232","directory":"project-starship-x","title":"Project Starship X","compatibility":1,"releases":[{"id":"0100EC5012BDE000","region":null}]},{"id":"30240933-1ef4-42a3-8275-278f5bab0eb4","directory":"my-hero-ones-justice-2","title":"MY HERO ONE'S JUSTICE 2","compatibility":2,"releases":[{"id":"01007E700DBF6000","region":null}]},{"id":"3024941e-4396-4584-90d7-e6a31870df10","directory":"olliolli-switch-stance","title":"OlliOlli: Switch Stance","compatibility":99,"releases":[{"id":"0100E0200B980000","region":null}]},{"id":"30260332-0135-4c51-a352-a1f2d395f392","directory":"embers-of-mirrim-demo","title":"Embers of Mirrim Demo","compatibility":99,"releases":[{"id":"01008AF0080B8000","region":null}]},{"id":"30303741-f964-4b81-84d1-d469dc105d25","directory":"max-the-curse-of-brotherhood-demo","title":"Max: The Curse of Brotherhood (Demo)","compatibility":99,"releases":[{"id":"0100A9A0088FE000","region":null}]},{"id":"30333a11-79fe-488d-844c-aaeea0167be6","directory":"arcade-archives-vs-wrecking-crew","title":"Arcade Archives VS. WRECKING CREW","compatibility":99,"releases":[{"id":"0100B490113C8000","region":null}]},{"id":"303d2984-6283-40c6-8d2c-049cdbc15336","directory":"delta-squad","title":"Delta Squad","compatibility":99,"releases":[{"id":"0100C5E00E4E0000","region":null}]},{"id":"3048c0d6-825e-4651-ab7b-3edc09a620ab","directory":"aviary-attorney-definitive-edition","title":"Aviary Attorney: Definitive Edition","compatibility":1,"releases":[{"id":"0100B280106A0000","region":null}]},{"id":"30530b59-047c-4c25-aa10-b15077432445","directory":"the-witcher-3-wild-hunt-complete-edition","title":"The Witcher 3: Wild Hunt — Complete Edition","compatibility":5,"releases":[{"id":"0100BFE00E9CA000","region":null}]},{"id":"3059c05a-cc3f-40ef-847c-4db825ee73f7","directory":"i-zombie","title":"I, Zombie","compatibility":99,"releases":[{"id":"0100429006A06000","region":null}]},{"id":"3071ae4e-8265-404e-aaef-9daff482afa5","directory":"the-men-of-yoshiwara-kikuya","title":"The Men of Yoshiwara: Kikuya","compatibility":99,"releases":[{"id":"0100E95006B30000","region":null}]},{"id":"30a37296-1e38-4038-8cb4-04ad8feae446","directory":"pooplers","title":"Pooplers","compatibility":99,"releases":[{"id":"01005C5011086000","region":null}]},{"id":"30a6d8eb-9b56-4f5a-b758-9c19195d01dd","directory":"escape-from-life-inc","title":"Escape from Life Inc","compatibility":99,"releases":[{"id":"010023E013244000","region":null}]},{"id":"30aac3b7-a998-4a88-b264-a0f0d43437bc","directory":"mutazione","title":"Mutazione","compatibility":99,"releases":[{"id":"0100D750132D8000","region":null}]},{"id":"30b4484f-d9a1-4326-a2e1-ff26d7875911","directory":"taxi-sim-2020","title":"Taxi Sim 2020","compatibility":99,"releases":[{"id":"0100CD4011A18000","region":null}]},{"id":"30b6c15a-cb3e-48ea-8e63-88e31ea8085c","directory":"farm-together","title":"Farm Together","compatibility":99,"releases":[{"id":"010086B00BB50000","region":null}]},{"id":"30beec3d-8258-4c01-8492-4cbed8af655a","directory":"ultracore","title":"Ultracore","compatibility":1,"releases":[{"id":"0100E5C00DC46000","region":null}]},{"id":"30d5b111-ef51-40df-a9bd-ae93e0179f4e","directory":"kuso","title":"kuso","compatibility":99,"releases":[{"id":"01007C000C314000","region":null}]},{"id":"30e6c464-488f-493c-a5c3-8bb38f265008","directory":"astebreed","title":"Astebreed","compatibility":99,"releases":[{"id":"010057A00C1F6000","region":null}]},{"id":"30ecfd04-c26a-4d7d-a4df-465a0d8d618b","directory":"eqi","title":"EQI","compatibility":99,"releases":[{"id":"01000FA0149B6000","region":null}]},{"id":"310377b8-239e-4166-b18b-f1edd0fd4479","directory":"afl-evolution-2","title":"AFL Evolution 2","compatibility":99,"releases":[{"id":"01001B400D334000","region":null}]},{"id":"311a9a38-e0d1-42a1-b905-d63469d03b61","directory":"jay-and-silent-bob-mall-brawl","title":"Jay and Silent Bob: Mall Brawl","compatibility":1,"releases":[{"id":"0100CD1010740000","region":null}]},{"id":"311e098c-6b32-47a7-be6e-459af132139b","directory":"wayout","title":"Wayout","compatibility":99,"releases":[{"id":"01008E300E400000","region":null}]},{"id":"31334fe8-aa20-47e1-b1ca-6349bcfe3ace","directory":"titan-chaser","title":"Titan Chaser","compatibility":1,"releases":[{"id":"0100B4601500E000","region":null}]},{"id":"31392f21-3cc3-423f-ac55-6195ae03bfa8","directory":"smash-club-streets-of-shmeenis","title":"Smash Club: Streets of Shmeenis","compatibility":99,"releases":[{"id":"0100D6F013856000","region":null}]},{"id":"3143cc2e-4152-465b-8cd0-3fff8dec24bf","directory":"cake-laboratory","title":"Cake Laboratory","compatibility":99,"releases":[{"id":"0100B8E00CBB0000","region":null}]},{"id":"314b1501-5b88-4279-a25c-863b7c0f3fdf","directory":"teddy-the-wanderer-mountain-hike","title":"Teddy The Wanderer: Mountain Hike","compatibility":99,"releases":[{"id":"010078300DA14000","region":null}]},{"id":"314b3628-16d9-413c-a43c-9a79135ac09e","directory":"arcade-archives-twinbee","title":"Arcade Archives TwinBee","compatibility":99,"releases":[{"id":"010050200FFD2000","region":null}]},{"id":"314b39c3-97bc-4a4e-96ea-36645b9b2ac4","directory":"skate-city","title":"Skate City","compatibility":0,"releases":[{"id":"0100134011E32000","region":null}]},{"id":"3151ec43-5278-436b-9258-eb6c84f83777","directory":"call-of-cthulhu","title":"Call of Cthulhu","compatibility":0,"releases":[{"id":"010046000EE40000","region":null}]},{"id":"316155f2-34f9-4455-8c8e-b6d96a10227d","directory":"defend-the-kingdom","title":"Defend the Kingdom","compatibility":99,"releases":[{"id":"0100BBE015384000","region":null}]},{"id":"31856a5e-9846-4b09-9ee4-f1f4fe323289","directory":"waifu-uncovered","title":"Waifu Uncovered","compatibility":2,"releases":[{"id":"0100B130119D0000","region":null}]},{"id":"3186e43b-70bc-422d-9e2c-e411b5898947","directory":"bit-dungeon-plus","title":"Bit Dungeon Plus","compatibility":99,"releases":[{"id":"0100C6E0047C8000","region":null}]},{"id":"318c3d82-af21-4762-8288-9567c6b6e02e","directory":"no-time-to-relax","title":"No Time to Relax","compatibility":99,"releases":[{"id":"0100DE600FDFE000","region":null}]},{"id":"31a5f266-e8ad-46c1-a2cf-af773b958ddb","directory":"gaps-by-powgi","title":"Gaps by POWGI","compatibility":99,"releases":[{"id":"0100C4E015078000","region":null}]},{"id":"31a80cb7-b6f3-4411-b739-a60efb056f50","directory":"indivisible","title":"Indivisible","compatibility":2,"releases":[{"id":"01001D3003FDE000","region":null}]},{"id":"31acc5fa-f768-4a04-9cc2-06b1aafa7c4e","directory":"picross-s6","title":"PICROSS S6","compatibility":0,"releases":[{"id":"010025901432A000","region":null}]},{"id":"31bba738-76f5-4685-98b6-5c0815670f9e","directory":"sticky-monsters","title":"Sticky Monsters","compatibility":99,"releases":[{"id":"0100AA4014136000","region":null}]},{"id":"31c03d2d-e36f-44c4-b33e-e1f2c33bb073","directory":"one-step-from-eden","title":"One Step From Eden","compatibility":2,"releases":[{"id":"010048800F41C000","region":null}]},{"id":"31d60154-2d11-4394-b89c-db32415a64e6","directory":"what-the-zombies","title":"What The Zombies?!","compatibility":99,"releases":[{"id":"0100341016214000","region":null}]},{"id":"31dfbaf1-3ff6-40f4-b98b-2ba1d2e92675","directory":"monster-hunter-generations-ultimate-demo","title":"MONSTER HUNTER GENERATIONS ULTIMATE™ Demo","compatibility":99,"releases":[{"id":"0100E6400B1EA000","region":null}]},{"id":"31e178d1-349b-4cb4-bf33-600bc93898eb","directory":"blindy","title":"Blindy","compatibility":99,"releases":[{"id":"01007BF00FCB0000","region":null}]},{"id":"31f158e0-c83b-4527-a7d8-11726a020bb4","directory":"katamari-damacy-reroll","title":"Katamari Damacy REROLL","compatibility":1,"releases":[{"id":"0100D7000C2C6000","region":null}]},{"id":"31fbcf1c-7110-47dd-8007-37632ee8a4e1","directory":"rogue-singularity","title":"Rogue Singularity","compatibility":99,"releases":[{"id":"010068400ABB6000","region":null}]},{"id":"31fec938-4702-4ad0-bcb7-b3f036ba56c7","directory":"super-daryl-deluxe","title":"Super Daryl Deluxe","compatibility":99,"releases":[{"id":"010078800869A000","region":null}]},{"id":"32035180-d8ef-4b2f-bec7-397d4d30f67b","directory":"jumanji-the-video-game","title":"JUMANJI: The Video Game","compatibility":3,"releases":[{"id":"0100B4D00C76E000","region":null}]},{"id":"321560be-10e6-409e-bb29-41ba851f5d69","directory":"aca-neogeo-ninja-commando","title":"ACA NEOGEO NINJA COMMANDO","compatibility":5,"releases":[{"id":"01007E800AFB6000","region":null}]},{"id":"32169608-10b0-4cd3-aca2-9f8135c95697","directory":"the-secret-order-shadow-breach","title":"The Secret Order: Shadow Breach","compatibility":99,"releases":[{"id":"010044F0114B8000","region":null}]},{"id":"321d5852-f688-4623-8981-847f6f274f0b","directory":"phogs","title":"PHOGS!","compatibility":99,"releases":[{"id":"0100DA400F624000","region":null}]},{"id":"322680d9-3c18-40b9-84ff-0b01dc67a5c7","directory":"jiffy","title":"Jiffy","compatibility":5,"releases":[{"id":"01008330134DA000","region":null}]},{"id":"322f2db0-4582-441a-b2ad-fa0878142b9b","directory":"dungeon-stars","title":"Dungeon Stars","compatibility":99,"releases":[{"id":"0100E79009A94000","region":null}]},{"id":"32341f83-0c02-40ec-8e14-6c15c2d09858","directory":"snk-vs-capcom-the-match-of-the-millennium","title":"SNK VS. CAPCOM: THE MATCH OF THE MILLENNIUM","compatibility":99,"releases":[{"id":"010027D0137E0000","region":null}]},{"id":"323cf813-833e-4ee5-89e4-f8e001080e70","directory":"sinucaattack","title":"#SinucaAttack","compatibility":99,"releases":[{"id":"0100E0001338C000","region":null}]},{"id":"3242b203-1fd2-4dad-a588-250ffb7347b9","directory":"lotus-reverie-first-nexus","title":"Lotus Reverie: First Nexus","compatibility":99,"releases":[{"id":"010049901561C000","region":null}]},{"id":"324cc92a-e452-4be6-8ab4-b46e8d91994e","directory":"reknum","title":"Reknum","compatibility":99,"releases":[{"id":"0100A1D00FE54000","region":null}]},{"id":"32537e9e-b5f1-47af-b507-8507caff8797","directory":"ruinverse","title":"Ruinverse","compatibility":99,"releases":[{"id":"0100361013ACC000","region":null}]},{"id":"3260f32e-f8ba-4475-bbb2-959162101e8e","directory":"empire-of-angels-iv","title":"Empire of Angels IV","compatibility":99,"releases":[{"id":"0100D1A01460A000","region":null}]},{"id":"3262f262-2f1f-4f4a-b16f-6d09000f00c7","directory":"sentry","title":"SENTRY","compatibility":99,"releases":[{"id":"0100A5D012DAC000","region":null}]},{"id":"326d9bf1-9fa3-4ea0-9544-ca0e776be161","directory":"vigil-the-longest-night","title":"Vigil: The Longest Night","compatibility":1,"releases":[{"id":"01002D100EF3A000","region":null}]},{"id":"327318d6-16c6-414d-ac3f-23557cbd0f6e","directory":"edgar-bokbok-in-boulzac","title":"Edgar - Bokbok in Boulzac","compatibility":0,"releases":[{"id":"01009E700F726000","region":null}]},{"id":"32890cf5-529a-42b6-ac61-2cf266971205","directory":"splitter-critters","title":"Splitter Critters","compatibility":99,"releases":[{"id":"0100C320083BE000","region":null}]},{"id":"328bae36-f019-4c1d-8465-026e2b09e2f2","directory":"henchman-story","title":"Henchman Story","compatibility":99,"releases":[{"id":"01003580162D8000","region":null}]},{"id":"328ee7ac-23b4-48e4-b868-a1cd95e1eb01","directory":"the-stillness-of-the-wind","title":"The Stillness of the Wind","compatibility":4,"releases":[{"id":"01009AB00BDFE000","region":null}]},{"id":"3296573f-6b47-415c-9a5c-c502c25965f1","directory":"final-fantasy-vii","title":"FINAL FANTASY VII","compatibility":4,"releases":[{"id":"0100A5B00BDC6000","region":null}]},{"id":"329e7a3b-3475-4fb8-94e2-46d487b67d53","directory":"overdriven-reloaded-special-edition","title":"Overdriven Reloaded: Special Edition","compatibility":99,"releases":[{"id":"010051A00ACAC000","region":null}]},{"id":"32a34d48-601b-4f0c-9886-e7ed7f2b5a9e","directory":"the-swindle","title":"The Swindle","compatibility":99,"releases":[{"id":"010040D00B7CE000","region":null}]},{"id":"32a7cba5-ec93-4aa2-b517-d9427ef0ffd8","directory":"jump-force-deluxe-edition","title":"JUMP FORCE - Deluxe Edition","compatibility":3,"releases":[{"id":"0100183010F12000","region":null}]},{"id":"32b149bf-fb15-40cc-a338-69157b190a14","directory":"monkey-wall","title":"Monkey Wall","compatibility":99,"releases":[{"id":"0100F9700C73E000","region":null}]},{"id":"32b9d88e-b5cf-440a-9236-73c7ef20fffd","directory":"shin-megami-tensei-v","title":"Shin Megami Tensei V","compatibility":2,"releases":[{"id":"010063B012DC6000","region":null}]},{"id":"32c2182b-2c12-4838-b178-81d79e9122c4","directory":"jigsaw-tetra","title":"Jigsaw Tetra","compatibility":99,"releases":[{"id":"010068401471A000","region":null}]},{"id":"32c995b4-5f1f-4208-906f-672078eea5b5","directory":"koloro","title":"Koloro","compatibility":99,"releases":[{"id":"01005D200C9AA000","region":null}]},{"id":"32cba5f7-399c-4223-824b-432e21362efc","directory":"relicta","title":"Relicta","compatibility":99,"releases":[{"id":"01002AD013C52000","region":null}]},{"id":"32ce4fd0-7a6c-43db-b1ac-6d8f7bce6686","directory":"bone-marrow","title":"Bone Marrow","compatibility":1,"releases":[{"id":"01009E8015704000","region":null}]},{"id":"32d5112a-6ac7-4466-97fa-4e9a58d64931","directory":"earthnight","title":"EarthNight","compatibility":1,"releases":[{"id":"0100A2E00BB0C000","region":null}]},{"id":"32d77d62-00bc-41f8-b504-7ccc7bf60960","directory":"chapeau","title":"Chapeau","compatibility":99,"releases":[{"id":"010004100FBB0000","region":null}]},{"id":"32dac534-588d-46c5-8024-db7e21a76280","directory":"aca-neogeo-neo-geo-cup-98-the-road-to-the-victory","title":"ACA NEOGEO NEO GEO CUP '98: THE ROAD TO THE VICTORY","compatibility":99,"releases":[{"id":"010061C00AFDA000","region":null}]},{"id":"32ec6569-3c64-46af-b380-b2c2a7383028","directory":"soul-searching","title":"Soul Searching","compatibility":99,"releases":[{"id":"0100F2100F0B2000","region":null}]},{"id":"32f16bb2-3025-4c32-8da2-a27204541f6f","directory":"ages-of-mages-the-last-keeper","title":"Ages of Mages: The last keeper","compatibility":1,"releases":[{"id":"0100E4700E040000","region":null}]},{"id":"33003dff-2ddf-48c2-b31b-aa7ab6f7714a","directory":"nevaeh","title":"Nevaeh","compatibility":99,"releases":[{"id":"0100C20012A54000","region":null}]},{"id":"330d6552-6dd4-498c-b533-c0429148daec","directory":"instant-tennis-demo","title":"INSTANT TENNIS DEMO","compatibility":99,"releases":[{"id":"0100ADA00BE3C000","region":null}]},{"id":"33148dcc-f9e4-429f-a36e-ac7e6c8b3a0e","directory":"spectrum","title":"Spectrum","compatibility":99,"releases":[{"id":"01008B000A5AE000","region":null}]},{"id":"331e1c13-5f70-41ce-99cc-9600d480439d","directory":"lost-sea","title":"Lost Sea","compatibility":99,"releases":[{"id":"010071B00964A000","region":null}]},{"id":"3325305f-1bb7-468f-b3ce-7f91178a8331","directory":"fight-of-gods","title":"Fight of Gods","compatibility":1,"releases":[{"id":"01002F600C684000","region":null}]},{"id":"33547cec-0302-4ea4-930d-41a0a10df857","directory":"citizens-unite-earth-x-space","title":"Citizens Unite!: Earth x Space","compatibility":99,"releases":[{"id":"0100D9C012900000","region":null}]},{"id":"3355041e-0acb-456f-ae9d-102d17053999","directory":"pictooi","title":"Pictooi","compatibility":99,"releases":[{"id":"0100C8B0153CE000","region":null}]},{"id":"336e417d-4d8f-476e-b130-9a1b257ab125","directory":"bitmaster","title":"Bitmaster","compatibility":99,"releases":[{"id":"010026E0141C8000","region":null}]},{"id":"3374b0ec-c3a9-44be-8d91-dc2ac50698a5","directory":"joker-poker-video-poker","title":"Joker Poker - Video Poker","compatibility":99,"releases":[{"id":"010055E012BAA000","region":null}]},{"id":"3377b51b-4240-4e1e-a88b-24266d41da3b","directory":"naught","title":"Naught","compatibility":99,"releases":[{"id":"0100103011894000","region":null}]},{"id":"338bf69e-4ad0-44a4-842e-2720f5b9a913","directory":"wanderjahr-tryagainorwalkaway","title":"Wanderjahr TryAgainOrWalkAway","compatibility":99,"releases":[{"id":"010078800825E000","region":null}]},{"id":"338e97b7-6bcb-4523-80d4-4d62c5ed73d8","directory":"aborigenus","title":"Aborigenus","compatibility":99,"releases":[{"id":"0100EFC010398000","region":null}]},{"id":"339790d8-1052-493c-8364-e182de090a73","directory":"eternal-hope","title":"Eternal Hope","compatibility":1,"releases":[{"id":"010000E015046000","region":null}]},{"id":"3399b29a-b07c-4602-8899-6989a8ab5b7b","directory":"atari-flashback-classics","title":"Atari Flashback Classics","compatibility":0,"releases":[{"id":"0100CF3007578000","region":null}]},{"id":"33a6967a-181f-4744-841d-1fad45d097cd","directory":"crush-your-enemies","title":"Crush Your Enemies!","compatibility":99,"releases":[{"id":"01005F900902A000","region":null}]},{"id":"33ac1f1b-b98e-49b5-a372-e5935a1df1e3","directory":"arcade-archives-vs-mah-jong","title":"Arcade Archives VS. MAH-JONG","compatibility":99,"releases":[{"id":"0100A10010C54000","region":null}]},{"id":"33ac41f8-1f62-472f-b886-e3b06f7246eb","directory":"futuregrind","title":"FutureGrind","compatibility":99,"releases":[{"id":"010005100AF90000","region":null}]},{"id":"33ad5955-ec2b-401e-b374-45b6135c6dec","directory":"spirit-of-the-north","title":"Spirit of the North","compatibility":3,"releases":[{"id":"01005E101122E000","region":null}]},{"id":"33b5cecb-a083-4c95-abd4-606c2b455d61","directory":"masquerada-songs-and-shadows","title":"Masquerada: Songs and Shadows","compatibility":99,"releases":[{"id":"0100113008262000","region":null}]},{"id":"33e3cdbc-83a8-4fe2-8771-698cdd9c98c9","directory":"crazy-bmx-world","title":"Crazy BMX World","compatibility":99,"releases":[{"id":"01005CC012BFE000","region":null}]},{"id":"33eb5083-af83-4383-aa67-48a0bab8f427","directory":"suicide-guy-sleepin-deeply","title":"Suicide Guy: Sleepin' Deeply","compatibility":99,"releases":[{"id":"0100DE000C2E4000","region":null}]},{"id":"33fab108-f3b2-45df-8540-a918dca65dd7","directory":"the-sinking-city","title":"The Sinking City","compatibility":3,"releases":[{"id":"010028D00BA1A000","region":null}]},{"id":"3404a157-c7d1-42bf-8427-b3756442ec63","directory":"bloodrayne-betrayal-fresh-bites","title":"BloodRayne Betrayal: Fresh Bites","compatibility":1,"releases":[{"id":"01009AB013EE2000","region":null}]},{"id":"3404f058-30fe-4fb3-b1fd-9c02f9b3bd9a","directory":"knockout-home-fitness","title":"Knockout Home Fitness","compatibility":0,"releases":[{"id":"0100A1B0149E4000","region":null}]},{"id":"341040f1-57ee-464a-9290-80d58c057bbb","directory":"aca-neogeo-burning-fight","title":"ACA NEOGEO BURNING FIGHT","compatibility":99,"releases":[{"id":"01002AA004DB4000","region":null}]},{"id":"343e3fde-af5c-4adb-a816-e3a57b5cc506","directory":"worse-than-death","title":"Worse Than Death","compatibility":99,"releases":[{"id":"010037500C4DE000","region":null}]},{"id":"343f8903-f291-48a1-ad8c-4768d08ebb3f","directory":"strikers1945-2-for-nintendo-switch","title":"STRIKERS1945 2 for Nintendo Switch","compatibility":99,"releases":[{"id":"0100720008ED2000","region":null}]},{"id":"344e02f1-4a2d-4ad0-b9a5-d050da371788","directory":"the-alto-collection","title":"The Alto Collection","compatibility":0,"releases":[{"id":"01006B100E44C000","region":null}]},{"id":"3462227f-20ef-4845-b208-21d95db1dca5","directory":"earth-defense-force-world-brothers","title":"EARTH DEFENSE FORCE: WORLD BROTHERS","compatibility":2,"releases":[{"id":"01006D5014796000","region":null}]},{"id":"34648c72-7572-492e-944f-b89966cafea1","directory":"pixel-heroes-mega-byte-magic","title":"Pixel Heroes: Mega Byte & Magic","compatibility":5,"releases":[{"id":"0100B42012EA4000","region":null}]},{"id":"346f7792-05f4-4114-93fa-381c2afcd58f","directory":"solitaire-deluxe-bundle-3-in-1","title":"Solitaire Deluxe Bundle - 3 in 1","compatibility":99,"releases":[{"id":"01009100115C0000","region":null}]},{"id":"347bbed6-72c2-474c-a34c-fce2d3122a8b","directory":"perseverance","title":"Perseverance","compatibility":99,"releases":[{"id":"0100A0300FC3E000","region":null}]},{"id":"347e6b2d-ff62-4c31-aa80-77bd253a329f","directory":"brightstone-mysteries-paranormal-hotel","title":"Brightstone Mysteries: Paranormal Hotel","compatibility":99,"releases":[{"id":"01002E50129DA000","region":null}]},{"id":"348d4c5a-612d-4abf-bfde-be0f87bbe6f3","directory":"de-yabatanien","title":"De: Yabatanien","compatibility":99,"releases":[{"id":"01003F80133CC000","region":null}]},{"id":"34943eb0-57cc-478e-a76a-8af85c303fd4","directory":"zumba-aqua","title":"Zumba Aqua","compatibility":99,"releases":[{"id":"01009B10162F4000","region":null}]},{"id":"34a2c9ed-21df-4e19-8f1c-da3394961325","directory":"save-me-mr-tako-tasukete-tako-san","title":"Save me Mr Tako: Tasukete Tako-San","compatibility":99,"releases":[{"id":"0100A6A00A5D0000","region":null}]},{"id":"34bdb3f9-95b1-4c8c-94ff-db564e4da5c5","directory":"kentucky-route-zero-tv-edition","title":"Kentucky Route Zero: TV Edition","compatibility":1,"releases":[{"id":"0100327005C94000","region":null}]},{"id":"34c42a25-7000-4ca8-a084-5604037825ce","directory":"sludge-life","title":"Sludge Life","compatibility":99,"releases":[{"id":"0100F03010C72000","region":null}]},{"id":"34c8de49-78cc-4c2e-aafc-c31c2f91f24f","directory":"ping-pong-trick-shot-evolution","title":"Ping Pong Trick Shot EVOLUTION","compatibility":99,"releases":[{"id":"0100C9B00D422000","region":null}]},{"id":"34d0da99-06e6-4490-a15e-c2e29926fefb","directory":"johnny-turbos-arcade-wizard-fire","title":"Johnny Turbo's Arcade: Wizard Fire","compatibility":4,"releases":[{"id":"0100D230069CC000","region":null}]},{"id":"34e20bf6-37fc-452a-9703-777981553fde","directory":"disgaea-5-complete-demo","title":"Disgaea 5 Complete Demo","compatibility":3,"releases":[{"id":"0100E67003A86000","region":null}]},{"id":"34e235a8-3483-4ed0-9f43-bb4bd887d671","directory":"cybertaxi","title":"CyberTaxi","compatibility":99,"releases":[{"id":"0100490013FDA000","region":null}]},{"id":"34e94f46-6276-4c44-b5f4-2004ebb02127","directory":"12-labours-of-hercules","title":"12 Labours of Hercules","compatibility":4,"releases":[{"id":"010058900D4AE000","region":null}]},{"id":"34e9d2b9-6357-4b53-bbfb-c281ea68cadc","directory":"grand-prix-racing","title":"Grand Prix Racing","compatibility":99,"releases":[{"id":"01004110137A6000","region":null}]},{"id":"34f21787-de79-4423-93d7-a21dc561626e","directory":"catch-a-duck","title":"Catch a Duck","compatibility":99,"releases":[{"id":"01003BE00ECAE000","region":null}]},{"id":"34f6dfb5-6684-4fe3-9e19-de6c82431b9e","directory":"princess-maker-faery-tales-come-true-","title":"PRINCESS MAKER -FAERY TALES COME TRUE-","compatibility":99,"releases":[{"id":"010018700A5EC000","region":null}]},{"id":"3500e683-c9c8-41d5-aa9f-9f606d880011","directory":"edna-harvey-the-breakout-anniversary-edition","title":"Edna & Harvey: The Breakout – Anniversary Edition","compatibility":99,"releases":[{"id":"01004F000B716000","region":null}]},{"id":"35059c2b-fb02-489e-8a94-1b146f554d55","directory":"espacio-cosmic-light-seeker","title":"Espacio Cosmic Light-Seeker","compatibility":99,"releases":[{"id":"0100DBA012876000","region":null}]},{"id":"3507331a-7588-40ff-b234-3647e146c519","directory":"retro-classix-4in1-pack-sly-spy-shootout-wizard-fire-super-real-darwin","title":"Retro Classix 4in1 Pack: Sly Spy, Shootout, Wizard Fire & Super Real Darwin","compatibility":99,"releases":[{"id":"0100AE0012190000","region":null}]},{"id":"351e8ecd-2ad1-4e37-88fd-1f1f0713956f","directory":"our-battle-has-just-begun-episode-1","title":"Our Battle Has Just Begun! episode 1","compatibility":99,"releases":[{"id":"01000D9015324000","region":null}]},{"id":"3526bd46-1775-418d-8ee3-60ce88d55700","directory":"poker-hands","title":"Poker Hands","compatibility":99,"releases":[{"id":"010030A01243E000","region":null}]},{"id":"352bf68f-0c06-4139-a01d-a3624a2e206f","directory":"worldneverland-elnea-kingdom","title":"WorldNeverland - Elnea Kingdom","compatibility":1,"releases":[{"id":"01008E9007064000","region":null}]},{"id":"352e5368-cde5-424b-9034-0fbef56d5bda","directory":"demo-cinderella-an-interactive-fairytale","title":"Demo: Cinderella - An Interactive Fairytale","compatibility":99,"releases":[{"id":"010062200CF14000","region":null}]},{"id":"35333a5b-6eee-49e1-a2e9-9540cd0e80b4","directory":"maid-of-sker","title":"Maid of Sker","compatibility":99,"releases":[{"id":"01002E900CF38000","region":null}]},{"id":"35334966-6aa6-4f80-8281-3083e80a596f","directory":"rapala-fishing-pro-series","title":"Rapala Fishing Pro Series","compatibility":99,"releases":[{"id":"010042A00A9CC000","region":null}]},{"id":"3539e620-95aa-46c7-a368-3d83ba10a4a0","directory":"poker-champion-texas-holdem","title":"Poker Champion: Texas Hold'em","compatibility":99,"releases":[{"id":"01009090159FE000","region":null}]},{"id":"353c8805-d637-4906-8b5f-abee9fd76320","directory":"rustler","title":"Rustler","compatibility":99,"releases":[{"id":"010071E0145F8000","region":null}]},{"id":"3548fc9c-c684-4430-8599-18b62fe4bd49","directory":"typerider","title":"Type:Rider","compatibility":99,"releases":[{"id":"0100D5B00D6DA000","region":null}]},{"id":"35524be3-e9a3-489f-be6a-d08f41afc061","directory":"checkers-for-kids","title":"Checkers for Kids","compatibility":1,"releases":[{"id":"0100605015752000","region":null}]},{"id":"3558f359-fb89-457d-8194-7210deb0ec01","directory":"turrican-flashback","title":"Turrican Flashback","compatibility":0,"releases":[{"id":"010004B0130C8000","region":null}]},{"id":"3562988b-4756-4970-8ca3-389149380da7","directory":"regina-mac-world","title":"Regina & Mac World","compatibility":99,"releases":[{"id":"0100ED70147A2000","region":null}]},{"id":"357d9dbc-fcce-426a-a09a-6c48b335d7de","directory":"guts-and-glory","title":"Guts & Glory","compatibility":99,"releases":[{"id":"01005E5009EF2000","region":null}]},{"id":"357df1e1-6af3-4299-bb99-28f187633a37","directory":"knockout-city-cross-play-beta","title":"Knockout City™ Cross-Play Beta","compatibility":99,"releases":[{"id":"0100A3F013BDE000","region":null}]},{"id":"35876728-4fce-4318-bbc0-1c770d035d97","directory":"arcade-archives-soldam","title":"Arcade Archives SOLDAM","compatibility":99,"releases":[{"id":"0100E32015798000","region":null}]},{"id":"358c77bf-bb5b-4137-8666-7d9c110a81ab","directory":"planetary-defense-force","title":"Planetary Defense Force","compatibility":99,"releases":[{"id":"010005800F1BA000","region":null}]},{"id":"35a14aa2-5e96-488a-94de-c033ad884c71","directory":"la-noire","title":"L.A. Noire","compatibility":1,"releases":[{"id":"0100830004FB6000","region":null}]},{"id":"35b2b721-f9ee-43bd-9954-2637d1b175fa","directory":"toy-stunt-bike-tiptops-trials","title":"Toy Stunt Bike: Tiptop's Trials","compatibility":99,"releases":[{"id":"01009FF00A160000","region":null}]},{"id":"35c21c8b-c579-41a4-b07c-10e9ded817ba","directory":"silverstarchess","title":"SilverStarChess","compatibility":99,"releases":[{"id":"010016D00A964000","region":null}]},{"id":"35c88c60-5713-4624-b8a9-b53bc6d95b65","directory":"hayfever","title":"Hayfever","compatibility":99,"releases":[{"id":"0100EA900FB2C000","region":null}]},{"id":"35d2757a-152e-4b9a-8a4c-17f0a904ad21","directory":"concept-destruction","title":"Concept Destruction","compatibility":99,"releases":[{"id":"0100971011224000","region":null}]},{"id":"35d2acf0-31c3-4e2a-b8f3-709ce0d79ce3","directory":"battle-chasers-nightwar","title":"Battle Chasers: Nightwar","compatibility":1,"releases":[{"id":"0100551001D88000","region":null}]},{"id":"35dfedf9-5bb7-420b-96b9-1840c2457617","directory":"hexon","title":"HexON","compatibility":99,"releases":[{"id":"0100495011B6A000","region":null}]},{"id":"35e3494c-af30-488b-ae6e-52337e78d893","directory":"arcade-archives-terra-cresta","title":"Arcade Archives TERRA CRESTA","compatibility":99,"releases":[{"id":"0100422001DDA000","region":null}]},{"id":"35e99473-3abb-493c-b149-f2665300e36e","directory":"candleman","title":"Candleman","compatibility":0,"releases":[{"id":"010034400CB5E000","region":null}]},{"id":"35fc893e-bf02-4bbd-bc31-a7ffd56ef20d","directory":"sega-ages-space-harrier","title":"SEGA AGES Space Harrier","compatibility":1,"releases":[{"id":"0100C3E00B700000","region":null}]},{"id":"360a60f9-dd13-461d-9030-e0fb229a89b7","directory":"omega-strike","title":"Omega Strike","compatibility":5,"releases":[{"id":"0100F8C00C21C000","region":null}]},{"id":"3619b156-1d2c-485a-a6c8-e8bdbf8dbb19","directory":"pixeljunk-monsters-2-demo","title":"PixelJunk™ Monsters 2 Demo","compatibility":99,"releases":[{"id":"01004AF00A772000","region":null}]},{"id":"362a1b83-c759-4f33-a59d-a1b6bdfcd2bf","directory":"cuphead","title":"Cuphead","compatibility":0,"releases":[{"id":"0100A5C00D162000","region":null}]},{"id":"363c2fbc-8836-4b5b-b664-24c60ec543d4","directory":"outbreak","title":"Outbreak","compatibility":99,"releases":[{"id":"010047F013104000","region":null}]},{"id":"364327bf-cc1e-4410-a07f-bf8dea72868e","directory":"wizards-of-brandel","title":"Wizards of Brandel","compatibility":99,"releases":[{"id":"010081900F9E2000","region":null}]},{"id":"36583beb-cad5-4c9d-bf90-4783393c1631","directory":"ori-and-the-blind-forest-definitive-edition","title":"Ori and the Blind Forest: Definitive Edition","compatibility":1,"releases":[{"id":"010061D00DB74000","region":null}]},{"id":"3659e4ea-8a70-44c6-adca-05132d58006c","directory":"astro-bears-party","title":"Astro Bears Party","compatibility":1,"releases":[{"id":"0100E5F00643C000","region":null}]},{"id":"365ec92e-96cf-4eb9-9b2a-379dff43c1b3","directory":"metropolis-lux-obscura","title":"Metropolis: Lux Obscura","compatibility":1,"releases":[{"id":"01003F000973E000","region":null}]},{"id":"36883e9f-56cc-4218-8769-8493eb048dba","directory":"papas-quiz","title":"Papa's Quiz","compatibility":99,"releases":[{"id":"01004B0015044000","region":null}]},{"id":"368aa0bf-f7f0-4b7c-b437-c716f75ed67f","directory":"sparkle-4-tales","title":"Sparkle 4 Tales","compatibility":99,"releases":[{"id":"010030D00EA1C000","region":null}]},{"id":"36a8cb96-5cc2-4087-ab95-42ff64ea7c57","directory":"freedom-finger","title":"Freedom Finger","compatibility":1,"releases":[{"id":"010082B00EE50000","region":null}]},{"id":"36aa3f90-0186-4f5c-9e27-9c4308bab12d","directory":"my-hero-ones-justice","title":"MY HERO ONE'S JUSTICE","compatibility":0,"releases":[{"id":"010039000B68E000","region":null}]},{"id":"36ace7b8-15e5-4cd0-8227-01675074702d","directory":"hakoniwa-explorer-plus","title":"Hakoniwa Explorer Plus","compatibility":4,"releases":[{"id":"0100618010D76000","region":null}]},{"id":"36acefd9-d6ac-4e1c-9314-926be24abeaf","directory":"old-mans-journey","title":"Old Man's Journey","compatibility":1,"releases":[{"id":"0100CE2007A86000","region":null}]},{"id":"36b93a6d-8853-4a7b-a894-64b22d00545a","directory":"dungeon-defenders-awakened","title":"Dungeon Defenders: Awakened","compatibility":4,"releases":[{"id":"0100BF800DFAC000","region":null}]},{"id":"36bf1d26-3474-47a5-86e0-d9213ab39012","directory":"arkham-horror-mothers-embrace","title":"Arkham Horror: Mother's Embrace","compatibility":99,"releases":[{"id":"010069A010606000","region":null}]},{"id":"36cf4ad9-e8fe-4d7b-bf80-8074be1fe968","directory":"captain-backwater","title":"Captain Backwater","compatibility":99,"releases":[{"id":"0100465016540000","region":null}]},{"id":"36d6107f-8909-42b5-a561-8e4ef43fefdf","directory":"child-of-light-ultimate-edition","title":"Child of Light Ultimate Edition","compatibility":0,"releases":[{"id":"01007D000AD8A000","region":null}]},{"id":"36dd911f-b5ff-4929-875a-7322e33a3ca3","directory":"the-demon-crystal","title":"The Demon Crystal","compatibility":99,"releases":[{"id":"0100ACF00D32E000","region":null}]},{"id":"36dfbb36-2d2c-4f86-9573-f08dde172017","directory":"ring-of-pain","title":"Ring of Pain","compatibility":1,"releases":[{"id":"0100F090122D2000","region":null}]},{"id":"36e39cb7-40d7-43bf-af13-2eaed60ab496","directory":"koral","title":"KORAL","compatibility":4,"releases":[{"id":"010088500D5EE000","region":null}]},{"id":"36f7d5b3-b8b7-4e39-9236-9580e148a595","directory":"3d-advantime","title":"3D ADVANTIME","compatibility":99,"releases":[{"id":"010063101531C000","region":null}]},{"id":"37033189-16e2-4745-aa87-14fd8c0df362","directory":"my-maite","title":"My Maitê","compatibility":99,"releases":[{"id":"0100E21015588000","region":null}]},{"id":"37140bf1-7f60-475d-b498-54f5e0fa5578","directory":"task-force-delta-afghanistan","title":"Task Force Delta - Afghanistan","compatibility":99,"releases":[{"id":"0100D6C0137F6000","region":null}]},{"id":"37195122-8ae8-4520-a5fb-7b8effcaddfc","directory":"us-navy-sea-conflict","title":"US Navy Sea Conflict","compatibility":99,"releases":[{"id":"0100207015A36000","region":null}]},{"id":"371d9858-b3eb-4de3-b7c3-d058be6a5f66","directory":"arms-demo","title":"ARMS Demo","compatibility":5,"releases":[{"id":"0100A5400AC86000","region":null}]},{"id":"371fce9a-6a6d-4b4b-93d7-416b4b134863","directory":"red-white-yellow","title":"Red White Yellow","compatibility":99,"releases":[{"id":"01003B2015510000","region":null}]},{"id":"372fb43e-bb9b-4670-9a44-812b0adfb390","directory":"need-for-speed-hot-pursuit-remastered","title":"Need for Speed™ Hot Pursuit Remastered","compatibility":2,"releases":[{"id":"010029B0118E8000","region":null}]},{"id":"37363872-9351-46c9-93cd-cab41f596b1d","directory":"ultimate-runner","title":"Ultimate Runner","compatibility":99,"releases":[{"id":"010045200A1C2000","region":null}]},{"id":"3738b0d7-02a4-4d36-8391-b4c506ae437d","directory":"the-kids-we-were","title":"The Kids We Were","compatibility":99,"releases":[{"id":"010068301606C000","region":null}]},{"id":"3738c265-e012-4cd2-abed-4f1827497aff","directory":"football-manager-2019-touch","title":"Football Manager 2019 Touch","compatibility":99,"releases":[{"id":"010078500C21A000","region":null}]},{"id":"37493cfe-48bb-4e19-bc4f-fce3c2327799","directory":"speedway-bundle-stock-truck","title":"Speedway Bundle Stock & Truck","compatibility":99,"releases":[{"id":"01000D6013D36000","region":null}]},{"id":"374f4358-92ed-478c-8305-a0e71163052a","directory":"helheim-hassle","title":"Helheim Hassle","compatibility":4,"releases":[{"id":"0100B9C012B66000","region":null}]},{"id":"37548656-9ca4-403d-97b3-b5b66f8e2cbf","directory":"grim-legends-the-forsaken-bride","title":"Grim Legends: The Forsaken Bride","compatibility":99,"releases":[{"id":"010009F011F90000","region":null}]},{"id":"375616e1-8141-4cf0-b8ff-f24283cb4acf","directory":"doom-destiny-worlds","title":"Doom & Destiny Worlds","compatibility":0,"releases":[{"id":"01001B4011480000","region":null}]},{"id":"3756ff04-82ea-46f1-b8b9-2b90b6359a91","directory":"steam-tactics","title":"Steam Tactics","compatibility":99,"releases":[{"id":"0100AE100DAFA000","region":null}]},{"id":"3768b535-8bef-4de0-a978-f68e3ab5b430","directory":"homo-machina","title":"Homo Machina","compatibility":99,"releases":[{"id":"010011700D6E2000","region":null}]},{"id":"3773e865-27ac-44ee-9c85-886a3db33acf","directory":"game-dev-tycoon","title":"Game Dev Tycoon","compatibility":1,"releases":[{"id":"0100E95010F6A000","region":null}]},{"id":"379b93ea-5aa8-4b3f-86ea-3f46e8ea71ba","directory":"robbotto","title":"Robbotto","compatibility":99,"releases":[{"id":"01004F400B978000","region":null}]},{"id":"37b88d24-bcc7-41c2-a5c3-30600063b8c9","directory":"jet-kave-adventure","title":"Jet Kave Adventure","compatibility":1,"releases":[{"id":"0100E4900D266000","region":null}]},{"id":"37c054a9-e819-49b3-9e47-3f324dece542","directory":"fire-emblem-shadow-dragon-the-blade-of-light","title":"Fire Emblem™: Shadow Dragon & the Blade of Light","compatibility":2,"releases":[{"id":"0100A12011CC8000","region":null}]},{"id":"37c2d6b9-39d1-4930-a5c1-a4240852c403","directory":"space-elite-force-2","title":"Space Elite Force 2","compatibility":99,"releases":[{"id":"010084F0123AC000","region":null}]},{"id":"37db56a0-f900-4bc1-8911-e77c8668c8d2","directory":"mindcell","title":"Mindcell","compatibility":99,"releases":[{"id":"01005E6015A62000","region":null}]},{"id":"37dc5335-d5ad-43dc-b91e-f94a54f5a2f5","directory":"kitty-powers-matchmaker","title":"Kitty Powers' Matchmaker","compatibility":99,"releases":[{"id":"010079000F0D2000","region":null}]},{"id":"37dcb949-1949-4ad4-bb29-c4aa9c8bb5a9","directory":"infernal-radiation","title":"Infernal Radiation","compatibility":99,"releases":[{"id":"0100B5C014AC6000","region":null}]},{"id":"37ee7ee6-57b7-433a-8508-6c0bca2d6799","directory":"ambition-of-the-slimes","title":"Ambition of the Slimes","compatibility":3,"releases":[{"id":"0100A620083DA000","region":null}]},{"id":"37eed7d8-7286-43b2-910c-3cb3321470f5","directory":"invirium","title":"Invirium","compatibility":99,"releases":[{"id":"0100A960149DA000","region":null}]},{"id":"3808321e-540d-45c6-808a-4ba6e72bc40a","directory":"occultism-interrogation-the-ritual-of-little-nightmares","title":"Occultism Interrogation: The ritual of little nightmares","compatibility":99,"releases":[{"id":"0100183015008000","region":null}]},{"id":"380ef8f8-5cb9-4eef-bde2-a0d4f4028675","directory":"lego-r-builders-journey","title":"LEGO® Builder's Journey","compatibility":0,"releases":[{"id":"01005EE0140AE000","region":null}]},{"id":"381c1b57-cd78-4896-a930-ada78343cb30","directory":"arcade-archives-time-tunnel","title":"Arcade Archives TIME TUNNEL","compatibility":99,"releases":[{"id":"010084200DC72000","region":null}]},{"id":"381d1def-6932-4975-bb03-f897557efa19","directory":"working-zombies","title":"Working Zombies","compatibility":0,"releases":[{"id":"0100F38011FBC000","region":null}]},{"id":"381f9ef3-f0dd-4efb-b7e0-7855d94e1966","directory":"iota","title":"iota","compatibility":99,"releases":[{"id":"010086A013FD8000","region":null}]},{"id":"3820911d-7256-44a2-b687-49fbabc36949","directory":"the-binding-of-isaac-afterbirth","title":"The Binding of Isaac: Afterbirth+","compatibility":1,"releases":[{"id":"010021C000B6A000","region":null}]},{"id":"3833de3c-95f0-4f99-bd49-b6a5ab8fa331","directory":"foxyland-2","title":"FoxyLand 2","compatibility":0,"releases":[{"id":"01000AC010024000","region":null}]},{"id":"383f8ab9-a232-4eb6-b085-6bd07c4c9287","directory":"disco-dodgeball-remix","title":"Disco Dodgeball - REMIX","compatibility":1,"releases":[{"id":"0100C81004780000","region":null}]},{"id":"38482faa-f6b9-47b1-8c3e-cdef00e60e4e","directory":"submerged","title":"Submerged","compatibility":99,"releases":[{"id":"0100EDA00D866000","region":null}]},{"id":"384af1d9-c629-46e1-8bcd-522e8fd07dd3","directory":"high-noon-revolver","title":"High Noon Revolver","compatibility":99,"releases":[{"id":"01006FE00D2B0000","region":null}]},{"id":"3856b95e-253c-4494-bbcc-9663617323ec","directory":"bookbound-brigade","title":"Bookbound Brigade","compatibility":99,"releases":[{"id":"010054500F564000","region":null}]},{"id":"386ae55f-1e63-415f-83cb-74910c7165a4","directory":"monkey-barrels","title":"MONKEY BARRELS","compatibility":99,"releases":[{"id":"0100FBD00ED24000","region":null}]},{"id":"386dc250-4dde-4f7f-ae13-f5237b910210","directory":"nights-of-azure-2-bride-of-the-new-moon","title":"Nights of Azure 2: Bride of the New Moon","compatibility":4,"releases":[{"id":"0100628004BCE000","region":null}]},{"id":"387049d6-a7f5-418a-aa80-94a9f0092858","directory":"the-lions-song","title":"The Lion's Song","compatibility":3,"releases":[{"id":"0100735004898000","region":null}]},{"id":"3871c1ae-1f36-49c3-b629-9b0f4111f861","directory":"bombfest","title":"BOMBFEST","compatibility":99,"releases":[{"id":"010001600C962000","region":null}]},{"id":"3881f200-83ad-4c01-a4b6-68c9df69f019","directory":"heal-console-edition","title":"Heal: Console Edition","compatibility":99,"releases":[{"id":"01008C70147B0000","region":null}]},{"id":"388d4ce0-e29c-4d52-9306-f3b569e30c84","directory":"death-end-re-quest","title":"Death end re;Quest","compatibility":99,"releases":[{"id":"01004FD013DD8000","region":null}]},{"id":"38a0ad9b-de0e-4c54-b4b4-34a7d7d16a46","directory":"max-and-the-book-of-chaos","title":"Max and the book of chaos","compatibility":99,"releases":[{"id":"0100A8C011F26000","region":null}]},{"id":"38b28b47-e809-4975-87ea-39aa4948f20e","directory":"woven","title":"Woven","compatibility":0,"releases":[{"id":"01006F100EB16000","region":null}]},{"id":"38bf99c9-b20f-42b2-86d5-bad64166f789","directory":"retro-highway","title":"Retro Highway","compatibility":3,"releases":[{"id":"010004C015EFC000","region":null}]},{"id":"38c1eb73-6698-499a-a6b0-8486f00fc4b5","directory":"foxyland","title":"FoxyLand","compatibility":1,"releases":[{"id":"0100D2501001A000","region":null}]},{"id":"38c89153-7ff9-45a3-b3e6-a95a8c686eb0","directory":"the-world-ends-with-you-final-remix","title":"The World Ends with You: Final Remix","compatibility":0,"releases":[{"id":"0100C1500B82E000","region":null}]},{"id":"38ef9658-53a7-408d-a1a4-e3fdf95277af","directory":"sir-eatsalot","title":"Sir Eatsalot","compatibility":99,"releases":[{"id":"01003C700EB20000","region":null}]},{"id":"38f3d805-2aeb-4b9f-b057-f26f34fee670","directory":"stellatum","title":"STELLATUM","compatibility":99,"releases":[{"id":"0100BC800EDA2000","region":null}]},{"id":"391ffd72-0472-47bd-8dad-d0db649798d4","directory":"crawl","title":"Crawl","compatibility":0,"releases":[{"id":"0100BF7006BCA000","region":null}]},{"id":"39291eb6-4e3a-45d9-94ae-55d8445dde35","directory":"path-of-sin-greed","title":"Path of Sin: Greed","compatibility":99,"releases":[{"id":"01001E500EA16000","region":null}]},{"id":"392fa26e-3f0e-4c49-a32f-0cc46fa40084","directory":"city-driving-simulator-2","title":"City Driving Simulator 2","compatibility":0,"releases":[{"id":"0100FDA015C38000","region":null}]},{"id":"39416f88-96c4-48e1-8c28-19bb12cba9d4","directory":"dragon-quest-ii-luminaries-of-the-legendary-line","title":"DRAGON QUEST II: Luminaries of the Legendary Line","compatibility":1,"releases":[{"id":"010062200EFB4000","region":null}]},{"id":"3958c555-7c2a-4a7f-9d9d-3e6569247ea2","directory":"liberated","title":"Liberated","compatibility":2,"releases":[{"id":"0100C8000F146000","region":null}]},{"id":"3959486e-3634-4db6-b8e0-46b6f2e5836d","directory":"spiritfarer","title":"Spiritfarer","compatibility":2,"releases":[{"id":"0100BD400DC52000","region":null}]},{"id":"395b0bb0-adae-45a5-8735-d62b6fba44e5","directory":"shovel-knight-showdown","title":"Shovel Knight Showdown","compatibility":0,"releases":[{"id":"0100B380022AE000","region":null}]},{"id":"395edbd4-16a5-4654-923d-c350c29bd95b","directory":"mighty-aphid","title":"Mighty Aphid","compatibility":99,"releases":[{"id":"0100F41015614000","region":null}]},{"id":"3975c70c-dff9-49c8-8b4e-91582c0be8f2","directory":"huntdown","title":"Huntdown","compatibility":0,"releases":[{"id":"0100EBA004726000","region":null}]},{"id":"3985d075-450d-4f60-8404-345a453c0f95","directory":"darts","title":"Darts","compatibility":99,"releases":[{"id":"01005A6010A04000","region":null}]},{"id":"3996189f-83bc-43ec-8221-56dc1bf450c6","directory":"warframe","title":"Warframe","compatibility":99,"releases":[{"id":"0100FEE00A64E000","region":null}]},{"id":"39aa9fe9-3f01-4212-bde6-def5041bb06d","directory":"cities-skylines-nintendo-switch-edition","title":"Cities: Skylines - Nintendo Switch Edition","compatibility":2,"releases":[{"id":"0100D8800B87C000","region":null}]},{"id":"39aedd02-ee6f-4dcb-be81-f594e44a7339","directory":"arcade-archives-bells-and-whistles","title":"Arcade Archives Bells & Whistles","compatibility":99,"releases":[{"id":"01002F00100A2000","region":null}]},{"id":"39c22e44-ee76-4e43-9430-dbc7ca78c5cb","directory":"age-of-sokoban","title":"Age of Sokoban","compatibility":99,"releases":[{"id":"01003770152AA000","region":null}]},{"id":"39dae2e7-9489-4189-a23b-4e86cb3e29ed","directory":"kill-the-bad-guy","title":"Kill The Bad Guy","compatibility":99,"releases":[{"id":"010011B00910C000","region":null}]},{"id":"39ec97c1-167c-40e6-bed6-faccce183a15","directory":"olliolli-world","title":"OlliOlli World","compatibility":99,"releases":[{"id":"0100C5D01128E000","region":null}]},{"id":"39f5a5e3-3fde-40f8-a9d7-28a39cbbb455","directory":"cube-creator-x","title":"Cube Creator X","compatibility":99,"releases":[{"id":"010001600D1E8000","region":null}]},{"id":"3a0aac4f-fc29-4c18-bcdf-04efb3c3f37d","directory":"forma8","title":"forma.8","compatibility":1,"releases":[{"id":"01008EA00405C000","region":null}]},{"id":"3a11e078-36c6-484b-aa4e-686e2668e87d","directory":"dungholes","title":"Dungholes","compatibility":99,"releases":[{"id":"0100604014272000","region":null}]},{"id":"3a18d72a-dd55-447c-ac5c-bab8a8553d4c","directory":"terrorhythm-trrt","title":"TERRORHYTHM (TRRT)","compatibility":3,"releases":[{"id":"010043700EB68000","region":null}]},{"id":"3a1a712c-22c9-4290-a92d-ab8e350a34ef","directory":"rabisco","title":"Rabisco+","compatibility":99,"releases":[{"id":"0100146014DC6000","region":null}]},{"id":"3a26a354-b1d7-47ea-b628-c7ce35bac036","directory":"arcade-archives-thunder-cross-ii","title":"Arcade Archives THUNDER CROSS II","compatibility":99,"releases":[{"id":"0100F400144C6000","region":null}]},{"id":"3a28490b-07dd-4a4a-8076-b2565df6ea50","directory":"match-three-pirates-heir-to-davy-jones","title":"Match Three: Pirates! Heir to Davy Jones","compatibility":99,"releases":[{"id":"0100699012DF6000","region":null}]},{"id":"3a5a9af4-6857-47b0-85c2-ef27c2222997","directory":"super-destronaut-dx","title":"Super Destronaut DX","compatibility":99,"releases":[{"id":"010008800B18A000","region":null}]},{"id":"3a691065-bf20-4351-8976-7bea84945764","directory":"please-dont-touch-anything","title":"Please, Don't Touch Anything","compatibility":3,"releases":[{"id":"0100E2300C4C4000","region":null}]},{"id":"3a733f5a-04fe-4497-94b3-092a82caf71e","directory":"dungeon-village-demo","title":"Dungeon Village Demo","compatibility":99,"releases":[{"id":"010093700BCDC000","region":null}]},{"id":"3a77437e-5acf-45b7-950b-7c7597c0d7c0","directory":"odium-to-the-core","title":"Odium to the Core","compatibility":99,"releases":[{"id":"010029F00C876000","region":null}]},{"id":"3a80b8e3-b611-4aca-a70c-c0d32cbac20c","directory":"atelier-sophie-the-alchemist-of-the-mysterious-book-dx-digital-art-book","title":"Atelier Sophie: The Alchemist of the Mysterious Book DX Digital Art Book","compatibility":99,"releases":[{"id":"010041C014222000","region":null}]},{"id":"3a96710d-2860-474d-b4a9-bd96aa99f559","directory":"japanese-mah-jongg","title":"Japanese Mah-jongg","compatibility":99,"releases":[{"id":"0100C8E0083C4000","region":null}]},{"id":"3a9a0a44-7b31-4af2-97a9-8dbd9a7c4949","directory":"a-summer-with-the-shiba-inu","title":"A Summer with the Shiba Inu","compatibility":99,"releases":[{"id":"01007DD011C4A000","region":null}]},{"id":"3a9d9732-30de-4582-b3b7-1c3a938f9aaf","directory":"stay","title":"STAY","compatibility":99,"releases":[{"id":"0100616009082000","region":null}]},{"id":"3a9ef63b-a842-4372-b49f-26127a5f8bce","directory":"tied-together","title":"Tied Together","compatibility":99,"releases":[{"id":"0100B6D00C2DE000","region":null}]},{"id":"3aa77e86-3ee4-4353-9c52-f6842c8629ee","directory":"classic-logical-bundle-4in1","title":"Classic Logical Bundle (4in1)","compatibility":99,"releases":[{"id":"01002F101353A000","region":null}]},{"id":"3aa805e6-ea42-4623-9061-af328aac7a72","directory":"dynasty-warriors-8-xtreme-legends-definitive-edition","title":"DYNASTY WARRIORS 8: Xtreme Legends Definitive Edition","compatibility":2,"releases":[{"id":"0100E9A00CB30000","region":null}]},{"id":"3aa9758d-ef55-49b0-8423-08af0b1ae08c","directory":"mias-picnic","title":"Mia's Picnic","compatibility":99,"releases":[{"id":"0100CBF013B94000","region":null}]},{"id":"3aacdcd5-0b94-431c-870c-78e690ef457c","directory":"shining-resonance-refrain","title":"Shining Resonance Refrain","compatibility":0,"releases":[{"id":"01009A5009A9E000","region":null}]},{"id":"3ab7bbf7-a925-425e-93aa-1ae5bd678a65","directory":"rogue-heroes-ruins-of-tasos","title":"Rogue Heroes: Ruins of Tasos","compatibility":99,"releases":[{"id":"01009FA010848000","region":null}]},{"id":"3abc563d-114c-44ab-a125-6a044904da3a","directory":"ea-sports-fifa-20-nintendo-switch-legacy-edition","title":"EA SPORTS FIFA 20 Nintendo Switch Legacy Edition","compatibility":5,"releases":[{"id":"01005DE00D05C000","region":null}]},{"id":"3abeb73a-ecff-4794-9d58-da00caa0fd94","directory":"super-meatball","title":"Super Meatball","compatibility":99,"releases":[{"id":"01008BE0136C2000","region":null}]},{"id":"3ac16f73-e4aa-45c1-b6fa-ae3f7e9aa80d","directory":"the-book-of-unwritten-tales-2","title":"The Book of Unwritten Tales 2","compatibility":99,"releases":[{"id":"010062500BFC0000","region":null}]},{"id":"3ac9a79a-c3a2-4cd4-a7ae-51c2e4232a49","directory":"mace-space-shooter","title":"M.A.C.E. Space Shooter","compatibility":3,"releases":[{"id":"0100F02005D1E000","region":null}]},{"id":"3acfafe7-ef4d-4d1d-b37e-a30aac9a219b","directory":"discolored","title":"Discolored","compatibility":99,"releases":[{"id":"01004CE012A18000","region":null}]},{"id":"3ad759fa-be84-41ab-bb30-7e3e49e412df","directory":"the-walking-dead-a-new-frontier","title":"The Walking Dead: A New Frontier","compatibility":4,"releases":[{"id":"010056E00B4F4000","region":null}]},{"id":"3ae0840f-c2b5-40d7-9430-98a99f34303c","directory":"word-puzzles-by-powgi","title":"Word Puzzles by POWGI","compatibility":99,"releases":[{"id":"01002BE00BA82000","region":null}]},{"id":"3ae60705-50dc-4b36-ac48-06af4c10b99a","directory":"cars-3-driven-to-win","title":"Cars 3: Driven to Win","compatibility":3,"releases":[{"id":"01008D1001512000","region":null}]},{"id":"3afc0cad-180e-4ee8-b935-4051d8ac2561","directory":"dex","title":"Dex","compatibility":1,"releases":[{"id":"01003F601025E000","region":null}]},{"id":"3b02c86b-57ad-4b64-9b68-ce2217934906","directory":"sweet-witches","title":"Sweet Witches","compatibility":0,"releases":[{"id":"0100D6D00EC2C000","region":null}]},{"id":"3b2bb85f-6a3f-44d7-a7b6-035adee36760","directory":"ship-sim-2020","title":"Ship Sim 2020","compatibility":99,"releases":[{"id":"0100016011A1A000","region":null}]},{"id":"3b39f624-d88e-495c-b8be-04f41a01a525","directory":"warp-frontier","title":"Warp Frontier","compatibility":0,"releases":[{"id":"01005C50152DC000","region":null}]},{"id":"3b4334f8-291f-4b63-a783-04466920f27f","directory":"gangsta-paradise","title":"Gangsta Paradise","compatibility":99,"releases":[{"id":"01001A50145E0000","region":null}]},{"id":"3b48c529-67dc-456a-98b9-4ba552f3edd0","directory":"escape-game-fort-boyard","title":"Escape Game Fort Boyard","compatibility":0,"releases":[{"id":"0100B0F011A84000","region":null}]},{"id":"3b525ae4-a3f0-4a45-a402-fa18d7dd1305","directory":"paratopic","title":"Paratopic","compatibility":99,"releases":[{"id":"01001F0012868000","region":null}]},{"id":"3b5982a5-6722-43e5-87cb-63e855e4c98e","directory":"skittles","title":"Skittles","compatibility":99,"releases":[{"id":"0100FC1015302000","region":null}]},{"id":"3b5aed28-1c47-4f87-9fb9-564efb2121a3","directory":"rotating-brave","title":"Rotating Brave","compatibility":99,"releases":[{"id":"01003A300B7A6000","region":null}]},{"id":"3b5c0bbd-4084-486a-b0de-c1b914732abb","directory":"overpass","title":"OVERPASS","compatibility":4,"releases":[{"id":"01008EA00E816000","region":null}]},{"id":"3b6253a9-ece8-4b66-bc12-d403d54df0fd","directory":"immortus-temporus","title":"Immortus Temporus","compatibility":99,"releases":[{"id":"0100211015A7E000","region":null}]},{"id":"3b702c1c-6a3a-4b53-b442-36e179dc9aa3","directory":"dongo-adventure","title":"Dongo Adventure","compatibility":99,"releases":[{"id":"010088B010DD2000","region":null}]},{"id":"3b7a7e3e-9bdd-4dfb-8fe3-e7bf6a35ccd3","directory":"death-coming","title":"Death Coming","compatibility":5,"releases":[{"id":"0100F3B00CF32000","region":null}]},{"id":"3b8c39f1-f00e-4836-bfa5-7a7a8c9d0b3c","directory":"caged-garden-cock-robin","title":"Caged Garden Cock Robin","compatibility":0,"releases":[{"id":"010092600E9A2000","region":null}]},{"id":"3ba52dd0-c8eb-4239-8f59-dd148b7e2527","directory":"rogue-bit","title":"Rogue Bit","compatibility":99,"releases":[{"id":"010052500D984000","region":null}]},{"id":"3bac4707-4238-42b3-8d2c-581db2453cff","directory":"aca-neogeo-the-king-of-fighters-2002","title":"ACA NEOGEO THE KING OF FIGHTERS 2002","compatibility":5,"releases":[{"id":"0100CFD00AFDE000","region":null}]},{"id":"3bbd9c00-bed7-4681-a685-d9e0c47c1817","directory":"dying-light-platinum-edition","title":"Dying Light: Platinum Edition","compatibility":4,"releases":[{"id":"01008C8012920000","region":null}]},{"id":"3bc21c1f-059c-4596-8ab1-a8980d9de9e1","directory":"astro-aqua-kitty","title":"ASTRO AQUA KITTY","compatibility":1,"releases":[{"id":"01007210128C0000","region":null}]},{"id":"3bc2b15b-0036-4f99-9658-7e64a71a2be1","directory":"greedroid","title":"Greedroid","compatibility":99,"releases":[{"id":"0100BD800DFA6000","region":null}]},{"id":"3bd42223-3640-462b-9d83-e087662998fe","directory":"beyond-enemy-lines-covert-operations","title":"Beyond Enemy Lines: Covert Operations","compatibility":99,"releases":[{"id":"010056500CAD8000","region":null}]},{"id":"3bd46875-5910-40d4-81eb-06bfc1f73f9e","directory":"sheltered","title":"Sheltered","compatibility":4,"releases":[{"id":"010036D00C362000","region":null}]},{"id":"3bd75a6b-87df-4acf-9142-b1cd50bdd6eb","directory":"squids-odyssey","title":"Squids Odyssey","compatibility":99,"releases":[{"id":"01008FF00A4B6000","region":null}]},{"id":"3bf3296c-030c-4c84-8fed-ccb62c76e87a","directory":"bunny-bounce","title":"Bunny Bounce","compatibility":99,"releases":[{"id":"01006AA0145C4000","region":null}]},{"id":"3bf3dd5a-0ca5-4218-83ca-a25b89ac1b12","directory":"widget-satchel","title":"Widget Satchel","compatibility":2,"releases":[{"id":"0100C7800CA06000","region":null}]},{"id":"3bf98440-1958-405c-bce0-e5ce0a982367","directory":"daggerhood","title":"Daggerhood","compatibility":4,"releases":[{"id":"0100A7F00C5FE000","region":null}]},{"id":"3bfe6eaf-e2a2-4cfd-b761-f38f11603f89","directory":"baldo-the-guardian-owls","title":"Baldo\nThe guardian owls","compatibility":0,"releases":[{"id":"0100A75005E92000","region":null}]},{"id":"3c0e9a01-ca10-49b5-9564-69a74d413884","directory":"robbotto-demo","title":"Robbotto Demo","compatibility":99,"releases":[{"id":"01009C400C5CA000","region":null}]},{"id":"3c1dae79-b6f1-4663-92a1-09356b627c94","directory":"squeakers","title":"Squeakers","compatibility":99,"releases":[{"id":"0100085012A0E000","region":null}]},{"id":"3c25b539-7a49-4e69-8046-a37773c3d6a9","directory":"crossbow-bloodnight","title":"CROSSBOW: Bloodnight","compatibility":1,"releases":[{"id":"0100D1D013536000","region":null}]},{"id":"3c2fafdd-2f7e-47b2-bf99-2518bff58f3f","directory":"world-tree-marche","title":"World Tree Marché","compatibility":99,"releases":[{"id":"0100D6A00BE66000","region":null}]},{"id":"3c3b099c-80e1-4383-b001-33f7cc886b22","directory":"merry-christmas-snowball-bubble","title":"Merry Christmas Snowball Bubble","compatibility":99,"releases":[{"id":"0100E4D0169E0000","region":null}]},{"id":"3c444f15-33b0-4ed5-ac0e-6ff353a619e9","directory":"nippon-marathon","title":"Nippon Marathon","compatibility":1,"releases":[{"id":"0100EF5008FC4000","region":null}]},{"id":"3c49dfb5-53d0-4964-b615-89e1fd97f923","directory":"dragon-snakes","title":"Dragon Snakes","compatibility":99,"releases":[{"id":"010083A00DEC8000","region":null}]},{"id":"3c5358b5-0626-4199-ae87-e76bf8cb1a1f","directory":"hyper-jam","title":"Hyper Jam","compatibility":3,"releases":[{"id":"0100B3300B4AA000","region":null}]},{"id":"3c673ee0-112e-42bc-b1ad-786251686eb1","directory":"monica-e-a-guarda-dos-coelhos","title":"Monica e a Guarda dos Coelhos","compatibility":3,"releases":[{"id":"0100C1400BD6A000","region":null}]},{"id":"3c6faf57-61c7-4121-a799-765559b8f1f7","directory":"jumping-stack-ball","title":"Jumping Stack Ball","compatibility":99,"releases":[{"id":"01008EF01426C000","region":null}]},{"id":"3c785436-b196-408b-87c3-e70e68cff8c8","directory":"pocket-stables","title":"Pocket Stables","compatibility":99,"releases":[{"id":"01008D400E1BA000","region":null}]},{"id":"3c94661a-2c86-48df-b083-024f8cac74d8","directory":"connection-rehaunted","title":"Connection reHaunted","compatibility":99,"releases":[{"id":"0100E84014C72000","region":null}]},{"id":"3c97de6a-862c-46a4-86c8-d2a58b22692b","directory":"tiki-brawl","title":"Tiki Brawl","compatibility":99,"releases":[{"id":"0100AEC012F16000","region":null}]},{"id":"3c9e76d2-d411-4808-a426-a738b2930b60","directory":"quad-fighter-k","title":"Quad Fighter K","compatibility":99,"releases":[{"id":"010067D00AC46000","region":null}]},{"id":"3ca3f698-23b3-4b69-89a8-cf1b179f53b9","directory":"coast-guard-beach-rescue-team","title":"Coast Guard: Beach Rescue Team","compatibility":99,"releases":[{"id":"01000EC01212E000","region":null}]},{"id":"3caa13fd-6e95-49f8-9076-fe09849d663f","directory":"star-ocean-first-departure-r","title":"STAR OCEAN First Departure R","compatibility":1,"releases":[{"id":"0100EBF00E702000","region":null}]},{"id":"3cad0c86-3f54-4503-9d0f-45fd0e2ca0d8","directory":"atomic-heist","title":"Atomic Heist","compatibility":99,"releases":[{"id":"01005FE00EC4E000","region":null}]},{"id":"3cbfd7de-79e7-45c6-b338-969b54a50594","directory":"sega-ages-puyo-puyo","title":"SEGA AGES Puyo Puyo","compatibility":2,"releases":[{"id":"01005F600CB0E000","region":null}]},{"id":"3cd1635c-3802-4e7a-872a-3c791ff20101","directory":"head-games","title":"Head Games","compatibility":99,"releases":[{"id":"0100CE001546E000","region":null}]},{"id":"3cd9eb98-d5ef-413c-80bd-00ca4dc58de7","directory":"hyperdrive-massacre","title":"Hyperdrive Massacre","compatibility":99,"releases":[{"id":"0100D4600E9B2000","region":null}]},{"id":"3ce4ffc2-59c2-4d27-bf43-f33cc07eae55","directory":"crypt-of-the-serpent-king","title":"Crypt of the Serpent King","compatibility":1,"releases":[{"id":"0100BA100E160000","region":null}]},{"id":"3cea0b7b-5d4f-4522-a64b-34e898c42969","directory":"super-meat-boy","title":"Super Meat Boy","compatibility":1,"releases":[{"id":"01004F8006A78000","region":null}]},{"id":"3cf06d1f-2461-4bea-a1d4-80303af36cd1","directory":"hero-pop","title":"Hero Pop","compatibility":99,"releases":[{"id":"010026F01162E000","region":null}]},{"id":"3cf58f47-e1af-4e68-a5c8-5a00a44367a0","directory":"magic-twins","title":"Magic Twins","compatibility":99,"releases":[{"id":"010036F014100000","region":null}]},{"id":"3cf6c26f-7cb1-456e-96d9-384761d2faee","directory":"arcade-archives-burger-time","title":"Arcade Archives Burger Time","compatibility":3,"releases":[{"id":"0100EBB012400000","region":null}]},{"id":"3cf93ff7-43ff-4929-9524-a1b8b45c885f","directory":"medulla","title":"Medulla","compatibility":99,"releases":[{"id":"01008A300F61E000","region":null}]},{"id":"3cfaecd3-8bb1-4583-ac34-2c49eb9cce16","directory":"hamsterdam","title":"Hamsterdam","compatibility":99,"releases":[{"id":"0100FA800DF86000","region":null}]},{"id":"3d232d04-1f63-4924-b285-d0ee6e95dcb5","directory":"kensh","title":"Kenshō","compatibility":99,"releases":[{"id":"01000F000AAF0000","region":null}]},{"id":"3d3b1286-c51d-4c32-9816-315bc1de20f9","directory":"whiskey-mafia-franks-story","title":"Whiskey Mafia: Frank's Story","compatibility":99,"releases":[{"id":"0100B9A015AF6000","region":null}]},{"id":"3d4163d3-f838-45cc-81d9-5b1b8679844e","directory":"another-lost-phone-lauras-story","title":"Another Lost Phone: Laura's Story","compatibility":1,"releases":[{"id":"010008400A268000","region":null}]},{"id":"3d456046-8b7f-45b6-a13a-2ac8c87a1115","directory":"cadence-of-hyrule-crypt-of-the-necrodancer-featuring-the-legend-of-zelda","title":"Cadence of Hyrule – Crypt of the NecroDancer Featuring The Legend of Zelda","compatibility":0,"releases":[{"id":"01000B900D8B0000","region":null}]},{"id":"3d4ac65f-6ef9-49a6-84b5-26160302ace8","directory":"mad-rat-dead","title":"Mad Rat Dead","compatibility":1,"releases":[{"id":"0100E6701231C000","region":null}]},{"id":"3d5af242-bd82-4e08-a299-503c24102869","directory":"flaskoman","title":"Flaskoman","compatibility":99,"releases":[{"id":"010098E01645E000","region":null}]},{"id":"3d5c6dda-dc44-42a1-b2ff-de6feeb62592","directory":"yumenikki-dream-diary-","title":"YUMENIKKI -DREAM DIARY-","compatibility":3,"releases":[{"id":"0100D6B00CD88000","region":null}]},{"id":"3d5f91b1-9ee3-49cf-93b6-b96e945fbcf2","directory":"sky-gamblers-afterburner","title":"Sky Gamblers - Afterburner","compatibility":4,"releases":[{"id":"010003F00CC98000","region":null}]},{"id":"3d74f94a-fcef-4102-b76f-7ba4554116c2","directory":"sushi-time","title":"Sushi Time!","compatibility":99,"releases":[{"id":"010096300D9C0000","region":null}]},{"id":"3d7790e7-cc8f-4a28-93f5-02fd881ca8f5","directory":"zombiotik","title":"Zombiotik","compatibility":99,"releases":[{"id":"010045E01057E000","region":null}]},{"id":"3d77915f-c75a-4e46-84cb-44737e273ac3","directory":"screencheat-unplugged","title":"Screencheat: Unplugged","compatibility":99,"releases":[{"id":"01009BB00AD62000","region":null}]},{"id":"3d92595c-3044-467d-8e03-30678bfdf32b","directory":"arcade-archives-scramble","title":"Arcade Archives Scramble","compatibility":99,"releases":[{"id":"0100F9D00F176000","region":null}]},{"id":"3d962468-0605-4b5a-b687-ffad65333ac0","directory":"out-of-space-couch-edition","title":"Out of Space: Couch Edition","compatibility":99,"releases":[{"id":"0100C67011B14000","region":null}]},{"id":"3da721be-32f8-4469-9100-9e908b40bcc0","directory":"dungeon-of-the-endless","title":"Dungeon of the Endless","compatibility":1,"releases":[{"id":"010034300F0E2000","region":null}]},{"id":"3dae824b-c7a3-4ed1-af8d-59c177caec97","directory":"calculation-castle-grecos-ghostly-challenge-addition","title":"Calculation Castle : Greco's Ghostly Challenge \"Addition\"","compatibility":99,"releases":[{"id":"01004B500AB88000","region":null}]},{"id":"3db3aa1f-5fc3-4088-ae4e-6241f58802b7","directory":"otokomizu","title":"Otokomizu","compatibility":99,"releases":[{"id":"01006AA00EE44000","region":null}]},{"id":"3dbc85e1-2008-4d8b-93fe-39c7200cd129","directory":"sakura-succubus","title":"Sakura Succubus","compatibility":0,"releases":[{"id":"0100375012E50000","region":null}]},{"id":"3dd14364-6fc0-405b-a3c2-7f05e7ba3bc1","directory":"world-of-solitaire","title":"World Of Solitaire","compatibility":99,"releases":[{"id":"01009D50103E8000","region":null}]},{"id":"3de09d78-20b5-4404-b0f7-ccf34d22a5ab","directory":"aca-neogeo-the-last-blade","title":"ACA NEOGEO THE LAST BLADE","compatibility":4,"releases":[{"id":"0100A5A004FB2000","region":null}]},{"id":"3de70c9f-2c36-4e7e-aed5-d1a63c0b00af","directory":"professional-farmer-nintendo-switch-edition","title":"Professional Farmer: Nintendo Switch Edition","compatibility":99,"releases":[{"id":"010077B00BDD8000","region":null}]},{"id":"3de7e3ea-c849-451e-bb3d-b41dee6122e0","directory":"balance-blox","title":"Balance Blox","compatibility":5,"releases":[{"id":"01000D700D2D6000","region":null}]},{"id":"3dea191e-669d-415c-9c84-548921fd0ecf","directory":"gyro-boss-dx","title":"Gyro Boss DX","compatibility":99,"releases":[{"id":"0100A8E00DB92000","region":null}]},{"id":"3df72b20-622e-4cdf-ac19-e90ec3a786a7","directory":"logic-puzzle-collection-sudoku-permudoku-nonodoku","title":"Logic Puzzle Collection: Sudoku - Permudoku - Nonodoku","compatibility":99,"releases":[{"id":"0100EEE012FE4000","region":null}]},{"id":"3df762e1-72ab-4212-a5ff-2bf09715897c","directory":"dont-sink","title":"Don't Sink","compatibility":99,"releases":[{"id":"0100C4D00B608000","region":null}]},{"id":"3e095e75-c70f-451e-a31a-8b508f4e212d","directory":"top-boat-racing-simulator-3d","title":"Top Boat: Racing Simulator 3D","compatibility":99,"releases":[{"id":"01001B9015E7A000","region":null}]},{"id":"3e098778-d647-4548-b02a-504552870184","directory":"star-wars-jedi-knight-ii-jedi-outcast","title":"STAR WARS Jedi Knight II: Jedi Outcast","compatibility":4,"releases":[{"id":"0100BB500EACA000","region":null}]},{"id":"3e0de233-2770-48c8-ba07-d3ab52846c1d","directory":"bash-the-bear","title":"Bash The Bear","compatibility":4,"releases":[{"id":"010023300CD52000","region":null}]},{"id":"3e16b16e-1336-40fc-94dc-6889bcf4126c","directory":"12-labours-of-hercules-iv-mother-nature","title":"12 Labours of Hercules IV: Mother Nature","compatibility":99,"releases":[{"id":"0100FD50148AA000","region":null}]},{"id":"3e19b5fa-f0f5-4589-b6ba-7bb81f538795","directory":"wheels-of-aurelia","title":"Wheels of Aurelia","compatibility":99,"releases":[{"id":"0100DFC00405E000","region":null}]},{"id":"3e25bcce-9ecf-42cd-a2e9-27cd7185ccc5","directory":"whispering-willows","title":"Whispering Willows","compatibility":1,"releases":[{"id":"010015A00AF1E000","region":null}]},{"id":"3e36dc2a-ebe9-412c-b9ff-e87a69f16ec6","directory":"zomb","title":"ZOMB","compatibility":99,"releases":[{"id":"0100E2B00E064000","region":null}]},{"id":"3e43759a-dc74-445e-b07a-32ff994e4cf2","directory":"dreaming-sarah","title":"Dreaming Sarah","compatibility":99,"releases":[{"id":"010048F012C24000","region":null}]},{"id":"3e46122a-323a-463c-bd06-6c535ec09c6c","directory":"gnomes-garden-new-home","title":"Gnomes Garden: New Home","compatibility":99,"releases":[{"id":"010085B00CCEE000","region":null}]},{"id":"3e47276b-8502-415a-9e57-c7a6b4a6fa5f","directory":"bards-gold-nintendo-switch-edition","title":"Bard's Gold - Nintendo Switch Edition","compatibility":5,"releases":[{"id":"0100DEB00D76E000","region":null}]},{"id":"3e4a1dc1-2215-4deb-b49e-89b9d1a2af34","directory":"hot-springs-story","title":"Hot Springs Story","compatibility":3,"releases":[{"id":"010090B00B1F0000","region":null}]},{"id":"3e51618f-c638-4252-82b1-053174e02c5e","directory":"repressed","title":"Repressed","compatibility":99,"releases":[{"id":"0100771011472000","region":null}]},{"id":"3e68b4fd-53db-4162-9210-f0a4283f3501","directory":"twist-bounce","title":"Twist&Bounce","compatibility":99,"releases":[{"id":"0100E18012A64000","region":null}]},{"id":"3e69c395-750d-4318-a708-ca093cba2d06","directory":"witch-hunter","title":"Witch Hunter","compatibility":99,"releases":[{"id":"0100E600151BC000","region":null}]},{"id":"3e6dd7e1-79f9-49e5-b25f-299c5836c5be","directory":"agony","title":"Agony","compatibility":3,"releases":[{"id":"010072600D21C000","region":null}]},{"id":"3e81a1ca-d054-4bb5-b1eb-c1d2e897eb1a","directory":"world-soccer-pinball","title":"World Soccer Pinball","compatibility":99,"releases":[{"id":"01001E300B038000","region":null}]},{"id":"3e85aee1-f560-469a-a7fa-005549f0e3da","directory":"yonder-the-cloud-catcher-chronicles","title":"Yonder: The Cloud Catcher Chronicles","compatibility":2,"releases":[{"id":"0100534009FF2000","region":null}]},{"id":"3e972a74-333f-4577-b520-672cc3b3c68a","directory":"strife-veteran-edition","title":"Strife: Veteran Edition","compatibility":4,"releases":[{"id":"0100BDE012928000","region":null}]},{"id":"3ea91cbd-d621-4bf3-a5ad-17a629a11d74","directory":"clumsy-rush","title":"Clumsy Rush","compatibility":99,"releases":[{"id":"010084201056A000","region":null}]},{"id":"3eb9f316-b195-4edb-9387-eb53dbed6c28","directory":"sky-rogue","title":"Sky Rogue","compatibility":99,"releases":[{"id":"0100C5700434C000","region":null}]},{"id":"3edcb8c3-3ece-4550-b839-4e46530171ae","directory":"bad-dream-coma","title":"Bad Dream: Coma","compatibility":99,"releases":[{"id":"01000CB00D094000","region":null}]},{"id":"3ee07ee3-7d29-4ba4-900b-02aaac245896","directory":"shinrai-broken-beyond-despair","title":"SHINRAI - Broken Beyond Despair","compatibility":99,"releases":[{"id":"0100F58016212000","region":null}]},{"id":"3ee3a360-f059-4c03-a43f-4724c64553dc","directory":"swimsanity","title":"Swimsanity!","compatibility":1,"releases":[{"id":"010049D00C8B0000","region":null}]},{"id":"3eeca59b-fe1a-4de7-834e-2342f030ad19","directory":"reventure","title":"Reventure","compatibility":99,"releases":[{"id":"0100E2E00EA42000","region":null}]},{"id":"3eed2a33-46c8-4fd7-b94f-c27fdc5afcd0","directory":"big-brain-academy-brain-vs-brain","title":"Big Brain Academy™: Brain vs. Brain","compatibility":3,"releases":[{"id":"0100620012D6E000","region":null}]},{"id":"3eefd188-1a22-4bd1-80e6-22e76c202563","directory":"symmetry","title":"SYMMETRY","compatibility":99,"releases":[{"id":"0100C1C00D01C000","region":null}]},{"id":"3ef38437-7a76-4ffb-90ed-f321577b611b","directory":"storm-in-a-teacup","title":"Storm In A Teacup","compatibility":99,"releases":[{"id":"0100B2300B932000","region":null}]},{"id":"3ef40d63-2b5a-45b8-8ccc-670eda961f70","directory":"make-a-killing","title":"Make a Killing","compatibility":99,"releases":[{"id":"010059F012984000","region":null}]},{"id":"3efa1d7e-d133-4315-8194-402b83c049bd","directory":"the-sisters-party-of-the-year","title":"The Sisters - Party of the Year","compatibility":99,"releases":[{"id":"0100F8F014080000","region":null}]},{"id":"3efa9838-838b-4e66-b88e-25f30f9ba069","directory":"amaneswitch","title":"雨音スイッチ -AmaneSwitch-","compatibility":99,"releases":[{"id":"0100D12015CCA000","region":null}]},{"id":"3f085e2a-c210-4b28-bbba-149bd1661eaa","directory":"akash-path-of-the-five","title":"Akash: Path of the Five","compatibility":99,"releases":[{"id":"01009A800F0C8000","region":null}]},{"id":"3f0f3195-58d1-4fb3-8773-07c3850006f1","directory":"omg-zombies","title":"OMG Zombies!","compatibility":0,"releases":[{"id":"01006DB00D970000","region":null}]},{"id":"3f1208ce-8be1-4344-a081-c46acad6d2d4","directory":"missing-features-2d","title":"Missing Features: 2D","compatibility":2,"releases":[{"id":"0100E3601495C000","region":null}]},{"id":"3f129cf8-9e9e-4a61-a2c7-53890fa2a50c","directory":"drowning-demo","title":"Drowning (Demo)","compatibility":99,"releases":[{"id":"010049900D3C6000","region":null}]},{"id":"3f2e8f4d-f01d-45ee-93b0-b11fa7e89b55","directory":"henry-the-hamster-handler","title":"Henry The Hamster Handler","compatibility":0,"releases":[{"id":"010007E00A1A4000","region":null}]},{"id":"3f355aff-67c8-430d-9acf-9e39c7012912","directory":"castlevania-advance-collection","title":"Castlevania Advance Collection","compatibility":2,"releases":[{"id":"0100B33014710000","region":null}]},{"id":"3f391c1f-f3d0-4a93-9951-b793cd57c502","directory":"arcade-archives-frisky-tom","title":"Arcade Archives Frisky Tom","compatibility":99,"releases":[{"id":"0100B820144C2000","region":null}]},{"id":"3f4544c5-486e-402f-852d-cca71a220efa","directory":"windjammers","title":"Windjammers","compatibility":1,"releases":[{"id":"010048800B638000","region":null}]},{"id":"3f4f6bbb-a2fc-4ef4-9915-faa0bd733b31","directory":"karma-incarnation-1","title":"Karma. Incarnation 1","compatibility":99,"releases":[{"id":"0100FDD014EF0000","region":null}]},{"id":"3f5848f3-847d-45e9-97b3-de9b022b484d","directory":"super-beat-sports","title":"Super Beat Sports","compatibility":4,"releases":[{"id":"0100F7000464A000","region":null}]},{"id":"3f641703-0d90-4655-984a-d075d254056f","directory":"labyrinth-city-pierre-the-maze-detective","title":"Labyrinth City: Pierre the Maze Detective","compatibility":1,"releases":[{"id":"01000D50144D2000","region":null}]},{"id":"3f6b4e28-bb9f-4af5-870c-7f29fb83b686","directory":"thronebreaker-the-witcher-tales","title":"Thronebreaker: The Witcher Tales","compatibility":2,"releases":[{"id":"0100E910103B4000","region":null}]},{"id":"3f6f6be1-373e-4205-bf21-13e881583df9","directory":"war-solution-casual-math-game","title":"War Solution - Casual Math Game","compatibility":99,"releases":[{"id":"01001B0013A50000","region":null}]},{"id":"3f75b2a3-a53f-4266-a277-d328fdd8e21b","directory":"zero-strain","title":"Zero Strain","compatibility":1,"releases":[{"id":"01004B001058C000","region":null}]},{"id":"3f7ceea6-f2cf-466c-b88c-be83a538f81a","directory":"hammerwatch","title":"Hammerwatch","compatibility":4,"releases":[{"id":"01003B9007E86000","region":null}]},{"id":"3f7dc597-f2e5-4df0-9d01-3c2d0357cf3d","directory":"rollercoaster-tycoon-adventures","title":"RollerCoaster Tycoon Adventures","compatibility":1,"releases":[{"id":"0100E3900B598000","region":null}]},{"id":"3f8c83d1-dd8f-483a-a72b-b448eb3c2d1d","directory":"chameleon","title":"Chameleon","compatibility":99,"releases":[{"id":"0100DA900FCEA000","region":null}]},{"id":"3f926382-6c4f-4c5d-a598-744f8ae2bbdf","directory":"void-bastards","title":"Void Bastards","compatibility":1,"releases":[{"id":"0100D010113A8000","region":null}]},{"id":"3f968a2a-7a34-47c0-a6f9-91750c023e5c","directory":"caesar-empire-war","title":"CAESAR EMPIRE WAR","compatibility":99,"releases":[{"id":"0100B7E0153A2000","region":null}]},{"id":"3faa3f63-5488-42ef-a462-19d5d287c362","directory":"ultra-hyperball","title":"Ultra Hyperball","compatibility":99,"releases":[{"id":"01009C000415A000","region":null}]},{"id":"3fb592f0-a8af-4479-b48e-d7e8713406a8","directory":"hellmut-the-badass-from-hell","title":"Hellmut: The Badass from Hell","compatibility":99,"releases":[{"id":"0100A0300D1A0000","region":null}]},{"id":"3fbeb66d-ab1d-463c-904b-e4952f9feafc","directory":"asterix-obelix-xxl-3-the-crystal-menhir","title":"Asterix & Obelix XXL 3 - The Crystal Menhir","compatibility":3,"releases":[{"id":"010081500EA1E000","region":null}]},{"id":"3fc03bd7-d0ec-4344-a7f8-8d428ec615e6","directory":"one-piece-unlimited-world-red-deluxe-edition","title":"ONE PIECE: Unlimited World Red Deluxe Edition","compatibility":1,"releases":[{"id":"0100574002AF4000","region":null}]},{"id":"3fca3f67-751d-41ce-a94a-9d719498767e","directory":"kingdom-tales","title":"Kingdom Tales","compatibility":99,"releases":[{"id":"0100DBE013B78000","region":null}]},{"id":"3ffa3e6b-2881-4a0b-b07b-13071e342aca","directory":"super-disc-soccer","title":"Super Disc Soccer","compatibility":99,"releases":[{"id":"01002AB014B34000","region":null}]},{"id":"3fffab85-965f-49ef-8d98-702b3ee5ca02","directory":"the-silver-case-2425","title":"The Silver Case 2425","compatibility":2,"releases":[{"id":"0100F1701434E000","region":null}]},{"id":"400e00a7-3551-4964-9152-1b343975d41b","directory":"code-realize-~guardian-of-rebirth~","title":"Code: Realize ~Guardian of Rebirth~","compatibility":0,"releases":[{"id":"010021D00F404000","region":null}]},{"id":"4015b323-8bae-4e73-9a2c-a1cf049ceeca","directory":"dragon-audit","title":"Dragon Audit","compatibility":99,"releases":[{"id":"0100DBC00BD5A000","region":null}]},{"id":"401fca48-94bd-4d68-bd8e-9352fcfdf5bf","directory":"missile-command-recharged","title":"Missile Command: Recharged","compatibility":0,"releases":[{"id":"0100745011D28000","region":null}]},{"id":"40281524-9302-498e-b09e-05eced12b569","directory":"hollow","title":"Hollow","compatibility":99,"releases":[{"id":"0100F210061E8000","region":null}]},{"id":"403284be-f6b5-4cfa-bd19-f918d5dcf51d","directory":"conjurer-andys-repeatable-dungeon","title":"Conjurer Andy's Repeatable Dungeon","compatibility":99,"releases":[{"id":"0100C8500CBC4000","region":null}]},{"id":"4037bc6e-1381-470d-bd41-bf5a08d1b221","directory":"american-hero","title":"American Hero","compatibility":99,"releases":[{"id":"01004D6013EE4000","region":null}]},{"id":"40383df6-ad2b-465b-b63e-2cb21dc488ea","directory":"arcade-archives-hyper-sports","title":"Arcade Archives HYPER SPORTS","compatibility":99,"releases":[{"id":"010065C00F976000","region":null}]},{"id":"403ee0be-8245-459d-8c71-efbae4b87803","directory":"oddmar","title":"Oddmar","compatibility":0,"releases":[{"id":"01001F100FA04000","region":null}]},{"id":"4059e641-85df-4174-87a7-6e94d46b9aa4","directory":"wartile","title":"WARTILE","compatibility":99,"releases":[{"id":"0100CD900FB24000","region":null}]},{"id":"40664a1e-ddd9-4a8e-a80e-c3d7feb80403","directory":"kontrakt","title":"Kontrakt","compatibility":99,"releases":[{"id":"01008A6014E8E000","region":null}]},{"id":"40697286-0795-4763-bbbe-d51319dfd4fd","directory":"gato-roboto","title":"Gato Roboto","compatibility":5,"releases":[{"id":"010025500C098000","region":null}]},{"id":"40764927-354a-4471-9e01-d2e83f4067df","directory":"retro-classix-2in1-pack-bad-dudes-two-crude-dudes","title":"Retro Classix 2in1 pack: Bad Dudes & Two Crude Dudes","compatibility":99,"releases":[{"id":"0100772012186000","region":null}]},{"id":"4077bf7e-90b6-4d17-811b-4532f98ab403","directory":"lost-artifacts-time-machine","title":"Lost Artifacts: Time Machine","compatibility":99,"releases":[{"id":"010005400EC0C000","region":null}]},{"id":"408c60d3-e897-4ce7-bf6a-a09275ba14d9","directory":"puzzle-puppers-demo","title":"Puzzle Puppers Demo","compatibility":99,"releases":[{"id":"010021300ABDE000","region":null}]},{"id":"40bd02c3-235e-4834-a2d8-01a86cd38054","directory":"blizzard-r-arcade-collection","title":"Blizzard® Arcade Collection","compatibility":5,"releases":[{"id":"0100743013D56000","region":null}]},{"id":"40c4d81c-2e47-4164-9705-8617aaa5671f","directory":"ok-ko-lets-play-heroes","title":"OK K.O.! Let’s Play Heroes","compatibility":99,"releases":[{"id":"010030B00B2F6000","region":null}]},{"id":"40c7060c-fee5-4f07-b7a4-0575a16cf5fc","directory":"saints-row-iv-re-elected","title":"Saints Row IV: Re-Elected","compatibility":3,"releases":[{"id":"01008D100D43E000","region":null}]},{"id":"40ceca45-27ff-4b9a-8f71-ad2f7105d449","directory":"the-forgotten-city-cloud-version","title":"The Forgotten City - Cloud Version","compatibility":99,"releases":[{"id":"01009830159CA000","region":null}]},{"id":"40d39270-5e04-48d8-a0f2-68aac7405e3e","directory":"weakwood-throne","title":"WeakWood Throne","compatibility":99,"releases":[{"id":"0100011012A70000","region":null}]},{"id":"40d607ac-f0c6-44b1-84a4-e1f57ad794a3","directory":"the-gardens-between","title":"The Gardens Between","compatibility":2,"releases":[{"id":"0100B13007A6A000","region":null}]},{"id":"40d7aa7d-392d-43f6-a110-f99ece6c83d0","directory":"buissons","title":"Buissons","compatibility":99,"releases":[{"id":"010040F015A58000","region":null}]},{"id":"40da9f43-5421-4d78-b239-1bb24a6ff6d8","directory":"spooky-ghosts-dot-com","title":"Spooky Ghosts Dot Com","compatibility":99,"releases":[{"id":"0100C6100D75E000","region":null}]},{"id":"40dc0daa-9a6b-498c-96a7-52532a9397fe","directory":"kingdoms-of-amalur-re-reckoning","title":"Kingdoms of Amalur: Re-Reckoning","compatibility":2,"releases":[{"id":"0100EF50132BE000","region":null}]},{"id":"40dde633-5577-49f7-9cf0-a3f45d2bd720","directory":"loco-sports","title":"LocO-SportS","compatibility":99,"releases":[{"id":"0100BA000FC9C000","region":null}]},{"id":"40e68bb0-53e1-4934-91d9-9c43bbf49fcd","directory":"i-wanna-fly","title":"I wanna fly","compatibility":99,"releases":[{"id":"010025C00D8A2000","region":null}]},{"id":"40eba49c-c81f-4c4f-b953-8f0f4c3d2ded","directory":"indie-puzzle-bundle-vol-1","title":"Indie Puzzle Bundle Vol 1","compatibility":99,"releases":[{"id":"0100A2101107C000","region":null}]},{"id":"40efaa20-2c73-4035-9a07-6497572e4f07","directory":"arcade-archives-yie-ar-kung-fu","title":"Arcade Archives Yie Ar KUNG-FU","compatibility":99,"releases":[{"id":"01003FB00E954000","region":null}]},{"id":"40f56e13-674a-4270-85f3-b812c9293cd0","directory":"antonball-deluxe","title":"Antonball Deluxe","compatibility":99,"releases":[{"id":"01007330142E0000","region":null}]},{"id":"41073382-1387-4541-bdad-dd7211bed571","directory":"forager","title":"Forager","compatibility":5,"releases":[{"id":"01001D200BCC4000","region":null}]},{"id":"410a1745-51fc-4268-ac05-e8b2a2816f26","directory":"among-us","title":"Among Us","compatibility":4,"releases":[{"id":"0100B0C013912000","region":null}]},{"id":"41153b90-f364-44f7-83f1-ad546777226a","directory":"arcade-archives-guzzler","title":"Arcade Archives GUZZLER","compatibility":99,"releases":[{"id":"010025E01450E000","region":null}]},{"id":"41153ccb-3e3f-436a-9ab5-900194d0dd0c","directory":"gun-skaters","title":"Gun Skaters","compatibility":99,"releases":[{"id":"010055601349E000","region":null}]},{"id":"4132bd2a-3ad3-4349-b1e6-0277fc2715b3","directory":"blink-rogues","title":"Blink: Rogues","compatibility":99,"releases":[{"id":"0100FAC0148C2000","region":null}]},{"id":"41338c70-db0b-49ec-ae1b-bece1ec97292","directory":"dusty-raging-fist","title":"Dusty Raging Fist","compatibility":99,"releases":[{"id":"010097D00402C000","region":null}]},{"id":"413de0cd-90bd-4549-8a4c-b06c753f45aa","directory":"dirt-trackin-2","title":"Dirt Trackin 2","compatibility":99,"releases":[{"id":"0100695011280000","region":null}]},{"id":"4141b54e-c26c-46c6-8493-2c7a33663f12","directory":"lets-sing-2018","title":"Let's Sing 2018","compatibility":3,"releases":[{"id":"0100ECB00A0FC000","region":null}]},{"id":"41476934-8aa3-448b-b250-3801cfb3cf9b","directory":"azure-striker-gunvolt-striker-pack","title":"Azure Striker GUNVOLT: STRIKER PACK","compatibility":1,"releases":[{"id":"0100192003FA4000","region":null}]},{"id":"414d994e-926c-4832-a9e1-2d7fbabebba7","directory":"pool-billiard","title":"Pool BILLIARD","compatibility":99,"releases":[{"id":"0100F490066A6000","region":null}]},{"id":"41689744-625f-4c81-a705-060d1d861783","directory":"glass-masquerade-double-pack","title":"Glass Masquerade Double Pack","compatibility":99,"releases":[{"id":"01002FD01191A000","region":null}]},{"id":"416b3ebc-efeb-436c-b179-0ff94461af38","directory":"womenup-super-puzzles-dream","title":"#womenUp, Super Puzzles Dream","compatibility":99,"releases":[{"id":"01003DB011AE8000","region":null}]},{"id":"416c3f31-308a-4d21-8f04-52315cf0bab1","directory":"ailment","title":"Ailment","compatibility":2,"releases":[{"id":"01006E8011C1E000","region":null}]},{"id":"419c8c02-5ac0-4bd0-9c75-b3378f49b568","directory":"sausage-sports-club","title":"Sausage Sports Club","compatibility":0,"releases":[{"id":"01006EE00380C000","region":null}]},{"id":"419d6ea0-8af3-4d91-ae55-52e5efabe126","directory":"ara-fell-enhanced-edition","title":"Ara Fell: Enhanced Edition","compatibility":0,"releases":[{"id":"010080B0115BA000","region":null}]},{"id":"41a6cee7-b8d6-4b69-b024-cc5a54481b19","directory":"sturmfront-the-mutant-war-ubel-edition","title":"SturmFront - The Mutant War: Übel Edition","compatibility":0,"releases":[{"id":"010029701420A000","region":null}]},{"id":"41acef75-39a8-412a-88d7-c4e31389acfc","directory":"new-super-luckys-tale","title":"New Super Lucky's Tale","compatibility":1,"releases":[{"id":"010017700B6C2000","region":null}]},{"id":"41be1343-e2a9-4a64-9033-2b181b328d28","directory":"shark-copter-vs-zombie-dancers","title":"Shark Copter vs. Zombie Dancers","compatibility":99,"releases":[{"id":"01007D50136DE000","region":null}]},{"id":"41bf9b3f-6785-49db-998c-6f3761667e07","directory":"sophias-world","title":"Sophia's World","compatibility":99,"releases":[{"id":"0100952016222000","region":null}]},{"id":"41cb6f85-7e57-4b35-b8f1-ca76aa5e2cb6","directory":"under-depths-of-fear","title":"Under: Depths of Fear","compatibility":99,"releases":[{"id":"0100E4C013280000","region":null}]},{"id":"41d185f9-4472-4342-94cb-f59b5a1c5ff1","directory":"battle-hunters","title":"Battle Hunters","compatibility":99,"releases":[{"id":"0100A3B011EDE000","region":null}]},{"id":"41ddfeab-77db-4de9-92cc-21f72f8d368a","directory":"poker-texas-omaha-holdem","title":"Poker - Texas & Omaha Hold'em","compatibility":99,"releases":[{"id":"0100BF10168C8000","region":null}]},{"id":"41dfd715-461f-42c0-99c6-0eb41f6d1e06","directory":"potion-party","title":"Potion Party","compatibility":0,"releases":[{"id":"01000A4014596000","region":null}]},{"id":"41e74317-494a-4f1c-99d0-814d3e949175","directory":"colt-canyon","title":"Colt Canyon","compatibility":99,"releases":[{"id":"0100B9801210A000","region":null}]},{"id":"41f17264-3f9b-4465-8bfb-a43f57d4186f","directory":"midnight-deluxe-demo","title":"Midnight Deluxe Demo","compatibility":99,"releases":[{"id":"0100ACC00A56E000","region":null}]},{"id":"41fce889-170a-4e05-9685-c349adfe83f2","directory":"soldam-drop-connect-erase","title":"Soldam: Drop, Connect, Erase","compatibility":99,"releases":[{"id":"0100A290048B0000","region":null}]},{"id":"420117b5-3aa7-460e-b5fb-90e99e7c1efe","directory":"snipperclips-cut-it-out-together-demo","title":"Snipperclips – Cut it out, together! ™ Demo","compatibility":99,"releases":[{"id":"0100D87002EE0000","region":null}]},{"id":"420a9ec9-a29a-4d0b-a03b-aa1b5a9b6922","directory":"galaxy-champions-tv","title":"Galaxy Champions TV","compatibility":1,"releases":[{"id":"010023500EF76000","region":null}]},{"id":"42169e65-311d-4b3f-b65c-623db1822c1a","directory":"warface","title":"Warface","compatibility":99,"releases":[{"id":"0100D1E00E972000","region":null}]},{"id":"4219fd53-8a6f-4e96-830f-acc49b6d5722","directory":"arcade-archives-a-jax","title":"Arcade Archives A-JAX","compatibility":99,"releases":[{"id":"0100C240148E4000","region":null}]},{"id":"42278096-42e0-4636-81d5-6351607cd8b8","directory":"apex-legends","title":"Apex Legends™","compatibility":99,"releases":[{"id":"0100D9500FC66000","region":null}]},{"id":"4233c036-603e-49e8-919d-558134a446b2","directory":"gems-of-magic-lost-family","title":"Gems of Magic: Lost Family","compatibility":99,"releases":[{"id":"0100383012DF2000","region":null}]},{"id":"42394bba-53cf-4d64-a1ba-8b613656d951","directory":"interrogation-you-will-be-deceived","title":"Interrogation: You will be deceived","compatibility":99,"releases":[{"id":"010041501005E000","region":null}]},{"id":"42409727-05a3-41cc-8826-ce4f1cf89d47","directory":"rev-up-rc-grand-prix","title":"Rev Up! RC Grand Prix","compatibility":0,"releases":[{"id":"0100CED014550000","region":null}]},{"id":"42453b0d-7d4c-4192-8e42-fa88547aecbb","directory":"served","title":"Served!","compatibility":99,"releases":[{"id":"0100B2C00E4DA000","region":null}]},{"id":"424f096a-abff-48bf-b96e-91cb30921a9a","directory":"war-torn-dreams","title":"War-Torn Dreams","compatibility":99,"releases":[{"id":"0100563011B4A000","region":null}]},{"id":"424f92bb-fca3-4347-9467-60eac35f9a3d","directory":"retro-classix-collection-1-data-east","title":"Retro Classix Collection #1: Data East","compatibility":99,"releases":[{"id":"010049E01218C000","region":null}]},{"id":"4252dc69-e388-4a9e-a75e-0f8443861627","directory":"witch-and-hero-2","title":"Witch & Hero 2","compatibility":0,"releases":[{"id":"0100F4F00FD4E000","region":null}]},{"id":"42666021-bbd4-46ac-afb9-0400809bdc90","directory":"queens-quest-2-stories-of-forgotten-past","title":"Queen's Quest 2: Stories of Forgotten Past","compatibility":99,"releases":[{"id":"01004C400CCCA000","region":null}]},{"id":"42724e27-0773-4fd0-829c-ec07981f064d","directory":"flipon","title":"Flipon","compatibility":99,"releases":[{"id":"01007800122C8000","region":null}]},{"id":"4272fbf0-0361-4dac-bafe-84147bd1edc0","directory":"mastho-is-together","title":"Mastho is Together","compatibility":0,"releases":[{"id":"01006F50152B8000","region":null}]},{"id":"427a15f9-eb07-4531-b4e0-3b303d5e0b85","directory":"aca-neogeo-samurai-shodown-v-special","title":"ACA NEOGEO SAMURAI SHODOWN V SPECIAL","compatibility":5,"releases":[{"id":"010049F00AFE8000","region":null}]},{"id":"427e92cf-b78e-4856-8d54-7699b6d0509f","directory":"johnny-turbos-arcade-nitro-ball","title":"Johnny Turbo's Arcade: Nitro Ball","compatibility":99,"releases":[{"id":"0100D07002CD6000","region":null}]},{"id":"42a12e5f-6a06-4792-bea1-b02a7da569e1","directory":"american-fugitive","title":"American Fugitive","compatibility":1,"releases":[{"id":"010002B00C534000","region":null}]},{"id":"42ac82db-7ab9-4d17-a876-414e17e23cd3","directory":"world-cruise-story","title":"World Cruise Story","compatibility":99,"releases":[{"id":"01001CC00D522000","region":null}]},{"id":"42bc0f13-5fc5-4dbb-8efe-3e28946a27ff","directory":"octahedron-transfixed-edition-demo","title":"Octahedron: Transfixed Edition Demo","compatibility":99,"releases":[{"id":"010092D00CC12000","region":null}]},{"id":"42ccae15-130a-4cd2-bb03-51fdb5d976b6","directory":"sega-ages-shinobi","title":"SEGA AGES Shinobi","compatibility":0,"releases":[{"id":"010076800E30E000","region":null}]},{"id":"42d92306-0c6f-4945-864d-60c2b374136e","directory":"bullet-trail","title":"Bullet Trail","compatibility":99,"releases":[{"id":"010057B013CA2000","region":null}]},{"id":"42facacc-8e06-40d6-b837-d812b77cac0d","directory":"my-little-fast-food-booth","title":"My little fast food booth","compatibility":99,"releases":[{"id":"0100A27014B36000","region":null}]},{"id":"43071d1a-a193-40e3-991e-04d420518239","directory":"barrier-x","title":"BARRIER X","compatibility":0,"releases":[{"id":"01007D100F1A6000","region":null}]},{"id":"431cd89f-1843-4f77-9f43-1a0f0c0dfd8b","directory":"tank-battle-retro","title":"Tank Battle Retro","compatibility":99,"releases":[{"id":"0100401014ED8000","region":null}]},{"id":"43226300-fe6a-46e1-a1e0-481b98917ec1","directory":"ivanych-vs-eared-beast","title":"Ivanych vs Eared Beast","compatibility":99,"releases":[{"id":"01002D400CCF4000","region":null}]},{"id":"4329b92e-66f4-4c7a-b312-fe95b48da20b","directory":"fuga-melodies-of-steel","title":"Fuga: Melodies of Steel","compatibility":99,"releases":[{"id":"01000130120EE000","region":null}]},{"id":"432a5781-39e5-4919-9dcb-5525f3dd0f1f","directory":"de-blob-2","title":"de Blob 2","compatibility":1,"releases":[{"id":"010034E00A114000","region":null}]},{"id":"4336e865-0068-416a-8f19-68a19c1ba32e","directory":"aca-neogeo-street-hoop","title":"ACA NEOGEO STREET HOOP","compatibility":99,"releases":[{"id":"0100CE1004FA6000","region":null}]},{"id":"43419ec0-5a8a-4bd4-b8b0-23049dfa15b6","directory":"aca-neogeo-ghost-pilots","title":"ACA NEOGEO GHOST PILOTS","compatibility":1,"releases":[{"id":"01005D700A2F8000","region":null}]},{"id":"434fda1e-d352-423c-be20-15baef828ae5","directory":"shape-suitable","title":"SHAPE SUITABLE","compatibility":99,"releases":[{"id":"0100737015768000","region":null}]},{"id":"43528d9a-7072-4ad6-ae90-1bcd66baac1d","directory":"cubikolor","title":"Cubikolor","compatibility":5,"releases":[{"id":"010096500B018000","region":null}]},{"id":"43561796-1cbd-4191-9dbb-6a83f8193422","directory":"battle-axe","title":"Battle Axe","compatibility":0,"releases":[{"id":"0100747011890000","region":null}]},{"id":"435b5b71-aa61-473f-b89c-953e503aeed9","directory":"travel-mosaics-2-roman-holiday","title":"Travel Mosaics 2: Roman Holiday","compatibility":99,"releases":[{"id":"0100A8D010BFA000","region":null}]},{"id":"4366133d-45dd-4285-acac-19af988f0589","directory":"refreshing-sideways-puzzle-ghost-hammer","title":"Refreshing Sideways Puzzle Ghost Hammer","compatibility":99,"releases":[{"id":"01003AA00F5C4000","region":null}]},{"id":"436a0eb3-f4bc-44f0-b548-25b7fd62b812","directory":"bleed-complete-bundle","title":"Bleed Complete Bundle","compatibility":0,"releases":[{"id":"010006001107E000","region":null}]},{"id":"436f47cb-d4c4-41bd-adca-1948ccf8f0d1","directory":"arcade-archives-guerrilla-war","title":"Arcade Archives GUERRILLA WAR","compatibility":99,"releases":[{"id":"01003F4011D34000","region":null}]},{"id":"43729d38-ef7f-4e52-ac5d-9b3db02d2bea","directory":"picross-s5","title":"PICROSS S5","compatibility":1,"releases":[{"id":"0100AC30133EC000","region":null}]},{"id":"4374711a-0d14-4339-9bc9-46b0b20032a9","directory":"elli","title":"Elli","compatibility":1,"releases":[{"id":"010073C00BDB0000","region":null}]},{"id":"43871d22-cc1d-495c-a07a-b9d13d528d73","directory":"deer-drive-legends","title":"Deer Drive Legends","compatibility":3,"releases":[{"id":"0100C8900DC54000","region":null}]},{"id":"438a9e6e-498d-4bf5-8b1b-80e26f6ce940","directory":"the-smurfs-mission-vileaf","title":"The Smurfs - Mission Vileaf","compatibility":4,"releases":[{"id":"010040A01407E000","region":null}]},{"id":"43934c3d-391e-4afa-b73f-16784b4ec191","directory":"reminiscence-in-the-night","title":"Reminiscence in the Night","compatibility":99,"releases":[{"id":"0100B9A01631E000","region":null}]},{"id":"4393a498-f804-499c-b692-0f40ba7b348d","directory":"robotics-notes-elite","title":"ROBOTICS;NOTES ELITE","compatibility":99,"releases":[{"id":"01002A900EE8A000","region":null}]},{"id":"439f4a84-37d9-499e-a6d8-974fc0637184","directory":"scourgebringer","title":"ScourgeBringer","compatibility":4,"releases":[{"id":"01005F7011950000","region":null}]},{"id":"43a67184-1ac2-4b2b-909f-f5b4528a929c","directory":"monster-sanctuary","title":"Monster Sanctuary","compatibility":0,"releases":[{"id":"0100A0F00DA68000","region":null}]},{"id":"43afb751-2063-4635-96bc-d62b18e7636a","directory":"pokemon-mystery-dungeon-rescue-team-dx","title":"Pokémon Mystery Dungeon: Rescue Team DX","compatibility":1,"releases":[{"id":"01003D200BAA2000","region":null}]},{"id":"43b3be95-274f-4a50-bdeb-90501132eb3e","directory":"pong-quest","title":"PONG Quest","compatibility":99,"releases":[{"id":"010069900FD68000","region":null}]},{"id":"43b70ab2-d73a-4e36-b7ea-947708d15713","directory":"johnny-turbos-arcade-heavy-burger","title":"Johnny Turbo's Arcade: Heavy Burger","compatibility":99,"releases":[{"id":"010060400BA9A000","region":null}]},{"id":"43c19023-b8f1-48a7-b64f-414dd7ea25da","directory":"tears-of-avia","title":"Tears of Avia","compatibility":99,"releases":[{"id":"010076E0150CC000","region":null}]},{"id":"43c64ebc-6cb8-4a5f-b1d4-396eb03d9192","directory":"atelier-ayesha-the-alchemist-of-dusk-dx","title":"Atelier Ayesha: The Alchemist of Dusk DX","compatibility":1,"releases":[{"id":"0100D9D00EE8C000","region":null}]},{"id":"43c88a89-d8f2-4b69-a8e2-c183897004d8","directory":"nairi-tower-of-shirin","title":"NAIRI: Tower of Shirin","compatibility":99,"releases":[{"id":"0100A6F00AC70000","region":null}]},{"id":"43cf0473-34d8-446d-a386-0eb56e90da8e","directory":"relic-hunters-zero-remix","title":"Relic Hunters Zero: Remix","compatibility":99,"releases":[{"id":"0100534011012000","region":null}]},{"id":"43f6780a-a209-4f41-89cf-ff967c5cdafe","directory":"super-trench-attack","title":"SUPER TRENCH ATTACK","compatibility":99,"releases":[{"id":"010079100CD8A000","region":null}]},{"id":"440f1150-18e3-44b4-a3c1-fb4a208605e5","directory":"pocket-rumble","title":"Pocket Rumble","compatibility":2,"releases":[{"id":"01007C600294E000","region":null}]},{"id":"441903d5-e8f7-431f-b80e-4804bd9574e5","directory":"wave-break","title":"Wave Break","compatibility":99,"releases":[{"id":"01006D801367E000","region":null}]},{"id":"4424ccd4-171b-4a41-9415-96f53bf93013","directory":"acalesia","title":"Acalesia","compatibility":99,"releases":[{"id":"010092E014400000","region":null}]},{"id":"442a62d3-e8f6-4917-b4a9-29a2e42f253b","directory":"art-sqool","title":"Art Sqool","compatibility":99,"releases":[{"id":"01006AA013086000","region":null}]},{"id":"442ebcab-7fff-4185-8b0e-1c435aa15b0c","directory":"crash-drive-3","title":"Crash Drive 3","compatibility":99,"releases":[{"id":"0100E2A00FA2C000","region":null}]},{"id":"4438b9bc-b6a8-4257-b82f-dc25f5f692aa","directory":"the-executioner","title":"The Executioner","compatibility":1,"releases":[{"id":"0100C2E0129A6000","region":null}]},{"id":"443daf2c-775a-4148-8cdb-7d042132be10","directory":"3-out-of-10-season-one","title":"3 out of 10: Season One","compatibility":99,"releases":[{"id":"01001AD013B16000","region":null}]},{"id":"4449fecb-ea1a-4e63-8675-e551e9738e7d","directory":"asmr-journey-jigsaw-puzzle","title":"ASMR Journey - Jigsaw Puzzle","compatibility":99,"releases":[{"id":"01001B801495A000","region":null}]},{"id":"444d40f5-ecda-4b73-85dd-ab8a34f267de","directory":"sumer","title":"Sumer","compatibility":99,"releases":[{"id":"01002DD004972000","region":null}]},{"id":"4458f2bd-d295-45a6-9066-2a0738877c8d","directory":"stardrone","title":"StarDrone","compatibility":99,"releases":[{"id":"01007D200C512000","region":null}]},{"id":"445a436d-67c5-473c-bf79-eddb5ff5f40f","directory":"bombing-busters","title":"Bombing Busters","compatibility":99,"releases":[{"id":"0100E7E00C4CA000","region":null}]},{"id":"445d4af6-e7c0-4901-8ef6-f058e0776373","directory":"ellipsis","title":"Ellipsis","compatibility":99,"releases":[{"id":"010058401223E000","region":null}]},{"id":"4462450c-d7af-4a8e-9f3c-8cbd2d277669","directory":"a-short-hike","title":"A Short Hike","compatibility":0,"releases":[{"id":"01004890117B2000","region":null}]},{"id":"446c608b-02ba-48a3-89a0-dd37c3be2b72","directory":"solitaire-klondike-minimal","title":"Solitaire Klondike Minimal","compatibility":99,"releases":[{"id":"01004AF012576000","region":null}]},{"id":"446fbe08-6b78-4b9c-907b-3f2cffb84c45","directory":"wizard-of-legend","title":"Wizard of Legend","compatibility":2,"releases":[{"id":"0100522007AAA000","region":null}]},{"id":"4476244e-ca8c-4d94-8ff5-d90720a7ba75","directory":"sphinx-and-the-cursed-mummy","title":"Sphinx and the Cursed Mummy","compatibility":5,"releases":[{"id":"0100BD500BA94000","region":null}]},{"id":"4484eac9-1fd7-4c2b-9c14-f7bef3aa05aa","directory":"disease-hidden-object-","title":"Disease -Hidden Object-","compatibility":3,"releases":[{"id":"01005E600AB64000","region":null}]},{"id":"449519fc-9eba-4e77-abd4-293b95d37f57","directory":"is-it-wrong-to-try-to-pick-up-girls-in-a-dungeon-familia-myth-infinite-combate","title":"Is It Wrong to Try to Pick Up Girls in a Dungeon? Familia Myth Infinite Combate","compatibility":1,"releases":[{"id":"010063E0104BE000","region":null}]},{"id":"44985db8-61b8-4a6c-9b10-a48c9c379330","directory":"superbeat-xonic","title":"SUPERBEAT: XONiC","compatibility":0,"releases":[{"id":"01007020044F0000","region":null}]},{"id":"44bfa7aa-3930-4b81-8a14-379d12fa232a","directory":"smilebasic-4","title":"SmileBASIC 4","compatibility":99,"releases":[{"id":"0100C9100B06A000","region":null}]},{"id":"44ccde1b-36c3-4960-931e-b543f39dd6dc","directory":"miitopia","title":"Miitopia™","compatibility":3,"releases":[{"id":"01003DA010E8A000","region":null}]},{"id":"44cec55a-9b0c-451b-a957-a1fd7e89740f","directory":"get-me-outta-here","title":"Get Me Outta Here","compatibility":2,"releases":[{"id":"01006DC00FA0A000","region":null}]},{"id":"44d3a231-daa5-4879-9e03-997a24982486","directory":"doodle-god-evolution-demo","title":"Doodle God : Evolution Demo","compatibility":99,"releases":[{"id":"0100E2700D5B6000","region":null}]},{"id":"44d76032-8223-4655-8a06-484b3619fc47","directory":"sir-lovelot","title":"Sir Lovelot","compatibility":99,"releases":[{"id":"0100E9201410E000","region":null}]},{"id":"44d99777-833f-481c-9763-c6acecd731a7","directory":"negative-the-way-of-shinobi","title":"Negative: The Way of Shinobi","compatibility":99,"releases":[{"id":"01008390136FC000","region":null}]},{"id":"44e086be-6033-4a93-b700-83ece7415afc","directory":"war-dogs-reds-return","title":"War Dogs: Red's Return","compatibility":99,"releases":[{"id":"010056901285A000","region":null}]},{"id":"44f4611c-bd54-4f52-a610-ebe1e588e6a3","directory":"in-vert","title":"IN-VERT","compatibility":99,"releases":[{"id":"010003A00EA90000","region":null}]},{"id":"44f8daf5-4613-40dd-bdf6-7e1fb8c3c71b","directory":"color-zen","title":"Color Zen","compatibility":1,"releases":[{"id":"0100CA100C0BA000","region":null}]},{"id":"44fc8048-12ce-4f97-9a85-dd23339c8c96","directory":"hyrule-warriors-definitive-edition","title":"Hyrule Warriors: Definitive Edition","compatibility":2,"releases":[{"id":"0100AE00096EA000","region":null}]},{"id":"4505b005-6936-4bd5-a843-9f71f514baf5","directory":"magical-maze","title":"Magical Maze","compatibility":99,"releases":[{"id":"01004670143D8000","region":null}]},{"id":"450af1f7-3731-4a5d-889c-ec85f1e2285f","directory":"retro-arcade-shooter-attack-from-pluto","title":"Retro Arcade Shooter - Attack from Pluto","compatibility":1,"releases":[{"id":"010067D012972000","region":null}]},{"id":"451ca35f-4fdb-4430-bfa8-3b000ab8e15c","directory":"azuran-tales-trials","title":"Azuran Tales: TRIALS","compatibility":99,"releases":[{"id":"0100C7D00DE24000","region":null}]},{"id":"451f5a30-f1dd-4bad-b212-ac7519fd561f","directory":"ziksquare","title":"ZikSquare","compatibility":4,"releases":[{"id":"010086700EF16000","region":null}]},{"id":"452778b3-679f-4cea-811b-38cac3ee172b","directory":"moto-rush-gt","title":"Moto Rush GT","compatibility":99,"releases":[{"id":"01003F200D0F2000","region":null}]},{"id":"45304549-6fc2-429c-8050-63b18c56134e","directory":"momodora-reverie-under-the-moonlight","title":"Momodora: Reverie Under the Moonlight","compatibility":5,"releases":[{"id":"01004A400C320000","region":null}]},{"id":"45371859-b537-4453-88f2-cd7cd2b7e09b","directory":"the-casino-roulette-video-poker-slot-machines-craps-baccarat","title":"The Casino -Roulette, Video Poker, Slot Machines, Craps, Baccarat-","compatibility":99,"releases":[{"id":"01002490132F2000","region":null}]},{"id":"4538aea8-f9a9-4cef-a908-0bf7cf7a7974","directory":"death-end-re-quest-2","title":"Death end re;Quest 2","compatibility":99,"releases":[{"id":"0100EB701568A000","region":null}]},{"id":"45482077-b840-4383-a2bc-d56e815eefbd","directory":"iro-hero","title":"Iro Hero","compatibility":99,"releases":[{"id":"0100D1B00A5A2000","region":null}]},{"id":"4548fd48-4683-49d3-b29e-35b085c22c20","directory":"solitaire-card-games","title":"Solitaire Card Games","compatibility":99,"releases":[{"id":"01004DB014FCE000","region":null}]},{"id":"45497fb9-910a-4554-bbe4-272c3e5ec76b","directory":"nice-slice","title":"Nice Slice","compatibility":99,"releases":[{"id":"0100EDD00D530000","region":null}]},{"id":"455adce6-b758-4d6a-bee6-6a0af09f1e4f","directory":"puzzle-quest-the-legend-returns","title":"Puzzle Quest: The Legend Returns","compatibility":0,"releases":[{"id":"0100B2900DF20000","region":null}]},{"id":"455b7af2-007e-45dc-aabe-62c192973e1e","directory":"jump-king","title":"Jump King","compatibility":1,"releases":[{"id":"01003D601014A000","region":null}]},{"id":"456c6bd6-dc92-4421-82e9-cee478af83ea","directory":"jotun-valhalla-edition","title":"Jotun: Valhalla Edition","compatibility":1,"releases":[{"id":"0100340009736000","region":null}]},{"id":"456e0738-aba9-42ec-a60e-ec4c966804c4","directory":"golf-with-your-friends","title":"Golf With Your Friends","compatibility":1,"releases":[{"id":"01006FB00EBE0000","region":null}]},{"id":"4571c63a-fbb0-44db-934f-56424b3e4d6d","directory":"sol-divide-sword-of-darkness-for-nintendo-switch","title":"SOL DIVIDE -SWORD OF DARKNESS- for Nintendo Switch","compatibility":99,"releases":[{"id":"0100590009C38000","region":null}]},{"id":"4575d2b6-bb53-4745-b081-7d591cabc0ab","directory":"treasures-of-the-aegean","title":"Treasures of the Aegean","compatibility":1,"releases":[{"id":"0100769015806000","region":null}]},{"id":"4581a8fb-45f0-4b84-a417-2b1e4d4c857a","directory":"bloody-rally-show","title":"Bloody Rally Show","compatibility":99,"releases":[{"id":"010073F015150000","region":null}]},{"id":"458607f2-f8ca-4db3-aace-fec8cd21e502","directory":"star-wars-knights-of-the-old-republic","title":"STAR WARS™: Knights of the Old Republic™","compatibility":2,"releases":[{"id":"0100854015868000","region":null}]},{"id":"458778cf-548e-4499-9f6c-0da09347ae1a","directory":"ben-10-power-trip","title":"Ben 10: Power Trip!","compatibility":5,"releases":[{"id":"01009CD00E3AA000","region":null}]},{"id":"45888fcc-73ec-4361-90f9-08617462a252","directory":"poltergeist-crusader","title":"Poltergeist Crusader","compatibility":99,"releases":[{"id":"01006DA013562000","region":null}]},{"id":"458e7aa1-acab-4162-92bb-34a4f8df3f33","directory":"risk-r-global-domination-demo","title":"RISK® Global Domination - Demo","compatibility":99,"releases":[{"id":"010068200BF14000","region":null}]},{"id":"45991e27-5f7f-492e-aa34-809ac1acb249","directory":"battle-supremacy","title":"Battle Supremacy","compatibility":3,"releases":[{"id":"01003B300B568000","region":null}]},{"id":"45a23375-4609-480c-a8fe-de0e149d0483","directory":"work-trip","title":"Work Trip","compatibility":99,"releases":[{"id":"0100DA801614A000","region":null}]},{"id":"45c63b8e-ed9d-4004-8723-6a284f5e63f0","directory":"mana-spark","title":"Mana Spark","compatibility":99,"releases":[{"id":"01005A700CC3C000","region":null}]},{"id":"45e44a97-6a71-4993-b467-8f1a8281c0ee","directory":"cartoon-network-battle-crashers","title":"Cartoon Network: Battle Crashers","compatibility":3,"releases":[{"id":"010010B003A26000","region":null}]},{"id":"45f3d7b7-58ca-47b4-8733-2e8c4ba6a711","directory":"arcade-archives-darwin-4078","title":"Arcade Archives DARWIN 4078","compatibility":99,"releases":[{"id":"0100BBB014CC0000","region":null}]},{"id":"45fea49a-4351-421b-8853-ab87d6cec33e","directory":"race-track-driver","title":"Race Track Driver","compatibility":0,"releases":[{"id":"0100E33015A32000","region":null}]},{"id":"4601db33-8801-4df1-8fbe-c0970d3d9f59","directory":"beat-cop","title":"Beat Cop","compatibility":4,"releases":[{"id":"01009C300BB4C000","region":null}]},{"id":"4605bf08-08bf-449f-8f78-ab021781f070","directory":"little-kite","title":"Little Kite","compatibility":99,"releases":[{"id":"010034F013552000","region":null}]},{"id":"461bd541-e2bf-48c5-a34e-74e5dea56bdb","directory":"faeria","title":"Faeria","compatibility":99,"releases":[{"id":"010069100DB08000","region":null}]},{"id":"4620bc74-33a6-46ce-a5f5-9c1f24210616","directory":"pixel-puzzle-makeout-league","title":"Pixel Puzzle Makeout League","compatibility":2,"releases":[{"id":"010000E00E612000","region":null}]},{"id":"4635ae9b-90b9-41a0-aa8f-46ad84930442","directory":"liberated-enhanced-edition","title":"Liberated: Enhanced Edition","compatibility":2,"releases":[{"id":"01003A90133A6000","region":null}]},{"id":"464302f0-87c5-4b43-b68a-2b40cdbe6825","directory":"agent-a-a-puzzle-in-disguise","title":"Agent A: A puzzle in disguise","compatibility":0,"releases":[{"id":"010005400A45E000","region":null}]},{"id":"464373a0-c0a2-4d86-9575-0471a122db3c","directory":"chalk-dash-carnival","title":"Chalk Dash Carnival","compatibility":99,"releases":[{"id":"010000A00CA78000","region":null}]},{"id":"46509a0d-18c7-401a-b433-896ca807d963","directory":"pac-man-championship-edition-2-plus","title":"PAC-MAN CHAMPIONSHIP EDITION 2 PLUS","compatibility":2,"releases":[{"id":"010024C001224000","region":null}]},{"id":"46599e47-6c85-47ed-8b1a-3a5251007654","directory":"fire-water","title":"Fire & Water","compatibility":99,"releases":[{"id":"0100F4E013AAE000","region":null}]},{"id":"4662484b-4d8e-443b-9621-8e389ef16bb8","directory":"pure-electric-love-look-at-my-eyes-moe-yamauchi-","title":"Pure / Electric Love \"Look at my eyes!\" - Moe Yamauchi -","compatibility":5,"releases":[{"id":"010009000AC2A000","region":null}]},{"id":"46657fad-116d-4bd8-a152-26e8b7a8b9c8","directory":"motogp-20","title":"MotoGP™20","compatibility":3,"releases":[{"id":"01001FA00FBBC000","region":null}]},{"id":"468309c6-a980-4fb3-a799-ba96352940a5","directory":"cube-samurai-run-squared","title":"Cube Samurai: Run Squared","compatibility":99,"releases":[{"id":"010018E0159BA000","region":null}]},{"id":"46847e22-c23d-4ab8-89df-bacda722fc6d","directory":"extreme-race","title":"Extreme Race","compatibility":99,"releases":[{"id":"0100386016194000","region":null}]},{"id":"469ae9d8-a145-43b2-b0bb-441b98d55401","directory":"danganronpa-v3-killing-harmony-anniversary-edition","title":"Danganronpa V3: Killing Harmony Anniversary Edition","compatibility":99,"releases":[{"id":"010063F014176000","region":null}]},{"id":"46a424f3-2996-4872-ac04-92334e26fe62","directory":"instant-sports-winter-games","title":"Instant Sports Winter Games","compatibility":99,"releases":[{"id":"0100833014F3A000","region":null}]},{"id":"46a8e4f9-dd8b-4ce1-8830-96aeb1563e47","directory":"no-thing","title":"NO THING","compatibility":99,"releases":[{"id":"0100F7D00A1BC000","region":null}]},{"id":"46adfd96-ba00-4d14-b22c-7d620e0ca9a4","directory":"bloody-bunny-the-game","title":"Bloody Bunny, The Game","compatibility":99,"releases":[{"id":"0100E510143EC000","region":null}]},{"id":"46b4f09c-f4b3-400b-80c0-b9c0ae88f8a4","directory":"myths-of-orion-light-from-the-north","title":"Myths of Orion: Light from the North","compatibility":99,"releases":[{"id":"010065E011D5C000","region":null}]},{"id":"46b5b447-3187-4e21-87ef-c6e795cc9a39","directory":"desktop-bowling","title":"Desktop Bowling","compatibility":99,"releases":[{"id":"0100FF800EC2E000","region":null}]},{"id":"46cd55ad-5b8f-4221-8c6f-45b2219fea62","directory":"a-knights-quest","title":"A Knight's Quest","compatibility":2,"releases":[{"id":"01005EF00CFDA000","region":null}]},{"id":"46d88ccd-b56c-4ad9-aaf0-e2963bddfc37","directory":"magical-girls","title":"Magical Girls","compatibility":0,"releases":[{"id":"0100461013AAA000","region":null}]},{"id":"46df785c-8b8e-4f17-969d-455c624edc66","directory":"the-inner-world","title":"The Inner World","compatibility":0,"releases":[{"id":"0100B0B00B318000","region":null}]},{"id":"46f5c3f1-00e8-4040-86e1-5e74fc7e04fd","directory":"mail-mole","title":"Mail Mole","compatibility":99,"releases":[{"id":"01009940140D8000","region":null}]},{"id":"46f5e0cf-70f7-49e9-8943-df32b953f89a","directory":"clea","title":"Clea","compatibility":0,"releases":[{"id":"010058900F52E000","region":null}]},{"id":"46feff0f-8073-4cb6-bcfa-ce22fb3573df","directory":"demon-hunter-revelation","title":"Demon Hunter: Revelation","compatibility":2,"releases":[{"id":"0100BF7013AE2000","region":null}]},{"id":"4717c513-6645-4191-b02a-fa69e7e11768","directory":"aquatic-rampage","title":"Aquatic Rampage","compatibility":99,"releases":[{"id":"01002370153E0000","region":null}]},{"id":"4719c66b-e419-46b1-835e-b5e0a3201fe2","directory":"pokemon-unite","title":"Pokémon UNITE","compatibility":4,"releases":[{"id":"0100939011ED4000","region":null}]},{"id":"4732cb39-0b1e-40a1-8a88-acb44953be01","directory":"project-triangle-strategy-debut-demo","title":"Project TRIANGLE STRATEGY™ Debut Demo","compatibility":1,"releases":[{"id":"01002980140F6000","region":null}]},{"id":"4733b07f-a4c3-4531-8af2-628521d52df9","directory":"musynx","title":"MUSYNX","compatibility":1,"releases":[{"id":"01007B6006092000","region":null}]},{"id":"473af39c-1d8c-4e80-a00f-7d8b1bf6b610","directory":"terratech","title":"TerraTech","compatibility":99,"releases":[{"id":"010096400CBC6000","region":null}]},{"id":"4746ea2b-bc58-48d6-8fad-b1061827be1e","directory":"zoo-dentist","title":"Zoo Dentist","compatibility":99,"releases":[{"id":"0100CC80152C4000","region":null}]},{"id":"47480e8e-b779-488a-89d2-501a720da4b1","directory":"danganronpa-trigger-happy-havoc-anniversary-edition","title":"Danganronpa: Trigger Happy Havoc Anniversary Edition","compatibility":99,"releases":[{"id":"0100812014172000","region":null}]},{"id":"475b9397-7500-47be-87ad-58e9391271f9","directory":"monster-harvest","title":"Monster Harvest","compatibility":3,"releases":[{"id":"01004E001256A000","region":null}]},{"id":"4764790e-2b63-4220-acae-64996d725a07","directory":"kropki-8","title":"Kropki 8","compatibility":99,"releases":[{"id":"010070C011E2A000","region":null}]},{"id":"47712e97-ded3-4407-9d2a-8ea5834da22f","directory":"rune-factory-4-special","title":"Rune Factory 4 Special","compatibility":1,"releases":[{"id":"010051D00E3A4000","region":null}]},{"id":"477b9bd1-14a1-4da1-889b-40bb1df66763","directory":"dark-veer","title":"Dark Veer","compatibility":99,"releases":[{"id":"01007FB00FC5E000","region":null}]},{"id":"477cd89b-d34e-44d7-8f1e-7ec5f085b04c","directory":"pikuniku","title":"Pikuniku","compatibility":0,"releases":[{"id":"010097D006DEA000","region":null}]},{"id":"47830a59-e435-49af-b64c-0857c353e54d","directory":"into-a-dream","title":"Into A Dream","compatibility":99,"releases":[{"id":"0100E12013D74000","region":null}]},{"id":"4786c7ea-97e3-4c67-9c81-19b2606b8705","directory":"throne-quest-deluxe","title":"Throne Quest Deluxe","compatibility":0,"releases":[{"id":"010070800EC56000","region":null}]},{"id":"47a55b2c-09f5-446f-b21d-7e83669fb5c2","directory":"plastic-rebellion","title":"Plastic Rebellion","compatibility":99,"releases":[{"id":"0100C7D014BBA000","region":null}]},{"id":"47c45653-0bdb-47d0-81ff-99b1c731b19a","directory":"logscape-puzzle-game","title":"LogScape - Puzzle Game","compatibility":99,"releases":[{"id":"0100A03015C16000","region":null}]},{"id":"47f9cc77-4c42-4ccc-b9f2-6282d97f0a45","directory":"atelier-meruru-~the-apprentice-of-arland~-dx","title":"Atelier Meruru ~The Apprentice of Arland~ DX","compatibility":3,"releases":[{"id":"0100ADD00C6FA000","region":null}]},{"id":"4818680c-654f-4c78-ae33-71973e71e676","directory":"chained","title":"Chained","compatibility":99,"releases":[{"id":"01000B9011596000","region":null}]},{"id":"481a75b8-3030-4804-82f7-9d0933d0f383","directory":"mother-russia-bleeds","title":"Mother Russia Bleeds","compatibility":0,"releases":[{"id":"0100D9C00AA52000","region":null}]},{"id":"482f53fb-f46e-47e2-9d86-5e2996d2df33","directory":"crocs-world-3","title":"Croc's World 3","compatibility":1,"releases":[{"id":"010025200FC54000","region":null}]},{"id":"482ff01e-084e-40bb-97ed-e10a6e53f833","directory":"puzzle-herder","title":"Puzzle Herder","compatibility":99,"releases":[{"id":"010099100E03C000","region":null}]},{"id":"48331247-5269-4842-b159-67ac2c97cdf3","directory":"offroad-racing-buggy-x-atv-x-moto","title":"Offroad Racing - Buggy X ATV X Moto","compatibility":1,"releases":[{"id":"01003CD00E8BC000","region":null}]},{"id":"48346d23-a19f-407b-9af0-220084544710","directory":"ghost-elisa-cameron","title":"Ghost: Elisa Cameron","compatibility":99,"releases":[{"id":"0100E46014A32000","region":null}]},{"id":"48369355-bb83-4d6e-8743-59c38bc02542","directory":"trax-build-it-race-it","title":"Trax - Build it Race it","compatibility":99,"releases":[{"id":"01004C200ADA0000","region":null}]},{"id":"48370116-0b28-4b94-af3a-eb6e47537d28","directory":"jamestown","title":"Jamestown+","compatibility":2,"releases":[{"id":"010000100C4B8000","region":null}]},{"id":"4840a43c-e481-4cc5-a89e-ac48b9fedf14","directory":"taxi-driver-the-simulation","title":"Taxi Driver - The Simulation","compatibility":99,"releases":[{"id":"010073A010430000","region":null}]},{"id":"484ae2ef-89e1-4681-81e0-7ca436a6d859","directory":"dungeon-village","title":"Dungeon Village","compatibility":99,"releases":[{"id":"010016700BCD4000","region":null}]},{"id":"484fb5e3-9a08-4689-8435-c5419471d46f","directory":"devil-slayer-raksasi","title":"Devil Slayer Raksasi","compatibility":3,"releases":[{"id":"01003C900EFF6000","region":null}]},{"id":"4850ee78-b43a-4b65-8967-37b0b0535e34","directory":"this-strange-realm-of-mine","title":"This Strange Realm Of Mine","compatibility":99,"releases":[{"id":"0100C7C00F77C000","region":null}]},{"id":"485a1b57-24e6-4be1-9952-149dc4230e69","directory":"links-puzzle","title":"Links Puzzle","compatibility":99,"releases":[{"id":"010054F015D5C000","region":null}]},{"id":"485a7bbf-d362-4b51-b958-227610e94721","directory":"the-talos-principle-deluxe-edition","title":"The Talos Principle: Deluxe Edition","compatibility":4,"releases":[{"id":"010092A00D43C000","region":null}]},{"id":"4863bbc9-4311-4dc1-b961-e4c6c1975ef1","directory":"golazo","title":"Golazo!","compatibility":1,"releases":[{"id":"010013800F0A4000","region":null}]},{"id":"4869c967-031e-4544-8f1c-b4fe1f02b459","directory":"sweets-swap-classic","title":"Sweets Swap Classic","compatibility":99,"releases":[{"id":"01006DE016788000","region":null}]},{"id":"486f72a2-8bba-4138-9508-5f079ee0d334","directory":"unavowed","title":"Unavowed","compatibility":99,"releases":[{"id":"0100C18014DC0000","region":null}]},{"id":"487b7497-94a9-4ac7-bb24-01b0de85850c","directory":"food-truck-tycoon","title":"Food Truck Tycoon","compatibility":1,"releases":[{"id":"0100F3900D0F0000","region":null}]},{"id":"487cd274-bc95-4ca4-b4d9-ff7e752118b5","directory":"achtung-cthulhu-tactics","title":"Achtung! Cthulhu Tactics","compatibility":99,"releases":[{"id":"010079B00B3F4000","region":null}]},{"id":"48821cee-f50a-4f8b-a133-65daf6af90d3","directory":"demons-tier","title":"Demon's Tier+","compatibility":3,"releases":[{"id":"0100161011458000","region":null}]},{"id":"4889544a-a149-4d22-9d44-5daa1c854f9e","directory":"wonder-blade","title":"Wonder Blade","compatibility":99,"releases":[{"id":"010037A00F5E2000","region":null}]},{"id":"488c5e50-91a3-425b-910f-bd51543138a4","directory":"shiro","title":"Shiro","compatibility":99,"releases":[{"id":"0100244016BAE000","region":null}]},{"id":"48957471-aae1-46c2-909a-dc68a8deabbf","directory":"kitty-love-way-to-look-for-love-","title":"Kitty Love -Way to look for love-","compatibility":1,"releases":[{"id":"0100EAE00BE4A000","region":null}]},{"id":"489be885-0b37-431c-8cb1-9fd1a3eee228","directory":"brawl-chess","title":"Brawl Chess","compatibility":1,"releases":[{"id":"010068F00F444000","region":null}]},{"id":"48a7a027-9eca-4992-9136-43bf61e0462b","directory":"dark-witch-music-episode-rudymical-demo","title":"Dark Witch Music Episode: Rudymical Demo","compatibility":0,"releases":[{"id":"010047A008760000","region":null}]},{"id":"48b27fef-fee4-4bf1-bd68-5f1dba93cc37","directory":"zombieland-double-tap-road-trip","title":"Zombieland: Double Tap - Road Trip","compatibility":99,"releases":[{"id":"010004D00D32A000","region":null}]},{"id":"48b32db3-5a59-4aaa-ad0b-274468cecc4b","directory":"super-bomberman-r","title":"Super Bomberman R","compatibility":2,"releases":[{"id":"01007AD00013E000","region":null}]},{"id":"48c61045-6f9e-4fad-9e12-b94fa66aa084","directory":"spelunky-2","title":"Spelunky 2","compatibility":1,"releases":[{"id":"01007EC013ABC000","region":null}]},{"id":"48d015bb-4a94-4d13-8d0f-51a7ba59b389","directory":"castle-heroes","title":"Castle Heroes","compatibility":0,"releases":[{"id":"0100632014A12000","region":null}]},{"id":"48e9e213-fb46-4317-86a1-97c30f9553da","directory":"miracle-snack-shop","title":"Miracle Snack Shop","compatibility":1,"releases":[{"id":"0100B4C014466000","region":null}]},{"id":"48f09685-1ca8-42b9-ac18-e2a2026bf2e9","directory":"solseraph","title":"SolSeraph","compatibility":3,"releases":[{"id":"010077600BE3A000","region":null}]},{"id":"48ff5c8f-6dbb-4898-a6ce-50e3b2ad4464","directory":"jelly-champs","title":"Jelly Champs!","compatibility":99,"releases":[{"id":"010019D012018000","region":null}]},{"id":"490154a0-9610-402e-af54-098582090473","directory":"ary-and-the-secret-of-seasons","title":"Ary and the Secret of Seasons","compatibility":1,"releases":[{"id":"0100C2500CAB6000","region":null}]},{"id":"4913abbf-1e92-40c9-b823-2efe53e2b14e","directory":"deadlings","title":"Deadlings","compatibility":99,"releases":[{"id":"0100DDE00E81A000","region":null}]},{"id":"4929a773-da00-4949-afe8-b4e54e1630b8","directory":"peace-death-complete-edition","title":"Peace, Death! Complete Edition","compatibility":99,"releases":[{"id":"010069300C90A000","region":null}]},{"id":"4932c39b-45f6-4c57-a391-fb14a063f4a3","directory":"mmc-kenken-the-worlds-most-exciting-math-and-logic-puzzle","title":"MMC KENKEN - The World's Most Exciting Math and Logic Puzzle -","compatibility":99,"releases":[{"id":"0100136015456000","region":null}]},{"id":"49359c31-0001-4f70-8129-9f4a64d2d4db","directory":"last-stop","title":"Last Stop","compatibility":99,"releases":[{"id":"0100FBF014064000","region":null}]},{"id":"493a3532-f4cf-4437-9a37-b9843e3811d7","directory":"death-ray-manta-se","title":"Death Ray Manta SE","compatibility":1,"releases":[{"id":"0100F11012BC2000","region":null}]},{"id":"493e6ced-ba08-442a-8537-c24686982795","directory":"factotum-90","title":"Factotum 90","compatibility":2,"releases":[{"id":"0100BD6010638000","region":null}]},{"id":"4940e3c0-52d4-46d6-812a-8b64b8d0ce98","directory":"doug-hates-his-job","title":"Doug Hates His Job","compatibility":99,"releases":[{"id":"0100A14013B1E000","region":null}]},{"id":"49417f12-f786-45da-b1ab-09c07ac96b44","directory":"standby","title":"STANDBY","compatibility":0,"releases":[{"id":"0100FF500E668000","region":null}]},{"id":"494c30c4-e813-4e6a-8c4b-6f4ca2f0f11f","directory":"guards","title":"Guards","compatibility":99,"releases":[{"id":"010061401498C000","region":null}]},{"id":"494f0525-6d49-4458-b3bd-9e2cd2420ead","directory":"saboteur","title":"Saboteur!","compatibility":0,"releases":[{"id":"0100F6F00B9E8000","region":null}]},{"id":"494f2034-3d5e-4a7f-97f8-ff6af856b1db","directory":"12-labours-of-hercules-ii-the-cretan-bull","title":"12 Labours of Hercules II: The Cretan Bull","compatibility":3,"releases":[{"id":"0100B1A010014000","region":null}]},{"id":"4954521f-759c-4210-93bd-f4f4e5bfee06","directory":"warhammer-quest-2-the-end-times","title":"Warhammer Quest 2: The End Times","compatibility":0,"releases":[{"id":"01002FF00F460000","region":null}]},{"id":"495b0d1b-b343-4b32-9a65-4894891b6f84","directory":"scheming-through-the-zombie-apocalypse-the-beginning","title":"Scheming Through The Zombie Apocalypse: The Beginning","compatibility":99,"releases":[{"id":"0100AE300F5B4000","region":null}]},{"id":"495c5336-dc9f-46b8-bced-4ba6a0417982","directory":"we-are-doomed","title":"WE ARE DOOMED","compatibility":99,"releases":[{"id":"01000F101286A000","region":null}]},{"id":"49690765-86de-493a-ad02-9e39679ebcb1","directory":"haustoria","title":"Haustoria","compatibility":99,"releases":[{"id":"0100077016288000","region":null}]},{"id":"4974a2e7-6dee-4ca2-8ac8-fae2d5c6b37f","directory":"aca-neogeo-real-bout-fatal-fury-special","title":"ACA NEOGEO REAL BOUT FATAL FURY SPECIAL","compatibility":2,"releases":[{"id":"010088500878C000","region":null}]},{"id":"497c7f99-b643-486a-986f-a1fad85f9dbb","directory":"black-future-88","title":"Black Future '88","compatibility":99,"releases":[{"id":"010049000B69E000","region":null}]},{"id":"498ea669-7199-4a92-bfd4-12afc83d3f9e","directory":"tennis-in-the-face","title":"Tennis in the Face","compatibility":4,"releases":[{"id":"01002970080AA000","region":null}]},{"id":"4990b351-ee3a-4b7b-b22d-1aa49338b30d","directory":"stay-safe","title":"Stay Safe","compatibility":99,"releases":[{"id":"0100FD40102A6000","region":null}]},{"id":"49955f50-308b-4ef8-8b41-a61b03ea33ef","directory":"genetic-disaster","title":"Genetic Disaster","compatibility":1,"releases":[{"id":"010014901144C000","region":null}]},{"id":"49971a07-dc64-4bbf-8dbb-9adf12488c14","directory":"puzzle-frenzy","title":"Puzzle Frenzy","compatibility":99,"releases":[{"id":"0100093016CEE000","region":null}]},{"id":"49b527ac-45c7-46ef-bb87-559ad3927629","directory":"when-ski-lifts-go-wrong","title":"When Ski Lifts Go Wrong","compatibility":99,"releases":[{"id":"01009AD00BFD0000","region":null}]},{"id":"49bb82c3-bc40-4bf8-a3bd-db2c54c7e600","directory":"lucid-cycle","title":"Lucid Cycle","compatibility":99,"releases":[{"id":"0100055015A82000","region":null}]},{"id":"49c098e1-a563-4e96-a536-dacf5c3a4d79","directory":"return-of-the-obra-dinn","title":"Return of the Obra Dinn","compatibility":1,"releases":[{"id":"010032E00E6E2000","region":null}]},{"id":"49c5ef87-66b4-4a28-9aaa-cac123d70ae4","directory":"terra-lander","title":"Terra Lander","compatibility":99,"releases":[{"id":"01002C80145EA000","region":null}]},{"id":"49d31917-7f55-4e19-9c10-0f20a5001856","directory":"our-two-bedroom-story","title":"Our Two Bedroom Story","compatibility":3,"releases":[{"id":"010097F010FE6000","region":null}]},{"id":"49d61968-d27a-4781-9643-3197356813a7","directory":"paperball-deluxe","title":"Paperball Deluxe","compatibility":99,"releases":[{"id":"0100A24012374000","region":null}]},{"id":"49daa5ca-9b34-4468-9a44-b96d1092b360","directory":"monster-energy-supercross-the-official-videogame","title":"Monster Energy Supercross - The Official Videogame","compatibility":4,"releases":[{"id":"0100742007266000","region":null}]},{"id":"49e4b4bb-251f-4992-8c79-45f4654abdea","directory":"capes-escape-game-4th-room","title":"Cape’s Escape Game 4th Room","compatibility":99,"releases":[{"id":"0100FD20162F0000","region":null}]},{"id":"49e88722-54ed-4147-85b5-c49c8e6a5001","directory":"hike","title":"Hike","compatibility":99,"releases":[{"id":"0100E9C014932000","region":null}]},{"id":"49eb8b17-5d64-4017-a46c-8918ce2c60fe","directory":"the-legend-of-the-blue-warrior","title":"The Legend Of The Blue Warrior","compatibility":99,"releases":[{"id":"0100C13012F8E000","region":null}]},{"id":"49ef1c8d-7ffd-42bf-babc-7f0379b0fe43","directory":"nba-2k21","title":"NBA 2K21","compatibility":5,"releases":[{"id":"0100E24011D1E000","region":null}]},{"id":"49f02b03-61e3-44bc-aa6a-b6514f4386d3","directory":"quadle","title":"Quadle","compatibility":99,"releases":[{"id":"010080B00D8D4000","region":null}]},{"id":"4a070317-2eea-43d8-a394-1af7b77708bf","directory":"baobabs-mausoleum-ep3-un-pato-en-muertoburgo","title":"Baobabs Mausoleum Ep.3: Un Pato en Muertoburgo","compatibility":99,"releases":[{"id":"01006D300FFA6000","region":null}]},{"id":"4a18a35a-8d58-4dc2-8935-9fe3b0ed7bb5","directory":"yestermorrow","title":"YesterMorrow","compatibility":2,"releases":[{"id":"010076B0101A0000","region":null}]},{"id":"4a21f603-7d3e-4c94-8868-a09506cc4a82","directory":"arcade-archives-swimmer","title":"Arcade Archives SWIMMER","compatibility":99,"releases":[{"id":"01001620143BC000","region":null}]},{"id":"4a2baa2d-027a-44c1-831b-8c085d4c2de2","directory":"spinnys-journey","title":"Spinny's Journey","compatibility":1,"releases":[{"id":"01001E40136FE000","region":null}]},{"id":"4a3909aa-f239-4b27-8945-6cb34054e59c","directory":"tested-on-humans-escape-room","title":"Tested on Humans: Escape Room","compatibility":99,"releases":[{"id":"01006F701507A000","region":null}]},{"id":"4a3b6d10-8e29-432c-8674-0f684263f382","directory":"world-of-tanks-blitz","title":"World of Tanks Blitz","compatibility":99,"releases":[{"id":"0100DA501160C000","region":null}]},{"id":"4a3e2505-707f-4d04-9638-4f1da5bcc9d3","directory":"zombie-night-terror","title":"Zombie Night Terror","compatibility":99,"releases":[{"id":"01004F900B838000","region":null}]},{"id":"4a47a83c-bbca-4e73-8474-1602dd9125a3","directory":"poisoft-thud-card","title":"Poisoft Thud Card","compatibility":99,"releases":[{"id":"0100DCE009732000","region":null}]},{"id":"4a4e59d7-7778-4849-9749-19cce45d9854","directory":"alien-escape","title":"Alien Escape","compatibility":0,"releases":[{"id":"0100C1500DBDE000","region":null}]},{"id":"4a504a95-3314-4aaa-95ed-ae5ccfc12e0f","directory":"unreal-life","title":"UNREAL LIFE","compatibility":99,"releases":[{"id":"0100A06011A48000","region":null}]},{"id":"4a5094c5-6d65-4bbf-9eda-ce7648368b74","directory":"animated-jigsaws-beautiful-japanese-scenery-demo","title":"Animated Jigsaws: Beautiful Japanese Scenery Demo","compatibility":99,"releases":[{"id":"0100A1900B5B8000","region":null}]},{"id":"4a63b57c-4048-499a-bf9e-589daae2faf2","directory":"promesa","title":"Promesa","compatibility":99,"releases":[{"id":"010052F0149C8000","region":null}]},{"id":"4a777875-920f-42ca-86cf-5bdb7557be84","directory":"famicom-detective-club-the-girl-who-stands-behind","title":"Famicom Detective Club™: The Girl Who Stands Behind","compatibility":0,"releases":[{"id":"0100D670126F6000","region":null}]},{"id":"4a84757c-8a1e-4936-b515-8be852b55452","directory":"umurangi-generation-special-edition","title":"Umurangi Generation Special Edition","compatibility":99,"releases":[{"id":"0100CA3014ADE000","region":null}]},{"id":"4aa0f2bd-92cc-4752-a0a0-3c70fb226d88","directory":"beast-quest","title":"Beast Quest","compatibility":99,"releases":[{"id":"01001EB00E9FE000","region":null}]},{"id":"4ad2acb8-ee8d-453a-8e52-3a284dcf7ce0","directory":"firefighters-airport-fire-department","title":"Firefighters: Airport Fire Department","compatibility":3,"releases":[{"id":"0100BB1009E50000","region":null}]},{"id":"4ad3c8e0-7390-49c1-af77-8b970c707744","directory":"one-more-dungeon-demo","title":"One More Dungeon Demo","compatibility":99,"releases":[{"id":"01003AE00A872000","region":null}]},{"id":"4ad5583e-ca44-4287-9934-c2be7e8862b7","directory":"steinsgate-elite","title":"STEINS;GATE ELITE","compatibility":2,"releases":[{"id":"010042800B880000","region":null}]},{"id":"4adf0369-6aca-4044-a1c9-cff41ac7712b","directory":"katana-kata","title":"Katana Kata","compatibility":99,"releases":[{"id":"01002E1013C3E000","region":null}]},{"id":"4ae33f14-10bb-432d-9301-278501dd20f2","directory":"marvel-ultimate-alliance-3-the-black-order","title":"MARVEL ULTIMATE ALLIANCE 3: The Black Order","compatibility":2,"releases":[{"id":"010060700AC50000","region":null}]},{"id":"4af0ffe2-867c-4462-9e07-f5361adc7ff2","directory":"root","title":"Root","compatibility":99,"releases":[{"id":"01000AF01518A000","region":null}]},{"id":"4afd7898-1d4d-4dae-80c3-a141ae4a5e4b","directory":"plague-road","title":"Plague Road","compatibility":99,"releases":[{"id":"0100FF8005EB2000","region":null}]},{"id":"4b07b75f-3a15-4e64-bfaa-a00617418e40","directory":"remilore","title":"RemiLore","compatibility":1,"releases":[{"id":"010095900B436000","region":null}]},{"id":"4b1310a3-9d02-4075-a200-b03315ac5a0a","directory":"slime-san","title":"Slime-san","compatibility":99,"releases":[{"id":"0100112003B8A000","region":null}]},{"id":"4b1e033f-85ef-4ea3-a589-c24c36442d9e","directory":"family-mysteries-poisonous-promises","title":"Family Mysteries: Poisonous Promises","compatibility":1,"releases":[{"id":"0100034012606000","region":null}]},{"id":"4b27e5d2-1aca-4b28-aec2-1b56961158b4","directory":"aca-neogeo-the-king-of-fighters-98","title":"ACA NEOGEO THE KING OF FIGHTERS '98","compatibility":2,"releases":[{"id":"0100B42001DB4000","region":null}]},{"id":"4b2a4e3a-1236-4624-a62d-74df0d547fbe","directory":"aca-neogeo-king-of-the-monsters","title":"ACA NEOGEO KING OF THE MONSTERS","compatibility":99,"releases":[{"id":"0100B1300871A000","region":null}]},{"id":"4b303933-f24d-4cdf-90fb-bd424f31f9ea","directory":"mahjong-masters","title":"Mahjong Masters","compatibility":99,"releases":[{"id":"0100DD9015E44000","region":null}]},{"id":"4b5d88b0-34cf-4e6f-b433-2c07de8c2e50","directory":"adventures-of-bertram-fiddle-episode-2-a-bleaker-predicklement","title":"Adventures of Bertram Fiddle Episode 2: A Bleaker Predicklement","compatibility":99,"releases":[{"id":"010021F00C1C0000","region":null}]},{"id":"4b68bf70-7480-491d-86a1-c8eb4dce2f15","directory":"bouncy-bob-2","title":"Bouncy Bob 2","compatibility":99,"releases":[{"id":"010081100FE08000","region":null}]},{"id":"4b6aabbf-14c9-4699-ab1d-0d4dff79db48","directory":"garage","title":"Garage","compatibility":1,"releases":[{"id":"01000FA00A4E4000","region":null}]},{"id":"4b6b7c72-e01b-4b1b-9c00-849f3c88b27f","directory":"103","title":"103","compatibility":99,"releases":[{"id":"0100264012980000","region":null}]},{"id":"4b8034a7-a85f-4efa-a55c-e9c91b3edc38","directory":"deemo-reborn","title":"DEEMO -Reborn-","compatibility":99,"releases":[{"id":"01008B10132A2000","region":null}]},{"id":"4b8150e3-a969-4cb9-901f-c10c3a169d7f","directory":"dead-cells","title":"Dead Cells","compatibility":1,"releases":[{"id":"0100646009FBE000","region":null}]},{"id":"4b81587e-c09c-46d4-9c56-d72e0a2d38b9","directory":"spyhack","title":"SpyHack","compatibility":99,"releases":[{"id":"01005D701264A000","region":null}]},{"id":"4ba012c0-6d64-44cb-875f-d0212bf9ed77","directory":"chromagun","title":"ChromaGun","compatibility":0,"releases":[{"id":"010039A008E76000","region":null}]},{"id":"4bb1fb6d-fe23-43af-9ba6-21a190ab3cab","directory":"match-three-pirates-ii","title":"Match Three Pirates II","compatibility":99,"releases":[{"id":"010090C016EE4000","region":null}]},{"id":"4bbed6de-19a0-45ae-8009-76d0d3023851","directory":"arkan-the-dog-adventurer","title":"Arkan: The dog adventurer","compatibility":99,"releases":[{"id":"0100C4A014766000","region":null}]},{"id":"4bcec22b-b7da-47b5-a3ed-b1b781e7a209","directory":"instant-sports-paradise","title":"Instant Sports Paradise","compatibility":1,"releases":[{"id":"0100D4D014F38000","region":null}]},{"id":"4be8226e-a4f5-4802-aee4-22996fd9f5e4","directory":"build-a-bridge","title":"Build a Bridge!","compatibility":99,"releases":[{"id":"01004D200BB96000","region":null}]},{"id":"4bf29b1c-f8c1-4d7c-b6ff-dde6c9de7dc7","directory":"oceanhorn-monster-of-uncharted-seas","title":"Oceanhorn - Monster of Uncharted Seas","compatibility":0,"releases":[{"id":"01007D7001D0E000","region":null}]},{"id":"4bf7a444-316a-4880-b07b-44bbcbe4b9d3","directory":"real-farm-premium-edition","title":"Real Farm - Premium Edition","compatibility":99,"releases":[{"id":"01006C101226C000","region":null}]},{"id":"4bfe0669-e411-4797-9203-1102e128581e","directory":"superliminal","title":"Superliminal","compatibility":4,"releases":[{"id":"010075701153A000","region":null}]},{"id":"4c0e5f49-306a-44c5-b525-64d2d8afe30b","directory":"preventive-strike","title":"Preventive Strike","compatibility":99,"releases":[{"id":"010009300D278000","region":null}]},{"id":"4c159662-76b6-4d76-9477-cc9a70687ec7","directory":"romance-of-the-three-kingdoms-xiv-diplomacy-and-strategy-expansion-pack-bundle","title":"ROMANCE OF THE THREE KINGDOMS XIV: Diplomacy and Strategy Expansion Pack Bundle","compatibility":99,"releases":[{"id":"0100ED7012DB2000","region":null}]},{"id":"4c2eaf03-5c05-4f62-b9dd-2c17f7f3dc46","directory":"animated-jigsaws-beautiful-japanese-scenery","title":"Animated Jigsaws: Beautiful Japanese Scenery","compatibility":99,"releases":[{"id":"01003C200A232000","region":null}]},{"id":"4c518ccc-8844-42c3-964f-d7209812a1ad","directory":"the-witcher-3-wild-hunt","title":"The Witcher 3: Wild Hunt","compatibility":4,"releases":[{"id":"0100E67012924000","region":null}]},{"id":"4c532f62-6c51-4ea3-9bad-7bd67c41029b","directory":"virtual-battle","title":"Virtual Battle","compatibility":99,"releases":[{"id":"0100226013C14000","region":null}]},{"id":"4c53b1a1-3ce9-4d5b-9724-74752ab5eb2b","directory":"slots-of-poker-at-aces-casino","title":"Slots of Poker at Aces Casino","compatibility":99,"releases":[{"id":"0100023012640000","region":null}]},{"id":"4c59cf0d-4570-41d3-bebd-638296b7c44e","directory":"minecraft-nintendo-switch-edition","title":"Minecraft: Nintendo Switch Edition","compatibility":0,"releases":[{"id":"01006BD001E06000","region":null}]},{"id":"4c666e56-c945-4078-a86c-95dfa32d129a","directory":"draw-a-stickman-epic-2","title":"Draw a Stickman: EPIC 2","compatibility":3,"releases":[{"id":"010030D004F34000","region":null}]},{"id":"4c7d0b30-26ad-4186-b677-b3314a7ab22d","directory":"balancelot","title":"Balancelot","compatibility":99,"releases":[{"id":"0100ECE0133AA000","region":null}]},{"id":"4c891790-ca49-4a33-aed7-cfc41a1607ad","directory":"harvest-moon-light-of-hope-special-edition","title":"Harvest Moon: Light of Hope Special Edition","compatibility":1,"releases":[{"id":"0100CF8003E70000","region":null}]},{"id":"4c8ebc5f-57e8-43a0-9ef7-9f7aa124c33c","directory":"tracks-toybox-edition","title":"Tracks - Toybox Edition","compatibility":3,"releases":[{"id":"0100192010F5A000","region":null}]},{"id":"4c974d42-c39d-482b-879f-f2063418e710","directory":"its-raining-fists-and-metal","title":"It's Raining Fists and Metal","compatibility":3,"releases":[{"id":"010022C00E8D8000","region":null}]},{"id":"4ca2e1be-37ad-4fa7-9225-43b60e611139","directory":"big-bash-boom","title":"Big Bash Boom","compatibility":1,"releases":[{"id":"010038D00B10A000","region":null}]},{"id":"4ca308c3-bcec-4e80-a351-6d707baca25e","directory":"dark-water-slime-invader","title":"Dark Water: Slime Invader","compatibility":99,"releases":[{"id":"0100C88014614000","region":null}]},{"id":"4ca51da4-6552-4278-8794-9f4c6efdabd1","directory":"angelo-and-deemon-one-hell-of-a-quest","title":"Angelo and Deemon: One Hell of a Quest","compatibility":99,"releases":[{"id":"0100D20015C06000","region":null}]},{"id":"4cc89c6f-32a3-48eb-8316-1556f9b42f9e","directory":"party-treats","title":"Party Treats","compatibility":99,"releases":[{"id":"010027D00F63C000","region":null}]},{"id":"4cc8ab8a-fd84-4913-bba7-c4bf962390dc","directory":"wild-guns-reloaded","title":"Wild Guns Reloaded","compatibility":1,"releases":[{"id":"0100CFC00A1D8000","region":null}]},{"id":"4cd00482-d506-41ee-9201-031aefea47d8","directory":"among-pipes","title":"Among Pipes","compatibility":0,"releases":[{"id":"0100AC4014872000","region":null}]},{"id":"4cd55601-b83e-4f71-951c-7c3f685ee19d","directory":"catlateral-damage-remeowstered","title":"Catlateral Damage: Remeowstered","compatibility":99,"releases":[{"id":"010077A00CB58000","region":null}]},{"id":"4cde7fbd-4270-493b-ae59-903907be6ef4","directory":"the-legend-of-tianding","title":"The Legend of Tianding","compatibility":99,"releases":[{"id":"0100AD90155FC000","region":null}]},{"id":"4ceccf7f-54fe-4171-8b63-d462523f5e61","directory":"stela","title":"Stela","compatibility":2,"releases":[{"id":"01002DE01043E000","region":null}]},{"id":"4d007190-aeac-4ed2-a115-21cc14a9093e","directory":"mystic-vale","title":"Mystic Vale","compatibility":99,"releases":[{"id":"010065500ED96000","region":null}]},{"id":"4d152905-a873-447d-8d2e-f0f856388f50","directory":"the-sexy-brutale","title":"The Sexy Brutale","compatibility":2,"releases":[{"id":"0100F89003BC8000","region":null}]},{"id":"4d2cc62e-137a-4fac-89f5-48240a187d36","directory":"lust-for-darkness","title":"Lust for Darkness","compatibility":0,"releases":[{"id":"0100F3100EB44000","region":null}]},{"id":"4d2e5753-c9b1-45e6-9fec-99e121c0fa1a","directory":"twister-road","title":"Twister Road","compatibility":99,"releases":[{"id":"010088F00F66C000","region":null}]},{"id":"4d2e9c9a-9c31-46a6-9416-3212897d8ff4","directory":"tengai-for-nintendo-switch","title":"TENGAI for Nintendo Switch","compatibility":99,"releases":[{"id":"0100B2600A398000","region":null}]},{"id":"4d451b33-ea4f-48a8-88d2-b94ccc315e56","directory":"infliction-extended-cut","title":"Infliction: Extended Cut","compatibility":99,"releases":[{"id":"01001CB00EFD6000","region":null}]},{"id":"4d52dd4f-ebb1-4181-9fe2-1ef05ea31585","directory":"the-last-days","title":"The Last Days","compatibility":99,"releases":[{"id":"0100487012CC6000","region":null}]},{"id":"4d5a9976-a361-48ec-82be-f5169815667a","directory":"valfaris-slain-double-pack","title":"Valfaris & Slain Double Pack","compatibility":2,"releases":[{"id":"0100CBF0115F2000","region":null}]},{"id":"4d631cdb-83d6-480e-b566-326d96034931","directory":"steamroll-rustless-edition","title":"Steamroll: Rustless Edition","compatibility":99,"releases":[{"id":"01001D6011D58000","region":null}]},{"id":"4d6366e4-9b26-456d-ba8a-5e64211d91ff","directory":"driving-world-aspen","title":"Driving World: Aspen","compatibility":0,"releases":[{"id":"0100D46014CCE000","region":null}]},{"id":"4d68f15e-ed9a-4ebe-8410-d00a01500597","directory":"little-dragons-cafe","title":"Little Dragons Café","compatibility":1,"releases":[{"id":"0100A3F009142000","region":null}]},{"id":"4d8791ec-75a3-4b8d-bf87-d5981c457137","directory":"evans-remains","title":"Evan's Remains","compatibility":99,"releases":[{"id":"01003F900E74E000","region":null}]},{"id":"4d8fd380-f48e-4dff-a806-86868e89c095","directory":"home-run-high","title":"Home Run High","compatibility":99,"releases":[{"id":"010013300F882000","region":null}]},{"id":"4d981c61-37a7-4ca9-a782-c2b54b7ae5cb","directory":"dayd-through-time","title":"DayD: Through Time","compatibility":2,"releases":[{"id":"010072600D8EC000","region":null}]},{"id":"4d9a0ec1-726a-4d11-b7c7-a05a4554ce89","directory":"habroxia-2","title":"Habroxia 2","compatibility":2,"releases":[{"id":"0100E3D013B28000","region":null}]},{"id":"4da8e468-d662-45f7-9e91-4939fb4beff2","directory":"through-the-darkest-of-times","title":"Through the Darkest of Times","compatibility":0,"releases":[{"id":"01007130114CC000","region":null}]},{"id":"4daa2887-ba05-4b96-980f-a344bf33ce04","directory":"mindseize","title":"MindSeize","compatibility":0,"releases":[{"id":"0100B05012FB2000","region":null}]},{"id":"4dc03dfd-6b53-4b32-b691-92df8a495d11","directory":"tennis-world-tour-2","title":"Tennis World Tour 2","compatibility":1,"releases":[{"id":"01002AF011D14000","region":null}]},{"id":"4dcb855c-bc79-4276-97df-5c6c5e3da8e2","directory":"dirt-bike-retro","title":"Dirt Bike Retro","compatibility":0,"releases":[{"id":"01006D60147E0000","region":null}]},{"id":"4dcba8c0-4815-485f-b1de-4388a218a9e6","directory":"forty-thieves-solitaire-collection","title":"Forty Thieves Solitaire Collection","compatibility":99,"releases":[{"id":"0100F3D01601C000","region":null}]},{"id":"4dd0e0a1-caf2-4a1a-8360-ab15b69a5fff","directory":"yet-another-zombie-defense-hd","title":"Yet Another Zombie Defense HD","compatibility":99,"releases":[{"id":"010085500B29A000","region":null}]},{"id":"4dd0ee2c-fb38-44db-bfb3-348a78e7eaa0","directory":"remnants-of-naezith","title":"Remnants of Naezith","compatibility":4,"releases":[{"id":"010043B00AAC0000","region":null}]},{"id":"4dd4d1fd-4415-4e6a-bc47-2a18af70e291","directory":"milkmaid-of-the-milky-way","title":"Milkmaid of the Milky Way","compatibility":99,"releases":[{"id":"010075000EE32000","region":null}]},{"id":"4de3932b-d194-46ea-8f6b-634598e885a6","directory":"mundaun","title":"Mundaun","compatibility":99,"releases":[{"id":"01002AB012858000","region":null}]},{"id":"4de9513b-3a1a-4253-85cf-7a2728e57bba","directory":"zombies-cool","title":"Zombie's Cool","compatibility":99,"releases":[{"id":"01001740116EC000","region":null}]},{"id":"4df2a221-2131-41ba-a8e3-560b44675eef","directory":"shiren-the-wanderer-the-tower-of-fortune-and-the-dice-of-fate","title":"Shiren the Wanderer: The Tower of Fortune and the Dice of Fate","compatibility":1,"releases":[{"id":"01007430122D0000","region":null}]},{"id":"4df8624b-6d01-48ae-b383-aa23f4a1ca6f","directory":"collar-x-malice","title":"Collar X Malice","compatibility":0,"releases":[{"id":"010083E00F40E000","region":null}]},{"id":"4e04ce58-71d8-4e54-b4da-cceefdd92ab9","directory":"chronos-before-the-ashes","title":"Chronos: Before the Ashes","compatibility":99,"releases":[{"id":"010006800E13A000","region":null}]},{"id":"4e07f5dc-0cbb-457e-b20c-0ace1a5e0474","directory":"neon-abyss","title":"Neon Abyss","compatibility":0,"releases":[{"id":"0100BAB01113A000","region":null}]},{"id":"4e0d8601-e4bf-4efe-ae3a-20a243f415a4","directory":"smugglecraft","title":"SmuggleCraft","compatibility":99,"releases":[{"id":"0100C4200B820000","region":null}]},{"id":"4e1f877e-3e10-480c-97ab-e0709a51c02d","directory":"yumeiri","title":"Yumeiri","compatibility":99,"releases":[{"id":"0100E44013632000","region":null}]},{"id":"4e2a727c-8910-44a1-9c88-a3e08520feaf","directory":"kaze-and-the-wild-masks","title":"Kaze and the Wild Masks","compatibility":2,"releases":[{"id":"010038B00F142000","region":null}]},{"id":"4e2d1d69-7eef-4846-944a-28d61fb4c4ff","directory":"xeodrifter","title":"Xeodrifter","compatibility":1,"releases":[{"id":"01005B5009364000","region":null}]},{"id":"4e49cc2f-db9f-4916-a337-51ba00078fa4","directory":"life-of-fly-2","title":"Life of Fly 2","compatibility":99,"releases":[{"id":"010069A01506E000","region":null}]},{"id":"4e54d65b-05f4-49b4-9478-6a153fe1c5f3","directory":"dungeon-of-crawl","title":"Dungeon of Crawl","compatibility":99,"releases":[{"id":"01004050148C4000","region":null}]},{"id":"4e582d55-adb5-44d7-8749-52a3ab994034","directory":"destruction","title":"Destruction","compatibility":99,"releases":[{"id":"01003A400BF8C000","region":null}]},{"id":"4e591835-2838-41eb-bfec-1d0dccfdb7fc","directory":"aca-neogeo-top-players-golf","title":"ACA NEOGEO TOP PLAYER’S GOLF","compatibility":99,"releases":[{"id":"0100B7400A304000","region":null}]},{"id":"4e64f8a7-f256-4eda-8e94-a310be21ff67","directory":"turok","title":"Turok","compatibility":3,"releases":[{"id":"010085500D5F6000","region":null}]},{"id":"4e757e3d-590c-410a-9440-8ec65b138cc8","directory":"farm-for-your-life","title":"Farm for your Life","compatibility":99,"releases":[{"id":"0100B87013EBE000","region":null}]},{"id":"4e83c80e-cabc-4335-ad8c-7947c2f73db0","directory":"infini","title":"Infini","compatibility":99,"releases":[{"id":"0100874012158000","region":null}]},{"id":"4e8b70de-8798-4cb3-ac72-1b3c63ff26c0","directory":"frontier-quest","title":"Frontier Quest","compatibility":99,"releases":[{"id":"0100A55014E2C000","region":null}]},{"id":"4eab83d4-b923-4c22-9e91-452ef062a7d3","directory":"1-2-switch","title":"1-2-Switch","compatibility":1,"releases":[{"id":"01000320000CC000","region":null}]},{"id":"4eb09ec9-0f25-43fc-9d3d-ea0079d62cb8","directory":"gensokyodefenders","title":"GensokyoDefenders","compatibility":3,"releases":[{"id":"010000300C79C000","region":null}]},{"id":"4ecbce6a-76a9-4536-b945-4aaa2bd0b3d3","directory":"bowling","title":"Bowling","compatibility":99,"releases":[{"id":"01008CE00FDCC000","region":null}]},{"id":"4ed1e2c8-dc8e-4a24-a56c-ed8d881aad06","directory":"faircrofts-antiques-the-heir-of-glen-kinnoch-collectors-edition","title":"Faircroft's Antiques: The Heir of Glen Kinnoch Collector's Edition","compatibility":99,"releases":[{"id":"010059701469E000","region":null}]},{"id":"4ed36528-7216-428a-93dc-091c2c1d148e","directory":"warhammer-quest","title":"Warhammer Quest","compatibility":0,"releases":[{"id":"01002B000C4AA000","region":null}]},{"id":"4eda0ac2-3e73-4b7b-bf26-17ce1aec4150","directory":"halloween-super-puzzles-dream","title":"#Halloween, Super Puzzles Dream","compatibility":99,"releases":[{"id":"01000E50134A4000","region":null}]},{"id":"4ee927f4-c135-4eaa-b159-1ab4076cb761","directory":"fatal-frame-maiden-of-black-water","title":"FATAL FRAME: Maiden of Black Water","compatibility":1,"releases":[{"id":"0100BEB015604000","region":null}]},{"id":"4eebe5a8-a30a-4bfb-b4a2-c6fa5ace1e9c","directory":"the-mystery-of-the-hudson-case","title":"The Mystery of the Hudson Case","compatibility":99,"releases":[{"id":"01004C500AAF6000","region":null}]},{"id":"4eecb1e8-1ff4-4466-852b-76ef4dafec2a","directory":"sun-wukong-vs-robot","title":"Sun Wukong VS Robot","compatibility":99,"releases":[{"id":"0100400013E20000","region":null}]},{"id":"4eee911a-e2b8-4298-a3ed-1aa6192b62f8","directory":"candy-raid-the-factory","title":"Candy Raid: The Factory","compatibility":99,"releases":[{"id":"0100B040128E6000","region":null}]},{"id":"4ef4e8d9-44ce-48ee-ba9c-e3d96903ff68","directory":"a-fold-apart","title":"A Fold Apart","compatibility":0,"releases":[{"id":"01003A600D8FC000","region":null}]},{"id":"4ef9eb89-3a02-4a8a-a0ce-a8c1fcd4c352","directory":"pode","title":"Pode","compatibility":1,"releases":[{"id":"01009440095FE000","region":null}]},{"id":"4efc72b2-0698-411b-a441-035261389f78","directory":"shantae-half-genie-hero","title":"Shantae: Half-Genie Hero","compatibility":1,"releases":[{"id":"0100AE0003424000","region":null}]},{"id":"4f058405-0df9-4539-8a6c-db894034706f","directory":"best-sniper-legacy-dino-hunt-shooter-3d","title":"Best Sniper Legacy: Dino Hunt & Shooter 3D","compatibility":99,"releases":[{"id":"01006FA0150C6000","region":null}]},{"id":"4f09cf33-cf17-432f-ab86-e4baebd84fc9","directory":"banner-saga-3","title":"Banner Saga 3","compatibility":5,"releases":[{"id":"010071E00875A000","region":null}]},{"id":"4f0ffff6-90e1-4d4c-bd81-d8c4d6e1fd05","directory":"picross-s3","title":"PICROSS S3","compatibility":0,"releases":[{"id":"010079200D330000","region":null}]},{"id":"4f1a573b-7594-4493-956b-c9ed5e0f7a4a","directory":"crash-dummy","title":"Crash Dummy","compatibility":99,"releases":[{"id":"010046600BD0E000","region":null}]},{"id":"4f33a21c-9351-4805-a2c9-8d9e95c69ee1","directory":"toon-war","title":"Toon War","compatibility":99,"releases":[{"id":"01009EA00E2B8000","region":null}]},{"id":"4f3a6322-40d3-4267-b21d-97c6c2a3cc1a","directory":"puzzle-and-dragons-gold","title":"Puzzle & Dragons GOLD","compatibility":99,"releases":[{"id":"0100C5700ECE0000","region":null}]},{"id":"4f3a6d35-e339-45a3-9cfe-f15597665f9e","directory":"mushroom-wars-2","title":"Mushroom Wars 2","compatibility":4,"releases":[{"id":"0100700006EF6000","region":null}]},{"id":"4f50941e-7122-450f-b502-6dfc0077e6d2","directory":"space-ribbon","title":"Space Ribbon","compatibility":3,"releases":[{"id":"010010A009830000","region":null}]},{"id":"4f55d8eb-eb2d-4b26-b414-173ed3d463ec","directory":"witch-and-hero","title":"Witch & Hero","compatibility":99,"releases":[{"id":"010028700D1CA000","region":null}]},{"id":"4f5975ea-4ee3-43a8-85aa-43b0998e05ae","directory":"instant-sports-summer-games","title":"Instant Sports Summer Games","compatibility":2,"releases":[{"id":"010099A011A46000","region":null}]},{"id":"4f69bd5c-6e23-432b-b223-2db0bc83b1d2","directory":"beyond-a-steel-sky","title":"Beyond a Steel Sky","compatibility":1,"releases":[{"id":"010023C015242000","region":null}]},{"id":"4f748394-fa4f-42dc-bb15-26bd86ff2973","directory":"snk-heroines-tag-team-frenzy","title":"SNK HEROINES Tag Team Frenzy","compatibility":3,"releases":[{"id":"010027F00AD6C000","region":null}]},{"id":"4f8e181a-c427-4155-a399-29fafd9bae44","directory":"spacetime-odissey","title":"SPACETIME ODISSEY","compatibility":99,"releases":[{"id":"01001B0016C9A000","region":null}]},{"id":"4f9ad5da-396c-4ea7-8ff2-a37d6ecafbcd","directory":"aca-neogeo-sengoku-2","title":"ACA NEOGEO SENGOKU 2","compatibility":4,"releases":[{"id":"01009B300872A000","region":null}]},{"id":"4fa4f9a9-7458-4f56-ba7b-71392de46623","directory":"dungeon-and-gravestone","title":"Dungeon and Gravestone","compatibility":99,"releases":[{"id":"010028601190C000","region":null}]},{"id":"4fb61c22-d19b-4f77-9604-53bb7357da6d","directory":"gal-gun-returns","title":"Gal*Gun Returns","compatibility":0,"releases":[{"id":"0100AA50138B4000","region":null}]},{"id":"4fb63e06-c40c-4ac5-b325-160d0c1af7d5","directory":"final-fantasy-viii-remastered","title":"FINAL FANTASY VIII Remastered","compatibility":4,"releases":[{"id":"01008B900DC0A000","region":null}]},{"id":"4fbc292f-2624-41c5-b2ca-3320b50f9bdd","directory":"destiny-connect-tick-tock-travelers","title":"Destiny Connect: Tick-Tock Travelers","compatibility":3,"releases":[{"id":"010069500DD86000","region":null}]},{"id":"4fbcabb0-8e76-4925-8b22-60a5106f805e","directory":"fishing-star-world-tour","title":"Fishing Star World Tour","compatibility":1,"releases":[{"id":"0100DEB00ACE2000","region":null}]},{"id":"4fc4efdd-4bb1-4109-ba02-b661682042e6","directory":"gonner","title":"GoNNER","compatibility":99,"releases":[{"id":"01007C2002B3C000","region":null}]},{"id":"4fc53128-6fdd-4a48-84fb-c3e6f7505b38","directory":"witch-thief","title":"Witch Thief","compatibility":99,"releases":[{"id":"01002FC00C6D0000","region":null}]},{"id":"4fcd9008-5e6c-41dd-84fa-502b34c41208","directory":"arcade-archives-the-fairyland-story","title":"Arcade Archives The Fairyland Story","compatibility":99,"releases":[{"id":"01007F701323E000","region":null}]},{"id":"4fd14c97-b4ce-44b7-85a0-e845337cc8ef","directory":"game-tengoku-cruisinmix-special","title":"Game Tengoku CruisinMix Special","compatibility":2,"releases":[{"id":"01000E800F326000","region":null}]},{"id":"4fd1f65c-f426-4126-9c6e-5320c3315479","directory":"team-troopers","title":"Team Troopers","compatibility":99,"releases":[{"id":"01009E0014164000","region":null}]},{"id":"4fd3ad55-1504-41f3-bb12-1df8d8d504d8","directory":"santa-throw","title":"Santa Throw","compatibility":99,"releases":[{"id":"0100E890170E8000","region":null}]},{"id":"4fd8d8d0-2cd5-4eb9-80b6-7f096bfb8d69","directory":"alluris","title":"Alluris","compatibility":99,"releases":[{"id":"0100AC501122A000","region":null}]},{"id":"4feb9bc4-e78f-4839-98cb-d9e34386bca0","directory":"ultra-space-battle-brawl","title":"Ultra Space Battle Brawl","compatibility":99,"releases":[{"id":"0100E67008D84000","region":null}]},{"id":"4ff7106a-13db-40d9-9faf-37e4c0f8c61c","directory":"dragon-sinker","title":"Dragon Sinker","compatibility":1,"releases":[{"id":"0100356009860000","region":null}]},{"id":"50059fd8-c07d-4570-a25d-2b630762643b","directory":"knightin","title":"Knightin'+","compatibility":0,"releases":[{"id":"01005F8010D98000","region":null}]},{"id":"501fa399-64b0-4739-b3a5-b7a8ff927380","directory":"crash-bandicoot-n-sane-trilogy","title":"Crash Bandicoot N. Sane Trilogy","compatibility":1,"releases":[{"id":"0100D1B006744000","region":null}]},{"id":"502b6d9c-f000-4be0-b2b0-f72b5e800ee5","directory":"carx-drift-racing-online","title":"CarX Drift Racing Online","compatibility":99,"releases":[{"id":"01001A10134B8000","region":null}]},{"id":"502bcfa4-7020-4261-b5cc-7a883a5d3305","directory":"nekopara-vol3","title":"NEKOPARA Vol.3","compatibility":99,"releases":[{"id":"010045000E418000","region":null}]},{"id":"502ed52a-6086-472c-844a-7d103eacb063","directory":"the-walking-dead-the-final-season-season-pass","title":"The Walking Dead: The Final Season - Season Pass","compatibility":2,"releases":[{"id":"010060F00AA70000","region":null}]},{"id":"50312190-6ca4-48a6-975f-15eb025a3638","directory":"caveman-warriors","title":"Caveman Warriors","compatibility":0,"releases":[{"id":"01006DB004566000","region":null}]},{"id":"5033579f-7ce4-4934-8a29-6c7a2cad5636","directory":"pigeon-fight","title":"Pigeon Fight","compatibility":99,"releases":[{"id":"010006B013CA6000","region":null}]},{"id":"503a76bc-d597-4cac-9d7d-48d936dcd336","directory":"convoy-a-tactical-roguelike","title":"Convoy: A Tactical Roguelike","compatibility":0,"releases":[{"id":"010058800E90A000","region":null}]},{"id":"503e988c-741b-46ff-9d34-7a9c576bbc1b","directory":"dandy-ace","title":"Dandy Ace","compatibility":1,"releases":[{"id":"0100608014708000","region":null}]},{"id":"5055b1ee-d8df-4c0a-b0d1-75eeb111b285","directory":"the-bunker","title":"The Bunker","compatibility":4,"releases":[{"id":"01001B40086E2000","region":null}]},{"id":"50669b11-b939-499d-8070-b62587e686f0","directory":"teslagrad","title":"Teslagrad","compatibility":0,"releases":[{"id":"01005C8005F34000","region":null}]},{"id":"50670ab4-1a8c-4220-8261-e525a73be4be","directory":"be-a-walker","title":"BE-A Walker","compatibility":1,"releases":[{"id":"01003A1010E3C000","region":null}]},{"id":"506b5a0c-42ae-4a89-a73a-dd645c11996c","directory":"paint-your-pet","title":"Paint your Pet","compatibility":99,"releases":[{"id":"0100AB90129CA000","region":null}]},{"id":"506ea1a7-13fe-417d-83ad-0b7346ceb66a","directory":"exzeus-the-complete-collection","title":"ExZeus: The Complete Collection","compatibility":99,"releases":[{"id":"0100A7A0147BA000","region":null}]},{"id":"50897edc-61bd-4508-96be-b75ed0183fdb","directory":"pet-shop-snacks","title":"Pet Shop Snacks","compatibility":99,"releases":[{"id":"0100FCB00EEF2000","region":null}]},{"id":"508b1b84-a7bb-4c72-a447-26cddee74e3a","directory":"touhou-genso-wanderer-lotus-labyrinth-r","title":"Touhou Genso Wanderer -Lotus Labyrinth R-","compatibility":99,"releases":[{"id":"0100A7A015E4C000","region":null}]},{"id":"50a2045f-590f-4e70-9dba-6a4bff9b3356","directory":"the-magister","title":"The Magister","compatibility":99,"releases":[{"id":"01006E7013018000","region":null}]},{"id":"50a221bd-dc01-4d02-afb3-223da9afe9e1","directory":"reflection-of-mine","title":"Reflection of Mine","compatibility":99,"releases":[{"id":"010045D01273A000","region":null}]},{"id":"50a4b715-f2f7-4b93-850c-970a818bc153","directory":"aeternoblade-ii","title":"AeternoBlade II","compatibility":1,"releases":[{"id":"0100AE500E76A000","region":null}]},{"id":"50af6c76-97bd-4503-898f-a7f6411fd255","directory":"lanota","title":"Lanota","compatibility":99,"releases":[{"id":"0100E7200B272000","region":null}]},{"id":"50b5a2a3-3e59-4b37-a109-4f1f28056146","directory":"aca-neogeo-the-king-of-fighters-99","title":"ACA NEOGEO THE KING OF FIGHTERS '99","compatibility":4,"releases":[{"id":"0100583001DCA000","region":null}]},{"id":"50c0dffb-8801-4492-b105-8e9d488ed296","directory":"soulblight","title":"Soulblight","compatibility":99,"releases":[{"id":"0100928005094000","region":null}]},{"id":"5109f13c-725d-494e-b0fb-fe23789ee3a0","directory":"kyle-is-famous-complete-edition","title":"Kyle is Famous: Complete Edition","compatibility":99,"releases":[{"id":"0100090014ABE000","region":null}]},{"id":"5115e45d-d7b4-4a02-8eb8-4ccc1f99bf7c","directory":"reed-remastered","title":"Reed Remastered","compatibility":99,"releases":[{"id":"01005D50107F2000","region":null}]},{"id":"511760a2-a2ed-4821-96e3-f003f71ed399","directory":"lynn-the-girl-drawn-on-puzzles","title":"Lynn, The Girl Drawn On Puzzles","compatibility":99,"releases":[{"id":"0100C200163DE000","region":null}]},{"id":"511d441d-3b27-49f9-9a5b-acfd3d03db9a","directory":"double-dragon-4","title":"Double Dragon 4","compatibility":1,"releases":[{"id":"010001B005E5C000","region":null}]},{"id":"5122c0aa-a6cd-46b4-abd9-457b56f3ba43","directory":"big-dipper","title":"Big Dipper","compatibility":99,"releases":[{"id":"0100A42011B28000","region":null}]},{"id":"5134df76-7e6e-4559-afb1-49df1b072fc6","directory":"save-farty","title":"Save Farty","compatibility":99,"releases":[{"id":"01007FF01388E000","region":null}]},{"id":"5145a4c5-5641-4dd8-b76c-668d9b52e9ee","directory":"shaolin-vs-wutang","title":"Shaolin vs Wutang","compatibility":99,"releases":[{"id":"01003AB01062C000","region":null}]},{"id":"514e8e2c-59fb-474d-b2ab-d711591f0773","directory":"ubermosh-santicide","title":"UBERMOSH: SANTICIDE","compatibility":99,"releases":[{"id":"010040D01222C000","region":null}]},{"id":"515455c1-181a-4cb2-bc4a-d2f3f0f96a1d","directory":"arcade-archives-pop-flamer","title":"Arcade Archives POP FLAMER","compatibility":99,"releases":[{"id":"0100CC701508E000","region":null}]},{"id":"51559a3b-bd4f-47d4-8296-61e1046ad0b0","directory":"construction-simulator-2-us-console-edition","title":"Construction Simulator 2 US - Console Edition","compatibility":3,"releases":[{"id":"0100E5D00DE2C000","region":null}]},{"id":"51890479-444c-4816-a94d-a9e2d7b02603","directory":"cold-silence","title":"Cold Silence","compatibility":99,"releases":[{"id":"010035B01706E000","region":null}]},{"id":"518942ba-380e-4d0d-8dc3-75522fde38e2","directory":"infectra","title":"Infectra","compatibility":99,"releases":[{"id":"01004140132A8000","region":null}]},{"id":"51994f63-ee6c-46e4-84d1-4125196e6644","directory":"the-gardener-and-the-wild-vines","title":"The Gardener and the Wild Vines","compatibility":99,"releases":[{"id":"01006350148DA000","region":null}]},{"id":"519e884f-d55a-46e7-8ad5-5ed07944ded0","directory":"shovel-knight-king-of-cards","title":"Shovel Knight: King of Cards","compatibility":2,"releases":[{"id":"01008B20022AA000","region":null}]},{"id":"51a3a270-f973-46d6-becc-99c7729e62f1","directory":"contra-anniversary-collection","title":"Contra Anniversary Collection","compatibility":0,"releases":[{"id":"0100DCA00DA7E000","region":null}]},{"id":"51b328c2-3480-43aa-8718-d598dfaee343","directory":"puzzlement","title":"puzzlement","compatibility":99,"releases":[{"id":"010005D00FC06000","region":null}]},{"id":"51cfb425-7e9b-4ede-a553-833851c5879e","directory":"frosty-jump","title":"Frosty Jump","compatibility":99,"releases":[{"id":"0100A5D0100DE000","region":null}]},{"id":"51d05072-d106-4ab9-bfcc-529296a86b17","directory":"piano","title":"Piano","compatibility":99,"releases":[{"id":"010045B011E1E000","region":null}]},{"id":"51e44e8d-2d03-4199-bd02-19fea83ee823","directory":"battle-and-crash","title":"BATTLE & CRASH","compatibility":99,"releases":[{"id":"010044400E99C000","region":null}]},{"id":"51e74aa2-23d3-4d26-be6a-85b042bc1730","directory":"pokemon-shield","title":"Pokémon Shield","compatibility":1,"releases":[{"id":"01008DB008C2C000","region":null}]},{"id":"51fa6525-e1ab-4534-aabc-533a3369a8ec","directory":"invisigun-reloaded","title":"Invisigun Reloaded","compatibility":99,"releases":[{"id":"01005F400E644000","region":null}]},{"id":"5201964a-1dcd-465e-95cf-1796b242a1d4","directory":"what-the-dub","title":"What the Dub?!","compatibility":99,"releases":[{"id":"0100937014244000","region":null}]},{"id":"52102966-9f99-4a7a-ba55-bd90a3a20b1e","directory":"amoeba-battle-microscopic-rts-action","title":"Amoeba Battle - Microscopic RTS Action","compatibility":99,"releases":[{"id":"010041D00DEB2000","region":null}]},{"id":"5214addc-0e20-4122-b096-92da57628be6","directory":"eastward","title":"Eastward","compatibility":2,"releases":[{"id":"010071B00F63A000","region":null}]},{"id":"5216e4e2-be9b-4dff-a337-1814e4e8bd53","directory":"blood-and-guts-bundle","title":"Blood and Guts Bundle","compatibility":0,"releases":[{"id":"0100EE5011DB6000","region":null}]},{"id":"521dc13d-a74a-401d-9f30-18a2bf9298c2","directory":"clusterpuck-99","title":"ClusterPuck 99","compatibility":4,"releases":[{"id":"010085A00821A000","region":null}]},{"id":"521e0762-4843-4cb8-adce-82d8cb91b40d","directory":"aeternoblade","title":"AeternoBlade","compatibility":1,"releases":[{"id":"01006C40086EA000","region":null}]},{"id":"522857c9-9e4c-49eb-813c-5dc038a8644b","directory":"the-mummy-demastered","title":"The Mummy Demastered","compatibility":0,"releases":[{"id":"0100496004194000","region":null}]},{"id":"52320a48-8cfd-4059-896e-c4bc011e5622","directory":"ruin-raiders","title":"Ruin Raiders","compatibility":99,"releases":[{"id":"0100D7D0138A2000","region":null}]},{"id":"523498eb-d935-425a-92fd-f4e4924affad","directory":"anode","title":"Anode","compatibility":99,"releases":[{"id":"01009E600D78C000","region":null}]},{"id":"52368889-9244-4e88-b28b-57908b9a7c14","directory":"mushroom-quest","title":"Mushroom Quest","compatibility":99,"releases":[{"id":"010035901046C000","region":null}]},{"id":"523724c6-35a4-47f6-9bb9-1c5e60d4e125","directory":"slash-ninja","title":"Slash Ninja","compatibility":99,"releases":[{"id":"01008800130EA000","region":null}]},{"id":"52373db8-29df-48e2-80e4-95f2142b4014","directory":"wheres-samantha","title":"Where's Samantha?","compatibility":99,"releases":[{"id":"010047F014B82000","region":null}]},{"id":"5245a997-9e77-42d7-93d2-33270a62a9fa","directory":"life-of-fly","title":"Life of Fly","compatibility":99,"releases":[{"id":"0100B3A0137EA000","region":null}]},{"id":"52461ad8-3703-4b6c-bffa-5d48f9659a5a","directory":"ryans-rescue-squad","title":"Ryan's Rescue Squad","compatibility":99,"releases":[{"id":"0100D0E0139A0000","region":null}]},{"id":"52464fe5-74e7-4c28-a26c-24fee81ea428","directory":"vektor-wars","title":"Vektor Wars","compatibility":99,"releases":[{"id":"010098400E39E000","region":null}]},{"id":"524b10c4-1067-48c6-98f0-9c9bce8fafc3","directory":"mystery-mine","title":"Mystery Mine","compatibility":99,"releases":[{"id":"01002800117EE000","region":null}]},{"id":"526f9344-ce7b-42b3-9b1f-9f877b0b7112","directory":"graceful-explosion-machine","title":"Graceful Explosion Machine","compatibility":1,"releases":[{"id":"01004D10020F2000","region":null}]},{"id":"5276314d-52b6-4812-988d-a48209f2ed18","directory":"horror-bundle-vol-1","title":"Horror Bundle Vol. 1","compatibility":5,"releases":[{"id":"0100E3801140A000","region":null}]},{"id":"528a091b-1666-4f52-81e4-846dea77ead2","directory":"fragment-of-marine","title":"Fragment of Marine","compatibility":99,"releases":[{"id":"01001A300C802000","region":null}]},{"id":"5298c07e-4a2c-4bc0-9e8f-010f7f44ce49","directory":"crying-suns","title":"Crying Suns","compatibility":99,"releases":[{"id":"010074A00E872000","region":null}]},{"id":"529d1d3c-a99d-4438-9451-ef9d95439e12","directory":"rusty-gun","title":"Rusty Gun","compatibility":99,"releases":[{"id":"01000E4012A00000","region":null}]},{"id":"52a06bbb-2798-4c1d-9204-ab46b749f1ef","directory":"beach-volleyball-challenge","title":"Beach Volleyball Challenge","compatibility":99,"releases":[{"id":"01001200160DC000","region":null}]},{"id":"52cb6e02-940f-4711-891c-ca4f9f65d071","directory":"vroom-in-the-night-sky","title":"Vroom in the night sky","compatibility":99,"releases":[{"id":"01004E90028A2000","region":null}]},{"id":"52cc2e79-8a92-4ad9-b083-2414366d646b","directory":"muddledash","title":"Muddledash","compatibility":99,"releases":[{"id":"010087C009246000","region":null}]},{"id":"52d26f3d-b5b5-4812-8118-ecf9085077e7","directory":"hand-of-fate-2","title":"Hand of Fate 2","compatibility":1,"releases":[{"id":"01003620068EA000","region":null}]},{"id":"52da0162-feb7-460d-942a-167251059453","directory":"miner-warfare","title":"Miner Warfare","compatibility":99,"releases":[{"id":"010044900CCCC000","region":null}]},{"id":"52e8a855-68f7-4b54-95e8-c36d33dba361","directory":"has-been-heroes","title":"Has-Been Heroes","compatibility":1,"releases":[{"id":"0100E29001298000","region":null}]},{"id":"52e90120-ba9f-4e37-b508-2ad05a4f6647","directory":"tennis-club-story","title":"Tennis Club Story","compatibility":99,"releases":[{"id":"01006CB00EEEA000","region":null}]},{"id":"52edc479-35d0-4a60-9c3e-11da54da6015","directory":"ubermosh-black","title":"UBERMOSH:BLACK","compatibility":99,"releases":[{"id":"0100A5101210E000","region":null}]},{"id":"52f0ead1-4940-48aa-a92d-5dc6cef36442","directory":"squareboy-vs-bullies-arena-edition-demo","title":"Squareboy vs Bullies: Arena Edition Demo","compatibility":99,"releases":[{"id":"010039300A56C000","region":null}]},{"id":"530e41cc-1f3b-41ad-99cd-af53e668ae4f","directory":"riot-civil-unrest","title":"RIOT - Civil Unrest","compatibility":99,"releases":[{"id":"010088E00B816000","region":null}]},{"id":"53136ce0-84e7-4789-b4d5-4292a6a99402","directory":"ninja-gaiden-master-collection-deluxe-edition","title":"NINJA GAIDEN: Master Collection Deluxe Edition","compatibility":0,"releases":[{"id":"01002AF014F4C000","region":null}]},{"id":"532c81bd-d19e-4a80-a5a7-119569b462c3","directory":"deep-sky-derelicts-definitive-edition","title":"Deep Sky Derelicts: Definitive Edition","compatibility":0,"releases":[{"id":"0100C3E00D68E000","region":null}]},{"id":"534f370c-768d-480a-b566-6a5834226595","directory":"duke-of-defense","title":"Duke of Defense","compatibility":99,"releases":[{"id":"0100AE300CB00000","region":null}]},{"id":"53533ea2-93fc-47b0-855e-e62cfc5ddb5d","directory":"top-down-racer","title":"Top Down Racer","compatibility":99,"releases":[{"id":"010092C016480000","region":null}]},{"id":"5366247a-6f5c-413d-b2a6-26e694bd7f93","directory":"table-soccer-foosball","title":"Table Soccer Foosball","compatibility":99,"releases":[{"id":"0100F8A013D5E000","region":null}]},{"id":"5372c5b7-9c3f-4cb1-a752-072d2879aa22","directory":"vesta","title":"Vesta","compatibility":99,"releases":[{"id":"010057B00712C000","region":null}]},{"id":"53804b82-ce6d-4abc-9bc4-a35b9f2eee25","directory":"eclipse-edge-of-light","title":"Eclipse: Edge of Light","compatibility":99,"releases":[{"id":"01001F20100B8000","region":null}]},{"id":"53806384-97e7-4983-8c72-7cc050e2b05e","directory":"goblin-sword","title":"Goblin Sword","compatibility":2,"releases":[{"id":"010067C010F88000","region":null}]},{"id":"53961401-749c-4335-b065-c65e77a58f3c","directory":"galgun-2","title":"Gal*Gun 2","compatibility":4,"releases":[{"id":"010024700901A000","region":null}]},{"id":"53985a74-323a-406d-80a6-652cd1cb01bc","directory":"picross-s4","title":"PICROSS S4","compatibility":0,"releases":[{"id":"0100C250115DC000","region":null}]},{"id":"53a60a06-8831-4d58-99dd-429de6a61204","directory":"anthill","title":"Anthill","compatibility":1,"releases":[{"id":"010054C00D842000","region":null}]},{"id":"53bf54d1-c26b-408e-87d2-92757ef63f0e","directory":"soap-dodgem","title":"Soap Dodgem","compatibility":99,"releases":[{"id":"010025C007892000","region":null}]},{"id":"53c923d2-4af1-462d-8e67-9cca409e9901","directory":"rain-city","title":"Rain City","compatibility":99,"releases":[{"id":"01003C700D0DE000","region":null}]},{"id":"53d1f903-b46b-4507-a45c-084f0dfa7599","directory":"luciform","title":"Luciform","compatibility":99,"releases":[{"id":"010073201423E000","region":null}]},{"id":"53d39354-15ad-4f40-a70c-9e9a36244eca","directory":"construction-simulator-3-console-edition","title":"Construction Simulator 3 - Console Edition","compatibility":99,"releases":[{"id":"0100A5600FAC0000","region":null}]},{"id":"53dee15d-937d-41d8-aa44-4d47c7cc02dc","directory":"no-longer-home","title":"No Longer Home","compatibility":99,"releases":[{"id":"0100D99014262000","region":null}]},{"id":"53f06700-bab2-4b75-952c-eb1fa3533a89","directory":"new-super-mario-bros-u-deluxe","title":"New Super Mario Bros. U Deluxe","compatibility":2,"releases":[{"id":"0100EA80032EA000","region":null}]},{"id":"53faed5c-f365-4ac8-8855-cec724c4572d","directory":"caveman-warriors-demo","title":"Caveman Warriors Demo","compatibility":99,"releases":[{"id":"010078700B2CC000","region":null}]},{"id":"53fe4961-b18f-4d54-bd44-4689896d8e91","directory":"disney-tsum-tsum-festival","title":"Disney TSUM TSUM FESTIVAL","compatibility":99,"releases":[{"id":"010012800EBAE000","region":null}]},{"id":"5401e254-3776-4839-b9b8-70e6dc27ab79","directory":"killer-chambers","title":"Killer Chambers","compatibility":99,"releases":[{"id":"01005D10133B8000","region":null}]},{"id":"5406989a-4123-40c9-abc6-fcb4b60b69dc","directory":"manual-samuel","title":"Manual Samuel","compatibility":1,"releases":[{"id":"0100748009A28000","region":null}]},{"id":"54090a5d-d46f-4839-ac42-7d0391612def","directory":"neo-cab","title":"Neo Cab","compatibility":0,"releases":[{"id":"0100EBB00D2F4000","region":null}]},{"id":"54093919-00cc-4590-9d75-9bbedd80d51b","directory":"the-elder-scrolls-r-blades","title":"The Elder Scrolls®: Blades","compatibility":4,"releases":[{"id":"01003D700DD8A000","region":null}]},{"id":"540ec27f-5721-4efd-932f-d94b6dcee075","directory":"ghosts-n-goblins-resurrection","title":"Ghosts 'n Goblins Resurrection","compatibility":2,"releases":[{"id":"0100D6200F2BA000","region":null}]},{"id":"540f8a4a-b527-4da1-9c54-6df45ea9e4fd","directory":"space-marshals","title":"Space Marshals","compatibility":99,"releases":[{"id":"0100782013A04000","region":null}]},{"id":"5410dcce-bfe0-40e6-bbeb-bd1f61e1af17","directory":"word-sudoku-by-powgi-demo","title":"Word Sudoku by POWGI Demo","compatibility":99,"releases":[{"id":"0100FC900CAE4000","region":null}]},{"id":"541f7f48-874a-43e7-9fb4-ccb696ffe07b","directory":"the-path-of-motus","title":"The Path of Motus","compatibility":99,"releases":[{"id":"01001BB00C2EC000","region":null}]},{"id":"5420d867-883e-458d-a98e-76c2fb69e0d0","directory":"blobcat","title":"BlobCat","compatibility":0,"releases":[{"id":"0100F3500A20C000","region":null}]},{"id":"5422c0a0-38d1-453d-b0eb-ddc58fd11669","directory":"the-adventure-of-ravi-n-navi","title":"The Adventure of Ravi 'n' Navi","compatibility":99,"releases":[{"id":"0100D800159FA000","region":null}]},{"id":"5431a492-82e6-40a6-b52d-734b73ba1e66","directory":"nexoria-dungeon-rogue-heroes","title":"Nexoria: Dungeon Rogue Heroes","compatibility":99,"releases":[{"id":"0100B69012EC6000","region":null}]},{"id":"5434149e-6bae-4c7b-aba4-e9d50c920ff2","directory":"windbound","title":"Windbound","compatibility":3,"releases":[{"id":"010044000F7F2000","region":null}]},{"id":"5438e4e4-355a-4550-85a2-3410151165e6","directory":"milli-greg","title":"Milli & Greg","compatibility":99,"releases":[{"id":"01005FA015D68000","region":null}]},{"id":"543fe310-74ca-485b-8b64-079d7b627c11","directory":"scribblenauts-mega-pack","title":"Scribblenauts Mega Pack","compatibility":1,"releases":[{"id":"0100E7100B198000","region":null}]},{"id":"54637fd6-a19b-4bc4-9168-10a41bd0adfa","directory":"windmill-kings","title":"Windmill Kings","compatibility":99,"releases":[{"id":"010099600FC2A000","region":null}]},{"id":"54679173-db79-402b-845e-323b8ade9000","directory":"caretaker","title":"Caretaker","compatibility":99,"releases":[{"id":"0100DA70115E6000","region":null}]},{"id":"547447ca-5ff4-44f9-93ce-0ff63d5774b7","directory":"my-hidden-things","title":"My Hidden Things","compatibility":99,"releases":[{"id":"0100E4701373E000","region":null}]},{"id":"548d7378-5d83-48f0-bb99-dad860ed66b0","directory":"ydanji","title":"Yōdanji","compatibility":1,"releases":[{"id":"01006A600623E000","region":null}]},{"id":"5498169d-7a20-444e-a4df-24e4a7a70110","directory":"i-am-setsuna","title":"I Am Setsuna","compatibility":1,"releases":[{"id":"0100849000BDA000","region":null}]},{"id":"54b2e992-f78a-4cf0-a167-c49cee03e593","directory":"minecraft","title":"Minecraft","compatibility":4,"releases":[{"id":"0100D71004694000","region":null}]},{"id":"54bc7c25-0776-4e6a-8cca-750bbbc9895c","directory":"pixel-head-soccer","title":"Pixel Head Soccer","compatibility":99,"releases":[{"id":"0100D69015042000","region":null}]},{"id":"54bdaa88-228c-4a5d-8d88-961a830eac62","directory":"calculator","title":"Calculator","compatibility":0,"releases":[{"id":"010004701504A000","region":null}]},{"id":"54c53dd8-8777-4ec9-ae69-d23df98087b2","directory":"aeon-drive","title":"Aeon Drive","compatibility":99,"releases":[{"id":"010046701597E000","region":null}]},{"id":"54c9c16d-93ac-48f6-8621-c7dc649293d0","directory":"synthetik-ultimate","title":"SYNTHETIK: Ultimate","compatibility":5,"releases":[{"id":"01009BF00E7D2000","region":null}]},{"id":"54d81824-8149-4df2-8ca4-b89a5ece2c19","directory":"the-takeover","title":"The TakeOver","compatibility":0,"releases":[{"id":"0100CAE01021A000","region":null}]},{"id":"54d82c29-6794-4bc2-9f11-b71c340ae398","directory":"rage-in-peace","title":"Rage in Peace","compatibility":3,"releases":[{"id":"0100E1B00A46C000","region":null}]},{"id":"54d9247f-153e-433c-9a71-37f4c5078ebf","directory":"president-fnet","title":"President F.net","compatibility":99,"releases":[{"id":"01003B800B54C000","region":null}]},{"id":"54ded8bd-1db0-49f5-9a56-789896664594","directory":"tiny-barbarian-dx","title":"Tiny Barbarian DX","compatibility":0,"releases":[{"id":"0100D940022F6000","region":null}]},{"id":"54df7f01-fd6a-45e7-a61a-8c9aa1dc52a5","directory":"taimumari-complete-edition","title":"Taimumari: Complete Edition","compatibility":2,"releases":[{"id":"010040A00EA26000","region":null}]},{"id":"55001896-6be3-4618-a467-c1073db6ed43","directory":"32-secs","title":"32 Secs","compatibility":99,"releases":[{"id":"010065F01375E000","region":null}]},{"id":"550ecb52-27c2-4381-b996-3986863228dd","directory":"thumper","title":"Thumper","compatibility":4,"releases":[{"id":"01006F6002840000","region":null}]},{"id":"5515fb8d-a3c5-494d-a3d3-0206da8d3b5c","directory":"virtuous-western","title":"Virtuous Western","compatibility":99,"releases":[{"id":"0100D48016014000","region":null}]},{"id":"552061b9-8639-468a-bc1c-b04f413fbf2f","directory":"city-driving-simulator","title":"City Driving Simulator","compatibility":99,"releases":[{"id":"0100AC101212C000","region":null}]},{"id":"55717384-1464-4518-92cf-a2762226ec64","directory":"demetrios-the-big-cynical-adventure","title":"Demetrios - The BIG Cynical Adventure","compatibility":99,"releases":[{"id":"0100AB600ACB4000","region":null}]},{"id":"55726add-da87-431f-ba87-70adcaee5773","directory":"super-punch-patrol","title":"Super Punch Patrol","compatibility":3,"releases":[{"id":"01001F90122B2000","region":null}]},{"id":"557ad4ad-887c-4462-a5dd-a665cd40a8ce","directory":"subnautica-below-zero","title":"Subnautica: Below Zero","compatibility":1,"releases":[{"id":"010014C011146000","region":null}]},{"id":"557d60fb-b79f-44a1-9014-d74debed02a5","directory":"deponia","title":"Deponia","compatibility":4,"releases":[{"id":"010023600C704000","region":null}]},{"id":"5582ed4f-3e5b-43c2-b8d5-337fc45704f7","directory":"caveman-tales","title":"Caveman Tales","compatibility":99,"releases":[{"id":"0100EB70128E8000","region":null}]},{"id":"55963a63-5f61-43b8-a3be-60a46c22f86b","directory":"lapis-x-labyrinth","title":"Lapis x Labyrinth","compatibility":2,"releases":[{"id":"010059500D070000","region":null}]},{"id":"55b88cfe-6a00-40d4-9fc1-a2041b3fcdf6","directory":"truck-simulator-usa","title":"Truck Simulator USA","compatibility":3,"releases":[{"id":"01008DD00E66C000","region":null}]},{"id":"55ce1ead-14e4-4f0e-897a-bd251f25c7c9","directory":"flying-hero-x","title":"Flying Hero X","compatibility":2,"releases":[{"id":"0100419013A8A000","region":null}]},{"id":"55d1d8de-d61c-420a-80fa-273d924cf6d6","directory":"saga-scarlet-grace-ambitions","title":"SaGa SCARLET GRACE: AMBITIONS","compatibility":2,"releases":[{"id":"010003A00D0B4000","region":null}]},{"id":"55d249b3-cd52-4f4d-bfec-243c7ca21279","directory":"pako-caravan","title":"PAKO Caravan","compatibility":99,"releases":[{"id":"0100461013E50000","region":null}]},{"id":"55e357f5-c070-4625-8ab3-4fec58b811da","directory":"the-story-goes-on","title":"The Story Goes On","compatibility":99,"releases":[{"id":"01007FA00DA22000","region":null}]},{"id":"55e4b62b-2a00-45c4-ad09-ff04c9a98bf6","directory":"spaceex-commander","title":"SpaceEx Commander","compatibility":99,"releases":[{"id":"0100299013B72000","region":null}]},{"id":"55e6c9a6-ab1e-4238-94fc-61667b7c5b92","directory":"yumemidori-nostalgia","title":"Yumemidori Nostalgia","compatibility":99,"releases":[{"id":"010052F0134B6000","region":null}]},{"id":"55eb5bc3-e04c-4371-8fef-7b929c256a02","directory":"numbala","title":"Numbala","compatibility":99,"releases":[{"id":"010002700C34C000","region":null}]},{"id":"55f42300-d83b-4c4e-9445-a4d188d5710d","directory":"hungry-shark-world","title":"Hungry Shark World","compatibility":0,"releases":[{"id":"0100E1A00AF40000","region":null}]},{"id":"55f6c600-1b1c-498e-ba6e-c47ded089b44","directory":"aca-neogeo-aero-fighters-3","title":"ACA NEOGEO AERO FIGHTERS 3","compatibility":2,"releases":[{"id":"0100B91008780000","region":null}]},{"id":"55ffa248-1b95-49a5-b056-29c09464e1d5","directory":"circa-infinity","title":"Circa Infinity","compatibility":99,"releases":[{"id":"0100FF0015708000","region":null}]},{"id":"560c5b01-cc56-4a02-a3e4-c5fb6b1921f2","directory":"big-crown-showdown","title":"Big Crown: Showdown","compatibility":99,"releases":[{"id":"010088100C35E000","region":null}]},{"id":"56285de8-fe31-4e8b-be28-da8533fcb117","directory":"frutakia-2","title":"Frutakia 2","compatibility":99,"releases":[{"id":"010099700B760000","region":null}]},{"id":"562e711d-0245-4a6f-9791-4004852ade87","directory":"apparition","title":"Apparition","compatibility":99,"releases":[{"id":"01005F20116A0000","region":null}]},{"id":"562fc0d0-e72a-4425-9dff-d7fd9c90af6e","directory":"box-align","title":"Box Align","compatibility":0,"releases":[{"id":"010040800BA8A000","region":null}]},{"id":"56354915-ccf2-4dd4-ae38-4c36e1f30b75","directory":"super-mario-odyssey","title":"Super Mario Odyssey","compatibility":1,"releases":[{"id":"0100000000010000","region":null}]},{"id":"56396c59-65b2-43d6-b0a3-b67521086cab","directory":"the-lost-light-of-sisu","title":"The Lost Light of Sisu","compatibility":99,"releases":[{"id":"010052D00B754000","region":null}]},{"id":"5654ea41-bf0b-479a-8a93-bafd68c1c470","directory":"arcade-archives-sunsetriders","title":"Arcade Archives SUNSETRIDERS","compatibility":3,"releases":[{"id":"0100D90011534000","region":null}]},{"id":"5676ad93-cb7d-436f-b19c-624aa113dec0","directory":"gunpowder-on-the-teeth-arcade","title":"Gunpowder on The Teeth: Arcade","compatibility":99,"releases":[{"id":"010050E00EC8E000","region":null}]},{"id":"56777427-86e5-45f0-a0ae-34fad3a20243","directory":"pixel-game-maker-series-buraigun-galaxy-storm","title":"Pixel Game Maker Series BURAIGUN GALAXY STORM","compatibility":3,"releases":[{"id":"0100F9101573E000","region":null}]},{"id":"56823f13-dc22-4abf-9174-4aec078fb488","directory":"best-friend-forever","title":"Best Friend Forever","compatibility":99,"releases":[{"id":"010075100ED92000","region":null}]},{"id":"5695159e-bd43-46e6-a669-7ce511d63c99","directory":"bai-qu-hundreds-of-melodies","title":"Bai Qu: Hundreds of Melodies","compatibility":99,"releases":[{"id":"0100810015412000","region":null}]},{"id":"56965234-9ac1-4ad5-9740-daa3f26896de","directory":"arcade-archives-life-force","title":"Arcade Archives LIFE FORCE","compatibility":1,"releases":[{"id":"0100F380105A4000","region":null}]},{"id":"569cff83-73e8-48d2-9841-f6bbb5882159","directory":"scribbled","title":"scribbled","compatibility":99,"releases":[{"id":"0100C4A015516000","region":null}]},{"id":"569e024d-9028-4711-b741-a905f0690a10","directory":"giga-wrecker-alt","title":"GIGA WRECKER ALT.","compatibility":0,"releases":[{"id":"010045F00BFC2000","region":null}]},{"id":"56a4068d-1da8-43c7-96a4-7fc14eb591f8","directory":"cannon-brawl","title":"Cannon Brawl","compatibility":99,"releases":[{"id":"0100499013C4A000","region":null}]},{"id":"56a62523-17fb-478a-b600-699bc6326656","directory":"horatio-goes-snowboarding","title":"Horatio Goes Snowboarding","compatibility":99,"releases":[{"id":"01001E7016716000","region":null}]},{"id":"56aa5d52-bbd0-4ac8-a0f0-ca6365916c36","directory":"kitten-squad","title":"Kitten Squad","compatibility":4,"releases":[{"id":"01000C900A136000","region":null}]},{"id":"56ac85e1-5824-4909-901a-0cf97d23d1a1","directory":"destructivator-se","title":"Destructivator SE","compatibility":99,"releases":[{"id":"0100D74012E0A000","region":null}]},{"id":"56ae2a0f-101e-48b4-95dc-a52f57a4803a","directory":"chop","title":"CHOP","compatibility":1,"releases":[{"id":"0100AFD00F13C000","region":null}]},{"id":"56afaaf7-54a5-4a02-ba5f-be4194ce395e","directory":"one-way-ticket","title":"One-Way Ticket","compatibility":3,"releases":[{"id":"0100EEA00E3EA000","region":null}]},{"id":"56b5f99b-2ca5-4ff4-a856-9fe19f614306","directory":"aldred-knight","title":"Aldred Knight","compatibility":1,"releases":[{"id":"01000E000EEF8000","region":null}]},{"id":"56c408a0-2812-45b5-b5ad-c9d79f751847","directory":"the-solitaire-conspiracy","title":"The Solitaire Conspiracy","compatibility":99,"releases":[{"id":"0100749013DCE000","region":null}]},{"id":"56c66cbc-d5d3-40e7-8f2d-ee904e791d48","directory":"zoids-wild-blast-unleashed","title":"Zoids Wild Blast Unleashed","compatibility":1,"releases":[{"id":"010069C0123D8000","region":null}]},{"id":"56cb187d-52b7-4095-aec5-c7e0e883a1b3","directory":"dinosaur-jigsaw-puzzles-dino-puzzle-game-for-kids-toddlers","title":"Dinosaur Jigsaw Puzzles - Dino Puzzle Game for Kids & Toddlers","compatibility":99,"releases":[{"id":"010061D0167FA000","region":null}]},{"id":"56cb9ada-620f-44be-ab9b-835e7dd14d1b","directory":"anodyne","title":"Anodyne","compatibility":99,"releases":[{"id":"01007DD00ABB4000","region":null}]},{"id":"56cc7fe2-6e87-444a-af00-0bc6270a5d8b","directory":"endurance-space-action","title":"Endurance - space action","compatibility":1,"releases":[{"id":"010045C011DF6000","region":null}]},{"id":"56d5d778-d986-460b-8788-19b563c1dab2","directory":"loop-hero","title":"Loop Hero","compatibility":99,"releases":[{"id":"010004E01523C000","region":null}]},{"id":"56dc2fc1-b0c5-4351-97ff-e13bfc544cbf","directory":"ego-protocol-remastered","title":"Ego Protocol: Remastered","compatibility":99,"releases":[{"id":"0100CC0010A46000","region":null}]},{"id":"56dcf735-20bd-4914-acdd-852aec9823f7","directory":"crazy-mini-golf-arcade","title":"Crazy Mini Golf Arcade","compatibility":99,"releases":[{"id":"0100120008468000","region":null}]},{"id":"56e95e05-352c-4c3c-a995-d0b707f42537","directory":"mandalas","title":"Mandalas","compatibility":99,"releases":[{"id":"0100AD50164D0000","region":null}]},{"id":"56ea3035-49b0-4c4b-91f9-91bf59ea8fdc","directory":"rockn-racing-off-road-dx","title":"Rock'N Racing Off Road DX","compatibility":99,"releases":[{"id":"0100513005AF4000","region":null}]},{"id":"56eb9e81-893b-487f-a9bf-09f193163595","directory":"roah","title":"Roah","compatibility":99,"releases":[{"id":"01000440123A6000","region":null}]},{"id":"56f30f50-78e0-499d-ba4f-5caccee77e44","directory":"my-aunt-is-a-witch","title":"My Aunt is a Witch","compatibility":1,"releases":[{"id":"01002C6012334000","region":null}]},{"id":"56fcbe5e-6fe1-415d-8483-39812beb1a0a","directory":"golem-gates","title":"Golem Gates","compatibility":99,"releases":[{"id":"01003C000D84C000","region":null}]},{"id":"570254ac-9aca-421b-85bc-12f4c2c7f087","directory":"sheepo","title":"Sheepo","compatibility":99,"releases":[{"id":"010095C014068000","region":null}]},{"id":"5712304f-2d21-4431-b35a-3bb77f2f7da5","directory":"polygod","title":"Polygod","compatibility":99,"releases":[{"id":"010017600B180000","region":null}]},{"id":"57229483-d57c-49a1-8d42-c32936e8e4d8","directory":"fernz-gate","title":"Fernz Gate","compatibility":3,"releases":[{"id":"01006E800B7F2000","region":null}]},{"id":"5727f89e-c453-4357-936b-778993587fea","directory":"nine-parchments","title":"Nine Parchments","compatibility":3,"releases":[{"id":"0100D03003F0E000","region":null}]},{"id":"57311839-9df4-41ba-ba91-e2de14a2d27b","directory":"bonito-days","title":"Bonito Days","compatibility":99,"releases":[{"id":"0100ACD0154CC000","region":null}]},{"id":"5737a129-5067-45dc-b82f-15ded00feee1","directory":"rock-boshers-dx-directors-cut","title":"ROCK BOSHERS DX: Director's Cut","compatibility":99,"releases":[{"id":"0100CD100BEA4000","region":null}]},{"id":"57395944-bac4-4dcd-ab37-a7cb68a2121a","directory":"the-letter-a-horror-visual-novel","title":"The Letter: A Horror Visual Novel","compatibility":99,"releases":[{"id":"010054700D680000","region":null}]},{"id":"573ca7e0-6430-4b8a-aaaf-77f911cc7047","directory":"bakumatsu-renka-shinsengumi","title":"Bakumatsu Renka SHINSENGUMI","compatibility":99,"releases":[{"id":"01008260138C4000","region":null}]},{"id":"5747847a-06b8-4dec-b19b-b0d5be2b4c92","directory":"namco-museum-r-archives-vol-2","title":"NAMCO MUSEUM® ARCHIVES Vol 2","compatibility":0,"releases":[{"id":"0100BCE010E1A000","region":null}]},{"id":"575250e4-4682-48a7-8e95-c2000964ecee","directory":"smashroom","title":"Smashroom","compatibility":99,"releases":[{"id":"0100FF5015416000","region":null}]},{"id":"575ab844-01cc-4473-a18d-7814ec92a3d4","directory":"rift-racoon","title":"Rift Racoon","compatibility":99,"releases":[{"id":"01002A2013648000","region":null}]},{"id":"57612a98-836a-4f7f-aad5-361375b9d640","directory":"zaccaria-pinball","title":"Zaccaria Pinball","compatibility":5,"releases":[{"id":"010092400A678000","region":null}]},{"id":"57680887-6a10-49d0-963c-2808dbc6828f","directory":"crayon-shinchan-the-storm-called-flaming-kasukabe-runner","title":"CRAYON SHINCHAN The Storm Called FLAMING KASUKABE RUNNER!!","compatibility":0,"releases":[{"id":"0100D470106DC000","region":null}]},{"id":"576a5c76-c8d5-4da4-94e0-d8bd06604161","directory":"eternal-edge","title":"Eternal Edge","compatibility":4,"releases":[{"id":"010007100A16A000","region":null}]},{"id":"5778bd2c-2d72-4bc7-b222-7190fa92146f","directory":"agatha-knife","title":"Agatha Knife","compatibility":99,"releases":[{"id":"010093600A60C000","region":null}]},{"id":"57816bb7-2004-43f9-ad7e-94a26d1d9a13","directory":"jetsnguns","title":"Jets'n'Guns","compatibility":99,"releases":[{"id":"010026200FF36000","region":null}]},{"id":"5782483e-fb4f-41f0-a493-327056dc6f75","directory":"pretty-girls-mahjong-solitaire-blue","title":"Pretty Girls Mahjong Solitaire - Blue","compatibility":0,"releases":[{"id":"0100EBF014D42000","region":null}]},{"id":"57a8c56a-005e-4335-bd21-8b22a7662527","directory":"super-mario-party","title":"Super Mario Party","compatibility":2,"releases":[{"id":"010036B0034E4000","region":null}]},{"id":"57aa88ef-9940-4914-b3a8-8ee8ed650beb","directory":"plants-vs-zombies-battle-for-neighborville-complete-edition","title":"Plants vs. Zombies: Battle for Neighborville™ Complete Edition","compatibility":4,"releases":[{"id":"0100C56010FD8000","region":null}]},{"id":"57c544b3-8975-47a2-b4e2-886272f867ae","directory":"kamiko","title":"KAMIKO","compatibility":0,"releases":[{"id":"010085300314E000","region":null}]},{"id":"57c88b5e-bd63-4c39-95ae-d1322c88ff3b","directory":"super-soccer-blast","title":"Super Soccer Blast","compatibility":2,"releases":[{"id":"0100D61012270000","region":null}]},{"id":"57cc0bdc-aa9d-4459-b4ae-64e902ebd837","directory":"green-phoenix","title":"Green Phoenix","compatibility":99,"releases":[{"id":"0100E20014C46000","region":null}]},{"id":"57d8ce32-e678-431b-83bd-699142b912af","directory":"super-smash-bros-ultimate","title":"Super Smash Bros. Ultimate","compatibility":2,"releases":[{"id":"01006A800016E000","region":null}]},{"id":"57e7087a-99a7-4c3f-837e-92693d0962d4","directory":"gunslugs","title":"Gunslugs","compatibility":99,"releases":[{"id":"01008050130EE000","region":null}]},{"id":"57ebc871-7c7c-4929-bd56-1449f27c5095","directory":"aca-neogeo-crossed-swords","title":"ACA NEOGEO CROSSED SWORDS","compatibility":99,"releases":[{"id":"0100D2400AFB0000","region":null}]},{"id":"57f8f3fe-1caa-4eff-bef9-ce98f4779546","directory":"ski-jump-challenge","title":"Ski Jump Challenge","compatibility":99,"releases":[{"id":"0100D95014202000","region":null}]},{"id":"580f5109-c42f-49ce-88f2-c0e166e8de02","directory":"qb-planets","title":"QB Planets","compatibility":99,"releases":[{"id":"01009E8015FB6000","region":null}]},{"id":"5813cb58-cf43-413c-88c0-5f6a05c053bb","directory":"super-soccer-blast-america-vs-europe","title":"Super Soccer Blast: America VS Europe","compatibility":3,"releases":[{"id":"0100A0C0145F6000","region":null}]},{"id":"5813cd3b-e1fb-4238-b0e7-6fd01cddcca4","directory":"enter-the-gungeon","title":"Enter the Gungeon","compatibility":1,"releases":[{"id":"01009D60076F6000","region":null}]},{"id":"58142047-6f09-4161-ac94-66a38dac5c4e","directory":"kingdom-hearts-melody-of-memory","title":"KINGDOM HEARTS Melody of Memory","compatibility":3,"releases":[{"id":"01005D2011EA8000","region":null}]},{"id":"58155dae-9474-484f-9743-da2dec12cc69","directory":"sentinels-of-freedom","title":"Sentinels of Freedom","compatibility":0,"releases":[{"id":"01009E500D29C000","region":null}]},{"id":"5817b135-1b55-49c8-a3be-412d56963881","directory":"night-lights","title":"Night Lights","compatibility":99,"releases":[{"id":"0100BEF016476000","region":null}]},{"id":"5819cc3b-2d29-40d2-8e0c-22e96482f64d","directory":"kirby-fighters-2","title":"Kirby Fighters™ 2","compatibility":0,"releases":[{"id":"0100227010460000","region":null}]},{"id":"582428de-b2c1-4c64-b00e-059d18b4fe67","directory":"jigsaw-masterpieces","title":"Jigsaw Masterpieces","compatibility":99,"releases":[{"id":"0100BB800E0D2000","region":null}]},{"id":"582de476-1097-4113-841f-6a4df04678dc","directory":"garage-mechanic-simulator","title":"Garage Mechanic Simulator","compatibility":99,"releases":[{"id":"01001DC00E324000","region":null}]},{"id":"5845a0ee-77a1-4b50-b536-90dec63b210a","directory":"guess-the-word","title":"Guess the word","compatibility":99,"releases":[{"id":"01005DC00D80C000","region":null}]},{"id":"584e19a2-63e2-421d-bf99-bd6d87051db6","directory":"space-warrior","title":"Space Warrior","compatibility":99,"releases":[{"id":"010090F014CA4000","region":null}]},{"id":"5855aede-c758-4180-8120-6c6ec9471599","directory":"unspottable","title":"Unspottable","compatibility":0,"releases":[{"id":"0100B410138C0000","region":null}]},{"id":"585b133f-aaac-4b12-b2f9-9f01fd5526b8","directory":"spacecats-with-lasers","title":"Spacecats with Lasers","compatibility":99,"releases":[{"id":"0100D9B0041CE000","region":null}]},{"id":"585fcf06-c597-46a4-88f5-5fe134b7592e","directory":"finding-teddy-2-definitive-edition","title":"Finding Teddy 2 : Definitive Edition","compatibility":99,"releases":[{"id":"0100FF100FB68000","region":null}]},{"id":"58601196-ee61-4963-8963-e4438cc77b3d","directory":"tesla-force","title":"Tesla Force","compatibility":99,"releases":[{"id":"0100FFD00FDF8000","region":null}]},{"id":"5871dd51-387c-4702-ad59-f30c407c7770","directory":"arcade-archives-elevator-action","title":"Arcade Archives ELEVATOR ACTION","compatibility":5,"releases":[{"id":"0100BF8006EC6000","region":null}]},{"id":"588cbc23-e744-409a-bed3-2de49bd89e37","directory":"curling","title":"Curling","compatibility":99,"releases":[{"id":"010038E0137A8000","region":null}]},{"id":"588f23dd-dd4e-46e9-8b44-698c15d0e0b6","directory":"under-the-jolly-roger","title":"Under the Jolly Roger","compatibility":0,"releases":[{"id":"010031E00EA24000","region":null}]},{"id":"588f7ab4-ec40-4d1e-9c7d-078439e92c84","directory":"arcade-archives-raiden","title":"Arcade Archives RAIDEN","compatibility":1,"releases":[{"id":"010025E0131A6000","region":null}]},{"id":"589538d3-c092-4ae6-80df-bd6bddd8d19a","directory":"puddle-knights","title":"Puddle Knights","compatibility":99,"releases":[{"id":"0100FE10127F4000","region":null}]},{"id":"58c95052-47a5-425e-8399-a2a665369242","directory":"roommates","title":"Roommates","compatibility":99,"releases":[{"id":"0100B8C01252A000","region":null}]},{"id":"58d038b8-6ed7-4d37-b51a-a55d42a3e1d4","directory":"lets-go-nuts","title":"Let's Go Nuts","compatibility":99,"releases":[{"id":"010070600DFE4000","region":null}]},{"id":"58d42dd1-a5fe-4e64-9e19-a2b5e762db7a","directory":"charterstone-digital-edition","title":"Charterstone: Digital Edition","compatibility":99,"releases":[{"id":"01008F500E042000","region":null}]},{"id":"58efb4eb-07b1-4923-b086-7b958c938589","directory":"ultra-street-fighter-ii-the-final-challengers","title":"Ultra Street Fighter II: The Final Challengers","compatibility":0,"releases":[{"id":"01007330027EE000","region":null}]},{"id":"59013324-8278-44b8-a8f2-1a461768edbb","directory":"inversus-deluxe-demo","title":"INVERSUS Deluxe Demo","compatibility":99,"releases":[{"id":"010009100845A000","region":null}]},{"id":"590150c5-c731-49b1-b924-331838746a10","directory":"out-there-w-the-alliance","title":"Out There: Ω The Alliance","compatibility":99,"releases":[{"id":"010076C00B8F0000","region":null}]},{"id":"5903a86a-3e65-4beb-a804-8690ef93fbef","directory":"everdark-tower","title":"Everdark Tower","compatibility":1,"releases":[{"id":"010029500DFBA000","region":null}]},{"id":"590af3d7-8b78-4b79-a972-0d359dabbd8f","directory":"mononoke-slashdown","title":"Mononoke Slashdown","compatibility":4,"releases":[{"id":"0100F3A00FB78000","region":null}]},{"id":"5912ee62-b37c-432a-a5dc-1c67ce0f1e86","directory":"mekabolt","title":"Mekabolt","compatibility":99,"releases":[{"id":"0100F4F00F098000","region":null}]},{"id":"591960d0-dccb-4c64-8844-6a7d3e8198fa","directory":"five-nights-at-freddys-2","title":"Five Nights at Freddy's 2","compatibility":2,"releases":[{"id":"01004EB00E43A000","region":null}]},{"id":"591d1cf5-c96b-4cc2-ad76-98db07fdcd2d","directory":"road-redemption","title":"Road Redemption","compatibility":1,"releases":[{"id":"010053000B986000","region":null}]},{"id":"591e8572-1fde-4c40-9cb0-e246a0cdf51d","directory":"fe","title":"Fe","compatibility":1,"releases":[{"id":"0100D2600736A000","region":null}]},{"id":"592ddac8-1ba3-47b1-8cd6-c425e15c7ae3","directory":"subnautica","title":"Subnautica","compatibility":1,"releases":[{"id":"0100429011144000","region":null}]},{"id":"592e5d9b-8f8c-4852-94e7-bfd9faaf3103","directory":"xtreme-club-racing","title":"Xtreme Club Racing","compatibility":99,"releases":[{"id":"0100DAE00DE4E000","region":null}]},{"id":"592f7237-5ba3-41c0-97a8-7d4226bbc57d","directory":"brotherhood-united","title":"Brotherhood United","compatibility":99,"releases":[{"id":"0100BCD010E88000","region":null}]},{"id":"593e5c0e-6d88-4527-877b-c7fb47a7e42f","directory":"aca-neogeo-robo-army","title":"ACA NEOGEO ROBO ARMY","compatibility":1,"releases":[{"id":"01000C9004FA2000","region":null}]},{"id":"594ee02d-07b2-4f85-967a-8a8ae1124172","directory":"super-life-of-pixel","title":"Super Life of Pixel","compatibility":99,"releases":[{"id":"010042000CA02000","region":null}]},{"id":"5961cb2b-16a9-47bf-b3ae-e2e59067b714","directory":"i-and-me","title":"I and Me","compatibility":99,"releases":[{"id":"01005C40037C6000","region":null}]},{"id":"59622777-31c4-4d8a-82c1-ea4d1727152b","directory":"duke-nukem-3d-20th-anniversary-world-tour","title":"Duke Nukem 3D: 20th Anniversary World Tour","compatibility":4,"releases":[{"id":"01007EF00CB88000","region":null}]},{"id":"59648252-0a05-4a9b-8b1d-7880160ac4cd","directory":"rimelands-hammer-of-thor","title":"Rimelands: Hammer of Thor","compatibility":99,"releases":[{"id":"01006AC00EE6E000","region":null}]},{"id":"597cabd3-9823-4a6c-b0f4-c711addd2bbf","directory":"cryogear","title":"Cryogear","compatibility":99,"releases":[{"id":"0100AC100CCF6000","region":null}]},{"id":"597d0999-bbea-4696-b88a-4c568c29c0f7","directory":"human-resource-machine","title":"Human Resource Machine","compatibility":1,"releases":[{"id":"0100701001D92000","region":null}]},{"id":"59b03c99-04c1-4975-b201-bd3703f892cc","directory":"robotics-notes-dash","title":"ROBOTICS;NOTES DaSH","compatibility":99,"releases":[{"id":"010039A0117C0000","region":null}]},{"id":"59c2e6b6-8547-4933-b6e6-dfd964ec662d","directory":"sonic-forces","title":"SONIC FORCES","compatibility":2,"releases":[{"id":"01001270012B6000","region":null}]},{"id":"59c745a7-2ce9-4481-93c6-1dd484d950af","directory":"sgc-short-games-collection-1","title":"SGC - Short Games Collection #1","compatibility":99,"releases":[{"id":"01007BB015210000","region":null}]},{"id":"59cac437-4c21-4198-8a51-dd9f5612472e","directory":"hextones","title":"Hextones","compatibility":99,"releases":[{"id":"01005A0015670000","region":null}]},{"id":"59db8036-ef97-43a6-928d-5553b032c229","directory":"top-speed-drag-fast-racing","title":"Top Speed: Drag & Fast Racing","compatibility":99,"releases":[{"id":"010082600F1AC000","region":null}]},{"id":"5a0109a3-75b0-4f34-81be-3dbcf9da36d5","directory":"flying-soldiers","title":"Flying Soldiers","compatibility":99,"releases":[{"id":"010080701194E000","region":null}]},{"id":"5a2bb522-18fa-40d6-9c3e-83168c6ae893","directory":"jungle-z","title":"Jungle Z","compatibility":99,"releases":[{"id":"010080E00D3DE000","region":null}]},{"id":"5a3ca5ac-542c-4c8a-98fd-e1823828d0dc","directory":"abyss","title":"Abyss","compatibility":99,"releases":[{"id":"0100E7400C7C4000","region":null}]},{"id":"5a3e5aef-2c52-4f9b-aea8-1442fc7c3b3e","directory":"percys-predicament-deluxe","title":"Percy's Predicament Deluxe","compatibility":99,"releases":[{"id":"01005CE00617E000","region":null}]},{"id":"5a580f03-c64d-4b7c-bbb9-106d0fdda41f","directory":"pocket-races","title":"Pocket Races","compatibility":0,"releases":[{"id":"0100A250144E0000","region":null}]},{"id":"5a5fde1e-9599-47bd-bc04-dfe6db200f95","directory":"blood-breed","title":"Blood Breed","compatibility":99,"releases":[{"id":"01006A0010D6A000","region":null}]},{"id":"5a6e7b46-fa8f-4f4c-8e4a-d31a1760b036","directory":"pinocchio-super-puzzles-dream","title":"#pinocchio, Super Puzzles Dream","compatibility":99,"releases":[{"id":"01004D30157D2000","region":null}]},{"id":"5a6fe736-5b7e-40d7-b1b0-95236d8b53bb","directory":"truck-mechanic-simulator","title":"Truck Mechanic Simulator","compatibility":99,"releases":[{"id":"01003A00122E2000","region":null}]},{"id":"5a7cdb08-bb31-484a-8f95-0750b9deceac","directory":"little-mouses-encyclopedia","title":"Little Mouse's Encyclopedia","compatibility":0,"releases":[{"id":"0100FE0014200000","region":null}]},{"id":"5a8f4624-4baf-4b18-9ad2-f802415abf2c","directory":"werewolf-pinball","title":"Werewolf Pinball","compatibility":99,"releases":[{"id":"0100A0E00B7A4000","region":null}]},{"id":"5a9e99e8-3922-43bb-8675-87d55eb85b48","directory":"n-verlore-verstand","title":"'n Verlore Verstand","compatibility":0,"releases":[{"id":"010098800C4B0000","region":null}]},{"id":"5aa9023a-1b3e-4666-95e2-05865ee44514","directory":"phantom-breaker-battle-grounds-overdrive","title":"Phantom Breaker: Battle Grounds Overdrive","compatibility":2,"releases":[{"id":"0100063005C86000","region":null}]},{"id":"5aacc0aa-243d-457b-b429-013e38fb7ee6","directory":"restless-hero","title":"Restless Hero","compatibility":99,"releases":[{"id":"0100A00012652000","region":null}]},{"id":"5aae09b1-4b4e-42d7-83a0-3d53de919479","directory":"redneck-skeet-shooting","title":"Redneck Skeet Shooting","compatibility":99,"releases":[{"id":"0100BDE00E4C0000","region":null}]},{"id":"5ab3a00e-e930-4cdd-944d-e2db0db14f79","directory":"aca-neogeo-strikers-1945-plus","title":"ACA NEOGEO STRIKERS 1945 PLUS","compatibility":4,"releases":[{"id":"010061600BF7E000","region":null}]},{"id":"5abe24c8-1cc8-4d1c-92ff-9f63fa860746","directory":"tt-isle-of-man","title":"TT Isle of Man","compatibility":2,"releases":[{"id":"010099900CAB2000","region":null}]},{"id":"5abeced1-ea96-42f3-9683-d6cd35f090f9","directory":"kunai","title":"KUNAI","compatibility":0,"releases":[{"id":"010035A00DF62000","region":null}]},{"id":"5ad05de4-12c4-477e-a1d2-c5625758aa32","directory":"otttd-over-the-top-tower-defense","title":"OTTTD: Over The Top Tower Defense","compatibility":99,"releases":[{"id":"01000320060AC000","region":null}]},{"id":"5ad975e0-894e-46d6-8d55-119a0967e0cc","directory":"super-chicken-catchers","title":"Super Chicken Catchers","compatibility":99,"releases":[{"id":"010059500EAFE000","region":null}]},{"id":"5ae13a9c-e925-4255-b6aa-857c554cb864","directory":"family-feud-r","title":"Family Feud®","compatibility":1,"releases":[{"id":"010060200FC44000","region":null}]},{"id":"5ae61b4e-5400-4830-b194-66f025218534","directory":"chromagun-demo","title":"ChromaGun Demo","compatibility":99,"releases":[{"id":"0100EA500902E000","region":null}]},{"id":"5aece8f7-fde6-4659-9106-c05a0908e104","directory":"6180-the-moon","title":"6180 the moon","compatibility":1,"releases":[{"id":"0100ECF008474000","region":null}]},{"id":"5aef53d1-3d6d-4f9e-8b38-dfb086455676","directory":"valkyria-chronicles","title":"Valkyria Chronicles","compatibility":99,"releases":[{"id":"0100CAF00B744000","region":null}]},{"id":"5b05c5e3-a9cc-4e0f-8898-c709df0c1eaf","directory":"cat-quest","title":"Cat Quest","compatibility":0,"releases":[{"id":"0100A2F006FBE000","region":null}]},{"id":"5b185e2e-45ee-4efb-b605-b0c3a5671030","directory":"fairy-fencer-f-advent-dark-force","title":"Fairy Fencer F: Advent Dark Force","compatibility":99,"releases":[{"id":"010002300C632000","region":null}]},{"id":"5b1943fc-8fde-4f77-823d-9c0568198706","directory":"under-leaves","title":"Under Leaves","compatibility":0,"releases":[{"id":"01008F3013E4E000","region":null}]},{"id":"5b1a313c-68c5-469c-9ab7-3c1559fd5682","directory":"the-procession-to-calvary","title":"The Procession To Calvary","compatibility":99,"releases":[{"id":"0100767012DB8000","region":null}]},{"id":"5b1d594a-3375-4a0e-9ebc-7f36526d34f0","directory":"doomsday-vault","title":"Doomsday Vault","compatibility":99,"releases":[{"id":"0100B6C0124FE000","region":null}]},{"id":"5b1e19ce-afbb-4719-90a8-c02d5157a4e0","directory":"ninnindays2","title":"NinNinDays2","compatibility":99,"releases":[{"id":"0100DEF016364000","region":null}]},{"id":"5b327ebb-95b0-4e8e-8e26-af64c33b4c1f","directory":"mickey-storm-and-the-cursed-mask","title":"Mickey Storm and the Cursed Mask","compatibility":1,"releases":[{"id":"010061D0139D0000","region":null}]},{"id":"5b329e16-e7d3-4e9f-a816-72e4e5d29f0a","directory":"fill-a-pix-phils-epic-adventure-demo","title":"Fill-a-Pix: Phil's Epic Adventure Demo","compatibility":99,"releases":[{"id":"01002FC00B694000","region":null}]},{"id":"5b33ffc2-817f-4251-826f-815a5106e7e0","directory":"weapon-of-choice-dx","title":"Weapon of Choice DX","compatibility":99,"releases":[{"id":"01001FB012114000","region":null}]},{"id":"5b3bcc8d-ab73-46e5-9662-0c15af481ffc","directory":"shakes-on-a-plane","title":"Shakes on a Plane","compatibility":99,"releases":[{"id":"01008DA012EC0000","region":null}]},{"id":"5b3c45dc-307c-4af5-ba9f-afdce1392bb4","directory":"zeroptian-invasion","title":"Zeroptian Invasion","compatibility":99,"releases":[{"id":"010090100D3D6000","region":null}]},{"id":"5b569314-9647-47e4-bf35-372ab841bf5b","directory":"brick-breaker","title":"Brick Breaker","compatibility":0,"releases":[{"id":"010026800BB06000","region":null}]},{"id":"5b5cae9e-81f6-49b6-a7b1-2e3eff4787d4","directory":"dust-an-elysian-tail","title":"Dust: An Elysian Tail","compatibility":2,"releases":[{"id":"0100B6E00A420000","region":null}]},{"id":"5b5e5139-b86c-41d6-a1e9-e5ad3896e861","directory":"cupid-parasite","title":"Cupid Parasite","compatibility":3,"releases":[{"id":"0100E010152CA000","region":null}]},{"id":"5b657b84-cf90-44cf-b516-73baf283292f","directory":"adventures-of-chris","title":"Adventures of Chris","compatibility":0,"releases":[{"id":"010072601233C000","region":null}]},{"id":"5b9a4ea5-fc57-415e-96e9-fb3a889f68ee","directory":"siebenstreichs-nerdventure","title":"Siebenstreich's Nerdventure","compatibility":99,"releases":[{"id":"01006F3015228000","region":null}]},{"id":"5b9c0caf-9fb1-4a1b-82f3-1e350bc05c8b","directory":"reed-2","title":"Reed 2","compatibility":99,"releases":[{"id":"01003EF0118D2000","region":null}]},{"id":"5ba0b456-37e8-443a-a0ed-c30c18cf2571","directory":"knight-swap-2","title":"Knight Swap 2","compatibility":99,"releases":[{"id":"0100D84011926000","region":null}]},{"id":"5ba6a4b8-2a44-48b1-ac2a-1bb8810423d1","directory":"need-a-packet","title":"Need a packet?","compatibility":99,"releases":[{"id":"0100BBC00E4F8000","region":null}]},{"id":"5bb3562e-12fe-41a0-94f7-a489f0628396","directory":"legendary-eleven","title":"Legendary Eleven","compatibility":99,"releases":[{"id":"0100A73006E74000","region":null}]},{"id":"5bc6d3c7-1dd2-4712-a76e-59fe574bd53f","directory":"circle-of-sumo","title":"Circle of Sumo","compatibility":0,"releases":[{"id":"010039700BA7E000","region":null}]},{"id":"5bc912c7-5684-440f-a7cb-5ec5557d2b42","directory":"many-faces","title":"Many Faces","compatibility":99,"releases":[{"id":"01009D4011BFC000","region":null}]},{"id":"5bd480a5-b817-4810-9306-de4ad4eabc8a","directory":"slots-of-the-season","title":"Slots of the Season","compatibility":99,"releases":[{"id":"01005FC0133D2000","region":null}]},{"id":"5bd62b81-8c9f-4b75-841d-6f8618f42e35","directory":"quantum-replica","title":"Quantum Replica","compatibility":99,"releases":[{"id":"010045101288A000","region":null}]},{"id":"5bdacb4c-c495-451c-8a52-78e4f92630ec","directory":"bioshock-remastered","title":"BioShock Remastered","compatibility":2,"releases":[{"id":"0100AD10102B2000","region":null}]},{"id":"5be18d66-2ef3-42e1-bc96-8e138b34b2ed","directory":"clubhouse-games-51-worldwide-classics","title":"Clubhouse Games™: 51 Worldwide Classics","compatibility":0,"releases":[{"id":"010047700D540000","region":null}]},{"id":"5be2611b-95ef-44e9-aaac-4e64122eae7b","directory":"genesis-noir","title":"Genesis Noir","compatibility":3,"releases":[{"id":"01009C701165E000","region":null}]},{"id":"5be2a489-132a-4907-be50-a183fb808b53","directory":"aliens-drive-me-crazy","title":"Aliens Drive Me Crazy","compatibility":99,"releases":[{"id":"01001030160F4000","region":null}]},{"id":"5bee1e96-a37c-442b-8863-efc206d88232","directory":"escape-2088","title":"Escape 2088","compatibility":99,"releases":[{"id":"01001F2013DF2000","region":null}]},{"id":"5bf67a56-81ac-485f-9419-f96e5585b0b8","directory":"lode-runner-legacy-demo-version","title":"Lode Runner Legacy Demo Version","compatibility":99,"releases":[{"id":"010086500AC4A000","region":null}]},{"id":"5bfa3eeb-4f9e-4f17-847b-1a36089f6c1c","directory":"the-padre","title":"The Padre","compatibility":99,"releases":[{"id":"0100EB000C818000","region":null}]},{"id":"5c019507-bee7-4f92-89db-71bc786e0381","directory":"lost-artifacts-golden-island","title":"Lost Artifacts: Golden Island","compatibility":99,"releases":[{"id":"01005B600E396000","region":null}]},{"id":"5c0c7a3a-627a-403e-a132-2a6b92f7dd13","directory":"kingdom-two-crowns","title":"Kingdom Two Crowns","compatibility":1,"releases":[{"id":"01005EF003FF2000","region":null}]},{"id":"5c0fd2b7-4ff6-43a6-8710-260c0b380527","directory":"the-flame-in-the-flood-complete-edition","title":"The Flame In The Flood: Complete Edition","compatibility":1,"releases":[{"id":"0100C38004DCC000","region":null}]},{"id":"5c20152c-27b9-409a-a0df-b4a5eb0088b6","directory":"metaverse-keeper","title":"Metaverse Keeper","compatibility":3,"releases":[{"id":"0100AFF00F938000","region":null}]},{"id":"5c214cae-e9b4-4e54-a12e-e5af0e95e3f1","directory":"bullet-battle-evolution","title":"Bullet Battle: Evolution","compatibility":99,"releases":[{"id":"010029400DE76000","region":null}]},{"id":"5c4cda37-6004-4f4e-bf13-4ce571042ebc","directory":"coffin-dodgers","title":"Coffin Dodgers","compatibility":3,"releases":[{"id":"0100178009648000","region":null}]},{"id":"5c544f10-d0a4-4e4b-98b4-3e65d23c452d","directory":"happy-hoarder","title":"Happy Hoarder","compatibility":99,"releases":[{"id":"010057A01457E000","region":null}]},{"id":"5c57500b-8cbf-4753-9cca-5fd0f3aa84ab","directory":"arcade-archives-the-tin-star","title":"Arcade Archives THE TIN STAR","compatibility":99,"releases":[{"id":"010000700F292000","region":null}]},{"id":"5c6094ba-739a-4c83-94d1-e0e4751057dc","directory":"crosskrush","title":"CrossKrush","compatibility":99,"releases":[{"id":"0100472013142000","region":null}]},{"id":"5c63940a-30ed-4cfc-af71-4bf002de137d","directory":"neurovoider","title":"NeuroVoider","compatibility":99,"releases":[{"id":"0100BA0004F38000","region":null}]},{"id":"5c6c0432-2d17-4695-9e37-76d09e22dc40","directory":"super-mario-maker-2","title":"Super Mario Maker 2","compatibility":0,"releases":[{"id":"01009B90006DC000","region":null}]},{"id":"5c894f3c-1ed2-4704-8243-284d6ea739e4","directory":"missile-dancer","title":"Missile Dancer","compatibility":0,"releases":[{"id":"0100CFA0138C8000","region":null}]},{"id":"5c8ce8a3-2b48-4565-b63f-0827913101f3","directory":"driving-world-italian-job","title":"Driving World: Italian Job","compatibility":99,"releases":[{"id":"01003FA0164E0000","region":null}]},{"id":"5c90aa90-1d8d-483e-9d88-9d548d017910","directory":"wacky-run","title":"Wacky Run","compatibility":99,"releases":[{"id":"0100DCD013CDA000","region":null}]},{"id":"5c90ab7f-196a-4fb6-bc3a-e9a811bb0a22","directory":"legends-of-ethernal","title":"Legends of Ethernal","compatibility":3,"releases":[{"id":"01008EE012CD4000","region":null}]},{"id":"5c987a8e-9c1e-4ff4-a255-257e0416cb49","directory":"aca-neogeo-nam-1975","title":"ACA NEOGEO NAM-1975","compatibility":99,"releases":[{"id":"0100A8C001DCE000","region":null}]},{"id":"5c9bb915-dee8-4532-93a6-37453b532527","directory":"absolute-drift","title":"Absolute Drift","compatibility":2,"releases":[{"id":"0100A5B010A66000","region":null}]},{"id":"5caea039-423a-4af1-83e1-b28426e2a893","directory":"double-cross","title":"Double Cross","compatibility":99,"releases":[{"id":"0100F7300BD8E000","region":null}]},{"id":"5cb87fab-27a7-404b-b60f-fd01ca3a87de","directory":"burst-shooter","title":"Burst Shooter","compatibility":99,"releases":[{"id":"0100870012912000","region":null}]},{"id":"5cbf45e8-cea1-42ba-aa33-08e714915836","directory":"lonely-mountains-downhill","title":"Lonely Mountains: Downhill","compatibility":5,"releases":[{"id":"0100A0C00E0DE000","region":null}]},{"id":"5cbfc3b2-7ad3-4fbf-8489-533ce2b1667e","directory":"word-sudoku-by-powgi","title":"Word Sudoku by POWGI","compatibility":99,"releases":[{"id":"01002AA00C708000","region":null}]},{"id":"5cc0f7b3-b03f-4501-9240-03060e728e02","directory":"cards-of-the-dead","title":"Cards of the Dead","compatibility":99,"releases":[{"id":"010074E015E2A000","region":null}]},{"id":"5cc2c1c3-f019-45c8-b865-44d7effdf24e","directory":"the-infectious-madness-of-doctor-dekker","title":"The Infectious Madness of Doctor Dekker","compatibility":99,"releases":[{"id":"01008940086E0000","region":null}]},{"id":"5cd3825d-f30a-44a9-9154-507ed11eb5b6","directory":"heartandslash","title":"Heart&Slash","compatibility":99,"releases":[{"id":"0100D12008EE4000","region":null}]},{"id":"5ce3262e-2b26-444f-ae75-6d533be7c191","directory":"slime-rancher-plortable-edition","title":"Slime Rancher: Plortable Edition","compatibility":1,"releases":[{"id":"0100B9C0148D0000","region":null}]},{"id":"5cec25e3-b756-4692-9b61-1b59adf350f8","directory":"unruly-heroes","title":"Unruly Heroes","compatibility":0,"releases":[{"id":"010001300CC4A000","region":null}]},{"id":"5cee3938-1cf1-4e7e-bd16-b45951390e7a","directory":"jydge","title":"JYDGE","compatibility":4,"releases":[{"id":"010035A0044E8000","region":null}]},{"id":"5cef6bc6-ea8b-403b-82f0-ac9ec1e7a22d","directory":"love-esquire","title":"Love Esquire","compatibility":1,"releases":[{"id":"0100D600129A4000","region":null}]},{"id":"5cf92786-09df-487f-819f-8bf714c846aa","directory":"arcade-archives-ikari-warriors","title":"Arcade Archives IKARI WARRIORS","compatibility":4,"releases":[{"id":"010049400C7A8000","region":null}]},{"id":"5cff1413-f85e-4e78-a738-4b4085a77f07","directory":"gynoug","title":"Gynoug","compatibility":99,"releases":[{"id":"0100B150163A4000","region":null}]},{"id":"5cffdc59-756b-4b3e-992c-9de9a9da5aec","directory":"push-the-crate","title":"Push the Crate","compatibility":99,"releases":[{"id":"010016400F07E000","region":null}]},{"id":"5d031cf3-2bba-4907-9368-e71892ae5803","directory":"fast-rmx","title":"FAST RMX","compatibility":3,"releases":[{"id":"01009510001CA000","region":null}]},{"id":"5d03604a-0879-4825-8c74-aa29bcf97ea0","directory":"smash-rush","title":"Smash Rush","compatibility":4,"releases":[{"id":"010084000FA78000","region":null}]},{"id":"5d182291-99c2-4d81-a0fe-3dea8d17740c","directory":"solas-128","title":"SOLAS 128","compatibility":99,"releases":[{"id":"0100488011B16000","region":null}]},{"id":"5d313f44-b4cd-4316-af1e-7bde4378669f","directory":"arcade-archives-saboten-bombers","title":"Arcade Archives SABOTEN BOMBERS","compatibility":99,"releases":[{"id":"01007C80144D6000","region":null}]},{"id":"5d316834-92f4-4fdd-b9b5-461f94f040f5","directory":"ark-survival-evolved","title":"ARK: Survival Evolved","compatibility":4,"releases":[{"id":"0100D4A00B284000","region":null}]},{"id":"5d3af4b5-8ec5-43bb-b683-7b936a05e5dd","directory":"yuri","title":"Yuri","compatibility":99,"releases":[{"id":"0100FC900963E000","region":null}]},{"id":"5d4cba47-fb46-45d1-bd42-a9d6e5ea9966","directory":"battle-group-2","title":"Battle Group 2","compatibility":99,"releases":[{"id":"0100FE000BA42000","region":null}]},{"id":"5d53cbf2-fbba-4a47-901f-d417ab1ec88a","directory":"beholder-2","title":"Beholder 2","compatibility":0,"releases":[{"id":"01000DF00EBBA000","region":null}]},{"id":"5d6b0880-4aef-4f93-9fd4-202895a58571","directory":"classic-checkers","title":"Classic Checkers","compatibility":99,"releases":[{"id":"0100D89014A0E000","region":null}]},{"id":"5d77c02e-edf5-46a0-bc3b-425c2902a766","directory":"pool-panic","title":"Pool Panic","compatibility":99,"releases":[{"id":"0100D6D00A490000","region":null}]},{"id":"5d7fd1c1-a1f7-446d-8c81-1fa515b9389b","directory":"80-days","title":"80 DAYS","compatibility":99,"releases":[{"id":"0100B0700E944000","region":null}]},{"id":"5d817318-8e13-421b-bc92-2883aefe68e5","directory":"little-inferno","title":"Little Inferno","compatibility":0,"releases":[{"id":"0100B18001D8E000","region":null}]},{"id":"5d8963ab-4ee9-4d9d-9a50-67fe787f0498","directory":"sparkle-unleashed","title":"Sparkle Unleashed","compatibility":99,"releases":[{"id":"01000DC007E90000","region":null}]},{"id":"5d8d6098-d496-43f9-8d82-3a8c5b8cb53e","directory":"across-the-grooves","title":"Across the Grooves","compatibility":99,"releases":[{"id":"010043C010AEA000","region":null}]},{"id":"5da3baa7-c868-41c5-886c-44628e3cfefa","directory":"whiskey-mafia-leos-family","title":"Whiskey Mafia: Leo's Family","compatibility":99,"releases":[{"id":"0100A12016BAC000","region":null}]},{"id":"5da5fb9c-6813-4b8c-b459-f6d44d0acb8c","directory":"gravity-rider-zero","title":"Gravity Rider Zero","compatibility":99,"releases":[{"id":"01002C2011828000","region":null}]},{"id":"5dbe9bac-d0f2-45da-a6b4-ea2bf58509e0","directory":"the-casebook-of-arkady-smith","title":"The Casebook of Arkady Smith","compatibility":99,"releases":[{"id":"01008AB00FBA6000","region":null}]},{"id":"5dc2958a-3310-4118-9ded-024391770f1c","directory":"escape-from-a-deserted-island-the-adventures-of-nyanzou-kumakichi-escape-game-series","title":"Escape From a Deserted Island\n~The Adventures of Nyanzou&Kumakichi: Escape Game Series~","compatibility":99,"releases":[{"id":"01000830155A2000","region":null}]},{"id":"5dd24bb2-77b2-42e9-9c86-8617ae3a8cb1","directory":"mazm-the-phantom-of-the-opera","title":"MazM: The Phantom of the Opera","compatibility":99,"releases":[{"id":"0100060013786000","region":null}]},{"id":"5dd9221a-1fc0-43b4-b29e-87c0583bb906","directory":"just-dance-r-2022","title":"Just Dance® 2022","compatibility":2,"releases":[{"id":"0100EA6014BB8000","region":null}]},{"id":"5de1b9df-2b1e-4b06-b79a-4a2df33351b1","directory":"heroine-anthem-zero-episode-1","title":"HEROINE ANTHEM ZERO episode 1","compatibility":0,"releases":[{"id":"01001B70080F0000","region":null}]},{"id":"5de4b1c6-0397-4872-979e-92e51bbef766","directory":"inops","title":"Inops","compatibility":99,"releases":[{"id":"0100DD200B59E000","region":null}]},{"id":"5de5549a-ecbf-4a88-b48d-81a6634ae4f9","directory":"crash-bandicoot-4-its-about-time","title":"Crash Bandicoot™ 4: It’s About Time","compatibility":2,"releases":[{"id":"010073401175E000","region":null}]},{"id":"5e1466d1-ca5c-46ca-9b6a-1d8a85d65110","directory":"pawarumi","title":"Pawarumi","compatibility":99,"releases":[{"id":"0100A56006CEE000","region":null}]},{"id":"5e290adb-2e88-4d84-be0c-21bf09d079fd","directory":"super-tennis","title":"Super Tennis","compatibility":0,"releases":[{"id":"01002950102CE000","region":null}]},{"id":"5e3194b3-aea4-4faf-af1d-d99e6808c7dc","directory":"arcade-archives-mrgoemon","title":"Arcade Archives Mr.GOEMON","compatibility":99,"releases":[{"id":"0100D7000F17A000","region":null}]},{"id":"5e363b09-7d60-4e26-ba88-35bd2dea0586","directory":"iridium","title":"Iridium","compatibility":5,"releases":[{"id":"010095C016C14000","region":null}]},{"id":"5e448f34-54c6-403a-8240-18dc5538a364","directory":"arcade-archives-atomic-robo-kid","title":"Arcade Archives Atomic Robo-Kid","compatibility":99,"releases":[{"id":"0100426001DE4000","region":null}]},{"id":"5e4b75ae-70e5-4dd3-b760-737b366e6c4b","directory":"peasant-knight","title":"Peasant Knight","compatibility":1,"releases":[{"id":"010028A0048A6000","region":null}]},{"id":"5e4efb76-a71a-4f0b-acf9-9f4da7e4dbb7","directory":"outpost-delta","title":"Outpost Delta","compatibility":99,"releases":[{"id":"0100CCF00F5BC000","region":null}]},{"id":"5e5622f5-8003-4ef4-8492-4ea15a862fe4","directory":"in-my-shadow","title":"In My Shadow","compatibility":99,"releases":[{"id":"010022A01537A000","region":null}]},{"id":"5e5f3e40-67c4-4136-8ea8-d221d30531e2","directory":"deeeer-simulator-your-average-everyday-deer-game","title":"DEEEER Simulator: Your Average Everyday Deer Game","compatibility":2,"releases":[{"id":"0100190014D72000","region":null}]},{"id":"5e665be3-da54-46f0-af8c-784a7a568b9e","directory":"the-mystery-of-woolley-mountain","title":"The Mystery of Woolley Mountain","compatibility":99,"releases":[{"id":"0100C5200D178000","region":null}]},{"id":"5e6e7b20-71a2-4ec0-9c78-1ac726588e07","directory":"olympic-boxing","title":"Olympic Boxing","compatibility":99,"releases":[{"id":"0100EF70137A4000","region":null}]},{"id":"5e7a701a-3542-4c04-8636-0bd125b4266e","directory":"arcade-archives-victory-road","title":"Arcade Archives VICTORY ROAD","compatibility":99,"releases":[{"id":"010007100C7B6000","region":null}]},{"id":"5e7fdde7-3fe7-4e83-82ff-389bfbcf3cb6","directory":"cyberhive","title":"CyberHive","compatibility":99,"releases":[{"id":"0100EB9014722000","region":null}]},{"id":"5e80e524-8ddd-4346-8b0d-3518fca0b548","directory":"super-rock-blasters","title":"Super Rock Blasters!","compatibility":99,"releases":[{"id":"01009E4006CC8000","region":null}]},{"id":"5e824d72-610b-4a2b-9b09-242bf84d8a60","directory":"the-path-of-motus-demo","title":"The Path of Motus Demo","compatibility":99,"releases":[{"id":"010062600D236000","region":null}]},{"id":"5e829452-5dc7-45c4-a75e-392c9569c8ba","directory":"enchanted-in-the-moonlight-miyabi-kyoga-and-samon-","title":"Enchanted in the Moonlight - Miyabi, Kyoga & Samon -","compatibility":99,"releases":[{"id":"0100C2000E08C000","region":null}]},{"id":"5e98ba77-6995-454e-918b-25347a7c6539","directory":"road-to-guangdong","title":"Road To Guangdong","compatibility":99,"releases":[{"id":"0100735010F58000","region":null}]},{"id":"5ec70cb3-81fe-4813-b6b4-879b4b9be457","directory":"arcade-archives-xx-mission","title":"Arcade Archives XX MISSION","compatibility":99,"releases":[{"id":"01008F3010752000","region":null}]},{"id":"5edfcacf-540a-46e4-bf42-6ba8121fd575","directory":"basketball-pinball","title":"Basketball Pinball","compatibility":99,"releases":[{"id":"0100BC5014FD0000","region":null}]},{"id":"5eebf069-42c8-4057-b770-718095d5c461","directory":"the-bradwell-conspiracy","title":"The Bradwell Conspiracy","compatibility":99,"releases":[{"id":"010097C00DF08000","region":null}]},{"id":"5eef099c-4585-4801-9f55-16f5c9d7be2c","directory":"out-of-the-box","title":"Out of The Box","compatibility":99,"releases":[{"id":"01005A700A166000","region":null}]},{"id":"5eef488c-0fd7-496f-b52c-4d5b09092d07","directory":"wingspan","title":"WINGSPAN","compatibility":99,"releases":[{"id":"0100E05011350000","region":null}]},{"id":"5efdf1dc-3e63-4df5-874e-a0e9fdccc954","directory":"morphies-law","title":"Morphies Law","compatibility":4,"releases":[{"id":"01005DA003E6E000","region":null}]},{"id":"5f0640df-f698-46b7-a908-cd41264b07c1","directory":"quest-of-dungeons","title":"Quest of Dungeons","compatibility":2,"releases":[{"id":"01001DE005012000","region":null}]},{"id":"5f231908-2157-424d-9a17-1296708709e3","directory":"fly-punch-boom","title":"Fly Punch Boom!","compatibility":99,"releases":[{"id":"0100FC300F4A4000","region":null}]},{"id":"5f506087-d872-45d3-9731-7acf3236c885","directory":"deru-the-art-of-cooperation","title":"Deru - The Art of Cooperation","compatibility":99,"releases":[{"id":"0100ED700469A000","region":null}]},{"id":"5f59a211-5bae-4e53-8f97-4676be5c967a","directory":"pew-paw","title":"Pew Paw","compatibility":1,"releases":[{"id":"010045A01221E000","region":null}]},{"id":"5f61639c-99ed-4837-8854-1d06a77897f4","directory":"straimium-immortaly","title":"Straimium Immortaly","compatibility":99,"releases":[{"id":"0100DA000D71A000","region":null}]},{"id":"5f63a56b-4cd5-4f66-9d5f-1fc807be63b3","directory":"escape-first","title":"Escape First","compatibility":4,"releases":[{"id":"01000E8010A98000","region":null}]},{"id":"5f65a088-13c4-463c-906f-0938b2c951fc","directory":"fill-a-pix-phils-epic-adventure","title":"Fill-a-Pix: Phil's Epic Adventure","compatibility":1,"releases":[{"id":"010095600AA36000","region":null}]},{"id":"5f68e6e0-28a6-48fc-b910-0812ca9eca3b","directory":"bloodrayne-revamped","title":"BloodRayne: ReVamped","compatibility":99,"releases":[{"id":"0100A420147C0000","region":null}]},{"id":"5f70272a-a2dc-4fce-9880-72a8e109cc2a","directory":"brothers-a-tale-of-two-sons","title":"Brothers: A Tale of Two Sons","compatibility":4,"releases":[{"id":"01000D500D08A000","region":null}]},{"id":"5f915f14-7789-477b-ae62-a83df54c764c","directory":"defoliation","title":"Defoliation","compatibility":99,"releases":[{"id":"010044300A65E000","region":null}]},{"id":"5f93e947-4680-4385-a033-9ae84b717b90","directory":"bloodshore","title":"Bloodshore","compatibility":99,"releases":[{"id":"01009F8015E94000","region":null}]},{"id":"5f9a8e1b-d975-4372-9ad4-d21ca988f442","directory":"moorhuhn-wanted","title":"Moorhuhn Wanted","compatibility":99,"releases":[{"id":"0100ED100B634000","region":null}]},{"id":"5fa09c2b-2e3f-4ef8-8972-de94f972d464","directory":"blazblue-cross-tag-battle-special-trial","title":"BLAZBLUE CROSS TAG BATTLE SPECIAL TRIAL","compatibility":4,"releases":[{"id":"0100C6E00AF2C000","region":null}]},{"id":"5fae852e-0a38-49ad-9305-dc6e7db07eb0","directory":"blade-ii-the-return-of-evil","title":"Blade II - The Return Of Evil","compatibility":3,"releases":[{"id":"01009CC00E224000","region":null}]},{"id":"5fb1f88c-54de-4588-8c8c-9912d45b4551","directory":"merrily-perilly","title":"Merrily Perilly","compatibility":99,"releases":[{"id":"01009DF014F44000","region":null}]},{"id":"5fb285a8-5397-4d68-ab38-bcd274bfaa53","directory":"the-big-journey","title":"The Big Journey","compatibility":1,"releases":[{"id":"010089600E66A000","region":null}]},{"id":"5fb8b5ef-0204-48df-a6a7-111236d856e0","directory":"crypt-of-the-necrodancer-nintendo-switch-edition","title":"Crypt of the NecroDancer: Nintendo Switch Edition","compatibility":0,"releases":[{"id":"0100CEA007D08000","region":null}]},{"id":"5fcf4642-0ec8-4f99-b089-c5af257d6cf2","directory":"one-eyed-kutkh","title":"One Eyed Kutkh","compatibility":99,"releases":[{"id":"0100E000092B2000","region":null}]},{"id":"5fd51f16-bdbd-41fa-8f09-e531f089c916","directory":"orbt-xl","title":"Orbt XL","compatibility":99,"releases":[{"id":"010025F011DB4000","region":null}]},{"id":"5fd66a64-b756-4388-bcd7-1fbffd36e67d","directory":"jigsaw-fun-amazing-animals","title":"Jigsaw Fun: Amazing Animals","compatibility":99,"releases":[{"id":"0100FE1015DC0000","region":null}]},{"id":"5fd6e96f-3986-48de-865a-ac62ec240f83","directory":"banners-of-ruin","title":"Banners of Ruin","compatibility":99,"releases":[{"id":"0100BEB014D94000","region":null}]},{"id":"5fd719ea-145b-448b-88fc-5f862911a716","directory":"sparkle-2","title":"Sparkle 2","compatibility":1,"releases":[{"id":"010028D0045CE000","region":null}]},{"id":"5fed29a2-d941-4381-a93a-e6866be1ed5d","directory":"raji-an-ancient-epic","title":"Raji: An Ancient Epic","compatibility":2,"releases":[{"id":"010010B00DDA2000","region":null}]},{"id":"5ff74f49-5097-41c9-954a-78b1517c1974","directory":"mousebot-escape-from-catlab","title":"MouseBot: Escape from CatLab","compatibility":99,"releases":[{"id":"010022301531E000","region":null}]},{"id":"5ffc4ddc-71c9-4f88-84d8-721735a570e7","directory":"3d-billiards-pool-and-snooker","title":"3D Billiards - Pool & Snooker","compatibility":99,"releases":[{"id":"010055D00BDD0000","region":null}]},{"id":"5ffeac48-44cc-471d-8929-a079ec1df66b","directory":"spirit-hunter-ng","title":"Spirit Hunter: NG","compatibility":99,"releases":[{"id":"0100FAE00E19A000","region":null}]},{"id":"5fffbfe0-e28f-4b24-982e-d56faddf5601","directory":"monster-jam-steel-titans-2","title":"Monster Jam Steel Titans 2","compatibility":99,"releases":[{"id":"010051B0131F0000","region":null}]},{"id":"600461ce-0ff8-42cd-a0d7-34d0ec8dd59a","directory":"turmoil","title":"Turmoil","compatibility":99,"releases":[{"id":"010089200F0E4000","region":null}]},{"id":"6006f88c-20ac-4473-8236-e5d6eaa4dcf0","directory":"actual-sunlight","title":"Actual Sunlight","compatibility":99,"releases":[{"id":"0100CD40104DE000","region":null}]},{"id":"60079b4d-752b-4267-a484-8ac4683a8518","directory":"pinball-big-splash","title":"Pinball Big Splash","compatibility":99,"releases":[{"id":"0100BB50144EA000","region":null}]},{"id":"600aa450-8027-4f58-ba79-d740894b8f3f","directory":"aircraft-evolution","title":"Aircraft Evolution","compatibility":99,"releases":[{"id":"0100E95011FDC000","region":null}]},{"id":"600fa70f-f1c5-47a8-aba0-18f7fc5955fb","directory":"be-a-poker-champion-texas-holdem","title":"Be a Poker Champion! Texas Hold'em","compatibility":99,"releases":[{"id":"0100E50013EFE000","region":null}]},{"id":"6012725e-68ac-4d6d-bfb2-5522f4301a34","directory":"inspector-waffles","title":"Inspector Waffles","compatibility":99,"releases":[{"id":"01004E4014F06000","region":null}]},{"id":"60317e6f-adc1-4ef7-b0ff-5787a8a472ae","directory":"boomerang-fu","title":"Boomerang Fu","compatibility":0,"releases":[{"id":"010081A00EE62000","region":null}]},{"id":"603b245e-be32-4049-86cf-cd996b270e1b","directory":"grecos-hall-of-kanji-learn-japaneseless-beginner-greater","title":"Greco’s Hall of Kanji Learn Japanese< Beginner >","compatibility":3,"releases":[{"id":"0100B6700DEC2000","region":null}]},{"id":"6042738c-54e0-40af-83b0-e22af3e3f97a","directory":"the-low-road","title":"The Low Road","compatibility":99,"releases":[{"id":"0100BAB00A116000","region":null}]},{"id":"6044763c-7f25-4720-9584-a44577a56e16","directory":"super-hiking-league-dx","title":"Super Hiking League DX","compatibility":99,"releases":[{"id":"0100EA4012072000","region":null}]},{"id":"6046575c-7e0f-40fa-842a-52ef96828d96","directory":"dumpy-bumpy","title":"Dumpy & Bumpy","compatibility":99,"releases":[{"id":"0100930016422000","region":null}]},{"id":"604910fc-4ccf-488c-a774-694e75caf9a2","directory":"puzzle-box-maker","title":"Puzzle Box Maker","compatibility":99,"releases":[{"id":"0100476004A9E000","region":null}]},{"id":"604a134c-9ac4-4f03-92e1-7fe9cf48df31","directory":"stikbold-a-dodgeball-adventure-deluxe-demo","title":"Stikbold! A Dodgeball Adventure DELUXE Demo","compatibility":99,"releases":[{"id":"0100454008DA8000","region":null}]},{"id":"605255f3-79ab-4da2-9583-3677c312dfa3","directory":"osyaberi-puzzle-chigatan-spot-the-differences-with-everyone","title":"Osyaberi! Puzzle Chigatan ~Spot the Differences with Everyone~","compatibility":99,"releases":[{"id":"0100429013B88000","region":null}]},{"id":"6055d1dd-f903-40dc-9919-241b67e340b4","directory":"the-long-journey-home","title":"The Long Journey Home","compatibility":99,"releases":[{"id":"0100E0E00C518000","region":null}]},{"id":"60575cf1-0c5d-48c9-ad55-33f5db38bd02","directory":"doom-ii-classic","title":"DOOM II (Classic)","compatibility":1,"releases":[{"id":"0100D4F00DD02000","region":null}]},{"id":"605ddd8c-c5e7-405f-bd92-4eebfda8955b","directory":"saturday-morning-rpg","title":"Saturday Morning RPG","compatibility":1,"releases":[{"id":"0100F0000869C000","region":null}]},{"id":"607d8f66-e251-4552-b4b3-5c0f20f421fe","directory":"hunting-simulator","title":"Hunting Simulator","compatibility":99,"releases":[{"id":"0100C460040EA000","region":null}]},{"id":"607e7818-f82e-4508-92c1-818c55294372","directory":"destinys-princess-a-war-story-a-love-story","title":"Destiny's Princess: A War Story, A Love Story","compatibility":99,"releases":[{"id":"0100B7F00B4E6000","region":null}]},{"id":"608c8250-8094-4e56-bf48-538865d76a78","directory":"barrage-fantasia","title":"Barrage Fantasia","compatibility":99,"releases":[{"id":"0100F2A013752000","region":null}]},{"id":"60a33116-1cf9-4f19-86bd-59e952ffd63c","directory":"super-mario-3d-all-stars","title":"Super Mario™ 3D All-Stars","compatibility":4,"releases":[{"id":"010049900F546000","region":null}]},{"id":"60b8a132-9241-408c-b72a-cb7996c950d6","directory":"katana-kami-a-way-of-the-samurai-story","title":"KATANA KAMI: A Way of the Samurai Story","compatibility":3,"releases":[{"id":"0100F9800EDFA000","region":null}]},{"id":"60be7251-b40f-4c8d-8aff-0830158aa7cb","directory":"plague-inc-evolved","title":"Plague Inc: Evolved","compatibility":0,"releases":[{"id":"01000CE00CBB8000","region":null}]},{"id":"60cccea7-66e5-4aaa-ae68-fc369b1e42e6","directory":"seers-isle","title":"Seers Isle","compatibility":99,"releases":[{"id":"0100394010844000","region":null}]},{"id":"60cfea0a-6cb9-4990-b942-8e7dbaad5921","directory":"one-night-stand","title":"One Night Stand","compatibility":99,"releases":[{"id":"0100F1300EC60000","region":null}]},{"id":"60d18655-6507-4b8c-a2d7-1eaf5f391a99","directory":"sega-ages-gain-ground","title":"SEGA AGES Gain Ground","compatibility":0,"releases":[{"id":"01001E600AF08000","region":null}]},{"id":"60db6da8-4d77-4fb1-be63-5c27d0bcbb08","directory":"illusion-of-lphalcia","title":"Illusion of L'Phalcia","compatibility":99,"releases":[{"id":"01000B700EC22000","region":null}]},{"id":"60dd6e7b-0d88-44a8-885d-d1cf7c9c7471","directory":"beautiful-desolation","title":"BEAUTIFUL DESOLATION","compatibility":2,"releases":[{"id":"01006B0014590000","region":null}]},{"id":"60e5d67f-229d-4428-b50d-38e4cbc10c7c","directory":"descenders","title":"Descenders","compatibility":2,"releases":[{"id":"0100D4600D0E4000","region":null}]},{"id":"60ee4f80-7ed1-4cfd-a053-efc558550f4f","directory":"raiders-of-the-lost-island","title":"Raiders Of The Lost Island","compatibility":99,"releases":[{"id":"0100966013BB2000","region":null}]},{"id":"60f1b861-eccf-4752-a916-40d56a4f6ca5","directory":"ultra-off-road-2019-alaska","title":"Ultra Off-Road 2019: Alaska","compatibility":99,"releases":[{"id":"010077500FA64000","region":null}]},{"id":"60faae36-0e37-4997-ab64-16bedc1530fb","directory":"soulslayer","title":"Soulslayer","compatibility":99,"releases":[{"id":"010088E00EBB6000","region":null}]},{"id":"61059ef6-9bf8-4c00-bb35-b4bb330bce3b","directory":"chicken-assassin-reloaded","title":"Chicken Assassin: Reloaded","compatibility":99,"releases":[{"id":"0100E3C00A118000","region":null}]},{"id":"610b27a8-c4f5-4f55-92cd-f15ed69467ca","directory":"car-demolition-clicker","title":"Car Demolition Clicker","compatibility":1,"releases":[{"id":"0100D8B013D02000","region":null}]},{"id":"610e6591-f0e7-452a-9573-25ffbc0f6c8a","directory":"dunk-lords","title":"Dunk Lords","compatibility":99,"releases":[{"id":"0100EC30140B6000","region":null}]},{"id":"610ef000-52e1-4e74-ab43-70c7f327d1b0","directory":"elevatorto-the-moon-turbo-champions-edition","title":"Elevator...to the Moon! Turbo Champion's Edition","compatibility":99,"releases":[{"id":"010024C00D734000","region":null}]},{"id":"6117036d-d0c1-4715-ad90-448ee57b7f1d","directory":"pure-chase-80s","title":"Pure Chase 80's","compatibility":1,"releases":[{"id":"01003A2016DC6000","region":null}]},{"id":"61365081-585f-4d53-a01b-f23ee3c575f3","directory":"extreme-poker","title":"EXTREME POKER","compatibility":1,"releases":[{"id":"010031A00BC9E000","region":null}]},{"id":"616ca5a6-3dd2-46f4-93b8-6c42d1884b3e","directory":"dreaming-canvas","title":"Dreaming Canvas","compatibility":99,"releases":[{"id":"010058B00F3C0000","region":null}]},{"id":"616e2ef2-10c4-4902-baaf-d79c79df9673","directory":"pocket-mini-golf","title":"Pocket Mini Golf","compatibility":1,"releases":[{"id":"010000C010E76000","region":null}]},{"id":"61934a85-7ed4-4c4d-832d-7fd0113891ab","directory":"my-child-lebensborn","title":"My Child Lebensborn","compatibility":99,"releases":[{"id":"010035D0131B2000","region":null}]},{"id":"619a2b58-9672-44e3-a12e-377717c95f68","directory":"super-metboy","title":"SUPER METBOY!","compatibility":99,"releases":[{"id":"0100F79012AAA000","region":null}]},{"id":"61a9aac4-4bd1-4bec-a29e-d66a90fdf125","directory":"a-year-of-springs","title":"A YEAR OF SPRINGS","compatibility":99,"releases":[{"id":"0100FE6016424000","region":null}]},{"id":"61b059f8-8870-4d0f-b3ab-203772f0ded7","directory":"unpacking","title":"Unpacking","compatibility":0,"releases":[{"id":"0100701015846000","region":null}]},{"id":"61ceda70-fb19-44b2-86a4-758ec5ca6d4c","directory":"creepy-tale-2","title":"Creepy Tale 2","compatibility":99,"releases":[{"id":"0100B4C0161BE000","region":null}]},{"id":"61eeb419-3ecb-444f-ab4b-db73981fce2b","directory":"aca-neogeo-ninja-combat","title":"ACA NEOGEO NINJA COMBAT","compatibility":2,"releases":[{"id":"010052A00A306000","region":null}]},{"id":"61f0c625-2a8d-4c4e-a59a-525e51d348d9","directory":"gutwhale","title":"Gutwhale","compatibility":99,"releases":[{"id":"0100953014DCA000","region":null}]},{"id":"61f23721-3af8-4566-b8cb-d5923d853160","directory":"dont-touch-this-button","title":"Don't Touch this Button!","compatibility":99,"releases":[{"id":"01009B401613C000","region":null}]},{"id":"61f422f8-c847-4e4e-b15d-5fc1bac98f5e","directory":"the-office-quest","title":"The Office Quest","compatibility":99,"releases":[{"id":"0100A2A00B08C000","region":null}]},{"id":"61f7994a-fd08-4bc2-aad8-c52704ef4c51","directory":"semispheres","title":"Semispheres","compatibility":1,"releases":[{"id":"01009840046BC000","region":null}]},{"id":"61fb9a3f-baac-4b85-89d4-99266bfd958a","directory":"nyakamon-adventures","title":"Nyakamon Adventures","compatibility":99,"releases":[{"id":"0100FA2014C78000","region":null}]},{"id":"62018567-7be3-4b7e-bb6e-70ca23ff1d95","directory":"silk","title":"Silk","compatibility":99,"releases":[{"id":"010045500DFE2000","region":null}]},{"id":"6204f801-defe-46c9-a58d-3428d1574413","directory":"top-run","title":"Top Run","compatibility":99,"releases":[{"id":"010092D00FF66000","region":null}]},{"id":"62056acd-78a3-4b8b-913d-9856a07101d6","directory":"project-winter","title":"Project Winter","compatibility":99,"releases":[{"id":"01002AB012C0C000","region":null}]},{"id":"62099338-29c4-4a73-92e8-7f4d9f7fe45e","directory":"a-monsters-expedition","title":"A Monster's Expedition","compatibility":0,"releases":[{"id":"0100C01013302000","region":null}]},{"id":"620c7943-e437-4e4e-a49c-4bccc0b33b6a","directory":"bravely-default-ii-demo","title":"Bravely Default™ II Demo","compatibility":4,"releases":[{"id":"0100B6801137E000","region":null}]},{"id":"622b291b-d745-4de3-b8f1-2bbfdeda5735","directory":"pixeljunk-monsters-2","title":"PixelJunk Monsters 2","compatibility":1,"releases":[{"id":"0100E4D00A690000","region":null}]},{"id":"622d4ec0-bafd-4c84-879b-e7e92ebb689e","directory":"sega-ages-thunder-force-ac","title":"SEGA AGES Thunder Force AC","compatibility":1,"releases":[{"id":"0100D0800C612000","region":null}]},{"id":"622f4703-e100-454f-924a-7bdc61f7c652","directory":"paranautical-activity","title":"Paranautical Activity","compatibility":99,"releases":[{"id":"010063400B2EC000","region":null}]},{"id":"623109fc-5016-403f-b66d-df0a1ef5dc30","directory":"grim-legends-3-the-dark-city","title":"Grim Legends 3: The Dark City","compatibility":99,"releases":[{"id":"01004F9012D84000","region":null}]},{"id":"623a8f61-6d70-4094-8caf-4c472b291c6a","directory":"hyper-sentinel-demo","title":"Hyper Sentinel Demo","compatibility":99,"releases":[{"id":"0100C2500B718000","region":null}]},{"id":"62573552-c523-4f81-b8e0-186bae43e734","directory":"gnome-more-war","title":"Gnome More War","compatibility":99,"releases":[{"id":"0100EB8011B0C000","region":null}]},{"id":"62584b57-089f-4b33-b848-5acf2459298d","directory":"gearclub-unlimited-2","title":"Gear.Club Unlimited 2","compatibility":0,"releases":[{"id":"010072900AFF0000","region":null}]},{"id":"625f92cb-4f13-4d8b-99a2-f07cd12461c4","directory":"super-inefficient-golf","title":"Super Inefficient Golf","compatibility":99,"releases":[{"id":"010056800B534000","region":null}]},{"id":"62680a03-b5c5-40b5-ae17-9b71d1f55bb5","directory":"laytons-mystery-journey-katrielle-and-the-millionaires-conspiracy-deluxe-edition","title":"LAYTON’S MYSTERY JOURNEY: Katrielle and the Millionaires’ Conspiracy - Deluxe Edition","compatibility":3,"releases":[{"id":"0100FB700D224000","region":null}]},{"id":"62747f1f-8992-4551-b116-939f0d934253","directory":"football-run","title":"Football Run","compatibility":99,"releases":[{"id":"010072701635E000","region":null}]},{"id":"62748442-3640-4771-8ded-0f4ef48bebee","directory":"fitness-boxing-2-rhythm-exercise","title":"Fitness Boxing 2: Rhythm & Exercise","compatibility":0,"releases":[{"id":"0100073011382000","region":null}]},{"id":"628874bc-fe11-4ad7-9804-5673e6ee7310","directory":"masky","title":"Masky","compatibility":99,"releases":[{"id":"010048000F946000","region":null}]},{"id":"628bc512-e0e7-4cac-bec4-e6f3b066f2a0","directory":"the-jackbox-party-pack-7","title":"The Jackbox Party Pack 7","compatibility":99,"releases":[{"id":"01007F30113A6000","region":null}]},{"id":"628c3e70-f1db-433c-86d0-6aa71bd59818","directory":"tower-inferno","title":"Tower Inferno","compatibility":99,"releases":[{"id":"010012500FD08000","region":null}]},{"id":"6291a400-5c27-44e0-93a4-28a1728d5308","directory":"gemini","title":"Gemini","compatibility":99,"releases":[{"id":"0100D71013AF4000","region":null}]},{"id":"62a10373-60f3-4b9d-b618-08b7943b39c0","directory":"quest-for-the-golden-duck","title":"Quest for the Golden Duck","compatibility":99,"releases":[{"id":"0100D9200D51E000","region":null}]},{"id":"62b83522-3da1-497b-9b60-cc491298fdf0","directory":"raspberry-mash","title":"RASPBERRY MASH","compatibility":99,"releases":[{"id":"0100298013CC0000","region":null}]},{"id":"62c2f4d1-795f-4085-8423-cb0c2cf02cfd","directory":"omno","title":"OMNO","compatibility":99,"releases":[{"id":"01006400167CA000","region":null}]},{"id":"62d9bbdd-6c93-43e1-bf1c-0db8cd96ae79","directory":"cooking-festival","title":"Cooking Festival","compatibility":2,"releases":[{"id":"01006920137D2000","region":null}]},{"id":"62e1da4b-1c80-4756-92bb-8acdbbd0a428","directory":"merchants-of-kaidan","title":"Merchants of Kaidan","compatibility":99,"releases":[{"id":"0100E5000D3CA000","region":null}]},{"id":"62ed44d3-03f5-46cd-8a92-33038a82805e","directory":"deemo","title":"Deemo","compatibility":99,"releases":[{"id":"0100DD100AE8C000","region":null}]},{"id":"62f0f060-843b-43d5-9cb7-2c56cb0af4fe","directory":"kyub","title":"KYUB","compatibility":99,"releases":[{"id":"010063D005B32000","region":null}]},{"id":"62f5b814-9f03-49eb-a106-fa36cfa014db","directory":"super-bomberman-r-online","title":"SUPER BOMBERMAN R ONLINE","compatibility":5,"releases":[{"id":"01007380121FE000","region":null}]},{"id":"62f5f336-3d17-4ec3-8ea7-7a90905699eb","directory":"the-forbidden-arts","title":"The Forbidden Arts","compatibility":0,"releases":[{"id":"010007700D4AC000","region":null}]},{"id":"6305608e-ac08-46be-9714-ff19613ea6fa","directory":"superbrothers-sword-and-sworcery-ep","title":"Superbrothers: Sword & Sworcery EP","compatibility":3,"releases":[{"id":"0100AA400C396000","region":null}]},{"id":"6315ac24-f6ae-438b-98d2-a71eedb8b872","directory":"112-operator","title":"112 Operator","compatibility":99,"releases":[{"id":"0100D82015774000","region":null}]},{"id":"631f70be-2b6c-44fc-ab5d-40f05f69f234","directory":"clannad-side-stories","title":"CLANNAD Side Stories","compatibility":3,"releases":[{"id":"01007B501372C000","region":null}]},{"id":"63262aea-fac4-4f45-a3fa-9f802095a1c4","directory":"secret-files-3","title":"Secret Files 3","compatibility":99,"releases":[{"id":"010028F010644000","region":null}]},{"id":"633dbeb8-6fc8-4191-9c2c-e6d6b7b0e512","directory":"puyo-puyo-tetris-demo","title":"Puyo Puyo Tetris Demo","compatibility":99,"releases":[{"id":"01000DC003740000","region":null}]},{"id":"63461d39-24c9-4f0d-8617-918d812071e4","directory":"aca-neogeo-fatal-fury-special","title":"ACA NEOGEO FATAL FURY SPECIAL","compatibility":2,"releases":[{"id":"010019A0038FA000","region":null}]},{"id":"63476f90-13b2-4537-93f9-4bc86bed20a2","directory":"cube-raiders","title":"Cube Raiders","compatibility":99,"releases":[{"id":"0100FAC00E978000","region":null}]},{"id":"6348023e-2ba4-4a1b-ac8e-ea0539a04bc9","directory":"aperion-cyberstorm-demo]","title":"Aperion Cyberstorm [DEMO]","compatibility":99,"releases":[{"id":"01008CA00D71C000","region":null}]},{"id":"63484572-29a2-43fe-9c1e-f420bd520ed1","directory":"the-choice-of-life-middle-ages","title":"The Choice of Life: Middle Ages","compatibility":99,"releases":[{"id":"0100982013C80000","region":null}]},{"id":"6351de91-bee1-4b65-b4b4-7747dbd30fdf","directory":"arcade-archives-vs-balloon-fight","title":"Arcade Archives VS. BALLOON FIGHT","compatibility":99,"releases":[{"id":"010061400F7E4000","region":null}]},{"id":"6361167f-a02f-4dda-86e6-61bf3b32a0b6","directory":"strike-force-kitty","title":"Strike Force Kitty","compatibility":99,"releases":[{"id":"010038A00E6C6000","region":null}]},{"id":"63685aa4-fc82-41f9-aebe-572aebe5e8e0","directory":"aca-neogeo-ninja-masters","title":"ACA NEOGEO NINJA MASTER'S","compatibility":5,"releases":[{"id":"0100C6300AFE0000","region":null}]},{"id":"636b04a6-d828-43bf-a556-9682f46f29c0","directory":"city-match-a-block-pop-puzzle-game","title":"City Match - A Block Pop Puzzle Game","compatibility":99,"releases":[{"id":"0100E06015B60000","region":null}]},{"id":"63745ee3-c2f5-416f-9f35-082d800e71d5","directory":"west-of-loathing","title":"West of Loathing","compatibility":2,"releases":[{"id":"010031B00A4E8000","region":null}]},{"id":"637997af-fc86-463d-ad1f-63b8287cf6cb","directory":"blazing-chrome","title":"Blazing Chrome","compatibility":3,"releases":[{"id":"0100C2700C252000","region":null}]},{"id":"637a07b5-c27c-4044-a8fd-face1695dea7","directory":"mars-or-die","title":"Mars or Die!","compatibility":4,"releases":[{"id":"010048200B606000","region":null}]},{"id":"6386d106-9114-4abf-99a8-17f067b1fe91","directory":"truck-and-logistics-simulator","title":"Truck and Logistics Simulator","compatibility":99,"releases":[{"id":"0100F2100AA5C000","region":null}]},{"id":"63976010-dc86-48f8-9040-1524a26a64b7","directory":"lets-sing-2020","title":"Let's Sing 2020","compatibility":99,"releases":[{"id":"010065F00DF4A000","region":null}]},{"id":"63cba8f6-9d9b-42ed-983e-0eee4c89dc5b","directory":"2048-battles","title":"2048 Battles","compatibility":1,"releases":[{"id":"010096500EA94000","region":null}]},{"id":"63cfc745-de88-4672-9341-4101bfd6a290","directory":"fairy-knights","title":"Fairy Knights","compatibility":99,"releases":[{"id":"010015A0110AC000","region":null}]},{"id":"63d62eba-6912-48aa-8ddb-7be1e1ebad87","directory":"banana-treasures-island","title":"Banana Treasures Island","compatibility":99,"releases":[{"id":"010064F01354A000","region":null}]},{"id":"63e66df0-c287-4a47-b365-9b1007332a9c","directory":"tank-de-la-muerta","title":"Tank De La Muerta","compatibility":99,"releases":[{"id":"0100E6A016142000","region":null}]},{"id":"63edc567-cd5f-4dc1-9a40-16d598cb122e","directory":"aca-neogeo-puzzle-bobble-2","title":"ACA NEOGEO PUZZLE BOBBLE 2","compatibility":5,"releases":[{"id":"0100BC700C7AE000","region":null}]},{"id":"63f69589-ed71-4f36-a285-0f1e4b1ddeed","directory":"apocryph-an-old-school-shooter","title":"Apocryph: an old-school shooter","compatibility":5,"releases":[{"id":"010045D009EFC000","region":null}]},{"id":"63ffca93-ad3e-4e8a-9309-e6d438f84af7","directory":"1001-ultimate-mahjong-2","title":"1001 Ultimate Mahjong 2","compatibility":4,"releases":[{"id":"010063E00BBDC000","region":null}]},{"id":"640105fc-3d5e-4e07-9aed-b08afa37979f","directory":"astrowings-space-war","title":"AstroWings: Space War","compatibility":99,"releases":[{"id":"0100DF401249C000","region":null}]},{"id":"640652d0-08cc-400b-953f-99dfb16546de","directory":"code-realize-future-blessings","title":"Code: Realize ~Future Blessings~","compatibility":0,"releases":[{"id":"010002400F408000","region":null}]},{"id":"640a7ab8-b88f-4173-8040-9ad72a4b8cd5","directory":"julies-sweets","title":"Julie's Sweets","compatibility":1,"releases":[{"id":"010011400AF8E000","region":null}]},{"id":"641f51d6-c267-470c-9aa2-f378104602a0","directory":"moonshades-a-classic-dungeon-crawler-rpg","title":"Moonshades: a classic dungeon crawler RPG","compatibility":99,"releases":[{"id":"01008180157AC000","region":null}]},{"id":"6427167a-6469-47cc-af0f-9fda64ee08f2","directory":"kid-tripp","title":"Kid Tripp","compatibility":0,"releases":[{"id":"0100C0A004C2C000","region":null}]},{"id":"64394780-0b16-4a9a-af46-a7af836b7e0a","directory":"island-maze","title":"Island Maze","compatibility":99,"releases":[{"id":"0100F0E00F5EA000","region":null}]},{"id":"645202fc-f6fe-4e65-8cfc-7aa037d43864","directory":"sagrada","title":"Sagrada","compatibility":99,"releases":[{"id":"010096D0116DE000","region":null}]},{"id":"64619699-7cc3-4a11-8a36-264037753dfa","directory":"corridor-z","title":"Corridor Z","compatibility":2,"releases":[{"id":"010096100E230000","region":null}]},{"id":"648c16da-cdda-4277-9e9a-1e059345d174","directory":"warp-shift","title":"Warp Shift","compatibility":0,"releases":[{"id":"0100DB300A026000","region":null}]},{"id":"64915498-df1a-4da5-9b23-ae3994e2ded1","directory":"junk-planet","title":"JUNK PLANET","compatibility":99,"releases":[{"id":"010069800D2B4000","region":null}]},{"id":"6494cd7f-9f61-47b3-861f-07bc1c9b2a79","directory":"mythic-ocean","title":"Mythic Ocean","compatibility":99,"releases":[{"id":"0100F4F014108000","region":null}]},{"id":"649deb7d-5c03-47ee-a2aa-4b985221fbf0","directory":"hotel-sowls","title":"Hotel Sowls","compatibility":1,"releases":[{"id":"0100B7E01234E000","region":null}]},{"id":"64b2c2fe-fb41-4f39-9f1d-9a0ca449c2d9","directory":"epitaph","title":"Epitaph","compatibility":99,"releases":[{"id":"0100646012282000","region":null}]},{"id":"64c9129d-cf05-466d-bd21-65ba0aeda16e","directory":"final-fantasy-xii-the-zodiac-age","title":"FINAL FANTASY XII THE ZODIAC AGE","compatibility":3,"releases":[{"id":"0100EB100AB42000","region":null}]},{"id":"64d670b2-e988-498f-85dd-0ba7d80d2fa1","directory":"wordherd","title":"WordHerd","compatibility":99,"releases":[{"id":"0100D74010F44000","region":null}]},{"id":"64e7b2bb-be08-45e5-960b-f4c904f4c393","directory":"fantasy-cards","title":"Fantasy Cards","compatibility":99,"releases":[{"id":"01006DA015878000","region":null}]},{"id":"64e9b49f-6a5d-4a2c-bdf6-ac1f66c1abd1","directory":"cyber-complex","title":"Cyber Complex","compatibility":99,"releases":[{"id":"0100D6B010DC0000","region":null}]},{"id":"64eb5f41-0317-4a60-9f40-56f5ca8d3cbf","directory":"retro-classix-2-in-1-pack-express-raider-shootout","title":"Retro Classix 2-in-1 Pack: Express Raider & Shootout","compatibility":99,"releases":[{"id":"0100C0D012188000","region":null}]},{"id":"64fb1be9-183a-45e0-8118-adc74711d652","directory":"burn-supertrucks","title":"Burn! SuperTrucks","compatibility":99,"releases":[{"id":"0100B5A013822000","region":null}]},{"id":"64ffba37-df73-4e26-a7ed-3c69b96406ba","directory":"goosebumps-dead-of-night","title":"Goosebumps Dead of Night","compatibility":99,"releases":[{"id":"010014C0100C6000","region":null}]},{"id":"65026439-a81b-4f1d-af4e-b210cef27816","directory":"isoland-2-ashes-of-time","title":"Isoland 2 - Ashes of Time","compatibility":99,"releases":[{"id":"0100F5600D194000","region":null}]},{"id":"65035d4e-eeb0-401c-ae56-54144636711c","directory":"trials-rising-open-beta","title":"Trials Rising Open Beta","compatibility":99,"releases":[{"id":"0100D9200D090000","region":null}]},{"id":"6514d879-463c-48ad-902a-ddaa0073e9b7","directory":"cat-quest-ii","title":"Cat Quest II","compatibility":0,"releases":[{"id":"01008BE00E968000","region":null}]},{"id":"652ac89d-9e3d-4a92-b379-32fa44e35065","directory":"human-rocket-person","title":"Human Rocket Person","compatibility":99,"releases":[{"id":"0100B0800DBAC000","region":null}]},{"id":"652ec456-5cb1-4585-9764-f186a2b6ba26","directory":"bit-trip-flux","title":"BIT.TRIP FLUX","compatibility":99,"releases":[{"id":"0100293012D40000","region":null}]},{"id":"65308d2d-8366-44ed-91c9-2fcffb071a7e","directory":"zen-chess-collection","title":"Zen Chess Collection","compatibility":99,"releases":[{"id":"01005F200F7C2000","region":null}]},{"id":"6530cb93-a86d-4f40-87a6-3fa4bbb99cdd","directory":"arcade-archives-libble-rabble","title":"Arcade Archives LIBBLE RABBLE","compatibility":99,"releases":[{"id":"0100CB7015AC4000","region":null}]},{"id":"653caadb-9209-47f9-b51c-6cc67f43eb1c","directory":"poly-puzzle","title":"Poly Puzzle","compatibility":99,"releases":[{"id":"01001F70112BA000","region":null}]},{"id":"6545a98b-a9c2-4a3d-a086-909ad5ab4b7a","directory":"roulette-at-aces-casino","title":"Roulette at Aces Casino","compatibility":99,"releases":[{"id":"01005D3012322000","region":null}]},{"id":"654bff82-0888-438c-875d-7cb0d6a310aa","directory":"ai-the-somnium-files","title":"AI: THE SOMNIUM FILES","compatibility":2,"releases":[{"id":"010089B00D09C000","region":null}]},{"id":"654ee652-94bb-4dcf-aeed-56d8aaad87fe","directory":"energy-cycle","title":"Energy Cycle","compatibility":1,"releases":[{"id":"0100BFE00865E000","region":null}]},{"id":"6555b236-0c64-49b2-a604-cb44a53e73e8","directory":"chess-ultra","title":"Chess Ultra","compatibility":5,"releases":[{"id":"0100A5900472E000","region":null}]},{"id":"6555efde-7231-4d08-9cac-68527a42078c","directory":"pretty-girls-mahjong-solitaire-green","title":"Pretty Girls Mahjong Solitaire - Green","compatibility":99,"releases":[{"id":"0100B55014D44000","region":null}]},{"id":"6559ce75-ac48-4c9d-b9c7-854ee23e7a13","directory":"nonograms-prophecy","title":"Nonograms Prophecy","compatibility":99,"releases":[{"id":"0100FF500E738000","region":null}]},{"id":"656e8982-e1dd-40e4-a04c-02be0dedcac5","directory":"my-exotic-farm-2018","title":"My Exotic Farm 2018","compatibility":99,"releases":[{"id":"0100E8600C866000","region":null}]},{"id":"656ea9d4-7939-4a3d-b438-d985e32c517f","directory":"yes-your-grace","title":"Yes, Your Grace","compatibility":99,"releases":[{"id":"01006040110AE000","region":null}]},{"id":"657131a6-edf2-4eb1-9059-621825bc141d","directory":"of-tanks-and-demons-iii","title":"Of Tanks and Demons III","compatibility":1,"releases":[{"id":"01007C30129FE000","region":null}]},{"id":"658206b6-01c8-49a5-aa21-a555b850f9ff","directory":"arcade-archives-xevious","title":"Arcade Archives XEVIOUS","compatibility":99,"releases":[{"id":"010082C015ABC000","region":null}]},{"id":"6582e78a-6ac0-4a82-b5c0-b91a48a619f8","directory":"arcade-archives-mirai-ninja","title":"Arcade Archives MIRAI NINJA","compatibility":99,"releases":[{"id":"01000D50169C4000","region":null}]},{"id":"65859d92-644b-4605-91a7-7460c6c44ebe","directory":"a-normal-lost-phone","title":"A Normal Lost Phone","compatibility":3,"releases":[{"id":"0100978009B98000","region":null}]},{"id":"65860786-4e5a-40ec-b936-de97f56e8f43","directory":"yellow-fins","title":"Yellow Fins","compatibility":99,"releases":[{"id":"010021700F6A4000","region":null}]},{"id":"658b2387-750c-479a-869d-968cb26b3bbc","directory":"wreckin-ball-adventure","title":"Wreckin' Ball Adventure","compatibility":99,"releases":[{"id":"0100C5D00EDB8000","region":null}]},{"id":"659618e8-0dc6-4c85-9bed-a748dd67b345","directory":"aca-neogeo-fatal-fury-3","title":"ACA NEOGEO FATAL FURY 3","compatibility":4,"releases":[{"id":"01000D1008714000","region":null}]},{"id":"659ae932-7ada-4f06-a34a-25561d101f39","directory":"cosmic-top-secret","title":"Cosmic Top Secret","compatibility":99,"releases":[{"id":"0100ACB014104000","region":null}]},{"id":"659ede42-c323-494e-93fc-e6412b14f3e8","directory":"linn-path-of-orchards","title":"Linn: Path of Orchards","compatibility":99,"releases":[{"id":"0100394012038000","region":null}]},{"id":"65a2f5b1-da58-4291-842c-fe0a3664606a","directory":"freddy-spaghetti","title":"Freddy Spaghetti","compatibility":1,"releases":[{"id":"010033B0134A2000","region":null}]},{"id":"65a3acbc-96ca-488f-8c7b-031004901c2d","directory":"the-wanderer-frankensteins-creature","title":"The Wanderer: Frankenstein's Creature","compatibility":99,"releases":[{"id":"010095F010568000","region":null}]},{"id":"65a4d24f-3b2a-4ae8-ace8-de28b3299d5f","directory":"the-house-in-fata-morgana-dreams-of-the-revenants-edition","title":"The House in Fata Morgana: Dreams of the Revenants Edition","compatibility":1,"releases":[{"id":"010016101100A000","region":null}]},{"id":"65add294-808c-40f1-a7db-32e83332fbed","directory":"blossom-tales-the-sleeping-king","title":"Blossom Tales: The Sleeping King","compatibility":4,"releases":[{"id":"0100C1000706C000","region":null}]},{"id":"65b70655-f9fd-4147-abc2-1515e1ac3cc5","directory":"getamped-mobile","title":"GetAmped Mobile","compatibility":99,"releases":[{"id":"0100AA4008210000","region":null}]},{"id":"65c81db5-c188-48bc-8d27-c8b75c1df1d4","directory":"super-rocket-shootout","title":"Super Rocket Shootout","compatibility":99,"releases":[{"id":"0100095009236000","region":null}]},{"id":"65d937dc-4156-4f8f-bb13-190ef0747cf2","directory":"tales-from-the-dragon-mountain-the-strix","title":"Tales from the Dragon Mountain: The Strix","compatibility":99,"releases":[{"id":"01009860125C0000","region":null}]},{"id":"65dc38c7-f11c-4bc7-9a49-bfa311ecc002","directory":"haunted-poppys-nightmare","title":"Haunted: Poppy's Nightmare","compatibility":99,"releases":[{"id":"0100B0E00F074000","region":null}]},{"id":"65efd420-40b6-4b45-9e0b-54c5b7cc9329","directory":"truck-driver","title":"Truck Driver","compatibility":99,"releases":[{"id":"0100CB50107BA000","region":null}]},{"id":"65f1517a-1f6b-4f74-8830-8370de75cb76","directory":"fifa-22-nintendo-switch-legacy-edition","title":"FIFA 22 Nintendo Switch™ Legacy Edition","compatibility":2,"releases":[{"id":"0100216014472000","region":null}]},{"id":"65fd372e-c201-483f-b8e7-86b3fbda2810","directory":"dadish","title":"Dadish","compatibility":3,"releases":[{"id":"0100B8B013310000","region":null}]},{"id":"66142747-35bf-4c20-b4cd-ff20692e3086","directory":"desktop-rugby","title":"Desktop Rugby","compatibility":99,"releases":[{"id":"0100FAC00F716000","region":null}]},{"id":"661f7afa-5938-49c0-9594-5dfde6a1a76a","directory":"woodsalt","title":"Woodsalt","compatibility":99,"releases":[{"id":"0100288012966000","region":null}]},{"id":"661ff712-c89a-41cd-932e-8a51c4310471","directory":"the-unexpected-quest","title":"The Unexpected Quest","compatibility":99,"releases":[{"id":"010043C012DB4000","region":null}]},{"id":"66236f9b-aab5-4f7b-8ba0-4c0e95da663c","directory":"story-of-seasons-pioneers-of-olive-town","title":"STORY OF SEASONS: Pioneers of Olive Town","compatibility":1,"releases":[{"id":"010082E012A84000","region":null}]},{"id":"662e65a6-287d-4402-8dd2-b3d925776bf2","directory":"rollin-eggz","title":"Rollin' Eggz","compatibility":99,"releases":[{"id":"01004FD00D7C8000","region":null}]},{"id":"66310b10-42bc-473c-9b4c-9cd3bb3fb712","directory":"snowboarding-the-next-phase","title":"Snowboarding The Next Phase","compatibility":1,"releases":[{"id":"0100BE200C34A000","region":null}]},{"id":"66377d34-c391-4c7a-93bb-c6e3233afd3f","directory":"quiplash-2-interlashional-the-say-anything-party-game","title":"Quiplash 2 InterLASHional: The Say Anything Party Game!","compatibility":99,"releases":[{"id":"0100AF100EE76000","region":null}]},{"id":"66384604-1f41-4772-b808-fbc0656eabf1","directory":"ginger-beyond-the-crystal","title":"Ginger: Beyond the Crystal","compatibility":2,"releases":[{"id":"0100C50007070000","region":null}]},{"id":"663dfd98-324f-4c4d-bac4-464840c903e5","directory":"awe","title":"Awe","compatibility":99,"releases":[{"id":"0100E1800CD2A000","region":null}]},{"id":"66484227-bc25-4903-b1c1-57b41412f89f","directory":"dragon-quest","title":"DRAGON QUEST","compatibility":0,"releases":[{"id":"0100EFC00EFB2000","region":null}]},{"id":"6648fd3e-b7d6-42ca-af3b-aa58dec40391","directory":"aca-neogeo-baseball-stars-professional","title":"ACA NEOGEO BASEBALL STARS PROFESSIONAL","compatibility":99,"releases":[{"id":"01003FE00A2F6000","region":null}]},{"id":"664eca90-5689-43f6-9d57-cd22fd4b66dd","directory":"induction","title":"Induction","compatibility":99,"releases":[{"id":"01007AE014E66000","region":null}]},{"id":"6660f8c5-6831-4e03-93ef-dd4f87e7550a","directory":"fallen-legion-rise-to-glory","title":"Fallen Legion: Rise to Glory","compatibility":2,"releases":[{"id":"0100A260094EE000","region":null}]},{"id":"66687304-b9fd-46da-a39f-0e2631905c47","directory":"hotel-transylvania-3-monsters-overboard","title":"Hotel Transylvania 3 Monsters Overboard","compatibility":0,"releases":[{"id":"0100017007980000","region":null}]},{"id":"6669b44a-79e7-4456-af45-d4eb9f55a563","directory":"zombie-scrapper","title":"Zombie Scrapper","compatibility":99,"releases":[{"id":"010015000DB1A000","region":null}]},{"id":"666d3358-c445-41db-9371-514cb9b9d952","directory":"him-her","title":"Him & Her","compatibility":99,"releases":[{"id":"010039601162A000","region":null}]},{"id":"66708ecf-d9c8-42c2-b3ea-f479eda40ffc","directory":"wandersong","title":"Wandersong","compatibility":99,"releases":[{"id":"0100F8A00853C000","region":null}]},{"id":"668731a8-8788-4312-b815-6abd38d6a22b","directory":"darksiders-ii-deathinitive-edition","title":"Darksiders II Deathinitive Edition","compatibility":3,"releases":[{"id":"010071800BA98000","region":null}]},{"id":"668d1379-33e6-4c4a-a427-ab3240fb386c","directory":"arcade-archives-crazy-climber","title":"Arcade Archives CRAZY CLIMBER","compatibility":1,"releases":[{"id":"0100BB1001DD6000","region":null}]},{"id":"669b682d-bf34-4c60-9b30-73e7b07c46ba","directory":"curious-expedition-2","title":"Curious Expedition 2","compatibility":99,"releases":[{"id":"010033500E0DC000","region":null}]},{"id":"66a84f46-6802-4e2e-b71e-338821cfab57","directory":"l-o-l-surprise-movie-night","title":"L.O.L. Surprise! Movie Night","compatibility":99,"releases":[{"id":"0100D16014DD4000","region":null}]},{"id":"66ad7636-3b53-44bc-a4f2-1ffef951d414","directory":"ancient-rush-2","title":"Ancient Rush 2","compatibility":99,"releases":[{"id":"010021700BC56000","region":null}]},{"id":"66c44bf2-6fbd-4c0c-a752-72d175f3187f","directory":"takotan","title":"Takotan","compatibility":99,"releases":[{"id":"0100761012B0C000","region":null}]},{"id":"66c6c68c-8b19-4a5b-80c6-c8642f43a10f","directory":"pine","title":"Pine","compatibility":3,"releases":[{"id":"01002BA00D662000","region":null}]},{"id":"66d09f9c-2958-44fe-a75c-925c8d2ee8df","directory":"dead-or-school","title":"DEAD OR SCHOOL","compatibility":99,"releases":[{"id":"0100A5000F7AA000","region":null}]},{"id":"66e52566-196f-4618-8c6d-634518c9e339","directory":"crowdy-farm-rush","title":"Crowdy Farm Rush","compatibility":99,"releases":[{"id":"0100578012A02000","region":null}]},{"id":"66eb649b-f371-4314-8d73-334e7aca1c15","directory":"fantasy-friends","title":"Fantasy Friends","compatibility":99,"releases":[{"id":"010017C012726000","region":null}]},{"id":"66f6d35f-c363-4e24-bafa-0b035e6eb984","directory":"magic-nations","title":"Magic Nations","compatibility":99,"releases":[{"id":"0100F6600AC00000","region":null}]},{"id":"66f7b869-cd5c-4661-8079-8369b7a1b5cb","directory":"omen-exitio-plague","title":"Omen Exitio: Plague","compatibility":99,"releases":[{"id":"01001D500EB90000","region":null}]},{"id":"66fdce60-1b1a-4235-b800-41e4de5b7113","directory":"west-of-dead","title":"West of Dead","compatibility":0,"releases":[{"id":"0100C2C00D74E000","region":null}]},{"id":"6701956c-4b0e-4930-abef-f16f028fb2d0","directory":"robophobik","title":"RoboPhobik","compatibility":99,"releases":[{"id":"0100187011F8E000","region":null}]},{"id":"6702a419-416b-443b-91a6-3fb8f5fde94b","directory":"super-puzzle-pack","title":"Super Puzzle Pack","compatibility":99,"releases":[{"id":"01003AB011FD8000","region":null}]},{"id":"67077cc3-3ba0-4a56-a0e1-3bb802457503","directory":"mom-hid-my-game","title":"Mom Hid My Game!","compatibility":99,"releases":[{"id":"0100702005E18000","region":null}]},{"id":"670806f7-6708-4467-beec-e22c39d29dcb","directory":"arcade-archives-kid-niki-radical-ninja","title":"Arcade Archives Kid Niki Radical Ninja","compatibility":99,"releases":[{"id":"010010B008A36000","region":null}]},{"id":"67316dfc-92df-4453-9921-65dcb3cf8920","directory":"damsel","title":"Damsel","compatibility":2,"releases":[{"id":"0100BD2009A1C000","region":null}]},{"id":"6737582a-8a20-4b7a-b3e6-e1ac9b0d2331","directory":"mario-kart-8-deluxe","title":"Mario Kart 8 Deluxe","compatibility":2,"releases":[{"id":"0100152000022000","region":null}]},{"id":"673a0e03-5395-4357-a00e-fdca1316c899","directory":"football-manager-2020-touch","title":"Football Manager 2020 Touch","compatibility":5,"releases":[{"id":"0100DA500EFB0000","region":null}]},{"id":"673bfd2c-79f2-4c34-aab1-f4b38d2c6835","directory":"memories-of-east-coast","title":"Memories of East Coast","compatibility":99,"releases":[{"id":"0100CF201641C000","region":null}]},{"id":"6742196b-ad34-4698-a381-07cd72863299","directory":"the-journey-down-chapter-two","title":"The Journey Down: Chapter Two","compatibility":99,"releases":[{"id":"01009AB00B186000","region":null}]},{"id":"6743d148-26d0-4292-afa1-84348f21a3f9","directory":"tennis","title":"Tennis","compatibility":99,"releases":[{"id":"0100D7A005DFC000","region":null}]},{"id":"674e93ce-2863-4b2c-bad6-7a8e378d2889","directory":"they-breathe","title":"They Breathe","compatibility":99,"releases":[{"id":"010088801230E000","region":null}]},{"id":"67540743-fc1c-4350-920d-24b5de8e4cfc","directory":"mighty-switch-force-collection","title":"Mighty Switch Force! Collection","compatibility":0,"releases":[{"id":"010060D00AE36000","region":null}]},{"id":"6755303d-b286-423f-abd0-dbdf04c1b928","directory":"tank-battle-heroes","title":"Tank Battle Heroes","compatibility":99,"releases":[{"id":"0100EBF0129E4000","region":null}]},{"id":"67561a26-1064-4bdf-9cda-66334ca50fd9","directory":"blind-men","title":"Blind Men","compatibility":99,"releases":[{"id":"010089D011310000","region":null}]},{"id":"6759f6ea-fae0-4eda-adf5-69958378719d","directory":"panorama-cotton","title":"Panorama Cotton","compatibility":2,"releases":[{"id":"0100BAB01692A000","region":null}]},{"id":"675c8ec0-a438-4bd0-a881-975be0ef993f","directory":"cybarian-the-time-traveling-warrior","title":"Cybarian: The Time Traveling Warrior","compatibility":99,"releases":[{"id":"010045300E52A000","region":null}]},{"id":"67623535-b7a2-47e3-909f-20120f069a3d","directory":"moorhuhn-jump-and-run-traps-and-treasures","title":"Moorhuhn Jump and Run 'Traps and Treasures'","compatibility":99,"releases":[{"id":"0100E3D014ABC000","region":null}]},{"id":"67668459-038a-4216-bb69-7a65b6bffba0","directory":"trailblazers","title":"Trailblazers","compatibility":0,"releases":[{"id":"0100BCA00843A000","region":null}]},{"id":"676c32c1-f3ae-4bfe-bbe5-7d471d172835","directory":"sega-genesis-classics","title":"SEGA Genesis Classics","compatibility":0,"releases":[{"id":"0100A6300B250000","region":null}]},{"id":"678f5379-4635-4161-a9e5-516f7e18b250","directory":"fisti-fluffs","title":"Fisti-Fluffs","compatibility":99,"releases":[{"id":"0100B82012E86000","region":null}]},{"id":"6790df08-5d90-400c-b82f-a9bb85d0daee","directory":"aca-neogeo-pulstar","title":"ACA NEOGEO PULSTAR","compatibility":99,"releases":[{"id":"01008EA008712000","region":null}]},{"id":"679bab52-e7eb-4bce-ac52-f35a557bf90f","directory":"dont-starve-nintendo-switch-edition","title":"Don't Starve: Nintendo Switch Edition","compatibility":1,"releases":[{"id":"0100751007ADA000","region":null}]},{"id":"679d8702-3305-4c22-833d-a1e60b88694f","directory":"mad-bullets","title":"Mad Bullets","compatibility":99,"releases":[{"id":"01008F000E908000","region":null}]},{"id":"67a5f4a7-a09f-478e-9b48-57630d39d047","directory":"if-my-heart-had-wings","title":"If My Heart Had Wings","compatibility":99,"releases":[{"id":"01001AC00ED72000","region":null}]},{"id":"67af7cb5-9577-409b-a0db-5b8889834de9","directory":"dual-brain-vol1-calculation","title":"Dual Brain Vol.1: Calculation","compatibility":1,"releases":[{"id":"0100E6900F2A8000","region":null}]},{"id":"67b32723-aaea-48a1-bc45-e71c9ba7606c","directory":"james-pond-codename-robocod","title":"James Pond Codename Robocod","compatibility":3,"releases":[{"id":"0100CD5008D9E000","region":null}]},{"id":"67b3d143-eab8-4f06-881e-08ab110b77a5","directory":"lifeless-planet-premiere-edition","title":"Lifeless Planet: Premiere Edition","compatibility":0,"releases":[{"id":"01005B6008132000","region":null}]},{"id":"67bfcadd-aee9-4368-b869-214324218aa6","directory":"vambrace-cold-soul","title":"Vambrace: Cold Soul","compatibility":99,"releases":[{"id":"01000E000DD40000","region":null}]},{"id":"67bfe41e-46fc-4310-b2d4-09bd11550e0b","directory":"mario-party-superstars","title":"Mario Party™ Superstars","compatibility":2,"releases":[{"id":"01006FE013472000","region":null}]},{"id":"67c47ceb-5189-42b6-9409-689d90d99e60","directory":"toroom","title":"Toroom","compatibility":99,"releases":[{"id":"01003C9015BD6000","region":null}]},{"id":"67d44bac-e5db-4876-bd9c-8d7966761181","directory":"dark-quest-2","title":"Dark Quest 2","compatibility":0,"releases":[{"id":"0100BFF00D5AE000","region":null}]},{"id":"67d9e4e9-aa67-4765-98f5-59fa1f2f01e6","directory":"gravity-light","title":"Gravity Light","compatibility":99,"releases":[{"id":"010097F01653E000","region":null}]},{"id":"67ddfeea-5708-4fb9-a2f7-66c548cd0540","directory":"grandpa-and-the-zombies","title":"Grandpa and the Zombies","compatibility":99,"releases":[{"id":"010038500BCD6000","region":null}]},{"id":"67e92944-c536-46e5-84cf-34f1e1d7ceca","directory":"my-riding-stables-2-a-new-adventure","title":"My Riding Stables 2: A New Adventure","compatibility":99,"releases":[{"id":"010042A00FBF0000","region":null}]},{"id":"67f0fced-db0f-427c-be57-61e8bcbd264c","directory":"thief-town","title":"Thief Town","compatibility":99,"releases":[{"id":"0100EE401046E000","region":null}]},{"id":"67f3319a-cb20-4de4-89c5-ca3a9bc5ee6a","directory":"animaludo","title":"AnimaLudo","compatibility":99,"releases":[{"id":"01009660154D0000","region":null}]},{"id":"67f36324-c214-471d-b4ed-27f0c6bd465a","directory":"travel-mosaics-7-fantastic-berlin","title":"Travel Mosaics 7: Fantastic Berlin","compatibility":99,"releases":[{"id":"01000BD0119DE000","region":null}]},{"id":"67f92476-1866-464e-811d-75c4b7fa07e6","directory":"pure-electric-love-everyone-else-ema-sakura-","title":"Pure / Electric Love \"Everyone else!\" - Ema Sakura -","compatibility":3,"releases":[{"id":"010050300AC28000","region":null}]},{"id":"67fa4e81-9454-4c82-a879-f824714e31f1","directory":"beattalk","title":"BeatTalk","compatibility":99,"releases":[{"id":"01004A6014788000","region":null}]},{"id":"67fb249b-d5f4-4e84-b50c-da1010f8117e","directory":"stranded-sails-explorers-of-the-cursed-islands","title":"Stranded Sails - Explorers of the Cursed Islands","compatibility":2,"releases":[{"id":"010078D00E8F4000","region":null}]},{"id":"681b3a8b-327b-497a-a00e-67146ed3db3d","directory":"residual","title":"Residual","compatibility":99,"releases":[{"id":"0100D880159D2000","region":null}]},{"id":"681c6780-b86f-4e6a-a48b-1be56ac5b00f","directory":"quarantine-circular","title":"Quarantine Circular","compatibility":99,"releases":[{"id":"0100F1400BA88000","region":null}]},{"id":"68292727-366c-4f56-a3b9-ed6ab7cbdd8b","directory":"grand-slam-tennis","title":"Grand Slam Tennis","compatibility":99,"releases":[{"id":"0100BB701534C000","region":null}]},{"id":"682c7372-a747-4a9e-8eaa-1a207e770f7f","directory":"infinitecorp-cyberpunk-card-game","title":"InfiniteCorp: Cyberpunk Card Game","compatibility":99,"releases":[{"id":"0100A4F015E78000","region":null}]},{"id":"684aa4cd-0aee-4b12-8eb3-ad271f5b9275","directory":"the-true","title":"The True","compatibility":99,"releases":[{"id":"0100C19013ECC000","region":null}]},{"id":"684d5dc2-5205-4bcb-8d6f-fbf0610e8a2d","directory":"the-seven-chambers","title":"The Seven Chambers","compatibility":99,"releases":[{"id":"0100721014E52000","region":null}]},{"id":"684e379a-4c15-4923-af12-af5fdcbd59b7","directory":"tt-isle-of-man-ride-on-the-edge-2","title":"TT Isle of Man Ride on the Edge 2","compatibility":4,"releases":[{"id":"010000400F582000","region":null}]},{"id":"685720d7-59e9-4cf4-bc3e-5a8709ecce6a","directory":"boost-beast","title":"BOOST BEAST","compatibility":3,"releases":[{"id":"0100766003E5C000","region":null}]},{"id":"685b4052-6da4-4d5f-aa95-45a2e0f7b5ae","directory":"damascus-gear-operation-tokyo","title":"Damascus Gear Operation Tokyo","compatibility":99,"releases":[{"id":"01006AA0084FE000","region":null}]},{"id":"685fb2c2-d16b-482a-996e-b3d1c7fcd091","directory":"darksiders-warmastered-edition","title":"Darksiders Warmastered Edition","compatibility":1,"releases":[{"id":"0100E1400BA96000","region":null}]},{"id":"68668016-97ea-4d58-80e7-6c62ee8b41ec","directory":"travel-mosaics-8-breathtaking-seoul","title":"Travel Mosaics 8: Breathtaking Seoul","compatibility":0,"releases":[{"id":"0100AE30119E0000","region":null}]},{"id":"687cf1f7-1ca5-4deb-b552-eeec68b80a1d","directory":"g-i-joe-operation-blackout","title":"G.I. Joe: Operation Blackout","compatibility":99,"releases":[{"id":"0100EB10108EA000","region":null}]},{"id":"688aa34b-8ed5-4a56-b74f-c8b2637e850c","directory":"mugsters","title":"Mugsters","compatibility":99,"releases":[{"id":"010073E008E6E000","region":null}]},{"id":"689281ce-5052-470a-99c3-6bef4b310c98","directory":"animal-rivals-nintendo-switch-edition","title":"Animal Rivals: Nintendo Switch Edition","compatibility":3,"releases":[{"id":"010065B009B3A000","region":null}]},{"id":"6893509d-292c-415e-9c8a-d260f3f15e3c","directory":"fantasy-tavern-sextet-vol-2-adventurers-days","title":"Fantasy Tavern Sextet -Vol.2 Adventurer's Days-","compatibility":4,"releases":[{"id":"01005C10136CA000","region":null}]},{"id":"689da056-22cb-44ee-a830-439ada527ba7","directory":"monster-hunter-generations-ultimate","title":"Monster Hunter Generations Ultimate","compatibility":1,"releases":[{"id":"0100770008DD8000","region":null}]},{"id":"68bdcde1-8b46-421e-951f-89cd18a67225","directory":"nongunz-doppelganger-edition","title":"Nongunz: Doppelganger Edition","compatibility":99,"releases":[{"id":"0100542012884000","region":null}]},{"id":"68c0d1a5-cb0b-4f3c-ab46-00e90e773d95","directory":"paper-dolls-original","title":"Paper Dolls Original","compatibility":3,"releases":[{"id":"010004500DE50000","region":null}]},{"id":"68ca0026-7fc5-481c-b5d7-724ea9c3be4b","directory":"archlion-saga","title":"Archlion Saga","compatibility":1,"releases":[{"id":"0100B3500DFB8000","region":null}]},{"id":"68f06377-6720-4793-a16f-ae83541bc74a","directory":"blue-rider","title":"Blue Rider","compatibility":99,"releases":[{"id":"01006A600B5E6000","region":null}]},{"id":"68f0daeb-d1a2-4100-8454-02edcb12d3ca","directory":"sega-ages-alex-kidd-in-miracle-world","title":"SEGA AGES Alex Kidd in Miracle World","compatibility":0,"releases":[{"id":"0100A8900AF04000","region":null}]},{"id":"692a0d80-be16-4865-9274-f6eedbb58104","directory":"astroneer","title":"ASTRONEER","compatibility":99,"releases":[{"id":"0100E63013E60000","region":null}]},{"id":"692a93a9-97e2-4f38-b824-07d3ecee76e5","directory":"escape-doodland","title":"Escape Doodland","compatibility":99,"releases":[{"id":"010036600C7BE000","region":null}]},{"id":"69329625-91e1-45ac-b663-bb57bd5cc252","directory":"glitchangels","title":"Glitchangels","compatibility":99,"releases":[{"id":"0100CDA014AF6000","region":null}]},{"id":"69337b3a-e535-4e30-b604-6e65d949e549","directory":"a-boy-and-his-blob","title":"A Boy and His Blob","compatibility":0,"releases":[{"id":"01008AF0160C4000","region":null}]},{"id":"694922ff-a137-411c-b469-be7ec7ac928c","directory":"project-knight","title":"PROJECT : KNIGHT","compatibility":99,"releases":[{"id":"0100BE60149F2000","region":null}]},{"id":"694ad68e-9a4e-45f1-8f9a-68be3edf4aee","directory":"nekopara-vol-4","title":"NEKOPARA Vol.4","compatibility":99,"releases":[{"id":"010049F013656000","region":null}]},{"id":"6951297b-80c2-4662-9064-1161c2ba47a5","directory":"kingdom-tales-2","title":"Kingdom Tales 2","compatibility":99,"releases":[{"id":"0100AE7013B90000","region":null}]},{"id":"6958ed3a-a47f-47c3-91a3-771eda2c66de","directory":"pixel-game-maker-series-cham-the-cat-adventure","title":"Pixel Game Maker Series CHAM THE CAT ADVENTURE","compatibility":99,"releases":[{"id":"01005A40168A2000","region":null}]},{"id":"695d8a4b-f3b2-4746-ae10-e15dcda2df7b","directory":"super-saurio-fly","title":"Super Saurio Fly","compatibility":99,"releases":[{"id":"01004CF00A60E000","region":null}]},{"id":"695eab81-8f43-4da2-95d6-7505f1fcf686","directory":"space-otter-charlie","title":"Space Otter Charlie","compatibility":99,"releases":[{"id":"0100DCF0120D2000","region":null}]},{"id":"695f425c-0855-4e31-8869-de75a3d5ecf0","directory":"kaptain-brawe-a-brawe-new-world","title":"Kaptain Brawe: A Brawe New World","compatibility":2,"releases":[{"id":"0100B53013236000","region":null}]},{"id":"6965e716-e7c4-46e0-afd9-adb6ca3b2149","directory":"knock-knock","title":"Knock-Knock","compatibility":99,"releases":[{"id":"010001A00A1F6000","region":null}]},{"id":"6968c778-ea67-4b60-b0db-4723a3e74d7a","directory":"dragon-quest-iii-the-seeds-of-salvation","title":"DRAGON QUEST III: The Seeds of Salvation","compatibility":4,"releases":[{"id":"010015600EFB6000","region":null}]},{"id":"696b0887-fc8c-49e7-82ed-53e756831d19","directory":"bibi-and-tina-adventures-with-horses","title":"Bibi & Tina – Adventures with Horses","compatibility":99,"releases":[{"id":"0100BF400AF38000","region":null}]},{"id":"696b3cb7-5952-44cb-8be7-cf85c155ea26","directory":"nuts","title":"NUTS","compatibility":99,"releases":[{"id":"01000A00135DC000","region":null}]},{"id":"697309bf-9e16-4a06-ba02-79045c106e83","directory":"asterix-obelix-slap-them-all","title":"Asterix & Obelix: Slap them All!","compatibility":1,"releases":[{"id":"01002B401285E000","region":null}]},{"id":"69752083-2f13-41b9-b522-6b1ba14d8b2c","directory":"99vidas-definitive-edition","title":"99Vidas - Definitive Edition","compatibility":99,"releases":[{"id":"0100B2C00682E000","region":null}]},{"id":"6984ea21-9094-4317-952e-b181ed65bc97","directory":"mega-party-a-tootuff-adventure","title":"MEGA PARTY - a tootuff adventure","compatibility":99,"releases":[{"id":"010033A011614000","region":null}]},{"id":"69857e44-d501-4e83-8d8a-560e788c24b4","directory":"koi-dx","title":"Koi DX","compatibility":0,"releases":[{"id":"01001E500401C000","region":null}]},{"id":"69916e13-a342-4f04-8d66-6bae8f67cf4d","directory":"crashbots","title":"Crashbots","compatibility":99,"releases":[{"id":"0100BF200CD74000","region":null}]},{"id":"699633b8-a713-4277-9f26-46f81c7badd8","directory":"energy-cycle-edge-demo","title":"Energy Cycle Edge (Demo)","compatibility":2,"releases":[{"id":"0100A9900C380000","region":null}]},{"id":"69a87da2-62e6-448f-870b-2ce8b11d897f","directory":"doom-and-destiny","title":"Doom & Destiny","compatibility":0,"releases":[{"id":"010019F00CF92000","region":null}]},{"id":"69b686cc-7024-43a1-9460-162052334879","directory":"super-dodge-ball","title":"Super Dodge Ball","compatibility":99,"releases":[{"id":"010096300E48A000","region":null}]},{"id":"69cb8a10-7927-447c-8249-65855b7d6867","directory":"furwind","title":"Furwind","compatibility":0,"releases":[{"id":"0100A6B00D4EC000","region":null}]},{"id":"69d84967-530d-432b-bc21-744f0fb9fcc6","directory":"star-wars-republic-commando","title":"STAR WARS™ Republic Commando™","compatibility":5,"releases":[{"id":"0100FA10115F8000","region":null}]},{"id":"69e0a12f-a025-41d9-8888-701a41967d7b","directory":"tharsis","title":"Tharsis","compatibility":0,"releases":[{"id":"010034D010E78000","region":null}]},{"id":"69e8f66a-08c1-4fa7-828c-fae6f44c9544","directory":"lydia","title":"Lydia","compatibility":99,"releases":[{"id":"01009800100B4000","region":null}]},{"id":"69ed4d68-a0aa-42da-b218-75adf2972d80","directory":"sparklite","title":"Sparklite","compatibility":2,"releases":[{"id":"01007ED00C032000","region":null}]},{"id":"69f44e25-55fb-45fc-a819-379f79b0de6f","directory":"bunny-adventure","title":"Bunny Adventure","compatibility":99,"releases":[{"id":"01004A201292C000","region":null}]},{"id":"6a038133-9fde-42b2-8cac-1689f599f830","directory":"aca-neogeo-metal-slug-4","title":"ACA NEOGEO METAL SLUG 4","compatibility":2,"releases":[{"id":"01009CE00AFAE000","region":null}]},{"id":"6a10308f-23a6-4074-a31c-4af20b68b930","directory":"one-hand-clapping","title":"One Hand Clapping","compatibility":99,"releases":[{"id":"0100FDD01209A000","region":null}]},{"id":"6a519673-4ec5-48b5-b19c-d126cce53672","directory":"art-of-balance-demo","title":"Art of Balance DEMO","compatibility":99,"releases":[{"id":"010062F00CAE2000","region":null}]},{"id":"6a689077-967d-443f-8940-51f5ab1a3293","directory":"metallic-child","title":"METALLIC CHILD","compatibility":2,"releases":[{"id":"01009DE014D6E000","region":null}]},{"id":"6a6ccc27-0c12-4a56-ab59-81ddf79cd62b","directory":"fifa-21-nintendo-switch-legacy-edition","title":"FIFA 21 Nintendo Switch™ Legacy Edition","compatibility":2,"releases":[{"id":"01000A001171A000","region":null}]},{"id":"6a6eef6f-dd26-4fc2-8e44-1746a99786fe","directory":"override-2-super-mech-league","title":"Override 2: Super Mech League","compatibility":99,"releases":[{"id":"0100647012F62000","region":null}]},{"id":"6a70b484-3766-48d1-a883-e60934aaa542","directory":"shiny-ski-resort","title":"Shiny Ski Resort","compatibility":99,"releases":[{"id":"010082400ED18000","region":null}]},{"id":"6a7ae334-4245-43ae-98fb-c46d99b2c97e","directory":"horror-pinball-bundle","title":"Horror Pinball Bundle","compatibility":2,"releases":[{"id":"0100E4200FA82000","region":null}]},{"id":"6a82c4d9-c5f2-4cc1-9522-1e8746fff3f3","directory":"retro-tanks","title":"Retro Tanks","compatibility":99,"releases":[{"id":"01002F6011D12000","region":null}]},{"id":"6a93e78b-c282-4c86-a882-8cae1931fd04","directory":"skelly-selest-straimium-immortaly-double-pack","title":"Skelly Selest & Straimium Immortaly Double Pack","compatibility":99,"releases":[{"id":"010028001179C000","region":null}]},{"id":"6a98650a-c651-46db-b261-7a2dbada88c0","directory":"stone","title":"STONE","compatibility":99,"releases":[{"id":"010070D00F640000","region":null}]},{"id":"6a9d5eea-bbbb-4511-a33b-3a81b60898ca","directory":"chinese-parents","title":"Chinese Parents","compatibility":99,"releases":[{"id":"010046F012A04000","region":null}]},{"id":"6aa50a32-33be-421f-9a6b-11fc993159b9","directory":"island-farmer","title":"Island Farmer","compatibility":99,"releases":[{"id":"0100FA60160DE000","region":null}]},{"id":"6aa80d9c-41f8-4c96-8d56-53d111f76269","directory":"howling-village-echoes","title":"Howling Village: Echoes","compatibility":99,"releases":[{"id":"01000E40163F2000","region":null}]},{"id":"6ab9a661-7542-412c-bcb2-71b75aefc2fb","directory":"sheep-in-hell","title":"Sheep in Hell","compatibility":99,"releases":[{"id":"01005B800EA5A000","region":null}]},{"id":"6abe4e5e-4b2a-4d36-b610-00db60cd6ec5","directory":"zombo-buster-advance","title":"Zombo Buster Advance","compatibility":99,"releases":[{"id":"0100BC5014D68000","region":null}]},{"id":"6ac4f560-3a79-40c0-b3f8-59386faed73c","directory":"kuukiyomi-2-consider-it-more-new-era","title":"KUUKIYOMI 2: Consider It More! - New Era","compatibility":99,"releases":[{"id":"010037500F282000","region":null}]},{"id":"6ad0926c-f434-4c81-a1cb-e14a8fd6279c","directory":"razed","title":"RAZED","compatibility":99,"releases":[{"id":"0100CB5009A2C000","region":null}]},{"id":"6ad18cc3-ddc9-4238-8d7f-dd925e6119de","directory":"behind-the-screen","title":"Behind The Screen","compatibility":1,"releases":[{"id":"010053200B0E0000","region":null}]},{"id":"6add1724-8592-4c77-9189-86f8da518fb1","directory":"teddy-gangs","title":"Teddy Gangs","compatibility":99,"releases":[{"id":"0100FAE00F728000","region":null}]},{"id":"6ae417f7-1342-4a89-926e-887893e2c4a2","directory":"monster-boy-and-the-cursed-kingdom","title":"Monster Boy and the Cursed Kingdom","compatibility":1,"releases":[{"id":"01006F7001D10000","region":null}]},{"id":"6ae5d08a-9d02-4c6a-b09b-50fa4de84cb6","directory":"ploid","title":"PLOID","compatibility":99,"releases":[{"id":"010081B013B58000","region":null}]},{"id":"6aec5de5-6d79-4b29-b18d-377f0e52750f","directory":"dandara","title":"Dandara","compatibility":1,"releases":[{"id":"0100BFC002B4E000","region":null}]},{"id":"6aedf0eb-0ed6-41e9-94f0-477430e847e5","directory":"puzzle-pipes","title":"Puzzle Pipes","compatibility":99,"releases":[{"id":"0100A010153CC000","region":null}]},{"id":"6af3e732-fb19-49d5-8be7-9691e02cd036","directory":"my-coloring-book","title":"My Coloring Book","compatibility":0,"releases":[{"id":"0100E76013F1C000","region":null}]},{"id":"6af77040-0675-4019-822c-d75ca70dcbe2","directory":"foregone","title":"Foregone","compatibility":3,"releases":[{"id":"010044B00E70A000","region":null}]},{"id":"6afc79f8-75e4-418a-99ec-6283d936b2ca","directory":"home-sheep-home-farmageddon-party-edition","title":"Home Sheep Home: Farmageddon Party Edition","compatibility":99,"releases":[{"id":"010076000F6B8000","region":null}]},{"id":"6b04570b-6bfd-4128-b85f-4f224a32a4c5","directory":"indie-darling-bundle-vol-2","title":"Indie Darling Bundle Vol 2","compatibility":99,"releases":[{"id":"01006DD011074000","region":null}]},{"id":"6b1414e6-cdb9-444a-a28d-e4de3c97047e","directory":"aqua-moto-racing-utopia","title":"Aqua Moto Racing Utopia","compatibility":1,"releases":[{"id":"0100D0D00516A000","region":null}]},{"id":"6b32af42-8ba6-45ac-b447-ca0eb4871d8f","directory":"mercury-race","title":"Mercury Race","compatibility":99,"releases":[{"id":"0100C9A00B60A000","region":null}]},{"id":"6b3f7a1c-99d5-447d-a465-1842fbde2f9a","directory":"the-otterman-empire","title":"The Otterman Empire","compatibility":3,"releases":[{"id":"01004A700DBD6000","region":null},{"id":"0100B0101265C000","region":null}]},{"id":"6b4603eb-77f4-4b7b-9a99-7eb3315bb520","directory":"abarenbo-tengu-zombie-nation","title":"Abarenbo Tengu & Zombie Nation","compatibility":99,"releases":[{"id":"010040E012A5A000","region":null}]},{"id":"6b467099-9c89-45e4-bc85-81c659e8e201","directory":"summer-sweetheart","title":"Summer Sweetheart","compatibility":1,"releases":[{"id":"01004E500DB9E000","region":null}]},{"id":"6b4878a0-39b6-472e-ac27-24a465ce4787","directory":"cat","title":".cat","compatibility":99,"releases":[{"id":"010079D013E18000","region":null}]},{"id":"6b53ea95-60eb-42a7-81c2-246848d3e9ec","directory":"woodle-tree-adventures-demo","title":"Woodle Tree Adventures Demo","compatibility":99,"releases":[{"id":"010008300D1E0000","region":null}]},{"id":"6b59478f-a656-45d0-af8e-b59cac222da8","directory":"mxgp3-the-official-motocross-videogame","title":"MXGP3 - The Official Motocross Videogame","compatibility":3,"releases":[{"id":"0100D940063A0000","region":null}]},{"id":"6b5ac046-9bf2-47ee-bb5e-e5bf8c6d47bd","directory":"train-station-renovation","title":"Train Station Renovation","compatibility":99,"releases":[{"id":"0100C670149D4000","region":null}]},{"id":"6b5d4b9d-0d25-4b86-a507-633d1f687618","directory":"gunbird-for-nintendo-switch","title":"GUNBIRD for Nintendo Switch","compatibility":4,"releases":[{"id":"01003C6008940000","region":null}]},{"id":"6b697610-e073-4003-9e93-f5778336f93d","directory":"strange-field-football","title":"Strange Field Football","compatibility":99,"releases":[{"id":"01000A6013F86000","region":null}]},{"id":"6b6c1e61-2b21-4661-959f-10bb8c0869cd","directory":"dragon-blaze-for-nintendo-switch","title":"Dragon Blaze for Nintendo Switch","compatibility":2,"releases":[{"id":"010099B00A2DC000","region":null}]},{"id":"6b77bb2f-75a8-40fd-a826-edbc8d2a24a7","directory":"game-dev-story","title":"Game Dev Story","compatibility":4,"releases":[{"id":"0100AF700BCD2000","region":null}]},{"id":"6b7a17c7-4eab-46bb-b77c-ba8e3f178f36","directory":"dragonfangz-the-rose-and-dungeon-of-time","title":"DragonFangZ - The Rose & Dungeon of Time","compatibility":2,"releases":[{"id":"0100DA0006F50000","region":null}]},{"id":"6b7cc99e-9dc6-43ea-856b-e193ab405a93","directory":"earthlock","title":"EARTHLOCK","compatibility":2,"releases":[{"id":"01006E50042EA000","region":null}]},{"id":"6b81e174-4a91-4afd-8a89-955c88a2c597","directory":"riddled-corpses-ex","title":"Riddled Corpses EX","compatibility":0,"releases":[{"id":"01002C700C326000","region":null}]},{"id":"6b8a07b6-199c-4e82-acf6-8a7d646f5463","directory":"tesla-vs-lovecraft","title":"Tesla vs Lovecraft","compatibility":99,"releases":[{"id":"0100FBC007EAE000","region":null}]},{"id":"6bae551f-13d4-4cb2-812e-de04e7835b02","directory":"the-alliance-alive-hd-remastered","title":"The Alliance Alive HD Remastered","compatibility":1,"releases":[{"id":"01003CF00DCFA000","region":null}]},{"id":"6bb47d82-239f-4026-88d9-a28108a99a69","directory":"drums","title":"Drums","compatibility":1,"releases":[{"id":"0100652012F58000","region":null}]},{"id":"6bc00557-a0ba-4b20-8a1b-02861acf3bcc","directory":"puzzles-for-toddlers-kids-animals-cars-and-more","title":"Puzzles for Toddlers & Kids: Animals, Cars and more","compatibility":5,"releases":[{"id":"010071E011308000","region":null}]},{"id":"6bc151c6-1bfd-466b-b799-c318f9fe86ea","directory":"super-space-snake","title":"Super Space Snake","compatibility":99,"releases":[{"id":"01004DE01162C000","region":null}]},{"id":"6bc95279-b2b9-4f8b-a0b1-70d17e6ce0bc","directory":"strike-suit-zero-directors-cut","title":"Strike Suit Zero: Director's Cut","compatibility":99,"releases":[{"id":"010072500D52E000","region":null}]},{"id":"6bcf074b-8368-4792-903e-7a72f08f2f65","directory":"dungeonoid","title":"Dungeonoid","compatibility":99,"releases":[{"id":"01002130136C0000","region":null}]},{"id":"6bdbb458-f615-49d3-9c20-d123184652d9","directory":"conarium","title":"Conarium","compatibility":1,"releases":[{"id":"010015801308E000","region":null}]},{"id":"6beb8961-5d60-48d1-9daf-cb1262a7cb19","directory":"wuppo-definitive-edition","title":"Wuppo: Definitive Edition","compatibility":5,"releases":[{"id":"01003F800E87C000","region":null}]},{"id":"6befcd10-bb3d-4da3-8d32-529e36465597","directory":"aca-neogeo-the-king-of-fighters-97","title":"ACA NEOGEO THE KING OF FIGHTERS '97","compatibility":2,"releases":[{"id":"0100170008728000","region":null}]},{"id":"6bf60ca8-e5fb-43ce-a135-9cdad7d97f4d","directory":"shadowverse-champions-battle","title":"Shadowverse: Champion's Battle","compatibility":99,"releases":[{"id":"01005880134C2000","region":null}]},{"id":"6bf72de9-7daa-4e2b-be1c-4e4e1d89f31d","directory":"quell","title":"Quell","compatibility":99,"releases":[{"id":"0100492012378000","region":null}]},{"id":"6bf8116b-d08a-4cb8-8f3d-4170e6c119f6","directory":"axe-champ","title":"Axe Champ!","compatibility":99,"releases":[{"id":"01009E7015954000","region":null}]},{"id":"6c00db3a-78ab-44da-9258-70204bfae694","directory":"afterparty","title":"Afterparty","compatibility":3,"releases":[{"id":"0100DB100BBCE000","region":null}]},{"id":"6c149c88-6605-4e51-bcc5-890cbcdf3168","directory":"world-conqueror-x","title":"World Conqueror X","compatibility":99,"releases":[{"id":"01009D500A194000","region":null}]},{"id":"6c27da92-dc64-4301-abaa-19758a99732e","directory":"wordsweeper-by-powgi","title":"Wordsweeper by POWGI","compatibility":99,"releases":[{"id":"01008A500ED8E000","region":null}]},{"id":"6c423419-d841-441e-bbc8-ffe84cea142f","directory":"petoons-party","title":"Petoons Party","compatibility":2,"releases":[{"id":"010044400EEAE000","region":null}]},{"id":"6c59e28b-4b5c-4db3-8e45-ac5be51ca03d","directory":"survive-mrcube","title":"Survive! MR.CUBE","compatibility":99,"releases":[{"id":"010029A00AEB0000","region":null}]},{"id":"6c60bade-15fd-4231-9123-3c89e0800581","directory":"bounce-mania","title":"Bounce Mania","compatibility":99,"releases":[{"id":"01003FD014FB0000","region":null}]},{"id":"6c6d08f4-fef1-478e-8173-63074bfa451c","directory":"mario-rabbids-kingdom-battle","title":"Mario + Rabbids Kingdom Battle","compatibility":2,"releases":[{"id":"010067300059A000","region":null}]},{"id":"6c78a63a-9f48-4d22-92c2-ce68bcf910be","directory":"arcade-archives-nova2001","title":"Arcade Archives NOVA2001","compatibility":99,"releases":[{"id":"0100A5E009822000","region":null}]},{"id":"6c78e6ae-b9d6-432f-b71f-330ada6f6919","directory":"mushroom-heroes","title":"Mushroom Heroes","compatibility":99,"releases":[{"id":"01005BD0112B8000","region":null}]},{"id":"6c78f522-8ed0-4914-a4f8-f0b1fddfb5df","directory":"captain-starone","title":"Captain StarONE","compatibility":99,"releases":[{"id":"0100BF000CB3C000","region":null}]},{"id":"6c802aa1-7078-4c45-a750-7d76dbc2c7d1","directory":"catch-em-goldfish-scooping","title":"Catch 'Em! Goldfish Scooping","compatibility":99,"releases":[{"id":"0100E7F00BA5A000","region":null}]},{"id":"6c82d2c7-9fd5-4a3c-acc2-5dd746968493","directory":"emoji-music","title":"emoji MUSIC","compatibility":99,"releases":[{"id":"01005AC016C0C000","region":null}]},{"id":"6c88f7d7-4abf-488f-897c-b77279de9e8b","directory":"johnny-turbos-arcade-joe-and-mac-returns","title":"Johnny Turbo's Arcade: Joe and Mac Returns","compatibility":99,"releases":[{"id":"01003D7002CC0000","region":null}]},{"id":"6c8b0b12-6de4-41ac-930b-db5e60c06d20","directory":"puzzle-puppers","title":"Puzzle Puppers","compatibility":99,"releases":[{"id":"01003590089EA000","region":null}]},{"id":"6c8fcd94-f323-4d83-ba1c-d185c6833f1c","directory":"othercide","title":"Othercide","compatibility":99,"releases":[{"id":"0100E5900F49A000","region":null}]},{"id":"6c99312a-1a37-4db8-994d-40d4d98d8930","directory":"calculation-castle-grecos-ghostly-challenge-subtraction","title":"Calculation Castle : Greco's Ghostly Challenge \"Subtraction \"","compatibility":99,"releases":[{"id":"0100A6500B176000","region":null}]},{"id":"6ca2df1f-be97-405d-850c-20a988d7b6d2","directory":"spy-chameleon","title":"Spy Chameleon","compatibility":99,"releases":[{"id":"0100662008632000","region":null}]},{"id":"6ca62f11-16d5-47ea-94e3-7c4c8907c350","directory":"aca-neogeo-ragnagard","title":"ACA NEOGEO RAGNAGARD","compatibility":5,"releases":[{"id":"010006300AFCE000","region":null}]},{"id":"6cb33b8d-d0ea-4d27-8d3c-4c2b7610d527","directory":"puzzle-9","title":"Puzzle 9","compatibility":99,"releases":[{"id":"01007E201634C000","region":null}]},{"id":"6cb41d03-66eb-45ba-9f5d-db2ac1901cd4","directory":"toejam-and-earl-back-in-the-groove","title":"ToeJam & Earl: Back in the Groove!","compatibility":2,"releases":[{"id":"0100B5200BB7C000","region":null}]},{"id":"6cb93c0c-eb2d-49d1-9d95-2303f0af9537","directory":"medieval-tower-defense","title":"Medieval Tower Defense","compatibility":99,"releases":[{"id":"01008890162A8000","region":null}]},{"id":"6cba75b7-e292-432b-997a-76610a19e778","directory":"multilevel-parking-driver","title":"Multilevel Parking Driver","compatibility":99,"releases":[{"id":"0100B74015434000","region":null}]},{"id":"6cc4fc75-2c0d-4b1e-b1f5-5f5501e0563f","directory":"battle-planet-judgement-day","title":"Battle Planet - Judgement Day","compatibility":99,"releases":[{"id":"0100D2800EB40000","region":null}]},{"id":"6cd69ed7-fc3f-42f7-8617-8ec47dbcbf08","directory":"big-buck-hunter-arcade","title":"Big Buck Hunter Arcade","compatibility":2,"releases":[{"id":"010062B00A874000","region":null}]},{"id":"6cd8951d-b897-4c41-8565-a4c38d5e8aea","directory":"blaster-master-zero","title":"Blaster Master Zero","compatibility":0,"releases":[{"id":"0100225000FEE000","region":null}]},{"id":"6ce0080d-f925-44b1-872a-a60850a05d87","directory":"zombievital-dg","title":"ZombieVital DG","compatibility":99,"releases":[{"id":"010048F014748000","region":null}]},{"id":"6ce2f536-f131-4678-be27-1827c82288d3","directory":"aca-neogeo-magical-drop-iii","title":"ACA NEOGEO MAGICAL DROP III","compatibility":99,"releases":[{"id":"01008ED008776000","region":null}]},{"id":"6ce6ef38-907a-41d0-a0b6-1749c3c5dd3e","directory":"forgotton-anne","title":"Forgotton Anne","compatibility":1,"releases":[{"id":"010059E00B93C000","region":null}]},{"id":"6ce8088e-0d78-4165-a12a-1a2623256d48","directory":"burnout-paradise-remastered","title":"Burnout™ Paradise Remastered","compatibility":3,"releases":[{"id":"0100DBF01000A000","region":null}]},{"id":"6ce8cc8d-e5d8-4c5b-b409-3799c87b300e","directory":"stern-pinball-arcade","title":"Stern Pinball Arcade","compatibility":5,"releases":[{"id":"0100AE0006474000","region":null}]},{"id":"6cf68278-3381-4553-b531-4e60c4b6e7f8","directory":"puzzle-wall","title":"Puzzle Wall","compatibility":99,"releases":[{"id":"01002C900BF74000","region":null}]},{"id":"6d03f2e2-a610-4aff-8b10-59207313bb8b","directory":"grand-prix-story","title":"Grand Prix Story","compatibility":1,"releases":[{"id":"0100BE600D07A000","region":null}]},{"id":"6d24e957-17ae-4ac5-8835-098e1c824be2","directory":"my-girlfriend-is-a-mermaid","title":"My Girlfriend is a Mermaid!?","compatibility":99,"releases":[{"id":"01000D700BE88000","region":null}]},{"id":"6d260671-e075-45ae-855e-128d5e74c1e4","directory":"dead-in-vinland-true-viking-edition","title":"Dead in Vinland - True Viking edition","compatibility":99,"releases":[{"id":"010005400E394000","region":null}]},{"id":"6d27f273-25b4-43e9-90eb-cc99de2cb873","directory":"trine-4-the-nightmare-prince","title":"Trine 4: The Nightmare Prince","compatibility":5,"releases":[{"id":"010055E00CA68000","region":null}]},{"id":"6d2ad664-0aa0-479a-a408-9c21add25ab3","directory":"swarmriders","title":"SWARMRIDERS","compatibility":99,"releases":[{"id":"0100E7001210C000","region":null}]},{"id":"6d34035e-0332-4dc8-98eb-268224b4c0f2","directory":"luna-the-shadow-dust","title":"LUNA The Shadow Dust","compatibility":1,"releases":[{"id":"0100B950129DC000","region":null}]},{"id":"6d3b4b59-0ec1-44fa-8b48-98e757cdd291","directory":"murder-mystery-machine","title":"Murder Mystery Machine","compatibility":0,"releases":[{"id":"01006C4014720000","region":null}]},{"id":"6d44ca13-7118-48a2-9042-ebbd6cc43dfd","directory":"labyrinth-of-the-witch","title":"Labyrinth of the Witch","compatibility":1,"releases":[{"id":"010022D0089AE000","region":null}]},{"id":"6d46d9f1-16ff-40fd-9bc7-17ed6e409d79","directory":"the-station","title":"The Station","compatibility":0,"releases":[{"id":"010007F00AF56000","region":null}]},{"id":"6d49c737-8965-411e-8886-1403b323a92d","directory":"the-hong-kong-massacre","title":"The Hong Kong Massacre","compatibility":99,"releases":[{"id":"01001950137D8000","region":null}]},{"id":"6d4d32cb-a579-4644-a2ee-36344ffd018e","directory":"aca-neogeo-aggressors-of-dark-kombat","title":"ACA NEOGEO AGGRESSORS OF DARK KOMBAT","compatibility":4,"releases":[{"id":"0100B4800AFBA000","region":null}]},{"id":"6d4fcaa2-e182-444d-bca7-1438c7e7cc73","directory":"knockout-city","title":"Knockout City™","compatibility":5,"releases":[{"id":"01009EF00DDB4000","region":null}]},{"id":"6d59d933-2220-4875-8ec5-b66ac2642020","directory":"hyperlight-ultimate","title":"Hyperlight Ultimate","compatibility":99,"releases":[{"id":"0100F4C00D958000","region":null}]},{"id":"6d62ab9d-ba30-41b1-b019-eb4e148ca717","directory":"nelly-cootalot-the-fowl-fleet","title":"Nelly Cootalot: The Fowl Fleet","compatibility":99,"releases":[{"id":"01005F000B784000","region":null}]},{"id":"6d701f4e-727c-4d9c-8755-d0c913468daa","directory":"reknum-cheri-dreamland","title":"Reknum Cheri Dreamland","compatibility":99,"releases":[{"id":"01005320144BC000","region":null}]},{"id":"6d7ca98d-abdc-44d6-bcbb-5d8db73a4dce","directory":"speedway-heroes","title":"Speedway Heroes","compatibility":1,"releases":[{"id":"01006CC015D12000","region":null}]},{"id":"6d90e561-bd30-412e-8365-f94797adf643","directory":"layers-of-fear-2","title":"Layers of Fear 2","compatibility":99,"releases":[{"id":"01001730144DA000","region":null}]},{"id":"6d933545-52c2-4bb7-affb-6c7baeef91c4","directory":"mazm-jekyll-and-hyde","title":"MazM: Jekyll and Hyde","compatibility":0,"releases":[{"id":"0100BF001091E000","region":null}]},{"id":"6da2370e-f19c-4795-bce6-f5a9bcd511ae","directory":"kadobat-wars","title":"KADOBAT WARS","compatibility":99,"releases":[{"id":"01000A800ADEE000","region":null}]},{"id":"6da2b68d-741d-494d-bb5e-e0c8099de1a7","directory":"explosive-jake","title":"Explosive Jake","compatibility":99,"releases":[{"id":"01009B7010B42000","region":null}]},{"id":"6da4df37-ba7b-47b2-a66f-d966d7b54185","directory":"okunoka-madness","title":"OkunoKA Madness","compatibility":99,"releases":[{"id":"0100907011392000","region":null}]},{"id":"6da7c406-253a-4246-9ebf-0b6c99d79826","directory":"stencil-art","title":"Stencil Art","compatibility":99,"releases":[{"id":"01008DB013114000","region":null}]},{"id":"6db167bc-9f06-4f6c-8977-a0971454920e","directory":"dungeon-limbus","title":"Dungeon Limbus","compatibility":99,"releases":[{"id":"0100CAB012FCC000","region":null}]},{"id":"6dbfe5f3-f1c6-440a-8212-6263934e103c","directory":"my-little-dog-adventure","title":"My Little Dog Adventure","compatibility":99,"releases":[{"id":"0100872012B34000","region":null}]},{"id":"6dc6cfd2-ec4e-47f1-906b-0f2eb9337281","directory":"rogue-robots","title":"Rogue Robots","compatibility":1,"releases":[{"id":"0100F3B010F56000","region":null}]},{"id":"6dc7c6da-ec24-48c1-bf8b-405b067e37b9","directory":"aca-neogeo-sengoku-3","title":"ACA NEOGEO SENGOKU 3","compatibility":4,"releases":[{"id":"01008D000877C000","region":null}]},{"id":"6dd9736b-ce0b-43b9-a7b3-8095c8e30d2d","directory":"oneiros","title":"Oneiros","compatibility":99,"releases":[{"id":"0100463013246000","region":null}]},{"id":"6dfd08b2-7acd-421e-95dd-eb0ec46c3101","directory":"aca-neogeo-puzzled","title":"ACA NEOGEO PUZZLED","compatibility":1,"releases":[{"id":"0100A290038F8000","region":null}]},{"id":"6e02672f-25b5-4952-bc54-963a24cb4e08","directory":"redeemer-enhanced-edition","title":"Redeemer: Enhanced Edition","compatibility":4,"releases":[{"id":"01000D100DCF8000","region":null}]},{"id":"6e03b5e0-6a65-4d85-98fd-3323506c547e","directory":"ori-and-the-will-of-the-wisps","title":"Ori and the Will of the Wisps","compatibility":1,"releases":[{"id":"01008DD013200000","region":null}]},{"id":"6e0d0b40-319b-41dc-ad5c-1a920c25c2b5","directory":"boxboy-boxgirl-demo","title":"BOXBOY! + BOXGIRL!™ Demo","compatibility":99,"releases":[{"id":"0100B7200E02E000","region":null}]},{"id":"6e2777e2-f6ec-4a37-900f-428108143296","directory":"batu-ta-batu","title":"Batu Ta Batu","compatibility":99,"releases":[{"id":"0100E2F011DE8000","region":null}]},{"id":"6e2f638f-1c39-4ea5-a696-3727e5be9d11","directory":"chicken-range","title":"Chicken Range","compatibility":2,"releases":[{"id":"0100F6C00A016000","region":null}]},{"id":"6e33831f-c307-4227-82e5-e4dc4869f272","directory":"esport-manager","title":"ESport Manager","compatibility":99,"releases":[{"id":"010029C00D768000","region":null}]},{"id":"6e350026-2f10-40ba-a00d-03a06bade192","directory":"klang-2","title":"Klang 2","compatibility":99,"releases":[{"id":"010074D0111C4000","region":null}]},{"id":"6e351211-c229-498c-89a0-e71b639099e9","directory":"synergia","title":"Synergia","compatibility":99,"releases":[{"id":"01009E700F448000","region":null}]},{"id":"6e4be8cf-595b-4f3e-9e8a-07f5d383f089","directory":"blazblue-cross-tag-battle","title":"BLAZBLUE CROSS TAG BATTLE","compatibility":0,"releases":[{"id":"0100B61008208000","region":null}]},{"id":"6e64c242-ac65-4927-8485-53fe4cc5b189","directory":"future-aero-racing-s-ultra","title":"Future Aero Racing S Ultra","compatibility":99,"releases":[{"id":"0100A98010E40000","region":null}]},{"id":"6e67c301-eaca-4818-9560-ed5e93613ee5","directory":"barry-bradfords-putt-panic-party","title":"Barry Bradford's Putt Panic Party","compatibility":99,"releases":[{"id":"0100FB000EB96000","region":null}]},{"id":"6e6b81cd-4abf-4973-af22-52e0782ecec3","directory":"air-conflicts-pacific-carriers","title":"Air Conflicts: Pacific Carriers","compatibility":4,"releases":[{"id":"0100C7600C7D6000","region":null}]},{"id":"6e7f6b86-9f7f-41ce-b8dd-9db77d890fdc","directory":"the-secret-order-return-to-the-buried-kingdom","title":"The Secret Order: Return to the Buried Kingdom","compatibility":99,"releases":[{"id":"0100971012B4E000","region":null}]},{"id":"6e92fa90-fcff-44dd-864e-aa0c8ac2cf95","directory":"jcb-pioneer-mars","title":"JCB Pioneer: Mars","compatibility":99,"releases":[{"id":"0100841008BDE000","region":null}]},{"id":"6e93e94c-901f-4275-9b81-e4fee3d5011b","directory":"the-turing-test","title":"The Turing Test","compatibility":4,"releases":[{"id":"0100EA100F516000","region":null}]},{"id":"6ea6b6f5-f923-4f56-91bd-98cd4d8fe9af","directory":"arms","title":"ARMS","compatibility":0,"releases":[{"id":"01009B500007C000","region":null}]},{"id":"6eaacc43-bbbe-44e4-87ed-380a05d0754a","directory":"deathstate-abyssal-edition","title":"Deathstate : Abyssal Edition","compatibility":99,"releases":[{"id":"0100F9C0078CC000","region":null}]},{"id":"6eb451fb-49b9-4795-963b-10566edb2040","directory":"crashn-the-boys-street-challenge","title":"Crash'n the Boys Street Challenge","compatibility":99,"releases":[{"id":"01008B000E494000","region":null}]},{"id":"6eb7072a-7775-4a74-b26f-b5b806c7e9b7","directory":"aca-neogeo-magical-drop-ii","title":"ACA NEOGEO MAGICAL DROP II","compatibility":4,"releases":[{"id":"0100A050038F2000","region":null}]},{"id":"6eb728b8-e52e-4b42-9b6d-2ca298ada573","directory":"lost-in-random","title":"Lost in Random™","compatibility":99,"releases":[{"id":"01005FE01291A000","region":null}]},{"id":"6ec77cb0-2e32-4160-8d73-0d96f9fa0147","directory":"forever-forest","title":"Forever Forest","compatibility":99,"releases":[{"id":"01007CD00BCE2000","region":null}]},{"id":"6edc6792-9ce2-4dc5-ae77-10615af90d9b","directory":"lost-orbit-terminal-velocity","title":"LOST ORBIT: Terminal Velocity","compatibility":99,"releases":[{"id":"010054600AC74000","region":null}]},{"id":"6edd29b7-35cc-40ff-8522-517af556f8ba","directory":"yaga","title":"Yaga","compatibility":99,"releases":[{"id":"01006FB00DB02000","region":null}]},{"id":"6ee29fb9-2190-4b61-bdfe-a8bae122b999","directory":"zombie-blast-crew","title":"Zombie Blast Crew","compatibility":99,"releases":[{"id":"0100B610138F8000","region":null}]},{"id":"6eec85b2-9b14-46af-9210-70e7574da146","directory":"youtubers-life-2","title":"Youtubers Life 2","compatibility":99,"releases":[{"id":"01004DE013EDE000","region":null}]},{"id":"6eeec8be-e9c8-4f49-bdd9-50e90e63c02d","directory":"crocs-world-run","title":"Croc's World Run","compatibility":99,"releases":[{"id":"0100EC400D712000","region":null}]},{"id":"6ef212e9-9dbc-4d07-a463-9a8b570ef927","directory":"tachyon-project","title":"Tachyon Project","compatibility":99,"releases":[{"id":"010087E006E6E000","region":null}]},{"id":"6efe4d0b-c853-4e7d-98b9-8c849f87346e","directory":"boom-ball-boost-edition","title":"Boom Ball: Boost Edition","compatibility":99,"releases":[{"id":"01009FA00A570000","region":null}]},{"id":"6f190c5e-31a4-4e63-bdca-9a0e593a7275","directory":"animal-crossing-new-horizons","title":"Animal Crossing: New Horizons","compatibility":1,"releases":[{"id":"01006F8002326000","region":null}]},{"id":"6f1c9f70-67e1-4299-9fcb-b4701d0b0588","directory":"monster-blast","title":"Monster Blast","compatibility":5,"releases":[{"id":"0100E2D0128E6000","region":null}]},{"id":"6f2038a1-4a27-47b9-a07d-1d30971db6a2","directory":"akuarium","title":"Akuarium","compatibility":99,"releases":[{"id":"0100D4C00EE0C000","region":null}]},{"id":"6f2b6099-5e64-4c0e-8624-2b7b02d4faa3","directory":"cybxus-hearts","title":"Cybxus Hearts","compatibility":1,"releases":[{"id":"01006B9013672000","region":null}]},{"id":"6f34345a-a6a2-425d-a72b-32f039a475c9","directory":"octogeddon","title":"Octogeddon","compatibility":99,"releases":[{"id":"0100E6E00AF44000","region":null}]},{"id":"6f3aabe7-8b59-4171-9d46-74f9b6de976a","directory":"mages-of-mystralia","title":"Mages of Mystralia","compatibility":99,"releases":[{"id":"0100549008C9C000","region":null}]},{"id":"6f3bed75-3ced-4c8a-9e2d-5fa49dc609e7","directory":"to-the-moon","title":"To the Moon","compatibility":2,"releases":[{"id":"010036700F83E000","region":null}]},{"id":"6f430252-6acd-469a-a075-9e4efbc3c38b","directory":"earth-marines","title":"Earth Marines","compatibility":99,"releases":[{"id":"0100AB4015D1A000","region":null}]},{"id":"6f5589c2-6221-4134-acb7-7826f0107aa7","directory":"aca-neogeo-baseball-stars-2","title":"ACA NEOGEO BASEBALL STARS 2","compatibility":99,"releases":[{"id":"0100B0B00A8C2000","region":null}]},{"id":"6f5bd7b3-6dec-48dc-9f9e-7277c0fd1961","directory":"candy-2048-challenge","title":"Candy 2048 Challenge","compatibility":99,"releases":[{"id":"0100D6B012DE8000","region":null}]},{"id":"6f5becf2-2558-404b-b2e4-b193814121f6","directory":"the-enigma-machine","title":"The Enigma Machine","compatibility":99,"releases":[{"id":"0100D06016B7E000","region":null}]},{"id":"6f6165f3-a856-4f82-8de6-9fa98d3d403a","directory":"perfect-angle","title":"Perfect Angle","compatibility":99,"releases":[{"id":"010089F00A3B4000","region":null}]},{"id":"6f65bc93-e216-4067-b952-379ff59cfe92","directory":"eagletalon-vs-horde-of-the-flies","title":"EAGLETALON vs. HORDE OF THE FLIES","compatibility":99,"releases":[{"id":"0100D45010F16000","region":null}]},{"id":"6f6c225f-556e-4b2f-a691-ac17693a72fd","directory":"connect-bricks","title":"Connect Bricks","compatibility":99,"releases":[{"id":"0100A32014912000","region":null}]},{"id":"6f733465-a060-48f3-96d2-7021263b21b0","directory":"zombie-watch","title":"Zombie Watch","compatibility":99,"releases":[{"id":"0100C88016CF6000","region":null}]},{"id":"6f7559d2-b3df-4cb3-8e48-185b4c20553e","directory":"distrust","title":"Distrust","compatibility":99,"releases":[{"id":"01002F300D9CE000","region":null}]},{"id":"6f83b026-f443-416b-98df-612903c60c96","directory":"eat-beat-deadspike-san-demo","title":"EAT BEAT DEADSPIKE-san Demo","compatibility":99,"releases":[{"id":"0100BEA0096CE000","region":null}]},{"id":"6f8ae4cf-7318-48e8-bdd3-1dad1854e87a","directory":"aca-neogeo-blazing-star","title":"ACA NEOGEO BLAZING STAR","compatibility":1,"releases":[{"id":"0100DFC003398000","region":null}]},{"id":"6f8fe791-207a-441d-a2cc-6c8102b789c0","directory":"mace-tower-defense","title":"M.A.C.E. Tower Defense","compatibility":4,"releases":[{"id":"010032800F038000","region":null}]},{"id":"6f9a12d4-0d48-4fb7-ac2f-c46ef027d0ad","directory":"destropolis","title":"Destropolis","compatibility":99,"releases":[{"id":"010017D0130C4000","region":null}]},{"id":"6f9b7e8a-4872-47ec-825e-f0263fd27805","directory":"la-mulana","title":"LA-MULANA","compatibility":5,"releases":[{"id":"010026000F662000","region":null}]},{"id":"6fa2ff13-0961-4a29-b537-df1d11c94819","directory":"firefighters-the-simulation","title":"Firefighters – The Simulation","compatibility":4,"releases":[{"id":"0100434003C58000","region":null}]},{"id":"6fa990e8-e1f4-4078-a042-acfb2aa8b358","directory":"your-toy","title":"Your Toy","compatibility":0,"releases":[{"id":"010071800B4B2000","region":null}]},{"id":"6fa99ea4-7f58-4c7b-82e7-3e3449a242f9","directory":"198x","title":"198X","compatibility":0,"releases":[{"id":"01007BB00FC8A000","region":null}]},{"id":"6fbd215c-ef76-4c99-af1f-c64342d7fc3c","directory":"sir-tincan-adventures-in-the-castle","title":"Sir Tincan - Adventures in the Castle","compatibility":99,"releases":[{"id":"0100A78011974000","region":null}]},{"id":"6fc13882-3472-4001-aa48-44ccf3f00204","directory":"creepy-balls","title":"Creepy Balls","compatibility":99,"releases":[{"id":"0100EA0016F1C000","region":null}]},{"id":"6fcf8029-d333-4567-aa03-f79fe914f6c6","directory":"earth-wars","title":"EARTH WARS","compatibility":1,"releases":[{"id":"01009B7006C88000","region":null}]},{"id":"6fe21370-f04b-435a-ae04-4599f5e50738","directory":"toolboy","title":"Toolboy","compatibility":99,"releases":[{"id":"0100B55012216000","region":null}]},{"id":"6fecab9b-80bb-495a-ac00-81a648c586fb","directory":"snooker-19","title":"Snooker 19","compatibility":4,"releases":[{"id":"01008DA00CBBA000","region":null}]},{"id":"6ff089b3-2c0e-40d6-91ec-482da2f16fc5","directory":"animal-bomber","title":"Animal Bomber","compatibility":4,"releases":[{"id":"01000030146BE000","region":null}]},{"id":"6ff16485-6a02-4c13-b73e-15a0c24a7f36","directory":"labyrinth-legend","title":"Labyrinth Legend","compatibility":99,"releases":[{"id":"0100A4001573C000","region":null}]},{"id":"6ff292df-24fe-4b25-812a-27b91e9a6d2b","directory":"minesweeper-genius","title":"Minesweeper Genius","compatibility":99,"releases":[{"id":"010000500B9F4000","region":null}]},{"id":"6ff3c46e-4482-4d0a-8adc-0f032166bc4a","directory":"desktop-basketball","title":"Desktop Basketball","compatibility":99,"releases":[{"id":"010019601144E000","region":null}]},{"id":"6ff8807f-9a2c-45d2-a1de-e287e106fe88","directory":"bus-fix-2019","title":"Bus Fix 2019","compatibility":99,"releases":[{"id":"0100F8300E864000","region":null}]},{"id":"6ffb12d6-8b4e-48a9-8194-f1fe6c9ee7b4","directory":"risk-system","title":"Risk System","compatibility":99,"releases":[{"id":"01007D90101F8000","region":null}]},{"id":"6fff9111-7b1e-4681-984b-ff5cda9f3537","directory":"demon-hunter-riddles-of-light","title":"Demon Hunter: Riddles of Light","compatibility":99,"releases":[{"id":"01002C5015EFE000","region":null}]},{"id":"7006d101-20c8-4d1f-8004-ac8936ad214a","directory":"glittering-sword","title":"Glittering Sword","compatibility":5,"releases":[{"id":"0100230013D0C000","region":null}]},{"id":"7007baec-bebc-4aed-b4f9-6d8798537c60","directory":"damaged-in-transit","title":"Damaged In Transit","compatibility":99,"releases":[{"id":"010059400E2FC000","region":null}]},{"id":"700ce8af-c941-4948-a17a-79ca03a14fbe","directory":"gods-remastered","title":"GODS Remastered","compatibility":1,"releases":[{"id":"0100BAA00AE16000","region":null}]},{"id":"701e5564-ccc2-420a-8bae-06c107388e28","directory":"blade-strangers","title":"Blade Strangers","compatibility":3,"releases":[{"id":"01005950022EC000","region":null}]},{"id":"70224e70-4d81-4fd9-8dc2-3c8629f4c01d","directory":"ohsir-the-insult-simulator","title":"Oh...Sir! The Insult Simulator","compatibility":99,"releases":[{"id":"0100782005A44000","region":null}]},{"id":"7023b0b2-b7ff-40fb-a312-f4c866768588","directory":"mad-tower-tycoon","title":"Mad Tower Tycoon","compatibility":99,"releases":[{"id":"0100C5F012A3C000","region":null}]},{"id":"702ad4ae-13b8-4e85-bc8d-f65cda2b065b","directory":"solitaire","title":"Solitaire","compatibility":99,"releases":[{"id":"0100A2E00B8EC000","region":null}]},{"id":"70347577-17b5-4d88-9798-c487b6aa7d48","directory":"halloween-jigsaw-puzzles-puzzle-game-for-kids-toddlers","title":"Halloween Jigsaw Puzzles - Puzzle Game for Kids & Toddlers","compatibility":99,"releases":[{"id":"01004C70167C8000","region":null}]},{"id":"703b20ff-7fcc-4ba9-8f9e-cf7b83acf9d1","directory":"torquel-physics-modified-edition-","title":"TorqueL -Physics Modified Edition-","compatibility":99,"releases":[{"id":"0100D0B0093D8000","region":null}]},{"id":"703ee114-36a5-41df-8bdf-f5a15696f76f","directory":"redout","title":"Redout","compatibility":0,"releases":[{"id":"0100DA20021D0000","region":null}]},{"id":"703f65f3-38e3-4224-9346-75ab2dff80f6","directory":"monster-loves-you","title":"Monster Loves You","compatibility":99,"releases":[{"id":"0100B7700BB7A000","region":null}]},{"id":"703ff038-ba87-48fb-986e-fa49fd2b65cb","directory":"chess","title":"Chess","compatibility":0,"releases":[{"id":"010088801200A000","region":null}]},{"id":"705c4c8d-f2fb-4cc5-a87b-44c60c6ebef8","directory":"marooners","title":"Marooners","compatibility":99,"releases":[{"id":"010044600FDF0000","region":null}]},{"id":"70635b97-151e-408c-b768-a3d7bd20385f","directory":"bug-academy","title":"Bug Academy","compatibility":99,"releases":[{"id":"01005CD011474000","region":null}]},{"id":"70642d4e-f357-49f9-a584-3c4c8835b428","directory":"spinch","title":"Spinch","compatibility":99,"releases":[{"id":"010076D0122A8000","region":null}]},{"id":"708aa1a3-c610-4049-92f2-b575b05dde4f","directory":"juicy-realm","title":"Juicy Realm","compatibility":99,"releases":[{"id":"0100C7600F654000","region":null}]},{"id":"708eca76-7bd9-48b6-b6a4-b1bc1f0c3204","directory":"bot-vinnik-chess","title":"BOT.vinnik Chess","compatibility":99,"releases":[{"id":"010018A01514E000","region":null}]},{"id":"709c3ffd-7d5f-48fe-9edb-78fd39d2ddeb","directory":"iconoclasts","title":"Iconoclasts","compatibility":1,"releases":[{"id":"0100BC60099FE000","region":null}]},{"id":"70a98fe8-7b4a-48a5-81d3-48366769f9c2","directory":"shadow-gangs","title":"Shadow Gangs","compatibility":4,"releases":[{"id":"0100BE501382A000","region":null}]},{"id":"70af6b2d-fe30-4086-be41-3e49e858eee7","directory":"halloween-snowball-bubble","title":"Halloween Snowball Bubble","compatibility":99,"releases":[{"id":"01007B6016018000","region":null}]},{"id":"70b453b5-33e9-4905-b943-878622b8c126","directory":"darkestville-castle","title":"Darkestville Castle","compatibility":99,"releases":[{"id":"0100184011918000","region":null}]},{"id":"70b5de1d-3c90-4b6b-bf9e-9b4d4dc650ed","directory":"aca-neogeo-waku-waku-7","title":"ACA NEOGEO WAKU WAKU 7","compatibility":4,"releases":[{"id":"0100CEF001DC0000","region":null}]},{"id":"70ba7a66-1827-4aa0-914a-0638f7da9103","directory":"legend-of-keepers-career-of-a-dungeon-manager","title":"Legend of Keepers: Career of a Dungeon Manager","compatibility":99,"releases":[{"id":"0100C67015076000","region":null}]},{"id":"70c9b9a6-6e19-421f-aef9-e80df58992dd","directory":"xenoblade-chronicles-definitive-edition","title":"Xenoblade Chronicles™ Definitive Edition","compatibility":1,"releases":[{"id":"0100FF500E34A000","region":null}]},{"id":"70c9ff67-4432-4ac0-8566-2a3a1aaf4b90","directory":"9th-dawn-iii","title":"9th Dawn III","compatibility":0,"releases":[{"id":"0100DB00117BA000","region":null}]},{"id":"70d20390-c0f9-40b3-bd0f-7e427439719c","directory":"overlanders","title":"Overlanders","compatibility":3,"releases":[{"id":"0100D7F00EC64000","region":null}]},{"id":"70e094b8-71da-4905-a75e-79e98f56571e","directory":"piofiore-fated-memories","title":"Piofiore: Fated Memories","compatibility":0,"releases":[{"id":"01009240117A2000","region":null}]},{"id":"70eb9161-e6d7-4ea9-ab45-99c56223c7b2","directory":"alwas-awakening","title":"Alwa's Awakening","compatibility":0,"releases":[{"id":"01004C200B0B4000","region":null}]},{"id":"70f826d2-8739-4ffa-9c0a-1f801cd8a71f","directory":"quell-memento","title":"Quell Memento","compatibility":99,"releases":[{"id":"0100D1201183A000","region":null}]},{"id":"70fa2068-8a74-4841-b057-fe06480ccbad","directory":"baldurs-gate-and-baldurs-gate-ii-enhanced-editions","title":"Baldur's Gate and Baldur's Gate II: Enhanced Editions","compatibility":3,"releases":[{"id":"010010A00DA48000","region":null}]},{"id":"70fa39c5-b1c3-4a7f-875d-1ba019312465","directory":"curious-expedition","title":"Curious Expedition","compatibility":0,"releases":[{"id":"010079500E0DA000","region":null}]},{"id":"70fb815b-4052-4f36-9cff-b844d082cefe","directory":"orbitblazers","title":"Orbitblazers","compatibility":0,"releases":[{"id":"010061100FA8E000","region":null}]},{"id":"71156b37-b4ee-48d2-b464-5721b79d4914","directory":"timberman-vs-demo","title":"Timberman VS Demo","compatibility":99,"releases":[{"id":"010038400CADC000","region":null}]},{"id":"71172686-7fdb-4b2c-b76d-e3c75d5dd8f9","directory":"hocus-2","title":"hocus 2","compatibility":99,"releases":[{"id":"010068400EDF6000","region":null}]},{"id":"7131918d-3c04-44d7-bee4-8750f10f001e","directory":"aces-of-the-luftwaffe-squadron","title":"Aces of the Luftwaffe - Squadron","compatibility":1,"releases":[{"id":"0100B28003440000","region":null}]},{"id":"7131946c-014c-4d56-96e8-0a374a403bf4","directory":"clea-2","title":"Clea 2","compatibility":0,"releases":[{"id":"010045E0142A4000","region":null}]},{"id":"71399b17-d4ab-40e4-8689-f6873adb32ad","directory":"later-daters","title":"Later Daters","compatibility":99,"releases":[{"id":"01004EB00DACE000","region":null}]},{"id":"713b5660-6fb5-444e-a5bd-61e20053bb7e","directory":"adventure-llama","title":"Adventure Llama","compatibility":99,"releases":[{"id":"010014B0130F2000","region":null}]},{"id":"7143e845-d091-494f-9a88-fa814adf1e8e","directory":"singled-out","title":"Singled Out","compatibility":0,"releases":[{"id":"0100F10012002000","region":null}]},{"id":"716ab6d6-c9b4-4238-ba1e-e5e7861d502c","directory":"wintermoor-tactics-club","title":"Wintermoor Tactics Club","compatibility":99,"releases":[{"id":"0100C2000F468000","region":null}]},{"id":"717f967c-f1a5-49db-8d1a-72dddc30c703","directory":"shopping-mall-parking-lot","title":"Shopping Mall Parking Lot","compatibility":99,"releases":[{"id":"01008030155B4000","region":null}]},{"id":"7186282a-3109-4a11-99fc-cb8c2e676f99","directory":"chaos-on-deponia","title":"Chaos on Deponia","compatibility":3,"releases":[{"id":"01002C900C9AC000","region":null}]},{"id":"718da66c-88ce-48f3-9a6e-2d9c7d87c11c","directory":"detective-driver-miami-files","title":"Detective Driver: Miami Files","compatibility":99,"releases":[{"id":"01007CB0128B2000","region":null}]},{"id":"71a6a771-64ce-4d10-8cf0-0e7c03637b3f","directory":"super-pixel-racers","title":"Super Pixel Racers","compatibility":1,"releases":[{"id":"0100F5100E9DE000","region":null}]},{"id":"71ad58cb-ecd6-4b13-8d3a-da1f38002694","directory":"hextech-mayhem-a-league-of-legends-story","title":"Hextech Mayhem: A League of Legends Story™","compatibility":99,"releases":[{"id":"01007A9015620000","region":null}]},{"id":"71bc3bfe-e29f-4528-8f8f-a0a6549c2cb1","directory":"clustertruck","title":"Clustertruck","compatibility":2,"releases":[{"id":"010096900A4D2000","region":null}]},{"id":"71bfecf6-144b-458a-a06f-d66b0073c961","directory":"lego-the-incredibles","title":"LEGO The Incredibles","compatibility":3,"releases":[{"id":"0100A01006E00000","region":null}]},{"id":"71c3ce5a-bf94-428b-9f22-03d5b94b4b06","directory":"trybit-logic","title":"TRYBIT LOGIC","compatibility":99,"releases":[{"id":"0100DFA00C6A6000","region":null}]},{"id":"71c46ca5-1f6e-4809-b315-0bf775c3540f","directory":"color-jumper","title":"Color Jumper","compatibility":99,"releases":[{"id":"01003BC00FBAA000","region":null}]},{"id":"71d0afb9-c594-4ffe-85ff-3885f544ee5e","directory":"egg-up","title":"Egg Up","compatibility":99,"releases":[{"id":"010046401595E000","region":null}]},{"id":"71f930b2-40f6-4932-b55c-2b85209553ad","directory":"one-dog-story","title":"One Dog Story","compatibility":1,"releases":[{"id":"01009C301061A000","region":null}]},{"id":"720c7dff-b4c5-456c-8ea3-7685b8737836","directory":"final-light-the-prison","title":"Final Light, The Prison","compatibility":99,"releases":[{"id":"01001BA00AE4E000","region":null}]},{"id":"721c78ff-e021-4a14-b2e8-7fde6672cb69","directory":"drift-zone-arcade","title":"Drift Zone Arcade","compatibility":99,"releases":[{"id":"0100C2200E0F2000","region":null}]},{"id":"722c041e-18f7-46a6-94bc-c34e87dfbf33","directory":"green-hell","title":"Green Hell","compatibility":99,"releases":[{"id":"0100453012FEA000","region":null}]},{"id":"72391b2d-9c88-4a59-a983-ac161cdd3b8e","directory":"battlezone-gold-edition","title":"Battlezone Gold Edition","compatibility":1,"releases":[{"id":"01006D800A988000","region":null}]},{"id":"7246dcea-f4bc-45c9-a50c-d961a5549642","directory":"super-sports-blast","title":"Super Sports Blast","compatibility":99,"releases":[{"id":"0100829013996000","region":null}]},{"id":"7251f728-059f-45db-a3a5-2fee498c3328","directory":"mary-skelter-2","title":"Mary Skelter 2","compatibility":1,"releases":[{"id":"01003DE00C95E000","region":null}]},{"id":"725567c4-7327-4857-98b2-9a6de7268ec3","directory":"slinki","title":"Slinki","compatibility":99,"releases":[{"id":"0100A4A0129BC000","region":null}]},{"id":"725cdf8f-655e-45b6-ac95-f1e6c55da279","directory":"mystik-belle-enchanted-edition","title":"Mystik Belle Enchanted Edition","compatibility":99,"releases":[{"id":"0100FFB015C6E000","region":null}]},{"id":"7260f944-3db0-439d-af8b-4d41a6f44ca4","directory":"immortal-redneck","title":"Immortal Redneck","compatibility":99,"releases":[{"id":"01000F400435A000","region":null}]},{"id":"72737cbf-156f-4890-9e1e-424401010985","directory":"sudoku-universe","title":"Sudoku Universe","compatibility":99,"releases":[{"id":"010093000CB62000","region":null}]},{"id":"7273c7e5-a325-477d-9232-b03526d5fcb4","directory":"blastful","title":"Blastful","compatibility":99,"releases":[{"id":"0100FFD0142D4000","region":null}]},{"id":"72749247-6f6c-4fec-87a5-8ce1dbb2c05c","directory":"hexagroove-tactical-dj","title":"Hexagroove: Tactical DJ","compatibility":99,"releases":[{"id":"010015500E9C0000","region":null}]},{"id":"7276ca87-87ff-4ee6-8533-f5e84febc9df","directory":"aca-neogeo-king-of-the-monsters-2","title":"ACA NEOGEO KING OF THE MONSTERS 2","compatibility":99,"releases":[{"id":"010029D00AFD0000","region":null}]},{"id":"7277111d-fafa-4ec7-aa1f-ce4b65c63fde","directory":"scrap","title":"Scrap","compatibility":99,"releases":[{"id":"0100BB200E9BA000","region":null}]},{"id":"727877b9-a38a-44f6-9a13-fbe75813467c","directory":"leisure-suit-larry-wet-dreams-dry-twice","title":"Leisure Suit Larry - Wet Dreams Dry Twice","compatibility":99,"releases":[{"id":"010031A0135CA000","region":null}]},{"id":"727fa0d1-eae4-4395-b2df-ddd80b67b4ff","directory":"tony-hawks-pro-skater-1-2","title":"Tony Hawk's™ Pro Skater™ 1 + 2","compatibility":1,"releases":[{"id":"0100CC00102B4000","region":null}]},{"id":"72920cf4-6e8d-4b1e-9e8e-2b16412f977f","directory":"sublevel-zero-redux","title":"Sublevel Zero Redux","compatibility":99,"releases":[{"id":"0100E6400BCE8000","region":null}]},{"id":"729306f6-1c43-4455-b8ec-cf7c9d4b5e0d","directory":"arcade-archives-super-cobra","title":"Arcade Archives SUPER COBRA","compatibility":99,"releases":[{"id":"0100929013172000","region":null}]},{"id":"729416c8-1b04-4562-a29c-c0b9b6c1973d","directory":"mountain-rescue-simulator","title":"Mountain Rescue Simulator","compatibility":99,"releases":[{"id":"01009DB00D6E0000","region":null}]},{"id":"72a90cd4-0e1c-4c4b-91f9-2f9dc0820bf9","directory":"retrovamp","title":"Retrovamp","compatibility":99,"releases":[{"id":"01000F10123E2000","region":null}]},{"id":"72a9fe91-6479-49ce-96bc-f0daab90943a","directory":"gates-of-hell","title":"Gates Of Hell","compatibility":99,"releases":[{"id":"0100EA001069E000","region":null}]},{"id":"72ad8ded-448e-4ca1-9396-c439752099e3","directory":"dragon-question","title":"Dragon Question","compatibility":99,"releases":[{"id":"010098E0148D6000","region":null}]},{"id":"72b1b493-e157-4874-b58e-f0e469e157f3","directory":"fred3ric","title":"Fred3ric","compatibility":99,"releases":[{"id":"0100AC40108D8000","region":null}]},{"id":"72c5c41f-c7ec-4f25-a372-c5004d62c663","directory":"alien-cruise","title":"Alien Cruise","compatibility":99,"releases":[{"id":"0100A2E00D0E0000","region":null}]},{"id":"72cf715d-27b6-47eb-8dfb-db6db940b70d","directory":"melty-blood-type-lumina-deluxe-edition","title":"MELTY BLOOD: TYPE LUMINA - Deluxe Edition","compatibility":1,"releases":[{"id":"01001E30126A0000","region":null}]},{"id":"72d305b0-85ec-45d0-ab91-82d084ebb81a","directory":"shu","title":"Shu","compatibility":1,"releases":[{"id":"01001DE0076A4000","region":null}]},{"id":"72e995ae-f1dd-46cb-80b5-9ad683ec1825","directory":"azkend-2-the-world-beneath","title":"Azkend 2: The World Beneath","compatibility":4,"releases":[{"id":"0100EB800868C000","region":null}]},{"id":"72f32d02-3709-4612-8083-d4e39fe0674e","directory":"guitar","title":"Guitar","compatibility":1,"releases":[{"id":"0100A2D00EFBE000","region":null}]},{"id":"72fa9b4c-29b1-454e-a9ca-e29e13605f4e","directory":"vampire-the-masquerade-coteries-of-new-york","title":"Vampire: The Masquerade - Coteries of New York","compatibility":99,"releases":[{"id":"010020C00FFB6000","region":null}]},{"id":"73010328-f9dd-424b-b281-2d58b8344aef","directory":"pokemon-cafe-mix","title":"Pokémon Café Mix","compatibility":3,"releases":[{"id":"010072400E04A000","region":null}]},{"id":"7302a1c3-23d3-4a29-8845-d842958b6bd1","directory":"luxar","title":"Luxar","compatibility":99,"releases":[{"id":"0100EC2011A80000","region":null}]},{"id":"73069258-2d70-4cc6-b6d3-838bbe0e99f5","directory":"bibi-blocksberg-big-broom-race-3","title":"Bibi Blocksberg – Big Broom Race 3","compatibility":99,"releases":[{"id":"01005FF00AF36000","region":null}]},{"id":"730caa81-5c1b-4fbc-aa83-ae8085d23863","directory":"gunman-clive-hd-collection","title":"Gunman Clive HD Collection","compatibility":2,"releases":[{"id":"010061000D318000","region":null}]},{"id":"73200036-b9fb-4533-9204-38fe95d14a42","directory":"overland","title":"Overland","compatibility":99,"releases":[{"id":"01000D200C180000","region":null}]},{"id":"732b640c-e529-473a-ac25-308194a5b578","directory":"shantae-half-genie-hero-ultimate-edition","title":"Shantae: Half- Genie Hero Ultimate Edition","compatibility":1,"releases":[{"id":"01006A200936C000","region":null}]},{"id":"7348c891-e19e-42d0-acfd-6ef1c261ed51","directory":"brigandine-the-legend-of-runersia","title":"BRIGANDINE The Legend of Runersia","compatibility":1,"releases":[{"id":"010011000EA7A000","region":null}]},{"id":"7357c282-dbef-413e-929e-64afda2ac984","directory":"jigsaw-solace","title":"JigSaw Solace","compatibility":99,"releases":[{"id":"01009AF0101CC000","region":null}]},{"id":"736ca318-2d17-44fd-b481-502a1e6cd849","directory":"the-original-mobile-games","title":"The Original Mobile Games","compatibility":99,"releases":[{"id":"010085E00C886000","region":null}]},{"id":"73769c70-22b1-4cd4-a98a-88e66c7b3a46","directory":"highschool-romance","title":"Highschool Romance","compatibility":99,"releases":[{"id":"0100944015F78000","region":null}]},{"id":"7379cabc-b4fb-43ba-93cb-db6f2e360665","directory":"pankapu","title":"Pankapu","compatibility":1,"releases":[{"id":"0100635006C32000","region":null}]},{"id":"7381311c-b57c-4a36-b8ae-ab51f31ea72e","directory":"xmas-super-puzzles-dream","title":"#Xmas, Super Puzzles Dream","compatibility":99,"releases":[{"id":"0100D79013828000","region":null}]},{"id":"7386167e-a488-4c07-8c8b-be873114f725","directory":"asdivine-saga","title":"Asdivine Saga","compatibility":99,"releases":[{"id":"0100B7F015BF2000","region":null}]},{"id":"73887c90-61fb-4259-b370-faf91a0fe8e4","directory":"birthday-of-midnight","title":"Birthday of Midnight","compatibility":99,"releases":[{"id":"01009B0012888000","region":null}]},{"id":"7389350d-9afc-4de0-b400-2941ebf2ee4d","directory":"asdivine-dios","title":"Asdivine Dios","compatibility":5,"releases":[{"id":"010054B00D4A2000","region":null}]},{"id":"73898488-0e04-4647-bc91-9c13ecdc1d38","directory":"galactic-trooper-armada","title":"Galactic Trooper Armada","compatibility":99,"releases":[{"id":"01005F3013E16000","region":null}]},{"id":"7392cfe9-a732-4fdb-bd4e-987ca4d1eb6a","directory":"vertical-strike-endless-challenge","title":"VERTICAL STRIKE ENDLESS CHALLENGE","compatibility":99,"releases":[{"id":"0100CA6009888000","region":null}]},{"id":"739bc33a-8fbc-48ce-a897-6c05706a6e37","directory":"korg-gadget-for-nintendo-switch","title":"KORG Gadget for Nintendo Switch","compatibility":4,"releases":[{"id":"0100EC8004762000","region":null}]},{"id":"739f80aa-7fda-4ee2-a3df-47bff3e2decc","directory":"infestor","title":"Infestor","compatibility":99,"releases":[{"id":"010018A012822000","region":null}]},{"id":"73a84984-4416-4290-9895-efa0b84f7b4b","directory":"bakugan-champions-of-vestroia","title":"Bakugan: Champions of Vestroia","compatibility":1,"releases":[{"id":"0100730011BDC000","region":null}]},{"id":"73dc59f9-fc9e-479d-b056-8dfd5dce126a","directory":"digerati-presents-make-it-quick-bundle-vol-1","title":"Digerati Presents: Make It Quick Bundle Vol. 1","compatibility":99,"releases":[{"id":"0100ABD012EF8000","region":null}]},{"id":"73e343f5-8f9e-4d6e-a29c-dccfdfeba503","directory":"flatland-vol-2","title":"FLATLAND Vol. 2","compatibility":99,"releases":[{"id":"01005F50155BE000","region":null}]},{"id":"73ebb799-c7e6-4ee8-a009-88d87585031f","directory":"tennis-open-2020","title":"Tennis Open 2020","compatibility":99,"releases":[{"id":"0100459011750000","region":null}]},{"id":"73f04c30-8424-4665-b06b-1808adf764a7","directory":"vostok-inc","title":"Vostok Inc.","compatibility":99,"releases":[{"id":"01004D8007368000","region":null}]},{"id":"73f2bf11-8fdc-4d81-8b53-38cac6563540","directory":"rip-them-off","title":"Rip Them Off","compatibility":99,"releases":[{"id":"01004BF013BA0000","region":null}]},{"id":"73f5db74-b5d1-4913-93ab-58b4b9198819","directory":"ember","title":"Ember","compatibility":99,"releases":[{"id":"010041A00FEC6000","region":null}]},{"id":"740d88f3-1181-4429-958d-d03ebdd2cc6d","directory":"arcane-arts-academy","title":"Arcane Arts Academy","compatibility":99,"releases":[{"id":"0100D50014AC4000","region":null}]},{"id":"7413f695-7eb0-46cd-94e7-50f024f835ad","directory":"lone-mclonegan-a-western-adventure","title":"Lone McLonegan : A Western Adventure","compatibility":99,"releases":[{"id":"0100939015968000","region":null}]},{"id":"7423b750-a4af-4e2d-bd70-d4ba1838075a","directory":"invisiballs","title":"Invisiballs","compatibility":99,"releases":[{"id":"0100E03009DB8000","region":null}]},{"id":"742a3fc4-8014-405e-8eb4-fe60d83e7348","directory":"life-is-strange-true-colors","title":"Life is Strange: True Colors™","compatibility":3,"releases":[{"id":"0100500012AB4000","region":null}]},{"id":"7439163d-cf3d-41b4-8b25-3fd99721bad0","directory":"angerforce-reloaded-for-nintendo-switch","title":"AngerForce: Reloaded for Nintendo Switch","compatibility":2,"releases":[{"id":"010001E00A5F6000","region":null}]},{"id":"744a4f76-164e-41b1-9467-73e488c4afe4","directory":"fractured-minds","title":"Fractured Minds","compatibility":99,"releases":[{"id":"01004200099F2000","region":null}]},{"id":"744aa82b-c217-4e07-b832-b98a82ec1580","directory":"hunter-shooting-camp","title":"Hunter Shooting Camp","compatibility":99,"releases":[{"id":"0100A2A01586C000","region":null}]},{"id":"744ed22c-52b2-406c-ae16-5d414277f277","directory":"scrap-garden","title":"Scrap Garden","compatibility":99,"releases":[{"id":"01003DF01568C000","region":null}]},{"id":"745f4d59-d1a3-49e1-bdc8-df2902519d92","directory":"disgaea-6-defiance-of-destiny","title":"Disgaea 6: Defiance of Destiny","compatibility":1,"releases":[{"id":"0100ABC013136000","region":null}]},{"id":"7473dd3b-e875-42a1-8cb9-7f04ae487135","directory":"pixel-game-maker-series-block-slime-cave","title":"Pixel Game Maker Series BLOCK SLIME CAVE","compatibility":99,"releases":[{"id":"0100CCA015740000","region":null}]},{"id":"74874e29-f28c-4450-bd8f-67cff475b03e","directory":"super-dragon-ball-heroes-world-mission-launch-edition","title":"SUPER DRAGON BALL HEROES WORLD MISSION - Launch Edition","compatibility":2,"releases":[{"id":"0100E5E00C464000","region":null}]},{"id":"748dc47d-b385-4a27-8f2e-2dbeb45d3e3c","directory":"ben-10","title":"Ben 10","compatibility":3,"releases":[{"id":"01006E1004404000","region":null}]},{"id":"74943d84-e44a-44d2-bdc9-4055b527a98d","directory":"totally-reliable-delivery-service","title":"Totally Reliable Delivery Service","compatibility":2,"releases":[{"id":"0100512010728000","region":null}]},{"id":"74b1bd91-0975-4b90-8571-ed385205eebe","directory":"lost-lands-ice-spell","title":"Lost Lands: Ice Spell","compatibility":99,"releases":[{"id":"01000030151B0000","region":null}]},{"id":"74dd7f60-2294-456d-8a3c-2a301c6ace2d","directory":"1-sudokus","title":"#1 Sudokus","compatibility":99,"releases":[{"id":"0100CDD016BB0000","region":null}]},{"id":"74dec9aa-5833-48b3-aec6-40cacaefffab","directory":"streets-of-rogue","title":"Streets of Rogue","compatibility":0,"releases":[{"id":"01008CD00C222000","region":null}]},{"id":"74ed300f-e911-42d6-9bb4-d7b96edac4c3","directory":"stick-fight-the-game","title":"Stick Fight: The Game","compatibility":99,"releases":[{"id":"0100622009FB0000","region":null}]},{"id":"74edd582-105f-4276-a24f-a7a26cee6b9d","directory":"sinner-sacrifice-for-redemption","title":"SINNER: Sacrifice for Redemption","compatibility":99,"releases":[{"id":"0100B16009C10000","region":null}]},{"id":"74f63fe8-dc49-4148-8f3f-39e01a837c6a","directory":"barbarous-tavern-of-emyr","title":"Barbarous: Tavern of Emyr","compatibility":3,"releases":[{"id":"01003350102E2000","region":null}]},{"id":"74f9d0be-7e99-494d-a877-bc5b5d84bf47","directory":"johnny-turbos-arcade-super-real-darwin","title":"Johnny Turbo's Arcade: Super Real Darwin","compatibility":99,"releases":[{"id":"0100039002CCC000","region":null}]},{"id":"75142432-cbca-4900-8a50-3128e1f4f380","directory":"minoria","title":"Minoria","compatibility":2,"releases":[{"id":"0100FAE010864000","region":null}]},{"id":"752456af-4e23-4730-9960-b58c1e1d1573","directory":"sling-ming","title":"Sling Ming","compatibility":99,"releases":[{"id":"01000F1008C92000","region":null}]},{"id":"752df41f-4c9b-43d5-b536-ad5dd7e51a37","directory":"demons-crystals","title":"Demon's Crystals","compatibility":99,"releases":[{"id":"0100A2B00BD88000","region":null}]},{"id":"7532088c-8fef-4ca9-ae10-a501483cfc27","directory":"rwby-grimm-eclipse-definitive-edition","title":"RWBY: Grimm Eclipse - Definitive Edition","compatibility":2,"releases":[{"id":"0100E21013908000","region":null}]},{"id":"7534c23f-9f37-4909-901b-82676f6fb2f3","directory":"ghost-sweeper","title":"Ghost Sweeper","compatibility":99,"releases":[{"id":"01004B301108C000","region":null}]},{"id":"753bf546-bb22-4174-a56a-df7573426efe","directory":"planescape-torment-and-icewind-dale-enhanced-editions","title":"Planescape: Torment and Icewind Dale: Enhanced Editions","compatibility":4,"releases":[{"id":"010030B00C316000","region":null}]},{"id":"753e39b1-2895-459b-a9d0-c05662ca2f1b","directory":"stardust-galaxy-warriors-stellar-climax","title":"Stardust Galaxy Warriors: Stellar Climax","compatibility":0,"releases":[{"id":"01001B600BC32000","region":null}]},{"id":"7558134f-3f38-4f92-8fa3-5d9140e1ca47","directory":"ziggy-the-chaser","title":"Ziggy the Chaser","compatibility":99,"releases":[{"id":"0100D7B013DD0000","region":null}]},{"id":"7558cdee-eff9-4222-aff1-55cad928a9f5","directory":"metal-slug-1st-2nd-mission-double-pack","title":"\"METAL SLUG 1st & 2nd MISSION\" Double Pack","compatibility":1,"releases":[{"id":"0100F2B012E62000","region":null}]},{"id":"7559c776-15a9-4713-9c8b-a7e8ef45c40d","directory":"dead-z-meat","title":"Dead Z Meat","compatibility":99,"releases":[{"id":"0100A24011F52000","region":null}]},{"id":"755f4749-1280-4858-98f4-b5ff3078f743","directory":"spirit-arena","title":"Spirit Arena","compatibility":99,"releases":[{"id":"010001B01398C000","region":null}]},{"id":"7569633a-bc6f-485e-8354-066f46b42d2d","directory":"foreclosed","title":"FORECLOSED","compatibility":0,"releases":[{"id":"0100AE001256E000","region":null}]},{"id":"756b2b3c-5e86-4e9c-b79f-bc993fdbbfca","directory":"the-long-reach","title":"The Long Reach","compatibility":4,"releases":[{"id":"010052B003A38000","region":null}]},{"id":"75801358-1334-4b88-b185-b514ed924734","directory":"reason-casual-puzzle","title":"Reason - Casual Puzzle","compatibility":99,"releases":[{"id":"01003AD011E36000","region":null}]},{"id":"759ce230-d96b-4b79-bf6f-9cebd0dd4a43","directory":"bob-help-them","title":"Bob Help Them","compatibility":99,"releases":[{"id":"010081E013F1E000","region":null}]},{"id":"759ef931-54e9-48b2-acb4-1a18c770e061","directory":"unblock-brick","title":"Unblock Brick","compatibility":99,"releases":[{"id":"0100BAD01452C000","region":null}]},{"id":"759f1734-93c1-4193-aebf-3c84ffcd6736","directory":"dogurai","title":"Dogurai","compatibility":0,"releases":[{"id":"010077B0100DA000","region":null}]},{"id":"75a04e0a-ade1-459d-a755-81aa6bb39005","directory":"strike-daz-cans","title":"Strike Daz Cans","compatibility":99,"releases":[{"id":"0100A4B015380000","region":null}]},{"id":"75b841a1-ca83-4d28-a9ec-aa6e053aa4f9","directory":"dirt-bike-insanity","title":"Dirt Bike Insanity","compatibility":99,"releases":[{"id":"0100A8A013DA4000","region":null}]},{"id":"75b8f699-3d33-4fdb-8983-ed92e4cfbae3","directory":"dangerous-relationship","title":"Dangerous Relationship","compatibility":99,"releases":[{"id":"01008680118BA000","region":null}]},{"id":"75bd253c-c94d-4f73-b68d-05139e69bc13","directory":"instant-sports-tennis","title":"INSTANT SPORTS TENNIS","compatibility":99,"releases":[{"id":"010031B0145B8000","region":null}]},{"id":"75bd92b3-3816-460a-a492-8a346f66820b","directory":"resident-evil-6","title":"Resident Evil 6","compatibility":0,"releases":[{"id":"01002A000CD48000","region":null}]},{"id":"75bf33ab-afb1-4499-84f8-7e4f816cba8c","directory":"autobahn-polizei-simulator-2-nintendo-switch-edition","title":"Autobahn Polizei Simulator 2 - Nintendo Switch™ Edition","compatibility":99,"releases":[{"id":"0100913015928000","region":null}]},{"id":"75cda4dc-e3ad-492d-a308-9ae3b15f7953","directory":"cant-drive-this","title":"Can't Drive This","compatibility":1,"releases":[{"id":"0100593008BDC000","region":null}]},{"id":"75da3ba1-2a31-4edb-9942-96834c94df6e","directory":"conglomerate-451-overloaded","title":"Conglomerate 451: Overloaded","compatibility":99,"releases":[{"id":"01008DE0121F4000","region":null}]},{"id":"75dcfc0e-043d-484c-9a66-17983a74095e","directory":"swords-souls-neverseen","title":"Swords & Souls: Neverseen","compatibility":99,"releases":[{"id":"01006B0014CAA000","region":null}]},{"id":"76092898-2eb3-4274-bd9c-35aac4cd5154","directory":"my-friend-peppa-pig","title":"My Friend Peppa Pig","compatibility":1,"releases":[{"id":"01008C9014694000","region":null}]},{"id":"760e2db6-c6a7-4476-9ff6-d2f742dd5b04","directory":"cubicity","title":"Cubicity","compatibility":3,"releases":[{"id":"010040D011D04000","region":null}]},{"id":"7612c37d-7359-4396-aa28-ab190ed1eaa1","directory":"fight","title":"Fight","compatibility":99,"releases":[{"id":"0100995013404000","region":null}]},{"id":"761c6381-c513-4f51-94c3-30e479203806","directory":"sea-king-hunter","title":"Sea King Hunter","compatibility":1,"releases":[{"id":"0100B0C00EBB2000","region":null}]},{"id":"762014e4-38da-485c-b58f-7e3128a8bacf","directory":"inkypen","title":"InkyPen","compatibility":99,"releases":[{"id":"01003A200BD8A000","region":null}]},{"id":"76209785-8504-49fc-9513-f68169ab461d","directory":"toki","title":"Toki","compatibility":1,"releases":[{"id":"0100F3400A432000","region":null}]},{"id":"76257989-c8b7-429c-bb9d-5528e6330ebe","directory":"space-moth-lunar-edition","title":"Space Moth Lunar Edition","compatibility":1,"releases":[{"id":"01005B6015B9E000","region":null}]},{"id":"762bff2b-b6b2-41c0-a317-6e293495b25d","directory":"shovel-knight-shovel-of-hope","title":"Shovel Knight: Shovel of Hope","compatibility":0,"releases":[{"id":"01002D2011850000","region":null}]},{"id":"76384cec-eb70-4209-9c14-a3fe8a6d5982","directory":"godly-corp","title":"Godly Corp","compatibility":1,"releases":[{"id":"010014900D744000","region":null}]},{"id":"76390df2-a963-4b91-a58e-862bb64a4453","directory":"olympia-soiree","title":"Olympia Soirée","compatibility":0,"releases":[{"id":"0100A910143B2000","region":null}]},{"id":"763f1616-a3b6-445d-8ef0-274f68bfe49a","directory":"gotcha-racing-2nd","title":"Gotcha Racing 2nd","compatibility":99,"releases":[{"id":"0100E8D007E16000","region":null}]},{"id":"76417c73-8eb3-4c6d-bac9-e78534ac8d0c","directory":"sega-ages-herzog-zwei","title":"SEGA AGES Herzog Zwei","compatibility":0,"releases":[{"id":"010029900E314000","region":null}]},{"id":"7648c956-fa19-446b-9110-8e5dfba765c3","directory":"hampuzz","title":"Hampuzz","compatibility":99,"releases":[{"id":"0100D85016326000","region":null}]},{"id":"764e2202-0410-4276-9a35-f868ad141920","directory":"puyo-puyo-champions","title":"Puyo Puyo Champions","compatibility":0,"releases":[{"id":"0100AAE00CAB4000","region":null}]},{"id":"765e1ce1-9cd1-45de-a01f-4f9b5f30a15f","directory":"marble-it-up","title":"Marble It Up!","compatibility":2,"releases":[{"id":"0100B5B00693E000","region":null}]},{"id":"76681c81-06e3-477b-a11d-996711fe228d","directory":"oceanhorn-monster-of-uncharted-seas-demo","title":"Oceanhorn - Monster of Uncharted Seas Demo","compatibility":99,"releases":[{"id":"010090B005150000","region":null}]},{"id":"7670f760-7061-4ff6-81e0-5dd3e21372cd","directory":"the-touryst","title":"The Touryst","compatibility":4,"releases":[{"id":"0100C3300D8C4000","region":null}]},{"id":"76740756-f256-4108-ac3e-45ca087adc9c","directory":"lost-lands-mistakes-of-the-past","title":"Lost Lands: Mistakes of the Past","compatibility":99,"releases":[{"id":"01002EE0151C0000","region":null}]},{"id":"7676fcfc-de5f-432d-aab5-06e2a7adb750","directory":"city-of-brass","title":"City of Brass","compatibility":1,"releases":[{"id":"01009BC00B872000","region":null}]},{"id":"767e0369-1265-4b6d-bce7-42e34958fb36","directory":"1979-revolution-black-friday","title":"1979 Revolution: Black Friday","compatibility":1,"releases":[{"id":"0100D1000B18C000","region":null}]},{"id":"768e1e75-dd26-48cd-8639-839371b6b695","directory":"death-squared","title":"Death Squared","compatibility":1,"releases":[{"id":"010085900337E000","region":null}]},{"id":"769b4832-3088-4630-9098-f1c0d7e5c524","directory":"ikenfell","title":"Ikenfell","compatibility":99,"releases":[{"id":"010040900AF46000","region":null}]},{"id":"769cc6f8-fafb-404f-ac74-b8439a362fe8","directory":"mist-hunter","title":"Mist Hunter","compatibility":99,"releases":[{"id":"010059200CC40000","region":null}]},{"id":"769f428f-c1db-43b3-8cca-8cabae016447","directory":"dungeontop","title":"DungeonTop","compatibility":99,"releases":[{"id":"01004A0013790000","region":null}]},{"id":"76a5b0ce-c628-4911-a118-8d9d06537a94","directory":"murder-house","title":"Murder House","compatibility":99,"releases":[{"id":"010032C015DA0000","region":null}]},{"id":"76b0c1c1-a7ca-4f91-aa77-673bd1ecd0cd","directory":"a-sound-plan","title":"A Sound Plan","compatibility":99,"releases":[{"id":"0100F0901006C000","region":null}]},{"id":"76b643b0-4f6c-4d2e-9305-3d1b082f525f","directory":"shadow-corridor","title":"Shadow Corridor","compatibility":99,"releases":[{"id":"010015C015712000","region":null}]},{"id":"76bd4938-9cb2-41ce-8ae8-d7cfa3cbcc25","directory":"tokyo-dark-remembrance","title":"Tokyo Dark – Remembrance –","compatibility":4,"releases":[{"id":"01003E500F962000","region":null}]},{"id":"76c421dc-02a1-4ec8-b154-79ef917b9e70","directory":"toy-stunt-bike-tiptops-trials-demo","title":"Toy Stunt Bike: Tiptop's Trials (Demo)","compatibility":99,"releases":[{"id":"010072800B1FC000","region":null}]},{"id":"7717b340-8ed0-4134-9e04-b451b7990678","directory":"crimzon-clover-world-explosion","title":"Crimzon Clover - World EXplosion","compatibility":0,"releases":[{"id":"01006B800DE26000","region":null}]},{"id":"77244957-f72b-481d-9e71-bf39cccf0dea","directory":"dodonpachi-resurrection","title":"DoDonPachi Resurrection","compatibility":1,"releases":[{"id":"01005A001489A000","region":null}]},{"id":"7730c9bd-1b1e-4fc1-a5a6-4e8513574242","directory":"circuit-dude","title":"Circuit Dude","compatibility":99,"releases":[{"id":"0100BE7010610000","region":null}]},{"id":"7732c621-2a22-4691-9517-3cf8b67a6655","directory":"monster-jam-steel-titans","title":"Monster Jam Steel Titans","compatibility":99,"releases":[{"id":"010095C00F354000","region":null}]},{"id":"77411f44-ab66-4eb8-aecf-56b8a4509c29","directory":"pop-the-bubbles","title":"Pop the Bubbles","compatibility":99,"releases":[{"id":"0100068011DB0000","region":null}]},{"id":"774875ce-2ec3-4fcd-8a09-964c9f22147f","directory":"wish-travel-super-puzzles-dream","title":"#Wish travel, Super Puzzles Dream","compatibility":99,"releases":[{"id":"01007A20150A0000","region":null}]},{"id":"775a45a7-199b-4168-8de2-f57352e1358c","directory":"total-arcade-racing","title":"Total Arcade Racing","compatibility":1,"releases":[{"id":"0100A64010D48000","region":null}]},{"id":"776ecff7-d178-4253-ba95-7941fe1b911b","directory":"lust-for-darkness-dawn-edition","title":"Lust for Darkness: Dawn Edition","compatibility":99,"releases":[{"id":"0100F0B00F68E000","region":null}]},{"id":"7787fe67-634f-4d04-aadc-5319b9a704fe","directory":"night-in-the-woods","title":"Night in the Woods","compatibility":1,"releases":[{"id":"0100921006A04000","region":null}]},{"id":"7794b06c-8591-4359-a5e7-5a8a361bbda2","directory":"iris-school-of-wizardry-vinculum-hearts-","title":"Iris School of Wizardry -Vinculum Hearts-","compatibility":2,"releases":[{"id":"0100AD300B786000","region":null}]},{"id":"779f6883-9021-4c1e-b944-98926ed11124","directory":"steredenn-binary-stars","title":"Steredenn: Binary Stars","compatibility":0,"releases":[{"id":"0100775004794000","region":null}]},{"id":"77a55641-4fc8-4a78-b4df-732d31c6bbb8","directory":"new-york-mysteries-secrets-of-the-mafia","title":"New York Mysteries: Secrets of the Mafia","compatibility":99,"releases":[{"id":"01001250157C2000","region":null}]},{"id":"77ab0417-54c9-4838-a542-98dd7527f4c4","directory":"colsword","title":"Colsword","compatibility":99,"releases":[{"id":"0100D730161DA000","region":null}]},{"id":"77b1715d-0404-4589-b4a7-33f7d55f72c3","directory":"mega-man-x-legacy-collection","title":"Mega Man X Legacy Collection","compatibility":2,"releases":[{"id":"01005C60086BE000","region":null}]},{"id":"77b341b8-999d-4012-a49c-5ca62d14debf","directory":"junk-jack","title":"Junk Jack","compatibility":99,"releases":[{"id":"010043901005A000","region":null}]},{"id":"77b92a0d-df96-4736-a2ff-1ea0583f12d8","directory":"rush-rally-3","title":"Rush Rally 3","compatibility":3,"releases":[{"id":"010020900E7A8000","region":null}]},{"id":"77b98eb0-21ab-42f4-858f-05b76a620c49","directory":"let-it-roll-slide-puzzle","title":"Let it roll slide puzzle","compatibility":99,"releases":[{"id":"0100421014FBE000","region":null}]},{"id":"77ce575a-4220-4bef-8c4f-5d115db7e332","directory":"arcade-archives-alpine-ski","title":"Arcade Archives ALPINE SKI","compatibility":4,"releases":[{"id":"010083800DC70000","region":null}]},{"id":"77d41423-3200-46aa-9c1d-561d0782e436","directory":"rez-plz","title":"REZ PLZ","compatibility":2,"releases":[{"id":"010071D00F156000","region":null}]},{"id":"77de47d9-7e86-47c6-bb8d-dda64fc951ae","directory":"sheep-patrol","title":"Sheep Patrol","compatibility":99,"releases":[{"id":"0100A7D010524000","region":null}]},{"id":"77df7f5a-627a-4581-912c-d3af715cf615","directory":"feathery-ears","title":"Feathery Ears","compatibility":2,"releases":[{"id":"01006C3011C56000","region":null}]},{"id":"77e513b9-623d-48bf-b881-7e84fd03e74f","directory":"mega-mall-story-2","title":"Mega Mall Story 2","compatibility":99,"releases":[{"id":"010030200EC42000","region":null}]},{"id":"7808823b-b8d5-4e89-8d24-4ff2e0f9e682","directory":"active-neurons-3-wonders-of-the-world","title":"Active Neurons 3 - Wonders Of The World","compatibility":99,"releases":[{"id":"0100EE1013E12000","region":null}]},{"id":"780ff123-c929-486d-86dd-22f6d766ca39","directory":"boreal-blade","title":"Boreal Blade","compatibility":99,"releases":[{"id":"01008E500AFF6000","region":null}]},{"id":"7819e854-2280-47e5-bf25-620907789edd","directory":"water-balloon-mania","title":"Water Balloon Mania","compatibility":99,"releases":[{"id":"0100B79011F06000","region":null}]},{"id":"78249993-6324-43df-a6bd-a0b516905adb","directory":"farming-simulator-20","title":"Farming Simulator 20","compatibility":1,"releases":[{"id":"0100EB600E914000","region":null}]},{"id":"7826735e-c7ad-4401-aa29-a768a9ceef5c","directory":"evolution-board-game","title":"Evolution Board Game","compatibility":4,"releases":[{"id":"01006A800FA22000","region":null}]},{"id":"78293f3d-0f3b-4842-bc81-f452ef66a8f5","directory":"rocket-wars","title":"Rocket Wars","compatibility":99,"releases":[{"id":"0100E88009A34000","region":null}]},{"id":"7829c948-e841-4290-a9bc-d6702079f554","directory":"leisure-suit-larry-wet-dreams-dont-dry","title":"Leisure Suit Larry - Wet Dreams Don't Dry","compatibility":0,"releases":[{"id":"0100A8E00CAA0000","region":null}]},{"id":"782c75b9-2d3c-4c02-b59b-3423cc765718","directory":"atelier-ryza-ever-darkness-and-the-secret-hideout","title":"Atelier Ryza: Ever Darkness & the Secret Hideout","compatibility":2,"releases":[{"id":"0100D1900EC80000","region":null}]},{"id":"78311ddd-51d1-440d-a471-8626d18aa61d","directory":"foodtruck-arena","title":"Foodtruck Arena","compatibility":99,"releases":[{"id":"010043E01476A000","region":null}]},{"id":"7836a044-af78-4ec8-a2af-6f00823ed351","directory":"football-drama","title":"Football Drama","compatibility":99,"releases":[{"id":"01003C101481E000","region":null}]},{"id":"78378c79-8a15-49aa-9cab-c7ec02aff40c","directory":"endless-fables-shadow-within","title":"Endless Fables: Shadow Within","compatibility":99,"releases":[{"id":"0100117015AE4000","region":null}]},{"id":"783af029-e5e9-415f-97c1-f4ff06aa07b9","directory":"adrenaline-rush-miami-drive","title":"Adrenaline Rush - Miami Drive","compatibility":99,"releases":[{"id":"010029700EB76000","region":null}]},{"id":"7841e683-3274-4a36-b329-3bb0381317aa","directory":"jigsaw-masterpieces-ex-kawaii-cute-goddesses","title":"Jigsaw Masterpieces EX - Kawaii Cute Goddesses -","compatibility":99,"releases":[{"id":"0100FEF015F74000","region":null}]},{"id":"786ef356-e8e0-4603-98ef-cd5aa397d282","directory":"night-call","title":"Night Call","compatibility":99,"releases":[{"id":"0100F3A0095A6000","region":null}]},{"id":"787fe3e4-0526-4926-9723-335b00ed08ce","directory":"retro-classix-2-in-1-pack-gate-of-doom-wizard-fire","title":"Retro Classix 2-in-1 Pack: Gate of Doom & Wizard Fire","compatibility":99,"releases":[{"id":"0100F38012182000","region":null}]},{"id":"788342f2-d87d-4530-bc5b-c70264f5f5ae","directory":"voxel-shot-for-nintendo-switch","title":"Voxel Shot for Nintendo Switch","compatibility":99,"releases":[{"id":"01003A300B5F8000","region":null}]},{"id":"788bf697-b983-469e-ad2a-5fa3434540fd","directory":"zumatch","title":"Zumatch","compatibility":99,"releases":[{"id":"0100203014E78000","region":null}]},{"id":"78933525-ef96-459e-8280-639420c18945","directory":"rbi-baseball-17","title":"R.B.I. Baseball 17","compatibility":4,"releases":[{"id":"0100B5A004302000","region":null}]},{"id":"789d8716-683f-4169-b063-230a93ccfda9","directory":"air-missions-hind","title":"Air Missions: HIND","compatibility":0,"releases":[{"id":"0100C9E00F54C000","region":null}]},{"id":"78a648f1-f582-4465-afed-7d10cdb86747","directory":"circa-infinity-ultimate-edition","title":"Circa Infinity Ultimate Edition","compatibility":99,"releases":[{"id":"010005F016964000","region":null}]},{"id":"78aaa857-86e6-4709-bcb5-13196581136f","directory":"rift-adventure","title":"Rift Adventure","compatibility":99,"releases":[{"id":"0100F5501483C000","region":null}]},{"id":"78abe25e-0444-4e7b-982a-7e67ba818176","directory":"fat-city","title":"Fat City","compatibility":99,"releases":[{"id":"01001CC00CB54000","region":null}]},{"id":"78af8ecd-ea97-4454-9356-ba804dffc99a","directory":"valthirian-arc-hero-school-story","title":"Valthirian Arc: Hero School Story","compatibility":1,"releases":[{"id":"010042100BAA6000","region":null}]},{"id":"78b19138-1520-45e6-a50d-90cb17ff6a17","directory":"zombie-gold-rush","title":"ZOMBIE GOLD RUSH","compatibility":1,"releases":[{"id":"0100CFE003A64000","region":null}]},{"id":"78b297e2-2932-4c17-b77a-a01e42e566fd","directory":"deaths-door","title":"Death's Door","compatibility":0,"releases":[{"id":"0100B31015AF8000","region":null}]},{"id":"78b3c439-001f-474b-8c3a-0b97d6ef42c1","directory":"sudoky","title":"Sudoky","compatibility":99,"releases":[{"id":"0100A68011B0A000","region":null}]},{"id":"78c54dc6-c35d-40c9-84e3-5716c4f3226b","directory":"epic-astro-story","title":"Epic Astro Story","compatibility":0,"releases":[{"id":"0100AE300D496000","region":null}]},{"id":"78c9b2a6-68c6-4c2c-9955-6f7da018be0a","directory":"cloudbase-prime","title":"Cloudbase Prime","compatibility":99,"releases":[{"id":"010023800FE12000","region":null}]},{"id":"78d1856c-c97f-4e90-920a-8c25c92ee031","directory":"biolab-wars","title":"Biolab Wars","compatibility":99,"releases":[{"id":"0100AEC010052000","region":null}]},{"id":"78d514f4-3387-47f8-b537-3afc2af49d05","directory":"itta","title":"ITTA","compatibility":5,"releases":[{"id":"010068700C70A000","region":null}]},{"id":"78d51611-b18f-4528-9c00-b44ca2b5f7db","directory":"aery-a-journey-beyond-time","title":"Aery – A Journey Beyond Time","compatibility":0,"releases":[{"id":"0100DF8014056000","region":null}]},{"id":"78dc17cb-baf1-47c5-96fb-fd51793143bf","directory":"oniken-unstoppable-edition","title":"Oniken: Unstoppable Edition","compatibility":99,"releases":[{"id":"010037900C814000","region":null}]},{"id":"78dff127-ce20-490f-ba9d-9e8daa165226","directory":"damascus-gear-operation-osaka","title":"Damascus Gear Operation Osaka","compatibility":99,"releases":[{"id":"0100A8000E228000","region":null}]},{"id":"78e57fd6-39fa-4b67-a630-4f55a0366b4f","directory":"racing-xtreme-2","title":"Racing Xtreme 2","compatibility":99,"releases":[{"id":"0100F580157FE000","region":null}]},{"id":"78ebbe30-6574-42a7-8ec4-256980ce8fc7","directory":"3d-arcade-fishing","title":"3D Arcade Fishing","compatibility":99,"releases":[{"id":"010010C013F2A000","region":null}]},{"id":"78f57de2-322a-4110-a100-788907a30e65","directory":"fatal-fury-first-contact","title":"FATAL FURY FIRST CONTACT","compatibility":99,"releases":[{"id":"010059B012E60000","region":null}]},{"id":"78fa7ff2-6238-4e06-8a00-58e67f69c711","directory":"warriors-orochi-4","title":"WARRIORS OROCHI 4","compatibility":99,"releases":[{"id":"010016A00AEC0000","region":null}]},{"id":"79054240-8f3b-45e1-96fa-6825a220496d","directory":"knights-and-bikes","title":"Knights and Bikes","compatibility":99,"releases":[{"id":"0100B7000D89E000","region":null}]},{"id":"790d8a32-7ba7-4d5c-bde9-c63db89a0582","directory":"mad-age-and-this-guy","title":"Mad Age & This Guy","compatibility":99,"releases":[{"id":"01008E300C88A000","region":null}]},{"id":"790e92b9-1527-41ee-9d76-1feb3b496041","directory":"extreme-trucks-simulator","title":"Extreme Trucks Simulator","compatibility":99,"releases":[{"id":"010097800F1B4000","region":null}]},{"id":"791484bd-54fe-4706-8711-1f5291712e1e","directory":"ninja-village","title":"Ninja Village","compatibility":0,"releases":[{"id":"010090600CB98000","region":null}]},{"id":"7916799f-1d67-4842-8084-eb53f5a68f33","directory":"lambs-on-the-road-the-beginning","title":"Lambs on the road : The Beginning","compatibility":99,"releases":[{"id":"01005160151EE000","region":null}]},{"id":"7921cdd9-c99d-42e8-8b08-8a9ae3f1f8a5","directory":"perception","title":"Perception","compatibility":99,"releases":[{"id":"0100563005B70000","region":null}]},{"id":"792345c3-e580-44a6-b5f5-9c14a8e549e5","directory":"plantera-deluxe-demo","title":"Plantera Deluxe Demo","compatibility":99,"releases":[{"id":"010003D00867A000","region":null}]},{"id":"792f6d86-2800-4571-95b5-6a14cf844982","directory":"dragon-quest-r-xi-s-echoes-of-an-elusive-age-definitive-edition","title":"DRAGON QUEST® XI S: Echoes of an Elusive Age – Definitive Edition","compatibility":2,"releases":[{"id":"01006C300E9F0000","region":null}]},{"id":"7933be16-45ba-4690-8bf9-3ec47ea2fb4e","directory":"g-mode-archives29-zanac","title":"G-MODE Archives29 ZANAC","compatibility":99,"releases":[{"id":"0100FD7013470000","region":null}]},{"id":"7939d5d7-31be-490c-8ae2-1560c76b524f","directory":"ohsir-the-hollywood-roast","title":"Oh...Sir! The Hollywood Roast","compatibility":99,"releases":[{"id":"0100F45006A00000","region":null}]},{"id":"794544d0-d89b-48bd-b1b9-207fb64c1f11","directory":"the-card-poker-texas-hold-em-blackjack-and-page-one","title":"THE Card: Poker, Texas hold 'em, Blackjack and Page One","compatibility":3,"releases":[{"id":"0100EB600AB5E000","region":null}]},{"id":"794f5cb2-3088-4240-ba71-7c654364032b","directory":"wulverblade","title":"Wulverblade","compatibility":99,"releases":[{"id":"010033700418A000","region":null}]},{"id":"79527c87-23b9-4a52-a19c-22e97474e478","directory":"cinders","title":"Cinders","compatibility":99,"releases":[{"id":"01009AC00D5F4000","region":null}]},{"id":"79687c95-1ead-44e2-b3d1-4aaad514fd28","directory":"dc-universe-online","title":"DC Universe Online","compatibility":99,"releases":[{"id":"01005B000D786000","region":null}]},{"id":"7972c10c-efd1-4f70-b2c3-8315fe7a9a24","directory":"baila-latino","title":"Baila Latino","compatibility":99,"releases":[{"id":"010076B011EC8000","region":null}]},{"id":"7974dc1b-e068-4a30-a7ed-5293c46a6756","directory":"adventure-pinball-bundle","title":"Adventure Pinball Bundle","compatibility":99,"releases":[{"id":"0100C990102A0000","region":null}]},{"id":"7974e4d3-9d78-4947-b634-eb6544f76a39","directory":"capes-escape-game-2nd-room","title":"Cape's Escape Game 2nd room","compatibility":99,"releases":[{"id":"0100F04013F5E000","region":null}]},{"id":"7990e99b-df10-4fe2-9f92-cf9d2b159c16","directory":"gaokaolove100days","title":"Gaokao.Love.100Days","compatibility":0,"releases":[{"id":"010091400B596000","region":null}]},{"id":"7991aec3-4b61-42c6-b067-3eeb542da244","directory":"overcooked-2","title":"Overcooked! 2","compatibility":0,"releases":[{"id":"01006FD0080B2000","region":null}]},{"id":"79a6ad7c-a5fc-42b4-9c6a-cf310214bb99","directory":"aca-neogeo-world-heroes","title":"ACA NEOGEO WORLD HEROES","compatibility":99,"releases":[{"id":"01002DD004FAC000","region":null}]},{"id":"79b1907a-bbae-45eb-9768-4374438194aa","directory":"the-pew-pew-bundle-vol-1","title":"The Pew Pew Bundle Vol. 1","compatibility":99,"releases":[{"id":"0100EE50122BC000","region":null}]},{"id":"79bbf3e3-8fe3-437b-9973-94073ab18100","directory":"pukan-bye-bye","title":"Pukan, Bye-Bye!","compatibility":99,"releases":[{"id":"010061601676A000","region":null}]},{"id":"79c52382-f4c4-4113-91e9-9374e23d6a2e","directory":"aca-neogeo-money-puzzle-exchanger","title":"ACA NEOGEO Money Puzzle Exchanger","compatibility":4,"releases":[{"id":"010038F00AFA0000","region":null}]},{"id":"79d30161-fbac-4d25-bdc6-ddb82aa19dbc","directory":"stranger-things-3-the-game","title":"Stranger Things 3: The Game","compatibility":0,"releases":[{"id":"0100DD600DD48000","region":null}]},{"id":"79d6d383-a128-46d8-a262-b63a43bcfb2c","directory":"nuclien","title":"Nuclien","compatibility":99,"releases":[{"id":"01005140089F6000","region":null}]},{"id":"79dc4834-dcbf-4bea-acb4-a360696e0cc2","directory":"black-jack","title":"Black Jack","compatibility":99,"releases":[{"id":"010045C011DE6000","region":null}]},{"id":"79e85666-26ce-4a61-ac6f-bc8c4c3ea917","directory":"all-star-fruit-racing","title":"All-Star Fruit Racing","compatibility":3,"releases":[{"id":"0100C1F00A9B8000","region":null}]},{"id":"79f95c8a-304f-4081-8856-36a32d84b75b","directory":"venture-towns-demo","title":"Venture Towns Demo","compatibility":99,"releases":[{"id":"010083D00D170000","region":null}]},{"id":"79fe62d0-6b5b-4769-ab73-6e4b5d0e40ea","directory":"the-escapists-2","title":"The Escapists 2","compatibility":2,"releases":[{"id":"0100CA100489C000","region":null}]},{"id":"7a03c48c-7ed7-4c16-85bc-271911d658b6","directory":"sega-genesis-nintendo-switch-online","title":"SEGA Genesis™ – Nintendo Switch Online","compatibility":2,"releases":[{"id":"0100B3C014BDA000","region":null}]},{"id":"7a066f1f-0ca8-4b87-95f8-e0a32f47a9b8","directory":"kosmonavtes-escape-reality","title":"Kosmonavtes: Escape Reality","compatibility":99,"releases":[{"id":"0100C890159AA000","region":null}]},{"id":"7a0b06fd-d7f6-4063-9d27-9dc66bddd103","directory":"royal-tower-defense","title":"Royal Tower Defense","compatibility":99,"releases":[{"id":"0100132013678000","region":null}]},{"id":"7a1d6eb9-8b7a-430e-8e70-e337edc1bb07","directory":"railway-empire-nintendo-switch-edition","title":"Railway Empire - Nintendo Switch™ Edition","compatibility":99,"releases":[{"id":"01002EE00DC02000","region":null}]},{"id":"7a22c5ea-a1cb-45ad-9bf5-63ef5c326a05","directory":"family-tree","title":"Family Tree","compatibility":99,"releases":[{"id":"01007BA00F0E6000","region":null}]},{"id":"7a2539ff-09ff-4726-abd8-50cee2df0364","directory":"weaving-tides","title":"Weaving Tides","compatibility":99,"releases":[{"id":"0100823012CA0000","region":null}]},{"id":"7a3627bd-106f-46ee-9097-fe8fc0f3dc50","directory":"him-her-3","title":"HIM & HER 3","compatibility":99,"releases":[{"id":"010000E0161BC000","region":null}]},{"id":"7a39cd2c-cc4c-4f39-9e84-e2d10c710520","directory":"longstory-a-dating-game-for-the-real-world","title":"LongStory: A dating game for the real world","compatibility":99,"releases":[{"id":"0100A4300B4FC000","region":null}]},{"id":"7a3bc69d-a4f2-44cb-b7ab-bab586195c99","directory":"mujo","title":"MUJO","compatibility":0,"releases":[{"id":"0100A8400471A000","region":null}]},{"id":"7a3e0e39-725d-455a-a65b-2c6462c65a8e","directory":"lets-sing-queen","title":"Let's Sing Queen","compatibility":0,"releases":[{"id":"01003CE011A86000","region":null}]},{"id":"7a461dd5-6477-4010-95fe-32e64e4f8a5c","directory":"winds-of-change","title":"Winds Of Change","compatibility":99,"releases":[{"id":"01001D2013756000","region":null}]},{"id":"7a53fbc5-9f43-4b4e-af26-1f328157c247","directory":"emergency-driver-simulator","title":"Emergency Driver Simulator","compatibility":99,"releases":[{"id":"0100382016A0E000","region":null}]},{"id":"7a56e78b-271e-49ca-8017-e978c662357e","directory":"dreamball","title":"DreamBall","compatibility":5,"releases":[{"id":"010034D00F330000","region":null}]},{"id":"7a5db389-7a6b-472b-952a-7db286fff362","directory":"sudoku-relax","title":"Sudoku Relax","compatibility":99,"releases":[{"id":"010027B00DDF4000","region":null}]},{"id":"7a6659d4-bdba-4f3a-9ff8-c22a63ef514a","directory":"unforeseen-incidents","title":"Unforeseen Incidents","compatibility":99,"releases":[{"id":"010052800DB46000","region":null}]},{"id":"7a79e5fb-0436-42df-afcd-1f295f6bf6c4","directory":"dungeon-encounters","title":"DUNGEON ENCOUNTERS","compatibility":99,"releases":[{"id":"0100328013BCA000","region":null}]},{"id":"7a8322a2-e338-4d1f-a281-abdc53b35722","directory":"arcade-archives-kangaroo","title":"Arcade Archives Kangaroo","compatibility":99,"releases":[{"id":"0100141011CF2000","region":null}]},{"id":"7a986ec7-12da-422a-b390-628087857ba2","directory":"dragon-ball-xenoverse-2-lite-version","title":"DRAGON BALL XENOVERSE 2 Lite Version","compatibility":99,"releases":[{"id":"0100B9F00B58E000","region":null}]},{"id":"7a98ae90-3381-4b4a-b600-5e0e4e06a06a","directory":"valiant-hearts-the-great-war","title":"Valiant Hearts: The Great War","compatibility":0,"releases":[{"id":"010099700B01A000","region":null}]},{"id":"7aaacb97-3772-46d1-a66f-5501a954d1e7","directory":"kolumno","title":"Kolumno","compatibility":99,"releases":[{"id":"01002EF013734000","region":null}]},{"id":"7aabcfd4-955c-41f0-8e47-f865e2f75dab","directory":"construction-site-driver","title":"Construction Site Driver","compatibility":99,"releases":[{"id":"010000E016DDE000","region":null}]},{"id":"7aac18eb-9bb9-4d13-833b-6b0c02c1f756","directory":"spacejacked","title":"Spacejacked","compatibility":99,"releases":[{"id":"010084500EA2E000","region":null}]},{"id":"7ab2d687-3f85-42b2-8d6d-68eec39e7209","directory":"ladders-by-powgi","title":"Ladders by POWGI","compatibility":99,"releases":[{"id":"0100E26014312000","region":null}]},{"id":"7ab994b8-e28c-4495-a546-48b4e80f3f18","directory":"fairy-tale-puzzlesmagic-objects","title":"Fairy Tale Puzzles~Magic Objects~","compatibility":0,"releases":[{"id":"010072E00B36A000","region":null}]},{"id":"7abc85e5-05d2-4f41-9fa8-94b4ed129eee","directory":"bear-with-me-the-lost-robots","title":"Bear With Me: The Lost Robots","compatibility":0,"releases":[{"id":"010020700DE04000","region":null}]},{"id":"7ac8a1df-ab8b-4ea0-afd4-89105428e53e","directory":"minefield","title":"Minefield","compatibility":99,"releases":[{"id":"0100B7500F756000","region":null}]},{"id":"7add49f4-a227-4d18-9cac-2f95ff604780","directory":"arcade-archives-dragon-buster","title":"Arcade Archives DRAGON BUSTER","compatibility":99,"releases":[{"id":"0100130015E0E000","region":null}]},{"id":"7ae74068-df81-4ed6-b9bb-791a96fad7d1","directory":"bulb-boy","title":"Bulb Boy","compatibility":99,"releases":[{"id":"01006F900473A000","region":null}]},{"id":"7aeb9dec-2ea4-4e67-b6df-b24182716135","directory":"lfo-lost-future-omega-","title":"L.F.O. -Lost Future Omega-","compatibility":1,"releases":[{"id":"0100732009CAE000","region":null}]},{"id":"7aece9e7-9c60-4e20-bc8e-d5dcdda2c770","directory":"stray-cat-doors2","title":"Stray Cat Doors2","compatibility":1,"releases":[{"id":"010035D014B96000","region":null}]},{"id":"7af61d88-5fb0-4bb9-b3d0-5547625ce48f","directory":"it-came-from-space-and-ate-our-brains","title":"It came from space and ate our brains","compatibility":99,"releases":[{"id":"01002E501015A000","region":null}]},{"id":"7b0b3cbb-c6f5-4f77-8a52-e97b597f5a6f","directory":"ubermosh-omega","title":"UBERMOSH:OMEGA","compatibility":99,"releases":[{"id":"0100DBA0109C2000","region":null}]},{"id":"7b0b9425-032d-4894-aeda-18b023db5277","directory":"sniper-elite-3-ultimate-edition","title":"Sniper Elite 3 Ultimate Edition","compatibility":2,"releases":[{"id":"010075A00BA14000","region":null}]},{"id":"7b0cd6ac-56e3-469f-9ef8-ddc4f703a9e1","directory":"mad-father","title":"Mad Father","compatibility":3,"releases":[{"id":"01005E7013476000","region":null}]},{"id":"7b1eaae6-efdb-4161-8343-8a4d5043dc9a","directory":"cattails","title":"Cattails","compatibility":0,"releases":[{"id":"010004400B28A000","region":null}]},{"id":"7b29514b-ac90-4c97-bf6f-05725aa37905","directory":"brawlhalla","title":"Brawlhalla","compatibility":4,"releases":[{"id":"0100C6800B934000","region":null}]},{"id":"7b2a397f-c023-4cd4-880d-a8c1b73953f8","directory":"word-wheel-by-powgi","title":"Word Wheel by POWGI","compatibility":99,"releases":[{"id":"01002A600E346000","region":null}]},{"id":"7b374e5d-eee1-4321-923b-dcf06ef6dc9c","directory":"rainbow-billy-the-curse-of-the-leviathan","title":"Rainbow Billy: The Curse of the Leviathan","compatibility":99,"releases":[{"id":"0100235014746000","region":null}]},{"id":"7b3feb41-8cc8-411a-a1a9-7a89247b145f","directory":"wolfenstein-youngblood","title":"Wolfenstein: Youngblood","compatibility":4,"releases":[{"id":"01003BD00CAAE000","region":null}]},{"id":"7b4186f8-b94e-4dcc-87ac-c157c2d370be","directory":"her-love-in-the-force","title":"Her Love in the Force","compatibility":99,"releases":[{"id":"0100A9001317E000","region":null}]},{"id":"7b4992d4-c556-482d-888d-84310d9ec377","directory":"king-of-seas","title":"King of Seas","compatibility":99,"releases":[{"id":"0100C17010BF2000","region":null}]},{"id":"7b58e725-4a0a-4ed6-a306-2b65da41f811","directory":"assault-chainguns-km","title":"Assault ChaingunS KM","compatibility":99,"releases":[{"id":"0100BF8012A30000","region":null}]},{"id":"7b646591-5c6b-4029-8a3b-20f2a550a167","directory":"pantsu-hunter-back-to-the-90s","title":"Pantsu Hunter: Back to the 90s","compatibility":2,"releases":[{"id":"010006E00DFAE000","region":null}]},{"id":"7b77adfd-de92-4364-a41e-2cbedc45c619","directory":"table-tennis","title":"Table Tennis","compatibility":99,"releases":[{"id":"0100CB00125B6000","region":null}]},{"id":"7b7f40fa-d014-4b0e-9cd7-ac4b9238fd60","directory":"romancing-saga-2","title":"Romancing SaGa 2","compatibility":1,"releases":[{"id":"01001F600829A000","region":null}]},{"id":"7b7f9a91-0069-418e-96b4-abda2ae03297","directory":"world-quiz","title":"World Quiz","compatibility":99,"releases":[{"id":"0100099016862000","region":null}]},{"id":"7b849bb6-603e-40f8-b5b3-fa17a808a518","directory":"gunslugs-2","title":"Gunslugs 2","compatibility":99,"releases":[{"id":"010062A013914000","region":null}]},{"id":"7b9bdec0-e037-4614-980c-529d53ee3e18","directory":"mars-horizon","title":"Mars Horizon","compatibility":1,"releases":[{"id":"010044701191E000","region":null}]},{"id":"7ba0b379-5de7-4ff5-baaa-8fe8842f84ae","directory":"falcon-age","title":"Falcon Age","compatibility":99,"releases":[{"id":"0100C3F011B58000","region":null}]},{"id":"7bba659c-bc5b-4fc3-85a0-496a82bafdfa","directory":"cuccchi","title":"Cuccchi","compatibility":99,"releases":[{"id":"0100F5F015AE0000","region":null}]},{"id":"7bbda616-f194-419a-8bcf-6f8e81b410d1","directory":"superola-and-the-lost-burgers","title":"Superola and the Lost Burgers","compatibility":99,"releases":[{"id":"010033C009E46000","region":null}]},{"id":"7bc3f7e6-b7af-4841-9b06-6c885bf6c458","directory":"just-dance-2020","title":"Just Dance 2020","compatibility":0,"releases":[{"id":"0100DDB00DB38000","region":null}]},{"id":"7bcc572d-05d6-4bff-8cf8-8863cd1d7c63","directory":"electro-ride-the-neon-racing","title":"Electro Ride: The Neon Racing","compatibility":99,"releases":[{"id":"0100C6301324C000","region":null}]},{"id":"7bceeab2-e6ad-45b7-8a3d-d9c0ad3e3d0a","directory":"crawlco-block-knockers","title":"Crawlco Block Knockers","compatibility":99,"releases":[{"id":"0100148012F7A000","region":null}]},{"id":"7bcff2f0-d162-45a1-93d3-95909fdae1a7","directory":"the-lost-cube","title":"The Lost Cube","compatibility":99,"releases":[{"id":"01000F2013CF8000","region":null}]},{"id":"7bd1980e-fcdf-4a76-81e8-62165e1fa4dd","directory":"pretty-girls-panic-plus","title":"Pretty Girls Panic! PLUS","compatibility":99,"releases":[{"id":"01001E3014D46000","region":null}]},{"id":"7bd3a460-b545-4821-8483-b1b9c292bb66","directory":"thy-sword","title":"Thy Sword","compatibility":1,"releases":[{"id":"01000AC011588000","region":null}]},{"id":"7bd84f9a-99a1-4111-9ed5-68c89ac204a6","directory":"bit-trip-void","title":"BIT.TRIP VOID","compatibility":99,"releases":[{"id":"01000AD012D3A000","region":null}]},{"id":"7c003c6c-c604-47b4-b21b-e384d926e500","directory":"axiom-verge-2","title":"Axiom Verge 2","compatibility":1,"releases":[{"id":"01002FC010240000","region":null}]},{"id":"7c06cd3a-2437-4b57-ae6a-aa92e88d426d","directory":"puzzle-car","title":"Puzzle Car","compatibility":99,"releases":[{"id":"01004AF01590C000","region":null}]},{"id":"7c212262-014c-4af3-a1f6-acc61c24b10f","directory":"in-rays-of-the-light","title":"In rays of the Light","compatibility":99,"releases":[{"id":"0100A760129A0000","region":null}]},{"id":"7c22e0fb-5aaf-42d3-ab43-b3b1330085d0","directory":"reel-fishing-road-trip-adventure","title":"Reel Fishing: Road Trip Adventure","compatibility":99,"releases":[{"id":"010007C00E558000","region":null}]},{"id":"7c2af0a6-926c-4d73-b628-8835cfa0f6f1","directory":"super-one-more-jump-demo","title":"Super One More Jump Demo","compatibility":99,"releases":[{"id":"010088F00AD80000","region":null}]},{"id":"7c418840-86e5-4b23-9f6f-1acaa513f216","directory":"bot-vice","title":"Bot Vice","compatibility":4,"releases":[{"id":"010065C00CD98000","region":null}]},{"id":"7c47580e-e8ec-49dc-8305-bb2e8b5463cf","directory":"titan-quest","title":"Titan Quest","compatibility":2,"releases":[{"id":"0100605008268000","region":null}]},{"id":"7c4b6b7f-9888-40ad-bc60-fc46cd655543","directory":"free-throw-basketball","title":"Free Throw Basketball","compatibility":99,"releases":[{"id":"0100865014246000","region":null}]},{"id":"7c4cb465-e05e-46f1-8ec2-e454ad9678aa","directory":"ghost-sync","title":"Ghost Sync","compatibility":99,"releases":[{"id":"0100F41015BF4000","region":null}]},{"id":"7c4fc628-d321-44c3-8c6d-3a64189a7726","directory":"naruto-shippuden-ultimate-ninja-storm-trilogy","title":"NARUTO SHIPPUDEN: Ultimate Ninja Storm Trilogy","compatibility":2,"releases":[{"id":"0100EC800800C000","region":null}]},{"id":"7c54382a-a14f-4867-810f-410483a54991","directory":"undermine","title":"UnderMine","compatibility":2,"releases":[{"id":"01000B3012F3A000","region":null}]},{"id":"7c5c8795-c337-407a-877d-528877328673","directory":"return-of-the-heir","title":"Return of the Heir","compatibility":99,"releases":[{"id":"01009AA014736000","region":null}]},{"id":"7c68c27e-b4c7-4e36-a665-b7dff85ea7e9","directory":"megadimension-neptunia-vii","title":"Megadimension Neptunia VII","compatibility":3,"releases":[{"id":"010006F011220000","region":null}]},{"id":"7c719b65-24d7-4a59-ad93-fd8073b652dd","directory":"ravensword-shadowlands","title":"Ravensword: Shadowlands","compatibility":99,"releases":[{"id":"0100957013E26000","region":null}]},{"id":"7c7299fe-1076-434a-a715-f9c5b9b230a4","directory":"onirike","title":"Onirike","compatibility":99,"releases":[{"id":"0100F150141DC000","region":null}]},{"id":"7c8cc74d-78fb-44cd-9df5-abbffea696c3","directory":"world-of-goo","title":"World of Goo","compatibility":0,"releases":[{"id":"010009E001D90000","region":null}]},{"id":"7c9e1018-5f6d-4d63-8fac-effa2c803713","directory":"galak-z-variant-s","title":"GALAK-Z: Variant S","compatibility":4,"releases":[{"id":"0100C9800A454000","region":null}]},{"id":"7ca5daac-71f2-449e-bcb8-6585ec6a3acb","directory":"tales-from-the-borderlands","title":"Tales from the Borderlands","compatibility":99,"releases":[{"id":"0100F0C011A68000","region":null}]},{"id":"7cab2c93-8bfe-431e-bdfd-7569e7b2b8ed","directory":"feral-fury","title":"Feral Fury","compatibility":2,"releases":[{"id":"010097E00ADC2000","region":null}]},{"id":"7cb0a6af-ab0d-4720-b2aa-3a64a24face1","directory":"mosaic","title":"Mosaic","compatibility":0,"releases":[{"id":"010032800D740000","region":null}]},{"id":"7cb3e542-b2ce-43ed-9728-65382a36d4d0","directory":"gunkid-99","title":"GUNKID 99","compatibility":99,"releases":[{"id":"0100B79014D66000","region":null}]},{"id":"7cb5c946-e745-4c38-9f80-b0858da98804","directory":"family-tennis-sp","title":"Family Tennis SP","compatibility":3,"releases":[{"id":"010049A00F5AC000","region":null}]},{"id":"7cc4d6ca-b39b-47ed-a55f-56a5936432b2","directory":"epistory-typing-chronicles","title":"Epistory - Typing Chronicles","compatibility":99,"releases":[{"id":"0100DA50128BE000","region":null}]},{"id":"7cc83c93-1458-40dc-a477-ad490976d3cd","directory":"ghost-files-memory-of-a-crime","title":"Ghost Files: Memory of a Crime","compatibility":3,"releases":[{"id":"0100046011AE6000","region":null}]},{"id":"7cceceee-fdcc-49ae-be1c-9d526e9af6b9","directory":"toki-tori-2-demo","title":"Toki Tori 2+ Demo","compatibility":99,"releases":[{"id":"010087E00B0E6000","region":null}]},{"id":"7ce569f9-0b1d-4d14-b776-6d42150ba382","directory":"clue-the-classic-mystery-game","title":"Clue: The Classic Mystery Game","compatibility":0,"releases":[{"id":"010029400CA20000","region":null}]},{"id":"7ced507e-c293-412d-baea-442fd8c01c87","directory":"inksplosion","title":"InkSplosion","compatibility":99,"releases":[{"id":"010039E00A15E000","region":null}]},{"id":"7cfde255-5b32-4522-a9a7-504dcc5b3de6","directory":"royal-adviser","title":"Royal Adviser","compatibility":99,"releases":[{"id":"0100ADF00C630000","region":null}]},{"id":"7d088358-9ae7-48f3-837f-254d4f1e82f7","directory":"sin-slayers","title":"Sin Slayers","compatibility":0,"releases":[{"id":"01006FE010438000","region":null}]},{"id":"7d0c2879-3978-4b60-bada-4974533dac0e","directory":"cannon-army","title":"CANNON ARMY","compatibility":99,"releases":[{"id":"01006400155DC000","region":null}]},{"id":"7d0f285b-c540-46a1-89a4-54995a2174dc","directory":"gakuen-club","title":"Gakuen Club","compatibility":99,"releases":[{"id":"010052900B8EE000","region":null}]},{"id":"7d13ca64-ddce-4fb6-bb5e-37ee72cdc40e","directory":"trancelation","title":"Trancelation","compatibility":99,"releases":[{"id":"0100DBF0110EE000","region":null}]},{"id":"7d2d44b0-4bfa-4e0d-85e9-3568d925ed14","directory":"ultra-hat-dimension","title":"Ultra Hat Dimension","compatibility":99,"releases":[{"id":"01002D4012222000","region":null}]},{"id":"7d345d2d-7cc5-407a-be74-cb3f75c2275d","directory":"western-1849-reloaded","title":"Western 1849 Reloaded","compatibility":99,"releases":[{"id":"010085F00B93A000","region":null}]},{"id":"7d5189f4-02c8-42d0-ab5b-ab26fd1bee01","directory":"waking-violet","title":"Waking Violet","compatibility":99,"releases":[{"id":"0100C160071B8000","region":null}]},{"id":"7d5b6912-96fe-4006-a388-0152c274611d","directory":"famicom-detective-club-the-missing-heir","title":"Famicom Detective Club™: The Missing Heir","compatibility":0,"releases":[{"id":"010033F0126F4000","region":null}]},{"id":"7d665eb7-e934-4ad8-9739-04e0266e03b4","directory":"epic-loon","title":"Epic Loon","compatibility":5,"releases":[{"id":"0100262009626000","region":null}]},{"id":"7d685512-0ce6-49f5-a7b1-c5dbb0d18cf2","directory":"kirakira-stars-idol-project-memories","title":"Kirakira stars idol project Memories","compatibility":99,"releases":[{"id":"01005BD015A3C000","region":null}]},{"id":"7d6aa409-8c60-49a4-baf7-57c8d05e1af4","directory":"rico-london","title":"RICO: London","compatibility":99,"releases":[{"id":"0100DD80146F0000","region":null}]},{"id":"7d72f140-8d96-4be7-9afc-4cea04cd4f87","directory":"bright-paw","title":"Bright Paw","compatibility":1,"releases":[{"id":"0100E0E0121D6000","region":null}]},{"id":"7d7f9f9e-1aa6-48b0-bf65-a77f77c2057b","directory":"where-the-bees-make-honey","title":"Where the Bees Make Honey","compatibility":99,"releases":[{"id":"01000C000C966000","region":null}]},{"id":"7d7fa6b9-4e32-4a33-a90c-727064eb94a6","directory":"ash-of-gods-redemption","title":"Ash of Gods: Redemption","compatibility":99,"releases":[{"id":"0100E4C00DE30000","region":null}]},{"id":"7d86c677-165a-4be4-960a-cb64ff497ebd","directory":"story-of-seasons-friends-of-mineral-town","title":"STORY OF SEASONS: Friends of Mineral Town","compatibility":1,"releases":[{"id":"0100ED400EEC2000","region":null}]},{"id":"7d9ef1ee-12a3-4671-9d3f-b56778e54b72","directory":"dungeon-escape","title":"Dungeon Escape","compatibility":99,"releases":[{"id":"01000BC0140C6000","region":null}]},{"id":"7db2f2da-022a-46af-9336-05742fe61d83","directory":"streets-of-red-devils-dare-deluxe","title":"Streets of Red - Devil's Dare Deluxe","compatibility":0,"releases":[{"id":"0100C1700A9F0000","region":null}]},{"id":"7db49f1f-8743-49dc-bbbd-9794c66a8f2f","directory":"castle-pals","title":"Castle Pals","compatibility":99,"releases":[{"id":"0100DA2011F18000","region":null}]},{"id":"7dbe4991-ed81-4ecf-af67-eb96a20d1d0d","directory":"skelittle-a-giant-party","title":"Skelittle: A Giant Party!","compatibility":99,"releases":[{"id":"01008E700F952000","region":null}]},{"id":"7dc5743c-b185-4aae-adc9-f919b55e0579","directory":"arcade-archives-ninja-gaiden","title":"Arcade Archives NINJA GAIDEN","compatibility":4,"releases":[{"id":"01003EF00D3B4000","region":null}]},{"id":"7dd4053c-0e8e-43fd-8c08-fe021c0d777b","directory":"vostok-inc-demo","title":"Vostok Inc. Demo","compatibility":99,"releases":[{"id":"010044200A112000","region":null}]},{"id":"7dd83b96-a3ed-4ce5-9210-6d50223043fb","directory":"sakura-in-gameland","title":"Sakura In Gameland","compatibility":99,"releases":[{"id":"01002D20129EC000","region":null}]},{"id":"7debf5b9-33fa-4f0d-8c27-36ccae2a865f","directory":"battlesloths","title":"BATTLESLOTHS","compatibility":99,"releases":[{"id":"010044E00D97C000","region":null}]},{"id":"7df1590e-a384-4a58-a807-053d9e43e1da","directory":"daylife-in-japan-pixel-art-jigsaw-puzzle","title":"Daylife in Japan - Pixel Art Jigsaw Puzzle","compatibility":99,"releases":[{"id":"010086A013904000","region":null}]},{"id":"7df5f68f-bfe6-484a-94df-f3f4ac9f3a09","directory":"60-seconds","title":"60 Seconds!","compatibility":3,"releases":[{"id":"0100969005E98000","region":null}]},{"id":"7df8b6b5-f6f4-4b92-a943-dcace0c9af53","directory":"arcade-archives-lightning-fighters","title":"Arcade Archives LIGHTNING FIGHTERS","compatibility":1,"releases":[{"id":"0100043011CEC000","region":null}]},{"id":"7dfd8e27-836b-405b-ac35-591eb28000b6","directory":"moai-vi-unexpected-guests","title":"Moai VI: Unexpected Guests","compatibility":99,"releases":[{"id":"010020400BDD2000","region":null}]},{"id":"7e10f785-0ba0-41d4-aa39-8c07255317c2","directory":"anime-studio-story","title":"Anime Studio Story","compatibility":99,"releases":[{"id":"010062500EB84000","region":null}]},{"id":"7e167dd4-0777-4856-9a94-6bbfdae9b6a6","directory":"the-prince-of-landis","title":"The Prince of Landis","compatibility":99,"releases":[{"id":"010058C015B82000","region":null}]},{"id":"7e1c0abb-2aa9-4706-af42-3b7a75d03145","directory":"red-wings-aces-of-the-sky","title":"Red Wings: Aces of the Sky","compatibility":1,"releases":[{"id":"0100D8A00E880000","region":null}]},{"id":"7e20b883-226f-4566-af97-197ded7f07ec","directory":"season-match-3-curse-of-the-witch-crow","title":"Season Match 3: Curse of the Witch Crow","compatibility":99,"releases":[{"id":"0100C8E00BDCE000","region":null}]},{"id":"7e2b3d64-eb38-4581-bc77-be8f14033fe2","directory":"son-of-a-witch","title":"Son of a Witch","compatibility":99,"releases":[{"id":"0100AD000B9AC000","region":null}]},{"id":"7e2ccd7c-6d0a-491b-b823-d159cee604c9","directory":"chasm","title":"Chasm","compatibility":0,"releases":[{"id":"0100DE200C350000","region":null}]},{"id":"7e338255-8be7-4215-9c75-7f816927bc54","directory":"jet-set-knights","title":"Jet Set Knights","compatibility":0,"releases":[{"id":"01005C1012C22000","region":null}]},{"id":"7e37d6f6-5e73-434b-97f5-a25bcec5de82","directory":"johnny-turbos-arcade-bad-dudes","title":"Johnny Turbo's Arcade: Bad Dudes","compatibility":5,"releases":[{"id":"01006E4003832000","region":null}]},{"id":"7e4160b3-5036-433b-9f8a-3a8ad697181c","directory":"forest-guardian","title":"Forest Guardian","compatibility":99,"releases":[{"id":"0100E9B01243C000","region":null}]},{"id":"7e4523d3-59cb-4632-9cd4-71ac674fe3c7","directory":"collection-of-mana","title":"Collection of Mana","compatibility":1,"releases":[{"id":"01002A600D7FC000","region":null}]},{"id":"7e474a55-1c18-43b5-8a99-d1817b3bb44b","directory":"duped","title":"Duped","compatibility":99,"releases":[{"id":"01008AE00E95C000","region":null}]},{"id":"7e5193ea-34ec-4ed3-aa0c-0b1f21a6e1ec","directory":"eldest-souls","title":"Eldest Souls","compatibility":2,"releases":[{"id":"010093C00F30A000","region":null}]},{"id":"7e5a6768-bce0-4ea8-9a4c-c9c110fd78a5","directory":"sonic-colors-ultimate","title":"Sonic Colors: Ultimate","compatibility":1,"releases":[{"id":"010040E0116B8000","region":null}]},{"id":"7e5babe1-bc2f-456b-807f-77e73dec762a","directory":"trailer-trashers","title":"Trailer Trashers","compatibility":99,"releases":[{"id":"0100EB701117A000","region":null}]},{"id":"7e5ed3cb-2207-4f96-8221-b42519fdbe67","directory":"squeakers-ii","title":"Squeakers II","compatibility":99,"releases":[{"id":"0100BD80153BC000","region":null}]},{"id":"7e60059d-eaf6-4172-bb9d-584c17d54734","directory":"arcade-archives-burnin-rubber","title":"Arcade Archives BURNIN' RUBBER","compatibility":0,"releases":[{"id":"01003B4012478000","region":null}]},{"id":"7e653402-b065-4e9c-95e3-181276e6d735","directory":"lets-play-oink-games","title":"Let’s Play! Oink Games","compatibility":99,"releases":[{"id":"01001A8015506000","region":null}]},{"id":"7e79633e-d726-4788-831e-253424eafc59","directory":"super-crate-box","title":"Super Crate Box","compatibility":0,"releases":[{"id":"0100B2D00C63A000","region":null}]},{"id":"7e7caf45-d127-4cbe-98c0-637c970ccbb5","directory":"arcade-archives-route-16","title":"Arcade Archives ROUTE 16","compatibility":99,"releases":[{"id":"010060000BF7C000","region":null}]},{"id":"7e864b90-a58c-4fe0-b48f-814409d55131","directory":"arcade-archives-ben-bero-beh","title":"Arcade Archives BEN BERO BEH","compatibility":99,"releases":[{"id":"01004D0012D28000","region":null}]},{"id":"7e9cf58b-5649-4b64-a5b9-b3890be5b3f8","directory":"football-manager-2021-touch","title":"Football Manager 2021 Touch","compatibility":5,"releases":[{"id":"01007CF013152000","region":null}]},{"id":"7eae988b-9ee9-4c82-9021-7f1cedb742dc","directory":"mega-man-legacy-collection","title":"Mega Man Legacy Collection","compatibility":2,"releases":[{"id":"01002D4007AE0000","region":null}]},{"id":"7eb071d1-f760-4e13-80d6-786c74fdc0f7","directory":"pokemon-quest","title":"Pokémon Quest","compatibility":1,"releases":[{"id":"01005D100807A000","region":null}]},{"id":"7ebc9f3d-e64e-4086-b66e-4f94bd053cae","directory":"pixel-game-maker-series-biggerman-io","title":"Pixel Game Maker Series Biggerman.io","compatibility":99,"releases":[{"id":"0100AD9016C6C000","region":null}]},{"id":"7ec587d0-6a79-475a-927d-7de2ae8adb65","directory":"tamashii","title":"Tamashii","compatibility":99,"releases":[{"id":"010012800EE3E000","region":null}]},{"id":"7ed6a71a-34d2-4940-b17f-a3695086af77","directory":"sparkle-3-genesis","title":"Sparkle 3 Genesis","compatibility":99,"releases":[{"id":"01005E200A3AC000","region":null}]},{"id":"7edffeb1-c595-43b0-9701-8abf82b1fbf6","directory":"undertale","title":"Undertale","compatibility":1,"releases":[{"id":"010080B00AD66000","region":null}]},{"id":"7ee00a32-f7f9-48d0-b9f8-3390a6df1a3f","directory":"a-dark-room","title":"A Dark Room","compatibility":99,"releases":[{"id":"010021D00D53E000","region":null}]},{"id":"7efc10cd-5948-48db-9a41-e94e68da84d4","directory":"north","title":"NORTH","compatibility":99,"releases":[{"id":"01004840086FE000","region":null}]},{"id":"7f06e839-7cd8-4625-a703-ecc4f656d00a","directory":"summer-in-mara","title":"Summer in Mara","compatibility":1,"releases":[{"id":"0100A130109B2000","region":null}]},{"id":"7f61e657-0704-4700-b19d-1c7c70c0034c","directory":"dead-ground","title":"Dead Ground","compatibility":99,"releases":[{"id":"010075C013AA0000","region":null}]},{"id":"7f6281b5-ec35-4522-bca9-c59d249b465c","directory":"6souls","title":"6Souls","compatibility":99,"releases":[{"id":"0100421016BF2000","region":null}]},{"id":"7f6650e1-b271-4f04-ab9a-39bb121f996d","directory":"o-o","title":"O---O","compatibility":99,"releases":[{"id":"01002E6014FC4000","region":null}]},{"id":"7f678dbd-70c3-424c-90ee-afa68eb62cfc","directory":"apocalipsis-wormwood-edition","title":"Apocalipsis Wormwood Edition","compatibility":1,"releases":[{"id":"01008FC00C5BC000","region":null}]},{"id":"7f6fd53a-a1bb-4851-b38b-3c2100a01c1c","directory":"strange-brigade","title":"Strange Brigade","compatibility":4,"releases":[{"id":"01001DC012E7E000","region":null}]},{"id":"7f7a7505-d5a7-41a7-b4c2-f079309dccd1","directory":"march-to-a-million","title":"March to a Million","compatibility":99,"releases":[{"id":"010097500E552000","region":null}]},{"id":"7f806ffd-8a0b-4b83-a5be-67aaf082f107","directory":"what-the-box","title":"What the Box?","compatibility":99,"releases":[{"id":"010066F00DD50000","region":null}]},{"id":"7f8ca5b1-4bfd-47ab-be31-e6ef40ed59cf","directory":"innerspace","title":"InnerSpace","compatibility":0,"releases":[{"id":"0100F200049C8000","region":null}]},{"id":"7f97e748-0eb3-4f2a-a208-138f5d397afb","directory":"arcade-archives-ninja-kid-ii","title":"Arcade Archives Ninja-Kid II","compatibility":4,"releases":[{"id":"0100D3F009810000","region":null}]},{"id":"7f992364-9576-4902-b054-eeee29cbae00","directory":"ultimate-custom-night","title":"Ultimate Custom Night","compatibility":99,"releases":[{"id":"010033500E444000","region":null}]},{"id":"7fa3b028-8212-4c15-aaa0-0767ac4dcad8","directory":"hot-gimmick-cosplay-jong-for-nintendo-switch","title":"Hot Gimmick Cosplay-jong for Nintendo Switch","compatibility":99,"releases":[{"id":"010025A00AACE000","region":null}]},{"id":"7faf0569-72f5-4909-b3d4-bd574060d1c8","directory":"ninja-buddy-epic-quest","title":"Ninja Buddy Epic Quest","compatibility":99,"releases":[{"id":"0100573013D46000","region":null}]},{"id":"7fc9e74f-94df-472a-a33d-52b368f24883","directory":"tales-of-the-tiny-planet","title":"Tales of the Tiny Planet","compatibility":1,"releases":[{"id":"0100408007078000","region":null}]},{"id":"7fcc120b-ef19-4ec0-96d1-0b5c5c60eee4","directory":"ghost-of-a-tale","title":"Ghost of a Tale","compatibility":3,"releases":[{"id":"0100D140112BC000","region":null}]},{"id":"7fd3d3e1-dfd2-4f0e-9cf0-c3424d681a2e","directory":"avenger-bird","title":"Avenger Bird","compatibility":99,"releases":[{"id":"010016300D172000","region":null}]},{"id":"7fdecffb-a163-4bd7-8026-62f854d707fc","directory":"geminose-animal-popstars","title":"Geminose Animal Popstars","compatibility":99,"releases":[{"id":"0100DBC013492000","region":null}]},{"id":"7fe6ef8f-4dcb-4021-8553-3a2775f3688d","directory":"warplanes-ww1-sky-aces","title":"Warplanes: WW1 Sky Aces","compatibility":99,"releases":[{"id":"01005E201301A000","region":null}]},{"id":"7ff4bfe4-94b8-4a0b-a811-545e11c6dd4f","directory":"earthworms-demo","title":"Earthworms Demo","compatibility":99,"releases":[{"id":"0100E3500BD84000","region":null}]},{"id":"8010d5cc-6505-4a47-9f59-6f4c2679c62c","directory":"milanoir","title":"Milanoir","compatibility":3,"releases":[{"id":"0100CFF0048D2000","region":null}]},{"id":"8019aa5b-b85a-43c5-9352-cbdddf281d2d","directory":"danger-scavenger","title":"Danger Scavenger","compatibility":99,"releases":[{"id":"0100EFA013E7C000","region":null}]},{"id":"801b6009-d079-41ed-9da8-d1029843484a","directory":"skyland-rush-air-raid-attack","title":"Skyland Rush - Air Raid Attack","compatibility":99,"releases":[{"id":"0100CAC011F46000","region":null}]},{"id":"801cd70a-f406-465c-b331-d5b616050dae","directory":"desktop-soccer-trial-edition","title":"Desktop Soccer Trial Edition","compatibility":99,"releases":[{"id":"010047300CB92000","region":null}]},{"id":"80393f41-219f-4ca5-8a29-39f551f71519","directory":"outlast-bundle-of-terror","title":"Outlast: Bundle of Terror","compatibility":1,"releases":[{"id":"01008D4007A1E000","region":null}]},{"id":"803cc555-aa83-4331-9121-54f1bbc2bbcf","directory":"super-wiloo-demake","title":"Super Wiloo Demake","compatibility":99,"releases":[{"id":"010076300EE80000","region":null}]},{"id":"803d72e1-c6e4-4dc7-ac68-b0182c48fe8f","directory":"johnny-turbos-arcade-two-crude-dudes","title":"Johnny Turbo's Arcade: Two Crude Dudes","compatibility":4,"releases":[{"id":"010080D002CC6000","region":null}]},{"id":"803e401e-2611-476e-a449-92190b107737","directory":"wild-horror-pinball","title":"Wild & Horror Pinball","compatibility":99,"releases":[{"id":"0100D0A0164C6000","region":null}]},{"id":"8041204d-4f52-4081-8571-fc644a701460","directory":"jigsaw-finale","title":"Jigsaw Finale","compatibility":99,"releases":[{"id":"01007B201621A000","region":null}]},{"id":"804481dd-6a32-4775-b80e-a3f8290cd245","directory":"silver-chains","title":"Silver Chains","compatibility":1,"releases":[{"id":"0100074010E74000","region":null}]},{"id":"806224c3-bed3-4084-8602-efeac41f493e","directory":"city-bus-driving-simulator","title":"City Bus Driving Simulator","compatibility":99,"releases":[{"id":"01005E501284E000","region":null}]},{"id":"806c712b-cf74-4185-80fa-65c56bd3f50d","directory":"one-last-memory","title":"One Last Memory","compatibility":99,"releases":[{"id":"0100C19015F0C000","region":null}]},{"id":"8079e5ad-1c6d-4c80-97e0-c5cc04074b1e","directory":"isolomus","title":"Isolomus","compatibility":99,"releases":[{"id":"010001F0145A8000","region":null}]},{"id":"807b7f06-ca22-4ba0-afdb-1bfc44ec9fd1","directory":"hexologic","title":"Hexologic","compatibility":99,"releases":[{"id":"010016300A95A000","region":null}]},{"id":"807c53b4-968a-4888-bffc-064be78aaa4b","directory":"boot-hill-bounties","title":"Boot Hill Bounties","compatibility":99,"releases":[{"id":"0100D5900B4CA000","region":null}]},{"id":"807fe4d3-e4e0-4f52-9008-2327b6ccb083","directory":"atelier-sophie-the-alchemist-of-the-mysterious-book-dx","title":"Atelier Sophie: The Alchemist of the Mysterious Book DX","compatibility":2,"releases":[{"id":"0100D8701421C000","region":null}]},{"id":"80808b12-ce36-46ff-a4d0-97191e820fcf","directory":"mutant-year-zero-road-to-eden-deluxe-edition","title":"Mutant Year Zero: Road to Eden - Deluxe Edition","compatibility":99,"releases":[{"id":"0100E6B00DEA4000","region":null}]},{"id":"80910432-d4da-4869-9a12-acc8c400e85e","directory":"my-universe-fashion-boutique","title":"My Universe - Fashion Boutique","compatibility":99,"releases":[{"id":"0100F71011A0A000","region":null}]},{"id":"80ab008f-3327-4bc0-a376-0fd30337ac4b","directory":"farmer-sim-2020","title":"Farmer Sim 2020","compatibility":3,"releases":[{"id":"01001BB00F20E000","region":null}]},{"id":"80bf96df-f2fc-471e-b487-c32999a8b8b2","directory":"i-am-dead","title":"I Am Dead","compatibility":99,"releases":[{"id":"0100E6501145E000","region":null}]},{"id":"80c61888-d1a4-4861-849b-9a4647af210e","directory":"pillar","title":"Pillar","compatibility":99,"releases":[{"id":"010098500D532000","region":null}]},{"id":"80d3b4f8-5a4f-49a6-8906-4863162fb2bb","directory":"find-10-differences","title":"Find 10 Differences","compatibility":99,"releases":[{"id":"010046801537E000","region":null}]},{"id":"80d5c6c6-5fbc-4041-8146-8b2d56036dcc","directory":"the-first-tree","title":"The First Tree","compatibility":0,"releases":[{"id":"010098800A1E4000","region":null}]},{"id":"80e307cc-0d46-413f-a331-2d726de900c4","directory":"30-in-1-game-collection","title":"30-in-1 Game Collection","compatibility":99,"releases":[{"id":"010056D00E234000","region":null}]},{"id":"80e9da6c-1ec9-4aae-8e07-0e02ac0505b8","directory":"wilmots-warehouse","title":"Wilmot's Warehouse","compatibility":99,"releases":[{"id":"010071F00D65A000","region":null}]},{"id":"80eea466-cfd5-445d-b9ee-dd2cc21a06c0","directory":"monster-truck-xt-airport-derby","title":"Monster Truck XT Airport Derby","compatibility":0,"releases":[{"id":"01000460144B4000","region":null}]},{"id":"80ff340b-7988-414f-9708-22d4ee5ab123","directory":"sushi-reversi","title":"SUSHI REVERSI","compatibility":99,"releases":[{"id":"01005AB01119C000","region":null}]},{"id":"810b8530-916d-4452-8623-9ebc5aa8d6d4","directory":"dininho-adventures","title":"Dininho Adventures","compatibility":2,"releases":[{"id":"01002E4011924000","region":null}]},{"id":"81277741-1405-49a3-a544-085948b1c868","directory":"townscaper","title":"Townscaper","compatibility":99,"releases":[{"id":"01001260143FC000","region":null}]},{"id":"812a7c12-9679-4651-8a14-8274f1efe8a3","directory":"ty-the-tasmanian-tiger-hd","title":"TY the Tasmanian Tiger HD","compatibility":3,"releases":[{"id":"010038400C2FE000","region":null}]},{"id":"8136c93a-e17b-4899-9e39-2ad2aa9e4c66","directory":"romeow-in-the-cracked-world","title":"Romeow: in the cracked world","compatibility":99,"releases":[{"id":"0100DE9016798000","region":null}]},{"id":"8137e65f-985d-4e57-addf-f4a6978361bb","directory":"hunters-legacy-purrfect-edition","title":"Hunter's Legacy: Purrfect Edition","compatibility":99,"releases":[{"id":"010068000CAC0000","region":null}]},{"id":"81435995-203f-4231-bb46-383fce97590f","directory":"aca-neogeo-galaxy-fight-universal-warriors","title":"ACA NEOGEO GALAXY FIGHT: UNIVERSAL WARRIORS","compatibility":2,"releases":[{"id":"01002580038DE000","region":null}]},{"id":"8146d74d-300b-4beb-a4c5-9b3bf322efd5","directory":"cinderella-an-interactive-fairytale","title":"Cinderella - An Interactive Fairytale","compatibility":99,"releases":[{"id":"010002200CECA000","region":null}]},{"id":"814aa3ea-620f-4d98-8ed0-356af6774973","directory":"the-adventures-of-elena-temple","title":"The Adventures of Elena Temple","compatibility":99,"releases":[{"id":"010035C00A4BC000","region":null}]},{"id":"814d5be5-d1f2-4a61-9909-7077e00a1a7f","directory":"car-trader-simulator","title":"Car Trader Simulator","compatibility":99,"releases":[{"id":"0100E5E010EA6000","region":null}]},{"id":"8151b3d7-d332-4774-b4ee-51aa65133488","directory":"skelattack","title":"Skelattack","compatibility":1,"releases":[{"id":"01001A900F862000","region":null}]},{"id":"815204ec-8395-4ca0-b8e0-0277b47818d1","directory":"professional-construction-the-simulation","title":"Professional Construction – The Simulation","compatibility":99,"releases":[{"id":"0100A9800A1B6000","region":null}]},{"id":"8154c209-7fc3-49e0-97c8-f5bdb42142be","directory":"tales-of-djungarian-hamster","title":"Tales of Djungarian Hamster","compatibility":99,"releases":[{"id":"0100D6F012AE6000","region":null}]},{"id":"81554e8d-e085-46b1-b4d3-f44a6a7754ed","directory":"shining-resonance-refrain-demo","title":"Shining Resonance Refrain Demo","compatibility":99,"releases":[{"id":"01006EE00AE38000","region":null}]},{"id":"815857a9-41db-4d5e-86a6-1b7a10580e70","directory":"arcade-archives-space-cruiser","title":"Arcade Archives SPACE CRUISER","compatibility":99,"releases":[{"id":"0100B43015796000","region":null}]},{"id":"8160310e-562f-4f46-a000-dc7d273f221a","directory":"vectronom","title":"Vectronom","compatibility":99,"releases":[{"id":"010084000DAF6000","region":null}]},{"id":"8168aece-e52b-4370-90cd-c364af53269b","directory":"lost-lands-dark-overlord-free-to-play","title":"Lost Lands: Dark Overlord (free to play)","compatibility":99,"releases":[{"id":"0100A3B0107AE000","region":null}]},{"id":"8183851a-7add-4b2d-912f-ff9e6c4434ad","directory":"splashy-cube","title":"Splashy Cube","compatibility":99,"releases":[{"id":"01000650134FE000","region":null}]},{"id":"818a8d2f-c6fc-44ad-b80f-2f6ee789f32e","directory":"immortal-realms-vampire-wars","title":"Immortal Realms: Vampire Wars","compatibility":99,"releases":[{"id":"010079501025C000","region":null}]},{"id":"81a456d3-355f-4997-8c53-832037d5bf24","directory":"ghostbusters-the-video-game-remastered","title":"Ghostbusters: The Video Game Remastered","compatibility":3,"releases":[{"id":"0100EAE00D9EC000","region":null}]},{"id":"81b44865-a038-4205-afb7-27e18390a549","directory":"zombie-hill-race","title":"Zombie Hill Race","compatibility":0,"releases":[{"id":"01001010134EA000","region":null}]},{"id":"81b8a386-9ab2-4781-a56c-8739a6a70805","directory":"impossible-mission","title":"Impossible Mission","compatibility":5,"releases":[{"id":"0100345009240000","region":null}]},{"id":"81c2b67a-df44-48c4-9fe2-dceca7999493","directory":"myastere-ruins-of-deazniff","title":"Myastere -Ruins of Deazniff-","compatibility":5,"releases":[{"id":"01003E3013BE4000","region":null}]},{"id":"81cd6357-aff5-4f69-a78b-6e703fef41a3","directory":"the-last-dead-end","title":"The Last Dead End","compatibility":99,"releases":[{"id":"0100AAD011592000","region":null}]},{"id":"81e356a5-aa8b-4cfc-93d5-73ad902285b8","directory":"aaa-clock","title":"AAA Clock","compatibility":99,"releases":[{"id":"0100179015DE0000","region":null}]},{"id":"81e5c9e9-856a-4133-a930-9fa8cc29018a","directory":"ramageddon","title":"Ramageddon","compatibility":99,"releases":[{"id":"0100D7801281A000","region":null}]},{"id":"81f85c11-b7b5-4a53-9172-82fd2d868c33","directory":"flying-girl-striker","title":"FLYING GIRL STRIKER","compatibility":99,"releases":[{"id":"0100CCA00EDCE000","region":null}]},{"id":"81fb495f-e8cb-4b7f-abba-71f0df61f3a0","directory":"jewel-fever-2","title":"Jewel Fever 2","compatibility":99,"releases":[{"id":"0100A4900B2DE000","region":null}]},{"id":"8209e9a5-8b7a-476c-abf2-2ed8a2c6c639","directory":"fighting-fantasy-legends","title":"Fighting Fantasy Legends","compatibility":99,"releases":[{"id":"01003C5015608000","region":null}]},{"id":"8210137f-7f9d-4894-a663-faf08973f201","directory":"pineview-drive","title":"Pineview Drive","compatibility":99,"releases":[{"id":"010000F013E10000","region":null}]},{"id":"82125e34-ebd4-4853-8d27-b49bf8b60298","directory":"staxel","title":"Staxel","compatibility":99,"releases":[{"id":"0100FEF00BE9C000","region":null}]},{"id":"82225d5a-5112-44a2-ad30-7e5321a46758","directory":"country-tales","title":"Country Tales","compatibility":99,"releases":[{"id":"0100C1E012A42000","region":null}]},{"id":"82349dec-4045-483f-9d9d-0e0eea9d8acf","directory":"aca-neogeo-power-spikes-ii","title":"ACA NEOGEO POWER SPIKES II","compatibility":3,"releases":[{"id":"01000F3008718000","region":null}]},{"id":"824e13bb-831a-4c80-95d6-390b1e1cc5e4","directory":"voez","title":"VOEZ","compatibility":0,"releases":[{"id":"0100A7F002830000","region":null}]},{"id":"824f3a32-cb40-4da9-9620-98827bd08bd1","directory":"raiden-v-directors-cut","title":"Raiden V: Director's Cut","compatibility":4,"releases":[{"id":"01002B000D97E000","region":null}]},{"id":"82608e63-69a5-4e43-a9cf-c000f8a0125b","directory":"the-journey-down-chapter-three","title":"The Journey Down: Chapter Three","compatibility":99,"releases":[{"id":"01006BC00B188000","region":null}]},{"id":"82618761-07d9-4f84-84e5-5a27e3ccb1c3","directory":"mainframe-defenders","title":"Mainframe Defenders","compatibility":99,"releases":[{"id":"0100B2801518E000","region":null}]},{"id":"82619092-90b9-481d-a247-d54eb0f95a67","directory":"void","title":"V.O.I.D.","compatibility":99,"releases":[{"id":"010040000D08E000","region":null}]},{"id":"8267c6d7-ff9d-4846-b3a6-c9b8cf5bfeed","directory":"old-school-rpg-bundle","title":"Old School RPG Bundle","compatibility":99,"releases":[{"id":"010053200F49E000","region":null}]},{"id":"82687868-0a4a-4ae2-93c2-03479664a200","directory":"airfield-mania","title":"Airfield Mania","compatibility":99,"releases":[{"id":"01009DF00DB42000","region":null}]},{"id":"8268fe5f-1551-474e-a2d7-f0a38808fe9b","directory":"mighty-gunvolt-burst-demo","title":"MIGHTY GUNVOLT BURST Demo","compatibility":4,"releases":[{"id":"010045B00849C000","region":null}]},{"id":"826d9568-2837-4e67-8419-7962dda73552","directory":"the-adventures-of-elena-temple-definitive-edition","title":"The Adventures of Elena Temple: Definitive Edition","compatibility":99,"releases":[{"id":"0100F5D01034E000","region":null}]},{"id":"82703798-50b2-4b0f-9cc4-abdd2b2fae0d","directory":"bayala-the-game","title":"bayala - the game","compatibility":99,"releases":[{"id":"0100194010422000","region":null}]},{"id":"827b3b8d-42f1-4a4c-b74e-363b98ff1167","directory":"ultimate-racing-2d","title":"Ultimate Racing 2D","compatibility":0,"releases":[{"id":"01009D000FAE0000","region":null}]},{"id":"8280218e-668c-456c-80b7-526d74f52410","directory":"wheel-of-fortune","title":"Wheel of Fortune","compatibility":2,"releases":[{"id":"010033600ADE6000","region":null}]},{"id":"8283c607-9b19-42ff-aecf-713d2ec9dc33","directory":"observer","title":"Observer","compatibility":1,"releases":[{"id":"01002A000C478000","region":null}]},{"id":"8298ab2f-ebfb-4422-9701-3e1d8e00da6c","directory":"winkings","title":"WinKings","compatibility":99,"releases":[{"id":"010046F00F5E4000","region":null}]},{"id":"829d239a-abbd-44d7-8d44-311e6a567415","directory":"steinsgate-my-darlings-embrace","title":"STEINS;GATE: My Darling's Embrace","compatibility":99,"releases":[{"id":"0100CB400E9BC000","region":null}]},{"id":"82aaed85-a436-4fac-9eb9-3deccf0d8d5b","directory":"enigmatis-2-the-mists-of-ravenwood","title":"Enigmatis 2: The Mists of Ravenwood","compatibility":5,"releases":[{"id":"0100C6200A0AA000","region":null}]},{"id":"82b09097-8cd2-44b3-95b2-6c7ca9877fee","directory":"arcade-archives-pirate-pete","title":"Arcade Archives PIRATE PETE","compatibility":99,"releases":[{"id":"0100FAC011CEE000","region":null}]},{"id":"82b17c91-63cf-4724-8c54-49170e033579","directory":"monument","title":"Monument","compatibility":99,"releases":[{"id":"010091C013F6E000","region":null}]},{"id":"82c37a13-f76b-48a5-85ca-0a1980cc79c9","directory":"keep-talking-and-nobody-explodes","title":"Keep Talking and Nobody Explodes","compatibility":99,"releases":[{"id":"01008D400A584000","region":null}]},{"id":"82d1cf54-8b47-47f5-984c-770b313c4872","directory":"the-addams-family-mansion-mayhem","title":"The Addams Family: Mansion Mayhem","compatibility":1,"releases":[{"id":"01007B701315E000","region":null}]},{"id":"82d27cca-cb2e-44c9-b7c3-f4d89681b61b","directory":"ministry-of-broadcast","title":"Ministry of Broadcast","compatibility":99,"releases":[{"id":"010069200EB80000","region":null}]},{"id":"82db4e64-5c02-441d-9a2d-671ba7ba73be","directory":"rise-of-the-slime","title":"Rise of the Slime","compatibility":99,"releases":[{"id":"01000CA013AF2000","region":null}]},{"id":"82dfc0a0-8226-4c59-9b7e-9d555e0873bb","directory":"volta-x","title":"Volta-X","compatibility":99,"releases":[{"id":"0100A7900E79C000","region":null}]},{"id":"82e8408a-8cd0-46ea-bf02-8009dd9bb103","directory":"stikbold-a-dodgeball-adventure-deluxe","title":"Stikbold! A Dodgeball Adventure DELUXE","compatibility":99,"releases":[{"id":"0100E24006FA8000","region":null}]},{"id":"82ea772c-67d8-4080-acae-57b2ec919316","directory":"slabwell-the-quest-for-kaktuns-alpaca","title":"SlabWell: The Quest For Kaktun's Alpaca","compatibility":99,"releases":[{"id":"01003AD00DEAE000","region":null}]},{"id":"82f14198-45ea-4d4d-a6d0-aee5df38faef","directory":"nullum","title":"Nullum","compatibility":99,"releases":[{"id":"0100EE5013198000","region":null}]},{"id":"82f98319-586e-43d3-a4e5-ef87e2e03382","directory":"downwell","title":"Downwell","compatibility":5,"releases":[{"id":"010093D00C726000","region":null}]},{"id":"82f99bfb-462d-43b7-b36a-fd12c5cf93a8","directory":"batbarian-testament-of-the-primordials","title":"Batbarian: Testament of the Primordials","compatibility":1,"releases":[{"id":"01005F3012748000","region":null}]},{"id":"830a7778-4bd8-41c5-b7c3-d98f6625cd18","directory":"scarlett-mysteries-cursed-child","title":"Scarlett Mysteries: Cursed Child","compatibility":99,"releases":[{"id":"01006A800FD60000","region":null}]},{"id":"831a58ce-10b0-4391-a1b7-e8f73e87f155","directory":"crayola-scoot","title":"Crayola Scoot","compatibility":2,"releases":[{"id":"0100C66007E96000","region":null}]},{"id":"831af724-fc38-4afd-a23c-ed56f55cbdf9","directory":"arcade-archives-legend-of-makai","title":"Arcade Archives LEGEND OF MAKAI","compatibility":99,"releases":[{"id":"01007DB013B06000","region":null}]},{"id":"8321e063-2ca6-44b7-a6e1-ab5db7f4613f","directory":"sparkle-2-evo","title":"Sparkle 2 EVO","compatibility":99,"releases":[{"id":"010079F00671C000","region":null}]},{"id":"832a5531-43af-4714-be47-e192855f8fb8","directory":"arcade-space-shooter-2-in-1","title":"Arcade Space Shooter 2 in 1","compatibility":99,"releases":[{"id":"0100717014938000","region":null}]},{"id":"832be336-92ba-46a2-80ac-0f56f516903b","directory":"9-ball-pocket","title":"9-Ball Pocket","compatibility":99,"releases":[{"id":"0100D63016060000","region":null}]},{"id":"832d2fcb-f62e-4236-8a19-d45ae9d9773a","directory":"lawnmower-game-racing","title":"Lawnmower Game: Racing","compatibility":99,"releases":[{"id":"0100065013F20000","region":null}]},{"id":"83380732-03b1-4f67-9946-c145c1842348","directory":"ethan-meteor-hunter","title":"Ethan: Meteor Hunter","compatibility":99,"releases":[{"id":"0100CDE00C87C000","region":null}]},{"id":"8344e3ae-8cdd-48ae-8e08-75b9ae7e7aef","directory":"neon-hell","title":"Neon Hell","compatibility":99,"releases":[{"id":"01009B90169D8000","region":null}]},{"id":"83588d34-ac66-4675-8018-502315a3a00c","directory":"spider-solitaire","title":"Spider Solitaire","compatibility":99,"releases":[{"id":"010092A0102AE000","region":null}]},{"id":"837564bc-3246-41a2-908d-5e8952a61e00","directory":"secret-files-2-puritas-cordis","title":"Secret Files 2: Puritas Cordis","compatibility":99,"releases":[{"id":"010079100D950000","region":null}]},{"id":"83766ac8-8652-4c6f-8769-412aea2027c9","directory":"summer-sports-games","title":"Summer Sports Games","compatibility":0,"releases":[{"id":"010083600D930000","region":null}]},{"id":"83818685-e693-4f8b-914a-061fc7a44c16","directory":"crysis-remastered","title":"Crysis Remastered","compatibility":2,"releases":[{"id":"0100E66010ADE000","region":null}]},{"id":"83884900-4a12-4bd1-9155-9624b0f91c7f","directory":"worbital","title":"Worbital","compatibility":99,"releases":[{"id":"010097A0071A8000","region":null}]},{"id":"838c1d06-4b10-4428-af60-e9bef4b21302","directory":"just-shapes-and-beats","title":"Just Shapes & Beats","compatibility":3,"releases":[{"id":"0100830008426000","region":null}]},{"id":"83914aa8-113d-4178-b4cc-636be0c7e9de","directory":"10-second-run-returns-demo","title":"10 Second Run RETURNS Demo","compatibility":3,"releases":[{"id":"0100DC000A472000","region":null}]},{"id":"83977584-09a5-4730-8ff5-b7b20ab78f01","directory":"silver-falls-episode-prelude","title":"Silver Falls Episode Prelude","compatibility":99,"releases":[{"id":"010038B0147E2000","region":null}]},{"id":"8398cd6c-ab74-40d2-9b37-fe4e62031e0e","directory":"spice-and-wolf-vr","title":"Spice and Wolf VR","compatibility":0,"releases":[{"id":"0100C9B00EAEE000","region":null}]},{"id":"83ab0d35-bea9-4364-9a70-c3bc91acbe03","directory":"nerved","title":"Nerved","compatibility":99,"releases":[{"id":"01008B0010160000","region":null}]},{"id":"83b607a7-6db9-4ffc-921e-b6075612109c","directory":"sweet-bakery-tycoon","title":"Sweet Bakery Tycoon","compatibility":99,"releases":[{"id":"010072401447A000","region":null}]},{"id":"83ba7be9-2f2c-42e3-ba56-f1ff6a0e0943","directory":"aca-neogeo-zed-blade","title":"ACA NEOGEO ZED BLADE","compatibility":4,"releases":[{"id":"01005AF004DBC000","region":null}]},{"id":"83c3dd31-1a8a-4469-873d-e6f1c7e93b7b","directory":"postal-redux","title":"Postal REDUX","compatibility":99,"releases":[{"id":"0100C31011C24000","region":null}]},{"id":"83c4cfe4-4793-4049-8860-e97edd2c715e","directory":"the-bridge-demo","title":"The Bridge Demo","compatibility":99,"releases":[{"id":"0100E3500B00E000","region":null}]},{"id":"83cee6f0-c2e7-4680-a620-26a3fd8b2826","directory":"mystic-fate","title":"Mystic Fate","compatibility":99,"releases":[{"id":"010059701386C000","region":null}]},{"id":"83df5578-cd06-4ecb-b6b7-7d9aadc06204","directory":"awesome-pea-demo","title":"Awesome Pea (Demo)","compatibility":99,"releases":[{"id":"010023800D3F2000","region":null}]},{"id":"83e0433d-833d-4680-a4e7-dfe81ce479f3","directory":"aca-neogeo-blues-journey","title":"ACA NEOGEO BLUE'S JOURNEY","compatibility":1,"releases":[{"id":"0100379003900000","region":null}]},{"id":"83e9f8d8-9a25-4591-b1f9-77b1732ee53d","directory":"roundguard","title":"Roundguard","compatibility":99,"releases":[{"id":"010074300F7F6000","region":null}]},{"id":"83eec6a0-73b0-4ef9-945e-01f35d067db5","directory":"escape-game-aloha","title":"Escape Game : Aloha","compatibility":99,"releases":[{"id":"010079100A2F4000","region":null}]},{"id":"83f3403f-f4e3-4bce-9db3-c06472800543","directory":"dead-end-job","title":"Dead End Job","compatibility":99,"releases":[{"id":"01004C500BD40000","region":null}]},{"id":"84104c4b-a53e-4bce-8671-022ea96b6e10","directory":"assault-on-metaltron","title":"Assault On Metaltron","compatibility":99,"releases":[{"id":"0100F0A00C2F2000","region":null}]},{"id":"843225fb-96e4-471a-9cc4-b88c93f30833","directory":"ninjala","title":"Ninjala","compatibility":4,"releases":[{"id":"0100CCD0073EA000","region":null}]},{"id":"843d7b9d-ca76-490d-ad51-89cfc210b4c9","directory":"poison-control","title":"Poison Control","compatibility":1,"releases":[{"id":"0100EB6012FD2000","region":null}]},{"id":"844616dd-1c04-48bf-a472-d45faf2a6dda","directory":"hero-u-rogue-to-redemption","title":"Hero-U: Rogue to Redemption","compatibility":99,"releases":[{"id":"010077D01094C000","region":null}]},{"id":"8449f377-5d3c-41ad-9e01-f0623468fc64","directory":"root-letter-last-answer","title":"Root Letter: Last Answer","compatibility":3,"releases":[{"id":"010030A00DA3A000","region":null}]},{"id":"844a109e-c8ba-4ef0-81e8-d258b1b21ba5","directory":"hello-kitty-kruisers-with-sanrio-friends","title":"Hello Kitty Kruisers With Sanrio Friends","compatibility":1,"releases":[{"id":"010087D0084A8000","region":null}]},{"id":"844af9c6-a1d2-4d37-badc-6ca352273ef0","directory":"arcade-archives-donkey-kong","title":"Arcade Archives DONKEY KONG","compatibility":1,"releases":[{"id":"0100E9E00B052000","region":null}]},{"id":"8450ab3b-34e8-40ac-81ea-50e90771cb49","directory":"rxn-raijin-","title":"RXN -Raijin-","compatibility":1,"releases":[{"id":"010012C0060F0000","region":null}]},{"id":"8458a748-9bf0-4ba5-85f9-7b089bea3b2e","directory":"captain-sabertooth-and-the-magic-diamond","title":"Captain Sabertooth and the Magic Diamond","compatibility":3,"releases":[{"id":"0100F0C011A0C000","region":null}]},{"id":"8461201b-48a5-4d1b-9058-d91572acbca3","directory":"headliner-novinews","title":"Headliner: NoviNews","compatibility":99,"releases":[{"id":"0100EFE00E1DC000","region":null}]},{"id":"8462dbcf-117b-4531-a628-f195a8e5d7a7","directory":"monster-prom-xxl","title":"Monster Prom: XXL","compatibility":99,"releases":[{"id":"0100C9600D028000","region":null}]},{"id":"84695a43-aaa0-4769-a7d6-4fbb6a98846e","directory":"goonya-fighter","title":"Goonya Fighter","compatibility":99,"releases":[{"id":"010098000D646000","region":null}]},{"id":"846a4ba3-4b32-42f5-b933-a3b97c2e1832","directory":"arcade-archives-urban-champion","title":"Arcade Archives URBAN CHAMPION","compatibility":4,"releases":[{"id":"010042200BE0C000","region":null}]},{"id":"8478e318-7d20-4edd-9ecc-f791906c80c8","directory":"timingooo","title":"TIMINGooo!","compatibility":99,"releases":[{"id":"010074B0168F2000","region":null}]},{"id":"848b241a-0356-4f39-9036-4187ef94e78d","directory":"full-metal-furies","title":"Full Metal Furies","compatibility":4,"releases":[{"id":"010079300AD54000","region":null}]},{"id":"848ce2b3-702f-496a-ba38-87031581934b","directory":"self","title":"SELF","compatibility":99,"releases":[{"id":"0100D7300E966000","region":null}]},{"id":"84a8b645-f11f-4972-b675-efdda0a3851b","directory":"umihara-kawase-bazooka","title":"Umihara Kawase BaZooKa!","compatibility":99,"releases":[{"id":"0100842011BD6000","region":null}]},{"id":"84ab7630-1507-4322-b369-cdd53b40cbbe","directory":"super-dungeon-tactics","title":"Super Dungeon Tactics","compatibility":99,"releases":[{"id":"010023100B19A000","region":null}]},{"id":"84aca464-bb94-436c-89d7-845747b355e6","directory":"mind-scanners","title":"Mind Scanners","compatibility":99,"releases":[{"id":"0100D8C01535C000","region":null}]},{"id":"84b10de3-73f7-4df5-bbb5-36af63ff8424","directory":"pixel-game-maker-series-isekai-quartet-adventure-action-game","title":"Pixel Game Maker Series ISEKAI QUARTET Adventure:Action Game","compatibility":99,"releases":[{"id":"0100F71014BFE000","region":null}]},{"id":"84b2140b-14fe-46e2-b063-c49b36f3963b","directory":"grand-brix-shooter","title":"Grand Brix Shooter","compatibility":3,"releases":[{"id":"010038D00EC88000","region":null}]},{"id":"84bb1cb0-2bc3-4ccc-b5d2-8890021620a2","directory":"diamond-girl-an-earnest-education-in-love","title":"Diamond Girl ★An Earnest Education in Love★","compatibility":2,"releases":[{"id":"0100B9B011DA4000","region":null}]},{"id":"84c4503c-88dd-45ca-abba-8c36c2518e29","directory":"la-mulana-2","title":"LA-MULANA 2","compatibility":2,"releases":[{"id":"010038000F644000","region":null}]},{"id":"84cbd2a9-9f8f-4336-80f9-c8ad1ffb4828","directory":"aca-neogeo-world-heroes-perfect","title":"ACA NEOGEO WORLD HEROES PERFECT","compatibility":4,"releases":[{"id":"01009D4001DC4000","region":null}]},{"id":"84cbf8de-9d1c-48ac-a479-12a2c9d8108f","directory":"disney-classic-games-aladdin-and-the-lion-king","title":"Disney Classic Games: Aladdin and The Lion King","compatibility":2,"releases":[{"id":"0100A2F00EEFC000","region":null}]},{"id":"84cda573-fc55-43a2-8778-bcd20709eaf3","directory":"spellbreak","title":"Spellbreak","compatibility":99,"releases":[{"id":"010076C01015C000","region":null}]},{"id":"84d1b8d4-8bfc-4336-9667-a14a9d5a185a","directory":"droneridge","title":"DroneRidge","compatibility":99,"releases":[{"id":"010009201121C000","region":null}]},{"id":"84d5c2d0-4a4c-4eb7-84b5-4ce6c0cecf32","directory":"oniken-unstoppable-edition-and-odallus-the-dark-call-bundle","title":"Oniken: Unstoppable Edition & Odallus: The Dark Call Bundle","compatibility":3,"releases":[{"id":"0100E1800E202000","region":null}]},{"id":"84dc076c-05ab-4e75-a4cf-d6b6a944a85c","directory":"monster-viator","title":"Monster Viator","compatibility":99,"releases":[{"id":"01001620105FE000","region":null}]},{"id":"84de46de-53ff-4316-8b32-987aba820681","directory":"blow-up-monsters","title":"Blow Up Monsters","compatibility":99,"releases":[{"id":"01005840143D2000","region":null}]},{"id":"84e85787-a7b6-42f3-be90-2ac721149d68","directory":"the-wonderful-101-remastered","title":"The Wonderful 101: Remastered","compatibility":0,"releases":[{"id":"0100B1300FF08000","region":null}]},{"id":"84f5420c-6cba-4717-91a9-14c04e8a9af6","directory":"everything","title":"Everything","compatibility":99,"releases":[{"id":"010031F00B246000","region":null}]},{"id":"8501bb39-59ff-4d1a-bdc0-6f0a7f1f231b","directory":"sega-ages-columns-ii-a-voyage-through-time","title":"SEGA AGES Columns II: A Voyage Through Time","compatibility":1,"releases":[{"id":"0100A0600C610000","region":null}]},{"id":"850d6e1e-b91b-46ab-918e-75ed12b6391b","directory":"the-golf","title":"The Golf","compatibility":0,"releases":[{"id":"010014A00AC5A000","region":null}]},{"id":"851e4bbf-d0d0-4a0a-8f4e-8c2b87158817","directory":"connect-color-dots-fun-water-flow-pipe-line-art-puzzle-game","title":"Connect Color Dots: Fun Water Flow Pipe Line Art Puzzle Game","compatibility":99,"releases":[{"id":"0100410014916000","region":null}]},{"id":"852708e7-a139-4b01-8363-ef9b565600db","directory":"galactic-defence-squadron","title":"Galactic Defence Squadron","compatibility":99,"releases":[{"id":"0100E2800BBC2000","region":null}]},{"id":"8535df2f-9001-4e59-851c-8f6d658637fb","directory":"black-legend","title":"Black Legend","compatibility":99,"releases":[{"id":"0100C3200E7E6000","region":null}]},{"id":"853a6fff-8a6c-4e2d-b2ab-d5f7859d3ce9","directory":"breakfast-bar-tycoon","title":"Breakfast Bar Tycoon","compatibility":99,"releases":[{"id":"01003320103F0000","region":null}]},{"id":"8545e39e-515f-4b66-ba9f-7f1cc53d5ef0","directory":"between-time-escape-room","title":"Between Time: Escape Room","compatibility":99,"releases":[{"id":"010048B016406000","region":null}]},{"id":"855cdc43-568a-4699-b52f-7a4f8d104dfe","directory":"aground","title":"Aground","compatibility":99,"releases":[{"id":"01007C300E74C000","region":null}]},{"id":"856fe114-8787-4283-944c-1926a91aed47","directory":"cricktogame-nintendo-switch-edition","title":"CricktoGame: Nintendo Switch Edition","compatibility":99,"releases":[{"id":"0100320009D06000","region":null}]},{"id":"85868732-d3ac-412c-bd81-6194929c9142","directory":"bocce","title":"Bocce","compatibility":99,"releases":[{"id":"01008B001551E000","region":null}]},{"id":"8587dadd-bb74-4433-acf3-b12221100ef3","directory":"time-tenshi","title":"Time Tenshi","compatibility":1,"releases":[{"id":"0100D24012A04000","region":null}]},{"id":"85918a5f-1bb7-4aea-814d-707ef289b01b","directory":"tropico-6-nintendo-switch-edition","title":"Tropico 6 - Nintendo Switch™ Edition","compatibility":2,"releases":[{"id":"0100FBE0113CC000","region":null}]},{"id":"85a8d7a1-0a6e-474d-a27b-adf6c0a8a8fe","directory":"red-ball-escape","title":"Red Ball Escape","compatibility":99,"releases":[{"id":"0100B44015420000","region":null}]},{"id":"85a9febe-880b-410a-ab76-5684c6f757ab","directory":"maneater","title":"Maneater","compatibility":3,"releases":[{"id":"010093D00CB22000","region":null}]},{"id":"85b4d2da-52a8-4032-80fe-76ebbd09ebc8","directory":"newt-one","title":"Newt One","compatibility":99,"releases":[{"id":"0100B9500E886000","region":null}]},{"id":"85d20f35-45d1-4eff-98b1-bdcf50e33053","directory":"arcade-archives-road-fighter","title":"Arcade Archives ROAD FIGHTER","compatibility":4,"releases":[{"id":"0100FBA00E35C000","region":null}]},{"id":"85d8c403-79fb-41c9-8c7a-b53c26f37119","directory":"dustoff-z","title":"Dustoff Z","compatibility":99,"releases":[{"id":"0100D7E012F2E000","region":null}]},{"id":"85d8e543-9562-4444-b9a5-cecac897ef6e","directory":"jeopardy","title":"Jeopardy!","compatibility":0,"releases":[{"id":"01006E400AE2A000","region":null}]},{"id":"85e49b3c-5906-42d7-9bc1-b2a4dea78a9f","directory":"circuits","title":"Circuits","compatibility":99,"releases":[{"id":"01008FA00D686000","region":null}]},{"id":"85ee74a1-162d-4e0b-815a-22d1b98d674d","directory":"codebreaker-puzzle-1000-eng-jan","title":"Codebreaker Puzzle 1000! ENG & JAN","compatibility":99,"releases":[{"id":"010011D0142B0000","region":null}]},{"id":"85fc54e0-da31-425d-a632-0ba08b7c9c5e","directory":"aria-chronicle","title":"ARIA CHRONICLE","compatibility":99,"releases":[{"id":"0100691013C46000","region":null}]},{"id":"8600083c-6796-4e15-b004-7c50a2e11590","directory":"no-more-heroes-2-desperate-struggle","title":"No More Heroes 2: Desperate Struggle","compatibility":1,"releases":[{"id":"010071400F204000","region":null}]},{"id":"8600b75e-9307-4c5e-bc0a-2956a73b9dab","directory":"blacksmith-of-the-sand-kingdom","title":"Blacksmith of the Sand Kingdom","compatibility":99,"releases":[{"id":"010068E013450000","region":null}]},{"id":"860decff-d589-4f67-a2d5-a8e006d19b15","directory":"lovers-in-a-dangerous-spacetime","title":"Lovers in a Dangerous Spacetime","compatibility":1,"releases":[{"id":"0100230005A52000","region":null}]},{"id":"864e2fda-afda-418b-8a28-8758b4c735a3","directory":"bow-to-blood-last-captain-standing","title":"Bow to Blood: Last Captain Standing","compatibility":99,"releases":[{"id":"0100B4700C57E000","region":null}]},{"id":"8650a463-d0a7-4998-bfb0-a0620b02285e","directory":"super-sportmatchen","title":"Super Sportmatchen","compatibility":3,"releases":[{"id":"0100A9300A4AE000","region":null}]},{"id":"8669aef8-ad34-4000-bebe-a2f52f55b508","directory":"bravematch","title":"BraveMatch","compatibility":99,"releases":[{"id":"010081501371E000","region":null}]},{"id":"866ee195-3a0f-4b07-92e8-906a801a9dab","directory":"jack-axe","title":"Jack Axe","compatibility":99,"releases":[{"id":"0100EF500EF42000","region":null}]},{"id":"8672c60e-eac6-49c3-b857-a6a40b377d37","directory":"gems-of-magic-fathers-day","title":"Gems of Magic: Father's Day","compatibility":1,"releases":[{"id":"01009AA014EE4000","region":null}]},{"id":"867e7d19-47f2-42b9-aab4-04f2767ad33e","directory":"arcade-archives-terra-force","title":"Arcade Archives TERRA FORCE","compatibility":99,"releases":[{"id":"0100348001DE6000","region":null}]},{"id":"86846760-30bb-48fd-bf6d-624c600c20d8","directory":"arcade-archives-cosmo-police-galivan","title":"Arcade Archives Cosmo Police Galivan","compatibility":99,"releases":[{"id":"010071C00982C000","region":null}]},{"id":"86862d25-3081-4938-983f-34f0fa7c798f","directory":"sega-ages-fantasy-zone","title":"SEGA AGES Fantasy Zone","compatibility":1,"releases":[{"id":"010072100E312000","region":null}]},{"id":"8693e688-150c-495a-8d40-f57571034d89","directory":"killer-queen-black","title":"Killer Queen Black","compatibility":5,"releases":[{"id":"0100F2900B3E2000","region":null}]},{"id":"86b301f5-5a40-436a-bd2e-0a86aff65f5a","directory":"bioshock-infinite-the-complete-edition","title":"BioShock Infinite: The Complete Edition","compatibility":3,"releases":[{"id":"0100D560102C8000","region":null}]},{"id":"86b77f0e-73f3-44bd-aef3-7ddf864a66bf","directory":"monster-puzzle","title":"Monster Puzzle","compatibility":99,"releases":[{"id":"01004DE00DD44000","region":null}]},{"id":"86c8eb74-af74-4c9b-9ddc-da518cd4789f","directory":"retro-city-rampage-dx","title":"Retro City Rampage DX","compatibility":0,"releases":[{"id":"0100F17004156000","region":null}]},{"id":"86cbea62-80e3-4f7b-8d7e-95ac1c29620a","directory":"arcade-classics-anniversary-collection","title":"Arcade Classics Anniversary Collection","compatibility":0,"releases":[{"id":"010050000D6C4000","region":null}]},{"id":"86d32307-2a0f-48c1-8e8f-faee9db7eb47","directory":"deathtrap-dungeon-trilogy","title":"Deathtrap Dungeon Trilogy","compatibility":5,"releases":[{"id":"010061500F462000","region":null}]},{"id":"86dd9157-9b6d-4497-8175-d66888953c09","directory":"date-night-bowling","title":"Date Night Bowling","compatibility":0,"releases":[{"id":"0100713011E92000","region":null}]},{"id":"86e8a82e-1897-4206-9e01-7032ef9fc939","directory":"arcade-spirits","title":"Arcade Spirits","compatibility":99,"releases":[{"id":"010077000F620000","region":null}]},{"id":"86ed348e-99ba-426e-a560-70ed6f27c583","directory":"robozarro","title":"Robozarro","compatibility":99,"releases":[{"id":"010044A010BB8000","region":null}]},{"id":"86ef0b82-1ddd-495f-b375-99796a324cc1","directory":"arcade-archives-double-dragon-ii-the-revenge","title":"Arcade Archives DOUBLE DRAGON II The Revenge","compatibility":5,"releases":[{"id":"01009E3001DDE000","region":null}]},{"id":"86f25dac-5b2a-422b-97a8-5e6b520e2e21","directory":"gal-metal","title":"Gal Metal","compatibility":4,"releases":[{"id":"010048600B14E000","region":null}]},{"id":"86f36f06-9497-415e-8af7-57de36b506db","directory":"gleylancer","title":"Gleylancer","compatibility":1,"releases":[{"id":"010027C016254000","region":null}]},{"id":"86f3afc2-19c0-48d7-9477-8a5d3aecc7cd","directory":"wanderjahr-tryagainorwalkaway-demo","title":"Wanderjahr TryAgainOrWalkAway Demo","compatibility":99,"releases":[{"id":"01004E300899E000","region":null}]},{"id":"87002986-bebd-4860-98f3-e4ee985d9503","directory":"drone-fight","title":"Drone Fight","compatibility":5,"releases":[{"id":"010058C00A916000","region":null}]},{"id":"87056452-4787-4102-9af5-e04e678fed5f","directory":"stories-untold","title":"Stories Untold","compatibility":99,"releases":[{"id":"010074400F6A8000","region":null}]},{"id":"87219e67-336e-4924-8a26-98a50ad8ea08","directory":"noble-armada-lost-worlds","title":"NOBLE ARMADA: LOST WORLDS","compatibility":99,"releases":[{"id":"010068000D9F2000","region":null}]},{"id":"873c3e9b-814c-4d45-a137-27c8aa5f328b","directory":"the-innsmouth-case","title":"The Innsmouth Case","compatibility":4,"releases":[{"id":"0100E680138CA000","region":null}]},{"id":"8743aa8b-ace7-431b-9b3a-1b470080b109","directory":"not-tonight-take-back-control-edition","title":"Not Tonight: Take Back Control Edition","compatibility":2,"releases":[{"id":"0100DAF00D0E2000","region":null}]},{"id":"8752df05-3929-4401-9993-5b34f7ca43ed","directory":"abyss-of-the-sacrifice","title":"密室のサクリファイス/ABYSS OF THE SACRIFICE","compatibility":1,"releases":[{"id":"010047F012BE2000","region":null}]},{"id":"875eb566-50c2-4b2f-ac2e-775b6cc3d303","directory":"super-fowlst-2","title":"Super Fowlst 2","compatibility":99,"releases":[{"id":"0100DD7014AA0000","region":null}]},{"id":"8764f8ac-c7e0-47a5-a88f-174feaad60e2","directory":"car-wash-cars-trucks-garage-game-for-toddlers-kids","title":"Car Wash – Cars & Trucks Garage Game for Toddlers & Kids","compatibility":99,"releases":[{"id":"010032C014CCA000","region":null}]},{"id":"8766d2d9-20c5-4e47-88cf-fedc595e668f","directory":"asdivine-hearts-ii","title":"Asdivine Hearts II","compatibility":1,"releases":[{"id":"01007D300CD8C000","region":null}]},{"id":"877bb525-20c5-47bc-b35f-c15af5a3bada","directory":"volgarr-the-viking","title":"Volgarr the Viking","compatibility":0,"releases":[{"id":"0100B1A0066DC000","region":null}]},{"id":"877dc19e-238c-4f9f-93ff-b5c159ee7730","directory":"1993-shenandoah","title":"1993 Shenandoah","compatibility":99,"releases":[{"id":"010075601150A000","region":null}]},{"id":"87903a63-1841-40bf-aeb5-db6f2849e3e2","directory":"switch-n-shoot","title":"Switch 'N' Shoot","compatibility":2,"releases":[{"id":"0100ABE00CE7C000","region":null}]},{"id":"87943fdb-ba9a-468b-a9ed-e682db764594","directory":"door-kickers","title":"Door Kickers","compatibility":3,"releases":[{"id":"0100B0601205E000","region":null}]},{"id":"8797bfe3-4ba9-430b-a61e-4824a447e23f","directory":"diablo-r-ii-resurrected","title":"Diablo® II: Resurrected™","compatibility":4,"releases":[{"id":"0100726014352000","region":null}]},{"id":"87b488c2-91dd-40c7-8c85-c1a22dfefa27","directory":"arcade-archives-gradius-iii","title":"Arcade Archives GRADIUS III","compatibility":99,"releases":[{"id":"01006230131A4000","region":null}]},{"id":"87bb9007-6644-4394-8ecd-8e8d2d878a64","directory":"hyrule-warriors-age-of-calamity","title":"Hyrule Warriors: Age of Calamity","compatibility":2,"releases":[{"id":"01002B00111A2000","region":null}]},{"id":"87bbd418-1966-4fc3-a826-77f195c9f21a","directory":"connect-it","title":"Connect It!","compatibility":99,"releases":[{"id":"010049B014CD0000","region":null}]},{"id":"87bc96bc-a3c4-4977-962f-182f778ea25c","directory":"banner-saga-1","title":"Banner Saga 1","compatibility":5,"releases":[{"id":"0100465008756000","region":null}]},{"id":"87d6780a-82cc-46e9-94ba-2fcaa218b46f","directory":"candy-jump-featuring-frosty","title":"Candy Jump featuring Frosty","compatibility":99,"releases":[{"id":"0100E57013B2E000","region":null}]},{"id":"87d9553c-9c6b-4d09-8e33-82f0cd9f601f","directory":"keen-one-girl-army","title":"Keen: One Girl Army","compatibility":99,"releases":[{"id":"0100D7C01115E000","region":null}]},{"id":"87da6bf3-fd2a-4f86-a156-aad8bec3fa21","directory":"the-four-kings-casino-and-slots","title":"The Four Kings Casino and Slots","compatibility":99,"releases":[{"id":"010034100D096000","region":null}]},{"id":"87e00bc3-1c15-4422-98ee-3d93a476a73e","directory":"trials-rising-standard-edition","title":"Trials Rising Standard Edition","compatibility":4,"releases":[{"id":"01003E800A102000","region":null}]},{"id":"87fce9db-a8b0-441c-a8a7-a0dce24b7dcb","directory":"leopoldo-manquiseil","title":"Leopoldo Manquiseil","compatibility":99,"releases":[{"id":"010094300C888000","region":null}]},{"id":"880825e3-ed9b-4076-ae3f-3849d74efaab","directory":"hexa-maze","title":"Hexa Maze","compatibility":99,"releases":[{"id":"010066900BDE6000","region":null}]},{"id":"88120cdc-ffc7-49d5-910a-2c1ac19d2c2f","directory":"joe-jump-impossible-quest","title":"Joe Jump Impossible Quest","compatibility":99,"releases":[{"id":"0100EA500D996000","region":null}]},{"id":"8816193c-3203-4c78-a0c2-8afbd5a1427e","directory":"event-horizon","title":"Event Horizon","compatibility":99,"releases":[{"id":"0100AC100DC48000","region":null}]},{"id":"882762b4-b551-49b2-a2dd-f6ebb8123b1c","directory":"arcade-archives-contra","title":"Arcade Archives CONTRA","compatibility":1,"releases":[{"id":"01007F4012B84000","region":null}]},{"id":"88286691-6804-4264-975e-749cd4d70a73","directory":"deleveled","title":"Deleveled","compatibility":99,"releases":[{"id":"010092E00E7F4000","region":null}]},{"id":"882f60b7-f2b4-4c05-80e9-bd34ad5943d6","directory":"the-knight-of-queen","title":"THE KNIGHT OF QUEEN","compatibility":99,"releases":[{"id":"0100D73012850000","region":null}]},{"id":"88387298-d494-458c-8237-5cf0b894ae8d","directory":"tcheco-in-the-castle-of-lucio","title":"Tcheco in the Castle of Lucio","compatibility":1,"releases":[{"id":"0100F43011E5A000","region":null}]},{"id":"883a5702-b72e-4c42-99eb-1fb5f788589e","directory":"mark-of-the-ninja-remastered","title":"Mark of the Ninja: Remastered","compatibility":3,"releases":[{"id":"01009A700A538000","region":null}]},{"id":"8846593b-8678-407f-a51b-3e12eed583d0","directory":"balloon-girl","title":"Balloon Girl","compatibility":99,"releases":[{"id":"0100A7A012C06000","region":null}]},{"id":"884a72b9-1e3c-4edd-b125-3f5cb268f61a","directory":"ninjala-exclusive-ninja-club","title":"Ninjala Exclusive Ninja Club","compatibility":99,"releases":[{"id":"010033A0118DC000","region":null}]},{"id":"884a937c-d7ea-4b1f-994f-664acbf5cf4b","directory":"air-stunt-racing","title":"Air Stunt Racing","compatibility":99,"releases":[{"id":"01002CD016A7C000","region":null}]},{"id":"884c6a49-1db2-4066-b122-829dd5a2e5aa","directory":"brain-meltdown-into-despair","title":"Brain Meltdown - Into Despair","compatibility":99,"releases":[{"id":"010001A015AB2000","region":null}]},{"id":"885293a6-6a08-466f-bdba-d2c8421be1d0","directory":"frederic-2-evil-strikes-back","title":"Frederic 2: Evil Strikes Back","compatibility":1,"releases":[{"id":"01000490067AE000","region":null}]},{"id":"8853f133-f11c-4d13-aee0-4845259321f3","directory":"arcade-archives-water-ski","title":"Arcade Archives WATER SKI","compatibility":4,"releases":[{"id":"0100CA200DC6E000","region":null}]},{"id":"88567dab-9174-45b0-91f6-00f3d2ba3b83","directory":"later-alligator","title":"Later Alligator","compatibility":99,"releases":[{"id":"0100E8F012DE4000","region":null}]},{"id":"8858e7b3-efea-4708-8896-01d4b337f54a","directory":"snake-it-til-you-make-it","title":"Snake It 'Til You Make It","compatibility":99,"releases":[{"id":"01003CF01063C000","region":null}]},{"id":"8862e154-6d59-41e2-a4ef-07145807dee6","directory":"air-bounce-the-jump-n-run-challenge","title":"Air Bounce - The Jump 'n' Run Challenge","compatibility":99,"releases":[{"id":"010066D013A8C000","region":null}]},{"id":"886b2a03-8071-4402-a5e1-4eb07c16ccd9","directory":"crsed-f-o-a-d","title":"CRSED: F.O.A.D.","compatibility":5,"releases":[{"id":"0100E2300FB84000","region":null}]},{"id":"887f52eb-819f-4fc8-b435-b22fd5fd8e92","directory":"shanky-the-vegans-nightmare","title":"Shanky: The Vegan`s Nightmare","compatibility":99,"releases":[{"id":"010006C00CC10000","region":null}]},{"id":"8887a716-0b18-4457-b9b5-c2d90bc43b97","directory":"cycle-28","title":"Cycle 28","compatibility":99,"releases":[{"id":"010021800B6C0000","region":null}]},{"id":"8890ff91-a7cd-44b8-b2a1-6a264c5c482b","directory":"jisei-the-first-case-hd","title":"Jisei: The First Case HD","compatibility":99,"releases":[{"id":"010038D011F08000","region":null}]},{"id":"889ff57c-f4bb-4594-9043-2ef60cc771b6","directory":"her-majestys-spiffing","title":"Her Majesty's SPIFFING","compatibility":0,"releases":[{"id":"0100946008DAE000","region":null}]},{"id":"88ab39b7-3baf-4c76-ab4b-36078a0aac51","directory":"star-renegades","title":"Star Renegades","compatibility":99,"releases":[{"id":"010060D00F658000","region":null}]},{"id":"88b89440-8435-4f99-ba7e-438e247bc806","directory":"down-in-bermuda","title":"Down in Bermuda","compatibility":99,"releases":[{"id":"0100D7100FDDE000","region":null}]},{"id":"88d6a806-bec3-4f94-8197-359997a4e68f","directory":"aca-neogeo-league-bowling","title":"ACA NEOGEO LEAGUE BOWLING","compatibility":2,"releases":[{"id":"0100A2900AFA4000","region":null}]},{"id":"88f9a6a8-0b82-40b6-ad52-7d05aca34e09","directory":"highway-haste","title":"Highway Haste","compatibility":1,"releases":[{"id":"0100CD2014058000","region":null}]},{"id":"8903cf5c-02ee-47bf-b382-b713e8c92af0","directory":"persian-nights-2-the-moonlight-veil","title":"Persian Nights 2: The Moonlight Veil","compatibility":99,"releases":[{"id":"0100A0401346A000","region":null}]},{"id":"89189a8b-c8fb-4a3f-b12f-b95c16abf8dc","directory":"shady-part-of-me","title":"Shady Part of Me","compatibility":99,"releases":[{"id":"0100820013612000","region":null}]},{"id":"8919b93a-4a63-42a0-be9d-4ef4e9e139fd","directory":"samurai-shodown-neogeo-collection","title":"SAMURAI SHODOWN NEOGEO COLLECTION","compatibility":99,"releases":[{"id":"0100F6800F48E000","region":null}]},{"id":"891d009b-e27b-4531-b68f-b93da45c447d","directory":"inferno-climber-reborn","title":"INFERNO CLIMBER: REBORN","compatibility":99,"releases":[{"id":"010086300A558000","region":null}]},{"id":"891f1728-611d-4870-aca8-b159c5cffffc","directory":"doom-3","title":"DOOM 3","compatibility":4,"releases":[{"id":"010029D00E740000","region":null}]},{"id":"892e4f40-e4f3-444c-a37c-2b95b4f418bb","directory":"doom-1993","title":"DOOM (1993)","compatibility":3,"releases":[{"id":"010018900DD00000","region":null}]},{"id":"893440f1-4e31-44fa-989f-132b556b19f6","directory":"lumines-remastered","title":"LUMINES REMASTERED","compatibility":1,"releases":[{"id":"0100A4200A284000","region":null}]},{"id":"89408f0d-16d7-478b-82a1-c430b0a19c78","directory":"math-classroom-challenge","title":"Math Classroom Challenge","compatibility":99,"releases":[{"id":"010066E015998000","region":null}]},{"id":"8942cf1c-a61d-444d-8cd8-85c6b4fe6bf4","directory":"syberia-3","title":"Syberia 3","compatibility":0,"releases":[{"id":"0100CBE004E6C000","region":null}]},{"id":"89660c6a-e172-49d0-89f3-a51cc14fc663","directory":"fly-together","title":"Fly TOGETHER!","compatibility":99,"releases":[{"id":"0100B6D00DA1C000","region":null}]},{"id":"8983f323-1ffd-4e62-ab45-ad1027aac162","directory":"pretty-girls-panic","title":"Pretty Girls Panic!","compatibility":99,"releases":[{"id":"0100653013F7A000","region":null}]},{"id":"89929093-204f-4359-ac25-5350d4670d13","directory":"torquel-physics-modified-edition-demo","title":"TorqueL -Physics Modified Edition- Demo","compatibility":99,"releases":[{"id":"010076A009426000","region":null}]},{"id":"89ae49db-5431-4b05-9f30-ba4e19642998","directory":"sudoku-relax-5-full-bloom","title":"Sudoku Relax 5 Full Bloom","compatibility":99,"releases":[{"id":"01004DB0126AC000","region":null}]},{"id":"89b43cfc-3514-4dd0-9c8f-893efce5b890","directory":"newtons-cradle-puzzle-game","title":"Newton's Cradle Puzzle Game","compatibility":99,"releases":[{"id":"0100C0B012666000","region":null}]},{"id":"89b5b71d-12b5-4bf1-990e-b8e1ff0d3d21","directory":"12-orbits","title":"12 orbits","compatibility":3,"releases":[{"id":"0100A840047C2000","region":null}]},{"id":"89c2905a-87de-4d63-9d2d-de2aa07a7231","directory":"alchemic-jousts","title":"Alchemic Jousts","compatibility":99,"releases":[{"id":"0100F5400AB6C000","region":null}]},{"id":"89c9a7a1-bdf0-421a-8cbe-30fc758d6d30","directory":"no-straight-roads","title":"No Straight Roads","compatibility":3,"releases":[{"id":"01009F3011004000","region":null}]},{"id":"89ce4a2e-41a1-48cd-b63f-3698c25e4364","directory":"nature-matters","title":"Nature Matters","compatibility":0,"releases":[{"id":"01002820142C6000","region":null}]},{"id":"89cf67c3-fb9e-4623-870a-98ec3573d3b3","directory":"aca-neogeo-karnovs-revenge","title":"ACA NEOGEO KARNOV'S REVENGE","compatibility":2,"releases":[{"id":"010014E004FA8000","region":null}]},{"id":"89d1cfc6-de5c-4e09-acc1-106058f7032f","directory":"dreamwalker-never-fall-asleep","title":"Dreamwalker: Never Fall Asleep","compatibility":99,"releases":[{"id":"0100068010226000","region":null}]},{"id":"89d1e0e8-2efd-4816-97d5-73a64d891c39","directory":"glyph","title":"Glyph","compatibility":99,"releases":[{"id":"0100EB501130E000","region":null}]},{"id":"89dca81e-28e3-4290-9465-0869a10043f9","directory":"slayin-2","title":"Slayin 2","compatibility":3,"releases":[{"id":"01004E900EDDA000","region":null}]},{"id":"89e020ec-eb68-48e0-9feb-9fe094484ec8","directory":"panda-jump","title":"Panda Jump","compatibility":99,"releases":[{"id":"0100C47012D86000","region":null}]},{"id":"89e55765-4978-4d2b-8bf3-ba8284a66d4b","directory":"super-monkey-ball-banana-blitz-hd","title":"Super Monkey Ball: Banana Blitz HD","compatibility":0,"releases":[{"id":"0100B2A00E1E0000","region":null}]},{"id":"89f92b51-3ef4-4a17-b13d-c2df481ba3fe","directory":"violett-demo","title":"Violett Demo","compatibility":99,"releases":[{"id":"01003B2009D18000","region":null}]},{"id":"8a00e549-e980-48ba-91a8-ba85558cd660","directory":"shinya-ichizoku-the-battle-for-hokkaidos-delicious-foods","title":"Shinya Ichizoku The Battle for Hokkaido's Delicious Foods","compatibility":99,"releases":[{"id":"0100BA6015E82000","region":null}]},{"id":"8a08357c-2f63-4a40-9e26-86968520c972","directory":"rock-of-ages-3-make-break","title":"Rock of Ages 3: Make & Break","compatibility":99,"releases":[{"id":"0100A1B00DB36000","region":null}]},{"id":"8a08ce6a-03bf-48cf-afed-f50a7973b698","directory":"binarystar-infinity","title":"Binarystar Infinity","compatibility":99,"releases":[{"id":"0100CFB013AE4000","region":null}]},{"id":"8a14ab9c-b05b-4406-a94a-ac6222f7d2b3","directory":"neverending-nightmares","title":"Neverending Nightmares","compatibility":4,"releases":[{"id":"0100F79012600000","region":null}]},{"id":"8a1c4fc9-0b5d-4a74-8ac2-b6f4739f364a","directory":"angels-punishment","title":"Angel's Punishment","compatibility":1,"releases":[{"id":"010062B015D28000","region":null}]},{"id":"8a22897e-fb54-4531-8a81-932ae24d9be6","directory":"arcaea","title":"Arcaea","compatibility":2,"releases":[{"id":"0100E680149DC000","region":null}]},{"id":"8a2528aa-d5ef-471e-a8c2-af3a8a5f53e1","directory":"sports-party","title":"Sports Party","compatibility":5,"releases":[{"id":"0100DE9005170000","region":null}]},{"id":"8a26cae4-0753-462d-a105-34fbb6f56f4e","directory":"wide-ocean-big-jacket","title":"Wide Ocean Big Jacket","compatibility":99,"releases":[{"id":"0100A9C010246000","region":null}]},{"id":"8a2ce300-efcf-45ee-a504-9ee035b3d0e1","directory":"pokemon-lets-go-pikachu","title":"Pokémon: Let’s Go, Pikachu!","compatibility":1,"releases":[{"id":"010003F003A34000","region":null}]},{"id":"8a3a1b42-44c9-4bc9-9508-da8a59fe22ca","directory":"zero-gunner-2-for-nintendo-switch","title":"ZERO GUNNER 2- for Nintendo Switch","compatibility":1,"releases":[{"id":"0100A6A00894C000","region":null}]},{"id":"8a3d5b1a-e1ba-40ae-b819-45e86f925b46","directory":"air-hockey","title":"Air Hockey","compatibility":1,"releases":[{"id":"010005A00A4F4000","region":null}]},{"id":"8a3f64a8-bbec-4603-96a0-10a13349311d","directory":"skyland-heart-of-the-mountain","title":"Skyland: Heart of the Mountain","compatibility":99,"releases":[{"id":"01007860144F4000","region":null}]},{"id":"8a4ead8c-2de8-4154-8e92-db52677b3650","directory":"extreme-car-driver","title":"Extreme Car Driver","compatibility":0,"releases":[{"id":"0100615015E4A000","region":null}]},{"id":"8a601ae1-821c-4259-b66b-1954daf937e5","directory":"breathedge","title":"Breathedge","compatibility":99,"releases":[{"id":"01000AA013A5E000","region":null}]},{"id":"8a609710-43b3-432e-ac04-c7b863e151dd","directory":"ballzout","title":"BallzOut","compatibility":99,"releases":[{"id":"01004820120C0000","region":null}]},{"id":"8a69cf77-434a-4cc9-a822-fa6a2e77f464","directory":"gnomes-garden-lost-king","title":"Gnomes Garden: Lost King","compatibility":99,"releases":[{"id":"010036C00D0D6000","region":null}]},{"id":"8a6ef618-4e58-40ec-aea8-af08a3ad739c","directory":"pizza-parking","title":"Pizza Parking","compatibility":99,"releases":[{"id":"01006C700D2CE000","region":null}]},{"id":"8a74367f-6143-48df-a2e5-476a92fdedce","directory":"the-house-of-da-vinci","title":"The House of Da Vinci","compatibility":2,"releases":[{"id":"01004AD00E094000","region":null}]},{"id":"8a809606-9cc9-439b-823a-8f41935a2020","directory":"felix-the-toy","title":"Felix The Toy","compatibility":99,"releases":[{"id":"010020B014D8E000","region":null}]},{"id":"8a98e294-1221-4b04-b428-aa8798a5610d","directory":"gardeners-path","title":"Gardener's Path","compatibility":99,"releases":[{"id":"010019F016BFC000","region":null}]},{"id":"8a9ca65b-b855-4603-a5e3-06133ff481fd","directory":"exception","title":"Exception","compatibility":99,"releases":[{"id":"0100F2D00C7DE000","region":null}]},{"id":"8ab54287-3e50-4390-85b4-031259f1034e","directory":"death-come-true","title":"Death Come True","compatibility":2,"releases":[{"id":"010012B011AB2000","region":null}]},{"id":"8abcd565-03bf-4710-9346-5fc318b56117","directory":"astria-ascending","title":"Astria Ascending","compatibility":2,"releases":[{"id":"01003070146FE000","region":null}]},{"id":"8acb5205-864c-487c-9a4c-176026b8010e","directory":"pixel-game-maker-series-steos-sorrow-song-of-bounty-hunter","title":"Pixel Game Maker Series STEOS -Sorrow song of Bounty hunter-","compatibility":99,"releases":[{"id":"0100247013722000","region":null}]},{"id":"8acd61ab-c8de-4624-aa71-165b2ad2586a","directory":"lost-kings-lullaby","title":"Lost King's Lullaby","compatibility":99,"releases":[{"id":"01002C400ADC0000","region":null}]},{"id":"8ad5a264-86f6-4d27-a2c5-ac70d96c162a","directory":"dreamworks-spirit-luckys-big-adventure","title":"DreamWorks Spirit Lucky’s Big Adventure","compatibility":99,"releases":[{"id":"0100236011B4C000","region":null}]},{"id":"8adec3aa-bc6f-4568-bf94-bdd41a3b42a7","directory":"annas-quest","title":"Anna's Quest","compatibility":99,"releases":[{"id":"0100A9801134C000","region":null}]},{"id":"8af328cc-9aed-437c-bc50-c23151929201","directory":"lego-worlds","title":"LEGO Worlds","compatibility":0,"releases":[{"id":"0100838002AEA000","region":null}]},{"id":"8af43721-9df2-41bb-b18e-5412a3a9f924","directory":"mega-man-11","title":"Mega Man 11","compatibility":0,"releases":[{"id":"0100B0C0086B0000","region":null}]},{"id":"8af52b6f-86fe-4c26-9782-ec4136499635","directory":"dungeons-hell","title":"Dungeon's Hell","compatibility":1,"releases":[{"id":"0100474015BCE000","region":null}]},{"id":"8afabe60-75a1-4b3e-b953-66e10bdbd168","directory":"marchen-forest","title":"Märchen Forest","compatibility":99,"releases":[{"id":"01001B2012D5E000","region":null}]},{"id":"8afc2cae-51d9-4076-9292-f1310612b960","directory":"unknown-fate","title":"Unknown Fate","compatibility":99,"releases":[{"id":"010045200D3A4000","region":null}]},{"id":"8b025fd6-55c4-4593-b036-d704e2eb30a6","directory":"cotton-100","title":"Cotton 100%","compatibility":1,"releases":[{"id":"0100D5A01692C000","region":null}]},{"id":"8b0bb610-ee80-4805-b45e-b72b77032873","directory":"midnight-deluxe","title":"Midnight Deluxe","compatibility":0,"releases":[{"id":"01000FB008900000","region":null}]},{"id":"8b139d57-d7ed-4577-a05a-ac6aa0a52165","directory":"rbi-baseball-19","title":"R.B.I. Baseball 19","compatibility":4,"releases":[{"id":"0100FCB00BF40000","region":null}]},{"id":"8b234089-b05c-45f8-924a-6696c4a043d1","directory":"unstrong-space-calamity","title":"Unstrong: Space Calamity","compatibility":99,"releases":[{"id":"0100D36016AE4000","region":null}]},{"id":"8b39309c-39ed-43be-8722-fb0a83e117e9","directory":"tap-tap-legions","title":"Tap Tap Legions","compatibility":99,"releases":[{"id":"0100EBA01399E000","region":null}]},{"id":"8b3e397a-0b75-4f25-a604-0203258aeaaa","directory":"tales-of-vesperia-definitive-edition","title":"Tales of Vesperia: Definitive Edition","compatibility":1,"releases":[{"id":"01002C0008E52000","region":null}]},{"id":"8b4787b6-14d5-45f1-b494-5d6297fe1f66","directory":"rolling-sky","title":"Rolling Sky","compatibility":99,"releases":[{"id":"0100BAA00D60A000","region":null}]},{"id":"8b4fb4e8-2ca8-416a-aaf1-73e59f7ab130","directory":"chess-gambit","title":"Chess Gambit","compatibility":99,"releases":[{"id":"0100FE1015F16000","region":null}]},{"id":"8b5d55ef-0e59-400e-b2d8-54d85a8104d2","directory":"doodle-god-crime-city","title":"Doodle God: Crime City","compatibility":2,"releases":[{"id":"01007E700D5B4000","region":null}]},{"id":"8b662f40-21cf-4f49-8524-f2ce35d788db","directory":"just-die-already","title":"Just Die Already","compatibility":99,"releases":[{"id":"0100AC600CF0A000","region":null}]},{"id":"8b8ecf4d-4224-43c6-a640-ebac714bfd2f","directory":"piczle-lines-dx-bundle","title":"Piczle Lines DX Bundle","compatibility":99,"releases":[{"id":"01006960121A8000","region":null}]},{"id":"8b989545-2d77-4760-a19b-97173a2b2b63","directory":"the-legend-of-ninja","title":"The Legend of Ninja","compatibility":99,"releases":[{"id":"0100C5A01327E000","region":null}]},{"id":"8b993524-13b0-477c-87d5-afc1bbe2fd00","directory":"gem-smashers","title":"Gem Smashers","compatibility":5,"releases":[{"id":"01001A4008192000","region":null}]},{"id":"8b999ded-4de2-4ceb-9c58-1d3e241e1084","directory":"gnomes-garden-3-the-thief-of-castles","title":"Gnomes Garden 3: The thief of castles","compatibility":99,"releases":[{"id":"010017C00BE12000","region":null}]},{"id":"8ba23714-ef70-427c-a514-3ebc98dbd352","directory":"alphadia-genesis","title":"Alphadia Genesis","compatibility":0,"releases":[{"id":"0100C7801232C000","region":null}]},{"id":"8bcb2e7c-4122-4a6f-b08c-a6176e466d6b","directory":"pub-encounter","title":"Pub Encounter","compatibility":99,"releases":[{"id":"0100CAB00B4E4000","region":null}]},{"id":"8bf4c3a3-e8a9-4b78-8bba-0ba1eae0e78b","directory":"prepare-the-first-rpg-village-the-adventures-of-nyanzou-kumakichi-escape-game-series","title":"Prepare the First RPG Village\n~The Adventures of Nyanzou&Kumakichi: Escape Game Series~","compatibility":99,"releases":[{"id":"0100AA30161C6000","region":null}]},{"id":"8bf6fe32-26b4-4197-a554-da68bd4f5d65","directory":"kingdom-rush-origins","title":"Kingdom Rush Origins","compatibility":2,"releases":[{"id":"0100ABE0121F8000","region":null}]},{"id":"8bfff1a5-f60c-494f-bbdc-b8815c143628","directory":"drum-box","title":"Drum Box","compatibility":99,"releases":[{"id":"01009BE015A20000","region":null}]},{"id":"8c07891d-faf6-4fb8-906b-e2927e4dc578","directory":"moon-raider","title":"Moon Raider","compatibility":99,"releases":[{"id":"01000C301457C000","region":null}]},{"id":"8c19c17c-07dc-435f-b755-3817fff8cc8d","directory":"aspire-inas-tale","title":"Aspire: Ina's Tale","compatibility":99,"releases":[{"id":"0100AC5016808000","region":null}]},{"id":"8c247ca5-3960-4301-8d4c-b6eb264ec624","directory":"ys-viii-lacrimosa-of-dana","title":"Ys VIII: Lacrimosa of DANA","compatibility":1,"releases":[{"id":"01007F200B0C0000","region":null}]},{"id":"8c26465c-4989-405e-b16b-636514543ef0","directory":"johnny-turbos-arcade-super-burger-time","title":"Johnny Turbo's Arcade: Super Burger Time","compatibility":99,"releases":[{"id":"01000E400222A000","region":null}]},{"id":"8c279f7f-8b60-4613-be41-c13d570a8fa1","directory":"chocobos-mystery-dungeon-every-buddy","title":"Chocobo's Mystery Dungeon EVERY BUDDY!","compatibility":2,"releases":[{"id":"0100BF600BF26000","region":null}]},{"id":"8c2ba144-a0e9-48df-b938-391e409f0e05","directory":"instant-sports","title":"Instant Sports","compatibility":99,"releases":[{"id":"010099700D750000","region":null}]},{"id":"8c33ef9e-2e80-4b43-9737-a6b9c793294e","directory":"aeternoblade-demo","title":"AeternoBlade Demo","compatibility":99,"releases":[{"id":"0100B1C00949A000","region":null}]},{"id":"8c37ada9-3897-4aaa-a6bc-d44ca475cdef","directory":"tower-of-time","title":"Tower Of Time","compatibility":99,"releases":[{"id":"010094600DC86000","region":null}]},{"id":"8c3ad559-326b-4809-8b87-2f6e2039ec55","directory":"arcadia-fallen","title":"Arcadia Fallen","compatibility":99,"releases":[{"id":"0100BC8016306000","region":null}]},{"id":"8c3c5097-4f8d-4140-959d-299cca7a1ce3","directory":"immortals-fenyx-rising","title":"Immortals Fenyx Rising™","compatibility":4,"releases":[{"id":"01004A600EC0A000","region":null}]},{"id":"8c3f31a6-becb-41ed-89c2-bafb474930c2","directory":"archvale","title":"Archvale","compatibility":99,"releases":[{"id":"0100A4D0146B2000","region":null}]},{"id":"8c4615b0-0fac-46ed-ba5e-ebfb63cca6df","directory":"terra-bomber","title":"Terra Bomber","compatibility":99,"releases":[{"id":"01003990145EE000","region":null}]},{"id":"8c65faf2-8658-4fb7-a816-5370578359ff","directory":"duck-souls","title":"Duck Souls+","compatibility":99,"releases":[{"id":"0100E9B010028000","region":null}]},{"id":"8c67caa0-8575-479e-8847-3a6f5c963cee","directory":"flat-heroes","title":"Flat Heroes","compatibility":0,"releases":[{"id":"0100C53004C52000","region":null}]},{"id":"8c73cbaf-5cfe-465d-be28-4b7d10c4614b","directory":"retro-machina","title":"Retro Machina","compatibility":99,"releases":[{"id":"01000ED014A2C000","region":null}]},{"id":"8c78fe76-6038-45ac-897c-e7a221cd75b6","directory":"senran-kagura-reflexions","title":"SENRAN KAGURA Reflexions","compatibility":1,"releases":[{"id":"0100E0C00ADAC000","region":null}]},{"id":"8c81e26f-6748-40bd-b870-f4626fda447c","directory":"bats-bloodsucker-anti-terror-squad","title":"BATS: Bloodsucker Anti-Terror Squad","compatibility":99,"releases":[{"id":"0100F97015D46000","region":null}]},{"id":"8c885821-584b-4c02-8065-cd2d3e9d5193","directory":"the-skylia-prophecy","title":"The Skylia Prophecy","compatibility":99,"releases":[{"id":"01007D50140E4000","region":null}]},{"id":"8c888bd8-51a7-4419-8a1d-f0cd68b06950","directory":"justin-danger","title":"Justin Danger","compatibility":99,"releases":[{"id":"010045D0142C8000","region":null}]},{"id":"8c95dd59-b865-42c9-b8d1-83a8486bf36b","directory":"number-place-10000","title":"Number Place 10000","compatibility":99,"releases":[{"id":"010020500C8C8000","region":null}]},{"id":"8cac8bc2-4c58-4269-9b68-c32581386ac4","directory":"war-tech-fighters","title":"War Tech Fighters","compatibility":99,"releases":[{"id":"010049500DE56000","region":null}]},{"id":"8cadfa0b-8732-47ce-91fc-8ea4991ad42b","directory":"colorgrid","title":"Colorgrid","compatibility":99,"releases":[{"id":"010039B011312000","region":null}]},{"id":"8cbac864-c886-4645-9a45-1661bd541cc0","directory":"garden-story","title":"Garden Story","compatibility":3,"releases":[{"id":"0100B4D012490000","region":null}]},{"id":"8cc2b8c5-f310-41ae-bf5e-c1a3e8eb6f01","directory":"ikaruga","title":"Ikaruga","compatibility":3,"releases":[{"id":"01009F20086A0000","region":null}]},{"id":"8cc5e474-3bcd-455c-89f8-e9c30085d328","directory":"platago-super-platform-game-maker","title":"PlataGO! Super Platform Game Maker","compatibility":5,"releases":[{"id":"010044E008FC6000","region":null}]},{"id":"8cd27cbc-2baf-43f3-8a46-5e40b4c8f8aa","directory":"digerati-best-sellers","title":"Digerati Best Sellers","compatibility":99,"releases":[{"id":"01001C5012F52000","region":null}]},{"id":"8cdee0a2-6064-4843-9afb-e57b306d9441","directory":"lord-of-the-click-ii","title":"Lord of the Click II","compatibility":99,"releases":[{"id":"0100F54015F86000","region":null}]},{"id":"8ce0b09a-3b6b-4498-9ce2-f1d2e42d9427","directory":"donut-match","title":"Donut Match","compatibility":99,"releases":[{"id":"01000A5015EA4000","region":null}]},{"id":"8ce95e55-78f4-4fd9-8951-f925c3c80144","directory":"the-town-of-light-deluxe-edition","title":"The Town of Light: Deluxe Edition","compatibility":99,"releases":[{"id":"010058000A576000","region":null}]},{"id":"8ceb0664-3507-4b4b-afc3-89fd88f2287c","directory":"rack-n-ruin","title":"Rack N Ruin","compatibility":1,"releases":[{"id":"0100B8100C54A000","region":null}]},{"id":"8cf465c8-5082-4c10-90ac-f4ac8f55ee5f","directory":"arcade-archives-sea-fighter-poseidon","title":"Arcade Archives SEA FIGHTER POSEIDON","compatibility":99,"releases":[{"id":"01006BA015070000","region":null}]},{"id":"8d081d15-b96a-4156-a649-67c099fd3357","directory":"lotus-bloom","title":"Lotus Bloom","compatibility":99,"releases":[{"id":"0100A55015B98000","region":null}]},{"id":"8d172360-69f6-4b02-bfe0-f7d6c0865e58","directory":"forest-home","title":"Forest Home","compatibility":99,"releases":[{"id":"010094F00E0EE000","region":null}]},{"id":"8d216c0f-7b89-4fc0-970e-76754751d857","directory":"fantasy-checkers","title":"Fantasy Checkers","compatibility":0,"releases":[{"id":"0100C3E014F40000","region":null}]},{"id":"8d4c90cb-b828-4371-af57-a58ede9e218e","directory":"pocket-warriors","title":"Pocket Warriors","compatibility":99,"releases":[{"id":"01009B4013C00000","region":null}]},{"id":"8d4f7d4b-5b20-4447-8443-735aa81ea7cc","directory":"jurassic-world-evolution-complete-edition","title":"Jurassic World Evolution: Complete Edition","compatibility":2,"releases":[{"id":"010050A011344000","region":null}]},{"id":"8d5e505d-8ced-41e6-ae71-7510bb422bbd","directory":"r-type-dimensions-ex-demo-version","title":"R-Type Dimensions EX Demo Version","compatibility":99,"releases":[{"id":"0100A4100DDC2000","region":null}]},{"id":"8d672c12-1e0e-46f7-a8c8-13c36b65b2db","directory":"stunt-kite-party","title":"Stunt Kite Party","compatibility":99,"releases":[{"id":"0100AF000B4AE000","region":null}]},{"id":"8d747a52-dc6c-4b3e-991c-f39b76da7a07","directory":"neverout","title":"Neverout","compatibility":99,"releases":[{"id":"010043800AD94000","region":null}]},{"id":"8d7674ac-b942-466c-93dd-d9e703416611","directory":"woodle-tree-adventures","title":"Woodle Tree Adventures","compatibility":1,"releases":[{"id":"0100956007854000","region":null}]},{"id":"8d831cd4-71d5-4e73-a3d7-7105c1710b05","directory":"exodemon","title":"Exodemon","compatibility":99,"releases":[{"id":"0100A82013976000","region":null}]},{"id":"8d85b497-8bcf-4089-a824-8f49030a89c6","directory":"game-dev-story-demo","title":"Game Dev Story Demo","compatibility":99,"releases":[{"id":"010022000BCDA000","region":null}]},{"id":"8d884d3f-f55d-46cf-8856-39198dc2c902","directory":"urban-street-fighting","title":"Urban Street Fighting","compatibility":99,"releases":[{"id":"010054F014016000","region":null}]},{"id":"8d8df59a-111d-4bce-9568-13e82da6850d","directory":"awesome-pea-2","title":"Awesome Pea 2","compatibility":3,"releases":[{"id":"0100B7D01147E000","region":null}]},{"id":"8d971070-7184-4512-bf1b-ba0ac1ab7195","directory":"rive-ultimate-edition","title":"RIVE: Ultimate Edition","compatibility":99,"releases":[{"id":"010069C00401A000","region":null}]},{"id":"8dac02f4-893a-43a8-8758-3b96604049f8","directory":"lode-runner-legacy","title":"Lode Runner Legacy","compatibility":3,"releases":[{"id":"010016C009374000","region":null}]},{"id":"8daf0a85-6e11-4223-9589-8bd3aad5d8b1","directory":"1917-the-alien-invasion-dx","title":"1917 - The Alien Invasion DX","compatibility":0,"releases":[{"id":"01005CA0099AA000","region":null}]},{"id":"8dbb64f6-a187-4d3d-b433-f9dce9f994fc","directory":"house-cleaning-survival","title":"House Cleaning Survival","compatibility":99,"releases":[{"id":"0100EFE01452A000","region":null}]},{"id":"8dcc986d-f188-41f7-8c37-9f9df608371f","directory":"black-paradox","title":"Black Paradox","compatibility":99,"releases":[{"id":"010071900D95A000","region":null}]},{"id":"8dce7074-665a-4751-a9f6-3e0a804bb7e7","directory":"ball-lab","title":"Ball laB","compatibility":99,"releases":[{"id":"0100C8B01546C000","region":null}]},{"id":"8de9aa77-7b73-4ce2-bc3b-a7f1906d1bf0","directory":"wwe-2k-battlegrounds","title":"WWE 2K Battlegrounds","compatibility":4,"releases":[{"id":"010081700EDF4000","region":null}]},{"id":"8e1f823a-2c56-4b4f-a11d-82d89e9738d2","directory":"atom-rpg","title":"ATOM RPG","compatibility":2,"releases":[{"id":"0100B9400FA38000","region":null}]},{"id":"8e2f06ec-2aa0-4a52-9dcd-b5744fbb33ae","directory":"starblox-inc","title":"StarBlox Inc.","compatibility":99,"releases":[{"id":"010006F00EE72000","region":null}]},{"id":"8e3e7f2c-17da-4781-8174-20eb3ebc9b4f","directory":"unit-4","title":"Unit 4","compatibility":99,"releases":[{"id":"0100B1400D92A000","region":null}]},{"id":"8e46b376-77ba-4cc8-83e5-fab85c472c3e","directory":"rubix-roller","title":"Rubix Roller","compatibility":99,"releases":[{"id":"010080E01515A000","region":null}]},{"id":"8e5ac266-2c66-4491-aa1f-720bcc4be738","directory":"radon-blast","title":"Radon Blast","compatibility":99,"releases":[{"id":"0100323014580000","region":null}]},{"id":"8e784ab5-b2e2-41a3-ba1d-eb4996681d90","directory":"air-conflicts-secret-wars","title":"Air Conflicts: Secret Wars","compatibility":3,"releases":[{"id":"0100B2B00C7D4000","region":null}]},{"id":"8e833e2f-7b39-49d0-90d1-855316983370","directory":"league-of-champions-soccer","title":"League Of Champions Soccer","compatibility":99,"releases":[{"id":"01006040153A0000","region":null}]},{"id":"8e89a004-a257-4418-9555-b7f1c21487ed","directory":"warhammer-40000-space-wolf","title":"WARHAMMER 40,000: SPACE WOLF","compatibility":99,"releases":[{"id":"0100E5600D7B2000","region":null}]},{"id":"8e90938d-e5bc-4587-aa92-fcab6efd596c","directory":"dollhouse","title":"Dollhouse","compatibility":99,"releases":[{"id":"010065D014E0A000","region":null}]},{"id":"8eab0bfe-2bb5-47a4-a61a-ab556fb7c978","directory":"just-dance-2017","title":"Just Dance 2017","compatibility":0,"releases":[{"id":"0100BCE000598000","region":null}]},{"id":"8ec187f4-7d99-4629-a062-37c46cbad86a","directory":"isoland","title":"Isoland","compatibility":99,"releases":[{"id":"010065200D192000","region":null}]},{"id":"8ec9657c-1880-4b48-97be-e621cc3a48e7","directory":"johnny-turbos-arcade-joe-and-mac-caveman-ninja","title":"Johnny Turbo's Arcade Joe and Mac Caveman Ninja","compatibility":4,"releases":[{"id":"0100355002CBE000","region":null}]},{"id":"8ecdb45c-cdcf-4468-85e4-0d2aaaa38cbe","directory":"preston-sterling-and-the-legend-of-excalibur","title":"Preston Sterling and the Legend of Excalibur","compatibility":99,"releases":[{"id":"010052601473C000","region":null}]},{"id":"8ee06cb1-3fb5-4e00-bc0e-250a7e974d37","directory":"dune-sea","title":"Dune Sea","compatibility":99,"releases":[{"id":"0100D4B010DCA000","region":null}]},{"id":"8ee6f66c-7cb0-4e94-87ae-9499f3af6dbd","directory":"jurassic-pinball","title":"Jurassic Pinball","compatibility":99,"releases":[{"id":"0100CE100A826000","region":null}]},{"id":"8ee9aa03-4d93-4df4-9af6-96bfc7c3139a","directory":"bubble","title":"Bubble","compatibility":99,"releases":[{"id":"01004A4011CB4000","region":null}]},{"id":"8ef5a535-573c-49cb-aced-6b41803186a0","directory":"hatsune-miku-project-diva-mega-mix","title":"Hatsune Miku: Project DIVA Mega Mix","compatibility":0,"releases":[{"id":"01001CC00FA1A000","region":null}]},{"id":"8f008fab-df17-4457-8c87-19e30acc4d6f","directory":"stones-of-the-revenant","title":"Stones of the Revenant","compatibility":0,"releases":[{"id":"0100AFC00F7B6000","region":null}]},{"id":"8f09e9ce-55e2-496b-b781-e75465a10c4f","directory":"mech-rage","title":"Mech Rage","compatibility":99,"releases":[{"id":"0100EC000CE24000","region":null}]},{"id":"8f0c5c13-62f7-4952-8c11-d319b8a83038","directory":"kill-it-with-fire","title":"Kill It With Fire","compatibility":99,"releases":[{"id":"0100152012BB0000","region":null}]},{"id":"8f172b43-e826-40eb-8990-1a3f8e1e684f","directory":"traffix","title":"Traffix","compatibility":99,"releases":[{"id":"01002B700F88A000","region":null}]},{"id":"8f3bd36d-9747-4eed-bbd5-fc60f2528725","directory":"gnosia","title":"Gnosia","compatibility":1,"releases":[{"id":"01008EF013A7C000","region":null}]},{"id":"8f468c01-197f-4244-98db-6ba259aac7ac","directory":"choices-that-matter-and-the-sun-went-out","title":"Choices That Matter: And The Sun Went Out","compatibility":99,"releases":[{"id":"01000BA0132EA000","region":null}]},{"id":"8f4eca0a-663b-40ab-94c6-1a0c11648c6b","directory":"alveole","title":"Alveole","compatibility":99,"releases":[{"id":"01008320152D0000","region":null}]},{"id":"8f4eedf6-ef92-48e1-a6af-6dd885af07d8","directory":"guilt-battle-arena","title":"GUILT BATTLE ARENA","compatibility":1,"releases":[{"id":"010060E009062000","region":null}]},{"id":"8f579c29-1b5f-40a6-8246-b712f6f3a991","directory":"gensou-skydrift","title":"GENSOU Skydrift","compatibility":0,"releases":[{"id":"0100E9E00DBF4000","region":null}]},{"id":"8f5e9b83-054d-4ada-b050-76330f514c30","directory":"green-video-game","title":"GREEN VIDEO GAME","compatibility":1,"releases":[{"id":"0100DFE00F002000","region":null}]},{"id":"8f669828-d50b-4aa2-b7e5-bf75849447b9","directory":"sigi-a-fart-for-melusina","title":"Sigi - A Fart for Melusina","compatibility":99,"releases":[{"id":"01007FC00B674000","region":null}]},{"id":"8f67a4fa-31ea-418e-9c08-4a82a68957f8","directory":"doughlings-invasion","title":"Doughlings: Invasion","compatibility":99,"releases":[{"id":"0100FFA00C9F4000","region":null}]},{"id":"8f7998d9-f629-46a4-aaad-080ce1cd4ba6","directory":"crazy-oce","title":"Crazy Oce","compatibility":99,"releases":[{"id":"0100ADF01388C000","region":null}]},{"id":"8f79d057-8adb-4dea-a4c9-d3c396271e7c","directory":"transformers-battlegrounds","title":"TRANSFORMERS: BATTLEGROUNDS","compatibility":2,"releases":[{"id":"01005E500E528000","region":null}]},{"id":"8f7f2e4c-27ff-4c76-9cf9-8028866564d3","directory":"pick-me-up-rescue-rangers","title":"PICK ME UP! - Rescue Rangers -","compatibility":99,"releases":[{"id":"01006050129D2000","region":null}]},{"id":"8f951d33-50fc-4dce-a220-18e21be68bc1","directory":"stacks-on-stacks-on-stacks","title":"Stacks On Stacks (On Stacks)","compatibility":99,"releases":[{"id":"0100888013B14000","region":null}]},{"id":"8fa3ab67-5b07-4312-a36e-d48f89f4c093","directory":"arcade-archives-tnk-iii","title":"Arcade Archives T.N.K III","compatibility":99,"releases":[{"id":"0100C7800C7A0000","region":null}]},{"id":"8fa99e8d-8df3-43aa-ba63-4255b6e85917","directory":"curse-of-the-dead-gods","title":"Curse of the Dead Gods","compatibility":3,"releases":[{"id":"0100D4A0118EA000","region":null}]},{"id":"8fac6a13-e310-4ad9-922e-aef5b48ed522","directory":"another-sight","title":"Another Sight","compatibility":3,"releases":[{"id":"01001A900D312000","region":null}]},{"id":"8fb14ddb-d61d-4588-8e34-5e5fcc1af7c8","directory":"corpse-party","title":"Corpse Party","compatibility":1,"releases":[{"id":"0100F7E01343E000","region":null}]},{"id":"8fc1fb6f-67dc-4e9d-b9db-87ea9b420bc3","directory":"fire-emblem-warriors","title":"Fire Emblem Warriors","compatibility":3,"releases":[{"id":"0100F15003E64000","region":null}]},{"id":"8fd67ee0-ba54-4387-9867-24bf9f98d6d2","directory":"1-crosswords-bundle","title":"#1 Crosswords Bundle","compatibility":99,"releases":[{"id":"01008F50155A6000","region":null}]},{"id":"8ff4615e-d64d-48ed-8a23-1c1dff9c08fa","directory":"rawr-off","title":"Rawr-Off","compatibility":99,"releases":[{"id":"010003F00C5C0000","region":null}]},{"id":"9001d0c4-0e7d-4d4a-b9be-d8f34a0939f0","directory":"sen-seven-eight-nine","title":"SEN: Seven Eight Nine","compatibility":99,"releases":[{"id":"01000E800F7F0000","region":null}]},{"id":"900d0354-770d-435e-b2d6-d46744bf9d81","directory":"the-jackbox-party-pack-6","title":"The Jackbox Party Pack 6","compatibility":99,"releases":[{"id":"01005A400DB52000","region":null}]},{"id":"90126d7e-d454-440c-80ce-d1f68fab3be9","directory":"biker-garage-mechanic-simulator","title":"Biker Garage: Mechanic Simulator","compatibility":99,"releases":[{"id":"01009E1016B10000","region":null}]},{"id":"90217aa0-8d8a-4bea-8ca1-9b1c2d8b5ed0","directory":"severed","title":"Severed","compatibility":2,"releases":[{"id":"0100157004512000","region":null}]},{"id":"902501e2-e9ea-450a-a696-9ec141f697dc","directory":"zombies-ate-my-neighbors-and-ghoul-patrol","title":"Zombies Ate My Neighbors and Ghoul Patrol","compatibility":0,"releases":[{"id":"0100A34012CCA000","region":null}]},{"id":"902cd4f4-aee0-47cd-ad20-98cfea274899","directory":"i-f-o","title":"I.F.O","compatibility":99,"releases":[{"id":"0100225015482000","region":null}]},{"id":"902efdce-6484-4907-8e6b-47adf51c019e","directory":"international-basketball","title":"International Basketball","compatibility":99,"releases":[{"id":"0100B1F013F2E000","region":null}]},{"id":"903b2f7f-9826-4b8b-9f4b-699841c3e5c9","directory":"hotshot-racing","title":"Hotshot Racing","compatibility":1,"releases":[{"id":"0100BDE008218000","region":null}]},{"id":"903de3f1-a6fb-422b-87d9-806336e4594d","directory":"pac-man-99","title":"PAC-MAN™ 99","compatibility":1,"releases":[{"id":"0100AD9012510000","region":null}]},{"id":"904107dc-ed86-4b57-9805-665c11d1b658","directory":"the-suicide-of-rachel-foster","title":"The Suicide of Rachel Foster","compatibility":3,"releases":[{"id":"0100779015CDC000","region":null}]},{"id":"904624f8-0db8-47d1-864b-c865e1f3acf5","directory":"without-escape","title":"Without Escape","compatibility":99,"releases":[{"id":"0100E8400FDCA000","region":null}]},{"id":"90498537-5b09-4204-8af7-11dc3f9ebf7f","directory":"fin-and-the-ancient-mystery","title":"Fin and the Ancient Mystery","compatibility":0,"releases":[{"id":"0100C8200E942000","region":null}]},{"id":"904a0339-d5d0-46fd-8140-45cd09a70fcb","directory":"dungeons-and-aliens","title":"Dungeons & Aliens","compatibility":99,"releases":[{"id":"010032800D46C000","region":null}]},{"id":"9052f19c-cad7-4756-8eee-2ec5b0f4e7be","directory":"gigantic-army","title":"GIGANTIC ARMY","compatibility":3,"releases":[{"id":"010067A00D35E000","region":null}]},{"id":"90652bf7-c7b2-46dd-8bae-eb0b0e610405","directory":"arcade-archives-vs-tennis","title":"Arcade Archives VS. TENNIS","compatibility":99,"releases":[{"id":"01009A6013AE0000","region":null}]},{"id":"9076bc4e-763b-4e22-b182-a41bbda9d083","directory":"fimbul","title":"Fimbul","compatibility":99,"releases":[{"id":"0100C3A00BB76000","region":null}]},{"id":"907be691-74da-4e31-869d-27bbce132688","directory":"steel-assault","title":"Steel Assault","compatibility":2,"releases":[{"id":"01001C6014772000","region":null}]},{"id":"907e99c8-4808-4a7f-a19f-95d83830f68c","directory":"paper-train","title":"Paper Train","compatibility":99,"releases":[{"id":"010022C00F20A000","region":null}]},{"id":"9089cb98-6e54-4856-a093-da48b1125b08","directory":"big-rumble-boxing-creed-champions","title":"Big Rumble Boxing: Creed Champions","compatibility":1,"releases":[{"id":"0100CCC0153F6000","region":null}]},{"id":"908d8826-3eaf-4c30-96d5-a77015a69c39","directory":"labyrinth-of-refrain-coven-of-dusk","title":"Labyrinth of Refrain: Coven of Dusk","compatibility":0,"releases":[{"id":"010058500B3E0000","region":null}]},{"id":"90b16bcc-debb-419f-bc34-212caa14b086","directory":"baby-puzzle-first-learning-shapes-for-toddlers","title":"Baby Puzzle - First Learning Shapes for Toddlers","compatibility":99,"releases":[{"id":"0100B3E013E56000","region":null}]},{"id":"90bec178-90ac-4955-92b0-e53a6affb92b","directory":"spice-and-wolf-vr2","title":"Spice and Wolf VR2","compatibility":99,"releases":[{"id":"0100DBD0128FE000","region":null}]},{"id":"90cb7cb7-f2c0-4aa3-ad4c-78380344cf31","directory":"darksiders-iii","title":"Darksiders III","compatibility":3,"releases":[{"id":"0100F8F014190000","region":null}]},{"id":"90d45c47-cc5c-4422-8a3b-a63bdc926262","directory":"venture-kid","title":"Venture Kid","compatibility":1,"releases":[{"id":"010095B00DBC8000","region":null}]},{"id":"90dbe6ba-b49f-4505-b7ad-a28db1748cbf","directory":"one-finger-death-punch-2","title":"One Finger Death Punch 2","compatibility":99,"releases":[{"id":"01000B500EB22000","region":null}]},{"id":"90f6f233-8fad-458d-9332-8c6a5626488a","directory":"inside","title":"INSIDE","compatibility":1,"releases":[{"id":"0100D2D009028000","region":null}]},{"id":"90f98c34-5873-48d3-a61b-d8a19c3f57aa","directory":"dating-life-miley-x-emily","title":"Dating Life: Miley X Emily","compatibility":99,"releases":[{"id":"0100BB5015AA8000","region":null}]},{"id":"91045c47-80d6-40f4-bd31-1276e1ecf314","directory":"double-dragon","title":"DOUBLE DRAGON","compatibility":1,"releases":[{"id":"010067C00E496000","region":null}]},{"id":"91098fbe-e0fa-4c8c-9ae3-65de99c83480","directory":"sudoku-master","title":"Sudoku Master","compatibility":99,"releases":[{"id":"01004DE014AEE000","region":null}]},{"id":"910ec3eb-751f-471e-a213-0521d7dd1772","directory":"they-bleed-pixels","title":"They Bleed Pixels","compatibility":99,"releases":[{"id":"01001C2010D08000","region":null}]},{"id":"91121b24-3a6e-45d6-a26d-5337ddff2612","directory":"bomber-crew","title":"Bomber Crew","compatibility":4,"releases":[{"id":"01007900080B6000","region":null}]},{"id":"91231882-e1e2-4cd7-b883-548285db5d8f","directory":"morphite","title":"Morphite","compatibility":99,"releases":[{"id":"0100776003F0C000","region":null}]},{"id":"9124b01f-fc4e-458b-8d57-9fdf56edb9ab","directory":"normans-great-illusion","title":"Norman's Great Illusion","compatibility":99,"releases":[{"id":"010016E011EFA000","region":null}]},{"id":"912b58b4-3ddd-42c6-bfbc-2fa33022a088","directory":"contra-rogue-corps","title":"CONTRA: ROGUE CORPS","compatibility":1,"releases":[{"id":"0100F2600D710000","region":null}]},{"id":"912dd349-171b-4c40-8d24-58b4672597ba","directory":"switchy-road","title":"Switchy Road","compatibility":99,"releases":[{"id":"010059400E0BA000","region":null}]},{"id":"91305b89-09eb-4e8a-abdf-cffd5e4a2b92","directory":"xenoraptor","title":"XenoRaptor","compatibility":99,"releases":[{"id":"010079100EB48000","region":null}]},{"id":"913741a1-4a54-44f0-b5ed-9b34c4b7221d","directory":"pillars-of-eternity-complete-edition","title":"Pillars of Eternity: Complete Edition","compatibility":3,"releases":[{"id":"0100D6200E130000","region":null}]},{"id":"914194b7-6c42-4043-8f09-b930b461eb3d","directory":"brainz","title":"BrainZ","compatibility":99,"releases":[{"id":"01004A800F0CA000","region":null}]},{"id":"914c8530-2cde-40ce-a1a2-fca1028feeec","directory":"a-tale-of-synapse-the-chaos-theories","title":"A Tale of Synapse: The Chaos Theories","compatibility":99,"releases":[{"id":"01000BC013B0A000","region":null}]},{"id":"916ba995-825b-4890-9ee2-04c9af3eb116","directory":"wrc-8-fia-world-rally-championship","title":"WRC 8 FIA World Rally Championship","compatibility":5,"releases":[{"id":"010087800DCEA000","region":null}]},{"id":"9171a844-82ce-4d46-8054-2b022489763a","directory":"eliza","title":"Eliza","compatibility":99,"releases":[{"id":"0100D1700E832000","region":null}]},{"id":"9173c1a0-b9d1-4828-bea3-33418c783006","directory":"griftlands","title":"Griftlands","compatibility":99,"releases":[{"id":"0100E49013514000","region":null}]},{"id":"917a0c04-067b-4e08-86c7-c259ef4779b0","directory":"sumatra-fate-of-yandi","title":"Sumatra: Fate of Yandi","compatibility":0,"releases":[{"id":"010026A013DD6000","region":null}]},{"id":"917c5a3a-11bf-4881-9ecd-5d01ac946d9c","directory":"the-tiny-bang-story","title":"The Tiny Bang Story","compatibility":99,"releases":[{"id":"01009B300D76A000","region":null}]},{"id":"918807a6-5b29-4f9b-9108-fca8150a7eef","directory":"ruiner","title":"RUINER","compatibility":1,"releases":[{"id":"01006EC00F2CC000","region":null}]},{"id":"918b93f4-92b6-46f6-91ca-60d8e91c1a00","directory":"super-treasure-arena","title":"Super Treasure Arena","compatibility":99,"releases":[{"id":"010024A005A2A000","region":null}]},{"id":"91960037-41b9-4c38-82ca-7feb2fb6bcfe","directory":"copperbell","title":"CopperBell","compatibility":99,"releases":[{"id":"0100C5A0115C4000","region":null}]},{"id":"91980373-7b2e-4336-8f47-6f588bbd2118","directory":"capcom-arcade-stadium","title":"Capcom Arcade Stadium","compatibility":3,"releases":[{"id":"01001E0013208000","region":null}]},{"id":"91a43e92-07dc-4e05-a981-280719dd7a3a","directory":"morphite-demo","title":"Morphite Demo","compatibility":99,"releases":[{"id":"0100E1500B5EE000","region":null}]},{"id":"91b005bb-d10f-4064-8a0f-babcd289db10","directory":"goken","title":"GOKEN","compatibility":1,"releases":[{"id":"0100126006EF0000","region":null}]},{"id":"91bdb1d8-034c-4a95-ab70-77cb60bdbc7f","directory":"ni-no-kuni-ii-revenant-kingdom-princes-edition","title":"Ni no Kuni™ II: Revenant Kingdom PRINCE'S EDITION","compatibility":1,"releases":[{"id":"0100BE7013E06000","region":null}]},{"id":"91c61b1f-ca5e-4f90-9fb2-7358db3cd856","directory":"flip-over-frog","title":"FLIP OVER FROG","compatibility":99,"releases":[{"id":"0100AFC00B120000","region":null}]},{"id":"91ca3454-8b06-4c2c-aa9c-b6175c09d10d","directory":"fuze4-nintendo-switch","title":"FUZE4 Nintendo Switch","compatibility":5,"releases":[{"id":"0100EAD007E98000","region":null}]},{"id":"91d0f429-c36b-4577-8e5e-e7971cd9d96c","directory":"pinkman","title":"Pinkman+","compatibility":99,"releases":[{"id":"0100BD8013992000","region":null}]},{"id":"91deab0a-ded9-49e7-97a4-2ad921841728","directory":"saga-frontier-remastered","title":"SaGa Frontier Remastered","compatibility":1,"releases":[{"id":"0100A51013530000","region":null}]},{"id":"91e8ae57-78a3-4291-9090-056db5edac07","directory":"owlboy","title":"Owlboy","compatibility":1,"releases":[{"id":"0100BC2004FF4000","region":null}]},{"id":"91f51d45-473f-425f-bd3e-a5188d3e67f7","directory":"space-scavenger","title":"Space Scavenger","compatibility":99,"releases":[{"id":"0100B37011E2C000","region":null}]},{"id":"91f7ed6f-1129-4019-9475-f0f676b7ad9f","directory":"the-plane-effect","title":"The Plane Effect","compatibility":99,"releases":[{"id":"0100F4C013866000","region":null}]},{"id":"91fe0bb1-d56a-4136-91cd-9532b2862c42","directory":"gods-will-fall","title":"Gods Will Fall","compatibility":3,"releases":[{"id":"0100CFA0111C8000","region":null}]},{"id":"922da700-2eaf-4679-a63e-696e5b47139e","directory":"rime","title":"RiME","compatibility":3,"releases":[{"id":"0100A62002042000","region":null}]},{"id":"9230b1d9-082a-46b1-8211-88ac46ef0e2a","directory":"seven-knights-time-wanderer","title":"Seven Knights -Time Wanderer-","compatibility":4,"releases":[{"id":"010018400C24E000","region":null}]},{"id":"9238e5db-f81a-4935-a699-6dfc552e5a9b","directory":"animus","title":"ANIMUS","compatibility":0,"releases":[{"id":"010097600C322000","region":null}]},{"id":"92421a02-e962-4bee-b5d7-c5b352de95f2","directory":"arcade-archives-moon-patrol","title":"Arcade Archives MOON PATROL","compatibility":1,"releases":[{"id":"01003000097FE000","region":null}]},{"id":"9246e08c-ca47-4dc6-8e4e-cd6c90e456ed","directory":"melty-blood-type-lumina","title":"MELTY BLOOD: TYPE LUMINA","compatibility":1,"releases":[{"id":"01001E30126A0000","region":null}]},{"id":"925c58f6-8515-4eac-924e-9828c93a5d06","directory":"crash-autodrive","title":"CRASH: Autodrive","compatibility":99,"releases":[{"id":"01005AE0125F0000","region":null}]},{"id":"925e3fa4-6c3e-4229-ba47-0b5c40615d9e","directory":"redout-space-assault","title":"Redout: Space Assault","compatibility":99,"releases":[{"id":"0100326010B98000","region":null}]},{"id":"926629ef-5ce5-43f8-b462-02dd1db98b3f","directory":"tacticool-champs","title":"Tacticool Champs","compatibility":99,"releases":[{"id":"010044A00CEB4000","region":null}]},{"id":"926e7162-33f1-4438-a0a7-6e1c62dfc711","directory":"what-comes-after","title":"What Comes After","compatibility":99,"releases":[{"id":"0100013013F30000","region":null}]},{"id":"928f37e1-fa13-4e4d-8c0a-e1cead26d639","directory":"feather","title":"Feather","compatibility":3,"releases":[{"id":"0100E4300CB3E000","region":null}]},{"id":"929c7474-8098-42ea-8dff-3f8cce8a4d35","directory":"car-quest","title":"Car Quest","compatibility":0,"releases":[{"id":"01007BD00AE70000","region":null}]},{"id":"92aac202-bfc9-424e-a244-01dde5cdf315","directory":"garfield-kart-furious-racing","title":"Garfield Kart Furious Racing","compatibility":2,"releases":[{"id":"010061E00E8BE000","region":null}]},{"id":"92bc8a02-cb6e-4e70-b3d0-184b3c1eadf8","directory":"catty-batty-the-spirit-guide","title":"Catty & Batty: The Spirit Guide","compatibility":99,"releases":[{"id":"0100AEF014C82000","region":null}]},{"id":"92bde1d0-207b-45ff-8168-ded79b7e016c","directory":"pixark","title":"PixARK","compatibility":99,"releases":[{"id":"0100CC700B2B4000","region":null}]},{"id":"92c5bfd8-2ee6-449b-8858-00d2231d46a4","directory":"world-soccer","title":"World Soccer","compatibility":99,"releases":[{"id":"010083B00B97A000","region":null}]},{"id":"92d66290-6d90-4475-ae3a-a148aa0b8dd2","directory":"moorhuhn-kart-2","title":"Moorhuhn Kart 2","compatibility":99,"releases":[{"id":"010045C00F274000","region":null}]},{"id":"92e843ea-413c-4219-bd5f-7eab1a932488","directory":"hed-the-pig","title":"Hed the Pig","compatibility":1,"releases":[{"id":"0100690013826000","region":null}]},{"id":"92eccc9a-59a2-4eb6-b316-693432cc23e1","directory":"iris-and-the-giant","title":"Iris and the Giant","compatibility":99,"releases":[{"id":"01008780123A0000","region":null}]},{"id":"92ece80b-59f6-4f24-a07a-aafa69170906","directory":"aeon-must-die","title":"Aeon Must Die!","compatibility":0,"releases":[{"id":"01000B600F918000","region":null}]},{"id":"92fad2dc-59d8-466f-9eb3-977371f5711f","directory":"magnus-failure","title":"Magnus Failure","compatibility":99,"releases":[{"id":"0100F490159A2000","region":null}]},{"id":"92fdc7d4-07e2-4f19-931e-e25be59691c5","directory":"gems-of-war","title":"Gems of War","compatibility":4,"releases":[{"id":"0100BD800986E000","region":null}]},{"id":"92ff9311-7da9-4d39-9c9e-7a4ab8a41639","directory":"arcade-archives-naughty-boy","title":"Arcade Archives NAUGHTY BOY","compatibility":99,"releases":[{"id":"0100419010C60000","region":null}]},{"id":"930651df-8b48-42bf-a2de-ebdae094a1b5","directory":"the-spectrum-retreat","title":"The Spectrum Retreat","compatibility":99,"releases":[{"id":"010041C00A68C000","region":null}]},{"id":"930edcbd-dc79-4c28-9e86-8ad79601558b","directory":"vasterclaws-3-dragon-slayer-of-the-god-world","title":"VasterClaws 3:Dragon slayer of the God world","compatibility":99,"releases":[{"id":"0100082014D86000","region":null}]},{"id":"93150f44-82be-410f-8ea2-4bbbe122453f","directory":"mecha-storm","title":"Mecha Storm","compatibility":99,"releases":[{"id":"01001FA009A1E000","region":null}]},{"id":"93190e97-13c7-48c1-8af7-6bee24532787","directory":"bafl-brakes-are-for-losers","title":"BAFL - Brakes Are For Losers","compatibility":1,"releases":[{"id":"01004C70086EC000","region":null}]},{"id":"931ec0a8-e99c-44f7-a294-aa543736746b","directory":"syrup-and-the-ultimate-sweet","title":"Syrup and The Ultimate Sweet","compatibility":99,"releases":[{"id":"01001FF0104D8000","region":null}]},{"id":"93206a95-d0c6-468b-9e32-4e6946c506d2","directory":"chameleon-run-deluxe-edition","title":"Chameleon Run Deluxe Edition","compatibility":1,"releases":[{"id":"010024F008742000","region":null}]},{"id":"932ab717-0ac9-4f85-a69b-729c44cd4756","directory":"bee-simulator","title":"Bee Simulator","compatibility":2,"releases":[{"id":"01009E700DB2E000","region":null}]},{"id":"9334858d-59c0-4423-b3a0-182468733a64","directory":"arcade-archives-the-legend-of-kage","title":"Arcade Archives THE LEGEND OF KAGE","compatibility":99,"releases":[{"id":"0100353009836000","region":null}]},{"id":"9350021d-96a0-447a-ab22-7bcc456f9cb7","directory":"football-heroes-turbo","title":"Football Heroes Turbo","compatibility":99,"releases":[{"id":"0100D9B00B666000","region":null}]},{"id":"93510eb1-c769-493b-aa61-20dac3ea766d","directory":"super-destronaut-dx-2","title":"Super Destronaut DX-2","compatibility":99,"releases":[{"id":"0100DCF015512000","region":null}]},{"id":"93548908-6e55-41bd-9e08-5a2bbc3177c4","directory":"dark-souls-remastered","title":"DARK SOULS: REMASTERED","compatibility":2,"releases":[{"id":"01004AB00A260000","region":null}]},{"id":"93682fd1-8c8a-4584-a311-96cc7790d1a3","directory":"great-conqueror-rome","title":"Great Conqueror: Rome","compatibility":99,"releases":[{"id":"01005670128FC000","region":null}]},{"id":"93685567-627e-4a47-8ff3-12b7525932d3","directory":"valfaris","title":"Valfaris","compatibility":2,"releases":[{"id":"010089700F30C000","region":null}]},{"id":"937f3faa-2bcc-4506-aa3c-e629a40e509d","directory":"planet-alpha","title":"PLANET ALPHA","compatibility":3,"releases":[{"id":"010003C0099EE000","region":null}]},{"id":"93812f0d-3c1f-4d5a-877e-b4b65563a5ab","directory":"comic-coloring-book-complete-edition","title":"Comic Coloring Book - Complete Edition","compatibility":99,"releases":[{"id":"0100CEF015DEE000","region":null}]},{"id":"938f372f-b147-438c-aafb-e4917789c9dd","directory":"fifty-words-by-powgi","title":"Fifty Words by POWGI","compatibility":99,"releases":[{"id":"010094D00F17C000","region":null}]},{"id":"93a8a545-0530-4c5c-a80e-b636c0b0c9af","directory":"one-line-coloring","title":"One Line Coloring","compatibility":99,"releases":[{"id":"01009170129FA000","region":null}]},{"id":"93a8a67a-fdd5-428a-91ea-354eb6e6e9f2","directory":"paradox-soul","title":"Paradox Soul","compatibility":99,"releases":[{"id":"010065100E7DA000","region":null}]},{"id":"93abc975-8c8e-40f4-a91a-4fada98f3cbc","directory":"aca-neogeo-samurai-shodown","title":"ACA NEOGEO SAMURAI SHODOWN","compatibility":99,"releases":[{"id":"01005C9002B42000","region":null}]},{"id":"93ac86da-5d50-4dbb-b941-9795e6ee529a","directory":"crossing-souls","title":"Crossing Souls","compatibility":1,"releases":[{"id":"0100B1E00AA56000","region":null}]},{"id":"93cb8e39-5679-4af7-ac74-3c539ea7d973","directory":"five-nights-at-freddys-3","title":"Five Nights at Freddy's 3","compatibility":99,"releases":[{"id":"010056100E43C000","region":null}]},{"id":"93cc3b54-39bb-4aa5-af11-fa5fef84242b","directory":"battlloon","title":"BATTLLOON","compatibility":99,"releases":[{"id":"010048300D5C2000","region":null}]},{"id":"93d1bad5-3aa5-4e0c-be15-9f09d35e8939","directory":"voxel-galaxy","title":"Voxel Galaxy","compatibility":99,"releases":[{"id":"0100B1E0100A4000","region":null}]},{"id":"93e029a8-cb8a-47a8-a54b-7b0f0ab6072a","directory":"hermitage-strange-case-files","title":"Hermitage: Strange Case Files","compatibility":99,"releases":[{"id":"01008D10115C2000","region":null}]},{"id":"93e44828-892a-4f1b-b40d-3bda1e09fc2c","directory":"risk-global-domination","title":"RISK Global Domination","compatibility":5,"releases":[{"id":"0100E8300A67A000","region":null}]},{"id":"93fab154-777a-4236-b27d-c51d1d1a9114","directory":"dimension-drive","title":"Dimension Drive","compatibility":1,"releases":[{"id":"0100401003A0C000","region":null}]},{"id":"94033437-ee4b-4230-97af-e3af1fa68e13","directory":"doctor-who-the-edge-of-reality","title":"Doctor Who: The Edge of Reality","compatibility":99,"releases":[{"id":"010066C01366E000","region":null}]},{"id":"94082dc8-e037-462e-94bc-e9c81d942c74","directory":"eyes-the-horror-game","title":"Eyes: The Horror Game","compatibility":99,"releases":[{"id":"0100EFE00A3C2000","region":null}]},{"id":"9416a0e8-25e8-4ba9-b1d1-fef2c99837f8","directory":"witcheye","title":"Witcheye","compatibility":99,"releases":[{"id":"0100BD4011FFE000","region":null}]},{"id":"9422081c-9c41-4908-b120-54f881d784c3","directory":"world-war-z","title":"World War Z","compatibility":4,"releases":[{"id":"010099F013898000","region":null}]},{"id":"9425e16e-eee6-46cd-971e-decca85aed5e","directory":"professor-lupo-ocean","title":"Professor Lupo: Ocean","compatibility":0,"releases":[{"id":"0100D1F0132F6000","region":null}]},{"id":"94284d97-ac9a-4a49-a793-b6cb6e5cb9d9","directory":"iron-crypticle","title":"Iron Crypticle","compatibility":99,"releases":[{"id":"01005EC00BEEC000","region":null}]},{"id":"942afcbf-b2e1-45ee-a247-50bbd8a53b65","directory":"hentai-vs-evil","title":"Hentai vs. Evil","compatibility":99,"releases":[{"id":"0100267013F04000","region":null}]},{"id":"94330f14-4578-4348-aee8-ee6504b5014e","directory":"a-plague-tale-innocence-cloud-version","title":"A Plague Tale: Innocence - Cloud Version","compatibility":99,"releases":[{"id":"01003CE015180000","region":null}]},{"id":"943e324b-d434-4a09-87bf-f27b0ebea976","directory":"vasilis","title":"Vasilis","compatibility":99,"releases":[{"id":"0100AD300E4FA000","region":null}]},{"id":"9443945c-327f-4233-bb7f-e61fd92df7ad","directory":"skatemasta-tcheco","title":"Skatemasta Tcheco","compatibility":99,"releases":[{"id":"01001F101289A000","region":null}]},{"id":"94455c2b-d02b-441d-9dac-3d54b48cf361","directory":"ultimate-bumper-cars-dodgems","title":"Ultimate Bumper Cars: Dodgems","compatibility":1,"releases":[{"id":"01006640142DE000","region":null}]},{"id":"9457a71a-b704-441b-b8f8-e24fac59f064","directory":"mini-car-racing-2","title":"Mini Car Racing 2","compatibility":99,"releases":[{"id":"0100779015FFE000","region":null}]},{"id":"945b2df8-5cf9-45f3-b167-74dd8f47be41","directory":"tetra-for-nintendo-switch-international-edition","title":"TETRA for Nintendo Switch™ International Edition","compatibility":99,"releases":[{"id":"0100671016432000","region":null}]},{"id":"945b32c5-1b8b-4f1d-9f71-60bf4d8fefb5","directory":"slain-back-from-hell","title":"Slain: Back From Hell","compatibility":2,"releases":[{"id":"0100224004004000","region":null}]},{"id":"9460ea30-1074-4cfc-99d7-c24c9eac70bf","directory":"six-sides-of-the-world","title":"Six Sides of the World","compatibility":99,"releases":[{"id":"0100F8000B37E000","region":null}]},{"id":"94634f05-d8be-4e9c-ab8f-2b2f0dbbbfd5","directory":"car-mechanic-manager","title":"Car Mechanic Manager","compatibility":99,"releases":[{"id":"010048800D95C000","region":null}]},{"id":"9463ca44-abf7-4b8f-92ac-773b16ac6ad0","directory":"warshmallows","title":"Warshmallows","compatibility":99,"releases":[{"id":"01009AC016040000","region":null}]},{"id":"94833ad1-443e-435b-afca-9a4e62c566be","directory":"active-neurons-puzzle-game","title":"Active Neurons - Puzzle game","compatibility":99,"releases":[{"id":"010039A010DA0000","region":null}]},{"id":"94846217-1559-40db-8266-01062fd76b44","directory":"xeno-crisis","title":"Xeno Crisis","compatibility":0,"releases":[{"id":"010013F009B88000","region":null}]},{"id":"9487ff7e-07eb-4901-954f-4247d70fc32f","directory":"cyber-protocol","title":"Cyber Protocol","compatibility":2,"releases":[{"id":"0100C1300DE74000","region":null}]},{"id":"948c1a4b-8df4-487d-be03-c42f9abf4e62","directory":"pocket-arcade-story","title":"Pocket Arcade Story","compatibility":99,"releases":[{"id":"010011B00E6B2000","region":null}]},{"id":"948ff28d-3e3e-405f-84b8-b4a9f50f6fee","directory":"pinball-fx3","title":"Pinball FX3","compatibility":1,"releases":[{"id":"0100DB7003828000","region":null}]},{"id":"949092a4-69ce-4813-9eaa-b2b54d8ac69d","directory":"akinofa","title":"Akinofa","compatibility":99,"releases":[{"id":"010039201520E000","region":null}]},{"id":"9491414d-dabe-4118-a405-be86fffb8eb9","directory":"gearshifters","title":"Gearshifters","compatibility":99,"releases":[{"id":"0100DB8010DBE000","region":null}]},{"id":"94917151-ce03-457f-8d3d-25b3eff26569","directory":"ghost-10","title":"Ghost 1.0","compatibility":2,"releases":[{"id":"0100EEB005ACC000","region":null}]},{"id":"9498d4f2-fb86-403c-bd59-d029a6f2c150","directory":"lightseekers","title":"Lightseekers","compatibility":99,"releases":[{"id":"01009EA00C792000","region":null}]},{"id":"949c10a9-882e-4067-a6bd-449d89aca1d5","directory":"epic-clicker-journey","title":"Epic Clicker Journey","compatibility":99,"releases":[{"id":"0100CA200EE70000","region":null}]},{"id":"949c253c-239d-45c9-8aa6-71cad84866de","directory":"unworthy","title":"Unworthy","compatibility":99,"releases":[{"id":"01004AB00B4F8000","region":null}]},{"id":"94a27c39-921e-433d-84dd-72006cccc63f","directory":"nihilumbra","title":"Nihilumbra","compatibility":2,"releases":[{"id":"0100AA0008736000","region":null}]},{"id":"94a34c23-51d1-449d-b53a-492e29edbfed","directory":"touhou-hyouibana-antinomy-of-common-flowers","title":"Touhou Hyouibana ~ Antinomy of Common Flowers.","compatibility":99,"releases":[{"id":"0100ECF012414000","region":null}]},{"id":"94a7923c-d4f1-462c-a257-dc4ec2214eb2","directory":"kemono-heroes","title":"Kemono Heroes","compatibility":0,"releases":[{"id":"0100B61010272000","region":null}]},{"id":"94c273be-c4e3-49bd-bb53-2d3a19ccc7f0","directory":"heroki","title":"Heroki","compatibility":1,"releases":[{"id":"010057300B0DC000","region":null}]},{"id":"94c57dd1-5137-42c4-aa1d-5d0bf73c5bc1","directory":"hollow-knight","title":"Hollow Knight","compatibility":0,"releases":[{"id":"0100633007D48000","region":null}]},{"id":"94db200e-e8f3-400a-9e26-6a4fdb3e7016","directory":"dyna-bomb","title":"Dyna Bomb","compatibility":3,"releases":[{"id":"01007DD00DFDE000","region":null}]},{"id":"94e2aada-3dd6-46ce-85dd-a2af04418947","directory":"slay-the-spire","title":"Slay the Spire","compatibility":3,"releases":[{"id":"010026300BA4A000","region":null}]},{"id":"94f19881-b23a-41d1-99eb-f0f1d3cfb951","directory":"conduct-together","title":"Conduct TOGETHER!","compatibility":1,"releases":[{"id":"010043700C9B0000","region":null}]},{"id":"950871f5-90ae-4864-9527-3c29b51c8864","directory":"handpan","title":"Handpan","compatibility":99,"releases":[{"id":"010086D01674E000","region":null}]},{"id":"9516bf3d-4a56-4812-a59f-028b29d6e384","directory":"aegis-defenders","title":"Aegis Defenders","compatibility":1,"releases":[{"id":"01008E6006502000","region":null}]},{"id":"9537a845-d7d1-4b1a-b558-d1b68d6759fa","directory":"turtlepop-journey-to-freedom","title":"TurtlePop: Journey to Freedom","compatibility":2,"releases":[{"id":"0100B1F0090F2000","region":null}]},{"id":"95576ae2-a958-48a5-abcd-78b77ac14b65","directory":"ice-station-z","title":"Ice Station Z","compatibility":99,"releases":[{"id":"0100954014718000","region":null}]},{"id":"9575451f-7ab8-40c9-a303-0394da68eda8","directory":"aca-neogeo-prehistoric-isle-2","title":"ACA NEOGEO PREHISTORIC ISLE 2","compatibility":99,"releases":[{"id":"0100A7800AFAA000","region":null}]},{"id":"958d48ab-d008-4a90-ba37-01aef0068490","directory":"shark-pinball","title":"Shark Pinball","compatibility":99,"releases":[{"id":"01002F701576A000","region":null}]},{"id":"95902038-6d92-4f12-96a2-29fd6c352e3b","directory":"my-universe-my-baby","title":"My Universe - My Baby","compatibility":99,"releases":[{"id":"0100E20011A06000","region":null}]},{"id":"959de09a-3be2-4db6-bd0e-a2b1900e423e","directory":"miles-and-kilo","title":"Miles & Kilo","compatibility":99,"releases":[{"id":"01004B7009F00000","region":null}]},{"id":"959e3516-9c94-40e8-8bb6-f226f5c1e4df","directory":"strawberry-vinegar","title":"Strawberry Vinegar","compatibility":1,"releases":[{"id":"0100D7E011C64000","region":null}]},{"id":"959eac5c-36ad-4040-96e9-20b2bc2b1812","directory":"colloc","title":"Colloc","compatibility":99,"releases":[{"id":"01007880115E8000","region":null}]},{"id":"95ac0796-2fcb-449c-9f82-ca45ac708a9f","directory":"chill-panda","title":"Chill Panda","compatibility":99,"releases":[{"id":"0100AEF011DF4000","region":null}]},{"id":"95acea0d-456e-4e23-9dc2-292dd347ea0e","directory":"swamp-defense-2","title":"Swamp Defense 2","compatibility":99,"releases":[{"id":"010025000CBEA000","region":null}]},{"id":"95b482b8-9e5b-491f-8bd2-9e73cd62aa60","directory":"wonder-boy-the-dragons-trap","title":"Wonder Boy: The Dragon's Trap","compatibility":0,"releases":[{"id":"0100A6300150C000","region":null}]},{"id":"95c62973-cb16-4997-96f3-1628ab8a7892","directory":"masagoro","title":"MASAGORO","compatibility":99,"releases":[{"id":"0100FEC014F9E000","region":null}]},{"id":"95cbb73f-d0d8-4600-bccc-4483e4e0d687","directory":"arcade-archives-mat-mania-exciting-hour","title":"Arcade Archives MAT MANIA EXCITING HOUR","compatibility":99,"releases":[{"id":"0100C5B009804000","region":null}]},{"id":"95d2afb7-de83-401c-ab93-c1f04320b8ec","directory":"pixel-game-maker-series-remote-bomber","title":"Pixel Game Maker Series Remote Bomber","compatibility":99,"releases":[{"id":"010025501424C000","region":null}]},{"id":"95d4fe11-48e7-4fd8-a14d-2f5364203339","directory":"yuoni-rises","title":"夕鬼 零 Yuoni: Rises","compatibility":99,"releases":[{"id":"01002EE00F48C000","region":null}]},{"id":"95e46f8f-e1f2-4088-aefe-78e4a3e3b766","directory":"sushi-striker-the-way-of-sushido-eshop-demo","title":"Sushi Striker: The Way of Sushido eShop Demo","compatibility":99,"releases":[{"id":"0100FA500B128000","region":null}]},{"id":"95e66041-d6f2-4351-9e1b-4147b960b75a","directory":"nintendo-entertainment-system-nintendo-switch-online","title":"Nintendo Entertainment System - Nintendo Switch Online","compatibility":0,"releases":[{"id":"0100D870045B6000","region":null}]},{"id":"960421b4-8f70-4f3c-802f-c5d9f7dba1a2","directory":"gerrrms","title":"GERRRMS","compatibility":99,"releases":[{"id":"010058F010296000","region":null}]},{"id":"9628cb84-5720-4738-a34f-ebbbc8fb6097","directory":"logic-puzzle-1000","title":"〇× LOGIC PUZZLE 1000 !","compatibility":99,"releases":[{"id":"010091700F76E000","region":null}]},{"id":"964313a1-670c-400a-aa46-ffb87d5279ef","directory":"armed-emeth","title":"Armed Emeth","compatibility":99,"releases":[{"id":"0100BC90155D6000","region":null}]},{"id":"964b3a07-1151-4d96-a9d3-fa23191103e1","directory":"death-tales","title":"Death Tales","compatibility":99,"releases":[{"id":"0100A51013550000","region":null}]},{"id":"964f56be-9aa4-45cc-b428-a0e0ef2c54a3","directory":"the-marauder-chronicles-curse-over-valdria","title":"The Marauder Chronicles: Curse Over Valdria","compatibility":99,"releases":[{"id":"01002620160BC000","region":null}]},{"id":"9660f49b-f0d6-4c38-ac69-bad6da26079b","directory":"sables-grimoire","title":"Sable's Grimoire","compatibility":99,"releases":[{"id":"010086F012E52000","region":null}]},{"id":"967bda2a-91d9-43e8-8425-89c0625aa7e0","directory":"dreamworks-dragons-dawn-of-new-riders","title":"DreamWorks Dragons Dawn of New Riders","compatibility":4,"releases":[{"id":"0100ED200B6FC000","region":null}]},{"id":"967c0cb7-b45c-4342-81fe-ca59763a854b","directory":"brave-dungeon-dark-witch-storycombat","title":"Brave Dungeon + Dark Witch Story:COMBAT","compatibility":2,"releases":[{"id":"01000F5003068000","region":null}]},{"id":"96898fc3-53cc-4c66-8fee-abda7804948a","directory":"mirror","title":"Mirror","compatibility":1,"releases":[{"id":"010080F00F490000","region":null}]},{"id":"968a8444-58f3-4335-98d9-4d09649d27fa","directory":"cooking-simulator","title":"Cooking Simulator","compatibility":99,"releases":[{"id":"01001E400FD58000","region":null}]},{"id":"968d1f3e-b526-4b76-8218-d105660c6ee2","directory":"psikyo-shooting-stars-bravo","title":"Psikyo Shooting Stars Bravo","compatibility":4,"releases":[{"id":"0100D7400F2E4000","region":null}]},{"id":"96917456-1c7b-4d22-b7b1-904577c596b7","directory":"rascal-fight","title":"Rascal Fight","compatibility":99,"releases":[{"id":"0100E73010754000","region":null}]},{"id":"969d1b5a-eb5c-48c2-b381-9c58e16fc199","directory":"timespinner","title":"Timespinner","compatibility":2,"releases":[{"id":"0100DD300CF3A000","region":null}]},{"id":"96ad1115-5c40-49fc-a1f5-32e1d03cb5be","directory":"gibbous-a-cthulhu-adventure","title":"Gibbous - A Cthulhu Adventure","compatibility":3,"releases":[{"id":"0100D95012C0A000","region":null}]},{"id":"96af36ff-297d-42dc-823f-83dc5bfd453f","directory":"johnny-turbos-arcade-break-thru","title":"Johnny Turbo's Arcade: Break Thru","compatibility":99,"releases":[{"id":"010066D002CC8000","region":null}]},{"id":"96b7630c-10d0-4b57-9fe2-d36583b5b5bd","directory":"arcade-archives-p-47","title":"Arcade Archives P-47","compatibility":99,"releases":[{"id":"010067A011FF0000","region":null}]},{"id":"96d2c8ce-7073-42b6-9f8c-fe8a610753d1","directory":"captain-cat","title":"Captain Cat","compatibility":99,"releases":[{"id":"0100D1F00D688000","region":null}]},{"id":"96fb75c6-e008-4810-a25a-baeac4274f0e","directory":"pipe-fitter","title":"Pipe Fitter","compatibility":99,"releases":[{"id":"0100571016352000","region":null}]},{"id":"9705592c-cf51-49d3-ad63-50f3a56abbf8","directory":"eternal-radiance","title":"Eternal Radiance","compatibility":99,"releases":[{"id":"0100F0C014A16000","region":null}]},{"id":"9708b699-e61d-4caa-b63f-9e758ec2b61e","directory":"my-forged-wedding","title":"My Forged Wedding","compatibility":3,"releases":[{"id":"0100D37011F42000","region":null}]},{"id":"971b228d-4f90-46c2-aa30-edfc0e10d194","directory":"windscape","title":"Windscape","compatibility":99,"releases":[{"id":"010059900BA3C000","region":null}]},{"id":"972b0afe-f4d0-4520-9935-ae386c180775","directory":"kubinashi-recollection","title":"Kubinashi Recollection","compatibility":99,"releases":[{"id":"01001A1015B68000","region":null}]},{"id":"9734f8b3-eda8-43e0-a4c5-6c3a880bb8a8","directory":"heart-of-the-woods","title":"Heart of the Woods","compatibility":99,"releases":[{"id":"010031300F666000","region":null}]},{"id":"9742ad27-a933-4347-b0bd-7c1a77114cd9","directory":"pop-blocks","title":"Pop Blocks","compatibility":99,"releases":[{"id":"0100739015DCC000","region":null}]},{"id":"97439c47-3166-4a79-8bfd-f6068a4072e6","directory":"hue","title":"Hue","compatibility":99,"releases":[{"id":"01005A700C9BA000","region":null}]},{"id":"9744120f-848d-4718-8742-f1f37e38d1f9","directory":"family-vacation-2-road-trip","title":"Family Vacation 2: Road Trip","compatibility":99,"releases":[{"id":"0100972015102000","region":null}]},{"id":"97460bc4-66c5-4de7-bfbb-c23476907628","directory":"ender-lilies-quietus-of-the-knights","title":"ENDER LILIES: Quietus of the Knights","compatibility":1,"releases":[{"id":"0100CCF012E9A000","region":null}]},{"id":"974d9e04-4444-41c9-aa9e-3ff8ecd1a334","directory":"bubble-shooter-dx","title":"Bubble Shooter DX","compatibility":99,"releases":[{"id":"010053B00D26E000","region":null}]},{"id":"97514c58-b0ff-4a4d-9426-2beb08f00acf","directory":"fairy-tail","title":"FAIRY TAIL","compatibility":1,"releases":[{"id":"0100CF900FA3E000","region":null}]},{"id":"975b8b22-6c24-4358-92f9-087cfc210931","directory":"retimed-demo","title":"Retimed Demo","compatibility":99,"releases":[{"id":"0100A8200D0EE000","region":null}]},{"id":"975c8545-425a-4b40-9d20-b389c2bdf24e","directory":"element","title":"Element","compatibility":3,"releases":[{"id":"0100A6700AF10000","region":null}]},{"id":"975e6ac1-21d4-4dee-ac1c-4efe736cbf98","directory":"i-ai","title":"I, AI","compatibility":99,"releases":[{"id":"01009CE01261C000","region":null}]},{"id":"9768e0c9-33c4-41a6-b57b-ce2395e49b28","directory":"good-pizza-great-pizza","title":"Good Pizza, Great Pizza","compatibility":1,"releases":[{"id":"0100F610122F6000","region":null}]},{"id":"976f37ed-eca7-4049-89cf-9478c2e1ad04","directory":"battleship","title":"BATTLESHIP","compatibility":99,"releases":[{"id":"0100F0400C878000","region":null}]},{"id":"9778aa2e-c185-49a2-8aa4-59d19e743112","directory":"disaster-report-4-summer-memories","title":"Disaster Report 4: Summer Memories","compatibility":4,"releases":[{"id":"010020700E2A2000","region":null}]},{"id":"977b58db-7f13-4e66-bdb6-942e1acd67d8","directory":"chroma-squad","title":"Chroma Squad","compatibility":99,"releases":[{"id":"010012E00EA66000","region":null}]},{"id":"977d8140-1172-434e-8c4f-510861780e34","directory":"darius-cozmic-collection-console","title":"Darius Cozmic Collection Console","compatibility":0,"releases":[{"id":"01000330105BE000","region":null}]},{"id":"978509c1-b386-421d-ac84-ab0ec3534e16","directory":"eight-dragons","title":"Eight Dragons","compatibility":99,"releases":[{"id":"01003AD013BD2000","region":null}]},{"id":"979ae6b6-484b-4d79-bba5-6ed0516f6a09","directory":"ni-no-kuni-wrath-of-the-white-witch","title":"Ni no Kuni: Wrath of the White Witch","compatibility":1,"releases":[{"id":"0100E5600D446000","region":null}]},{"id":"979fa651-1413-4221-aa12-20c1a94d6ce8","directory":"mary-kay-andrews-the-fixer-upper","title":"Mary Kay Andrews: The Fixer Upper","compatibility":99,"releases":[{"id":"0100232015D6E000","region":null}]},{"id":"97a6a34f-def2-4e4d-881d-6c8055ed699a","directory":"jim-is-moving-out","title":"Jim is Moving Out!","compatibility":99,"releases":[{"id":"01001F5006DF6000","region":null}]},{"id":"97a932e0-4bd9-448d-9fe2-08b5b2dc20b1","directory":"old-school-musical","title":"Old School Musical","compatibility":99,"releases":[{"id":"0100C3D00923A000","region":null}]},{"id":"97b71d31-1655-480a-a43d-c758cd5faba9","directory":"fitness-boxing","title":"Fitness Boxing","compatibility":0,"releases":[{"id":"0100E7300AAD4000","region":null}]},{"id":"97b8037b-383b-4eb6-8d88-8d77bff2bd23","directory":"grid-mania","title":"Grid Mania","compatibility":1,"releases":[{"id":"010031200981C000","region":null}]},{"id":"97c66a86-32ee-4652-af7f-04290673cb51","directory":"mars-power-industries","title":"Mars Power Industries","compatibility":99,"releases":[{"id":"01003B900ED8C000","region":null}]},{"id":"97d866e6-cd9f-4339-8922-3c946cfc73c0","directory":"bomb-chicken","title":"Bomb Chicken","compatibility":0,"releases":[{"id":"01008AF00A532000","region":null}]},{"id":"97d88a35-65a1-4d61-890d-2a0a036cdaf7","directory":"thomas-was-alone","title":"Thomas Was Alone","compatibility":99,"releases":[{"id":"010019D0126E2000","region":null}]},{"id":"97e8ec9d-7723-444c-9d96-da49ddd698ee","directory":"animated-jigsaws-wild-animals","title":"Animated Jigsaws: Wild Animals","compatibility":99,"releases":[{"id":"01004A200C236000","region":null}]},{"id":"97f66dc9-aa12-4fa3-8204-c566cc268587","directory":"deaths-hangover","title":"Death's Hangover","compatibility":5,"releases":[{"id":"0100492011A8A000","region":null}]},{"id":"97f8c6da-3a72-494e-983d-799c2dc9c5ea","directory":"get-a-grip-chip","title":"Get-A-Grip Chip","compatibility":99,"releases":[{"id":"01003AA01373C000","region":null}]},{"id":"981caa8c-c99d-4e83-aacc-f671e8cc74bb","directory":"drunk-fu-wasted-masters","title":"Drunk-Fu: Wasted Masters","compatibility":99,"releases":[{"id":"0100F2400CF00000","region":null}]},{"id":"98231b5e-bb20-4678-a3f8-9434af45331d","directory":"twin-robots-ultimate-edition","title":"Twin Robots: Ultimate Edition","compatibility":99,"releases":[{"id":"0100047009742000","region":null}]},{"id":"9839f061-4b81-4e1b-8e7e-4d68e56512cb","directory":"holy-potatoes-were-in-space","title":"Holy Potatoes! We're In Space?!","compatibility":5,"releases":[{"id":"010096B009E12000","region":null}]},{"id":"9840c366-a7b7-4e0d-a9d7-ade0058a199b","directory":"0x0-minimalist","title":"0x0 Minimalist","compatibility":99,"releases":[{"id":"01001E3013FC4000","region":null}]},{"id":"98418511-0da2-4d68-a960-7c45fd7d8ba8","directory":"steamworld-quest-hand-of-gilgamech","title":"SteamWorld Quest: Hand of Gilgamech","compatibility":3,"releases":[{"id":"0100F6D00D83E000","region":null}]},{"id":"98422872-ad78-4185-96a9-0901e4ac2bb0","directory":"shantae-and-the-seven-sirens","title":"Shantae and the Seven Sirens","compatibility":0,"releases":[{"id":"0100EB901040A000","region":null}]},{"id":"984e8e0d-4571-4a07-bc0b-7f8514e28510","directory":"islanders","title":"ISLANDERS","compatibility":99,"releases":[{"id":"0100522014E10000","region":null}]},{"id":"9850f969-8b53-4678-a98c-f0698055b5b1","directory":"big-pharma","title":"Big Pharma","compatibility":99,"releases":[{"id":"010077E00F30E000","region":null}]},{"id":"986382e2-2f62-4fcc-b85f-9f1e63f15d42","directory":"ploid-saga","title":"PLOID SAGA","compatibility":99,"releases":[{"id":"0100E5B011F48000","region":null}]},{"id":"986ca139-9a3a-4c0c-bab5-333de2c72e2a","directory":"holedown","title":"holedown","compatibility":99,"releases":[{"id":"01003CE00EAF0000","region":null}]},{"id":"9878d205-d4e9-4bb9-987a-4d86b3ba1c09","directory":"swapperoo","title":"Swapperoo","compatibility":99,"releases":[{"id":"0100B110113FA000","region":null}]},{"id":"9879605e-1878-49e8-bf6f-40da14d11b6d","directory":"voxel-sword","title":"Voxel Sword","compatibility":99,"releases":[{"id":"0100BFB00D1F4000","region":null}]},{"id":"987ffda6-11a2-4451-9d2d-1fae42a7c79e","directory":"bouncing-hero","title":"Bouncing Hero","compatibility":99,"releases":[{"id":"010010D010632000","region":null}]},{"id":"988131c4-7d47-408d-b09d-972d1bca7007","directory":"aluna-sentinel-of-the-shards","title":"Aluna: Sentinel of the Shards","compatibility":4,"releases":[{"id":"010045201487C000","region":null}]},{"id":"988d5756-b5c1-4f41-b097-3085de144e7c","directory":"war-of-stealth-assassin","title":"War Of Stealth - assassin","compatibility":99,"releases":[{"id":"01004FA01391A000","region":null}]},{"id":"9894432d-f9a8-4b9b-9af3-dffdabba8667","directory":"tarot-readings-premium","title":"Tarot Readings Premium","compatibility":99,"releases":[{"id":"010029100B75C000","region":null}]},{"id":"989b01b7-a266-45d5-9008-fa52673bc244","directory":"run-the-fan","title":"Run the Fan","compatibility":0,"releases":[{"id":"010074F00DE4A000","region":null}]},{"id":"989f950d-1eca-4376-ae21-3bc23536a538","directory":"slice-dice-and-rice","title":"Slice, Dice & Rice","compatibility":1,"releases":[{"id":"0100F4500AA4E000","region":null}]},{"id":"98af54ee-f935-4633-b41b-bd2d1dbb6323","directory":"yiik-a-postmodern-rpg","title":"YIIK: A Postmodern RPG","compatibility":2,"releases":[{"id":"0100634008266000","region":null}]},{"id":"98b24315-4182-4801-aefc-18f0f45749c3","directory":"johnny-turbos-arcade-gate-of-doom","title":"Johnny Turbo's Arcade: Gate Of Doom","compatibility":2,"releases":[{"id":"010069B002CDE000","region":null}]},{"id":"98bb0182-5d54-437a-85bc-f6a3b4735abd","directory":"tardy","title":"Tardy","compatibility":99,"releases":[{"id":"01008B200D748000","region":null}]},{"id":"98c72921-ab7b-40b2-a0a1-94b6b884a5a7","directory":"never-stop-sneakin","title":"Never Stop Sneakin'","compatibility":1,"releases":[{"id":"0100A70006B8A000","region":null}]},{"id":"98d60610-cf65-4bcd-8a9b-6bcab97db8f4","directory":"where-are-my-friends","title":"Where Are My Friends?","compatibility":99,"releases":[{"id":"0100FDB0092B4000","region":null}]},{"id":"98d86bca-088d-4aaa-9cfe-0f4739366a83","directory":"punch-club","title":"Punch Club","compatibility":2,"releases":[{"id":"0100A6000ACEA000","region":null}]},{"id":"98e101c9-17d2-4e1c-ba56-c8c3868a3892","directory":"nine-witches-family-disruption","title":"Nine Witches: Family Disruption","compatibility":0,"releases":[{"id":"01006790101A2000","region":null}]},{"id":"98f9a637-368e-407b-932e-36404a7a1a50","directory":"tiny-world-racing","title":"Tiny World Racing","compatibility":99,"releases":[{"id":"0100F3D013568000","region":null}]},{"id":"98fd0359-9d7f-4885-bd74-4a2413bbe49f","directory":"pitfall-planet","title":"Pitfall Planet","compatibility":2,"releases":[{"id":"0100AFC00A680000","region":null}]},{"id":"991327eb-9e09-4c0a-81a5-7655266ea2a9","directory":"evil-inside","title":"Evil Inside","compatibility":99,"releases":[{"id":"01002E800D44E000","region":null}]},{"id":"9919ac5d-91aa-4557-8ac5-08abb77d6fec","directory":"warlocks-2-god-slayers","title":"Warlocks 2: God Slayers","compatibility":99,"releases":[{"id":"0100E0400E320000","region":null}]},{"id":"99251eb2-ebd4-43ec-9f65-89260529f743","directory":"aca-neogeo-the-king-of-fighters-2001","title":"ACA NEOGEO THE KING OF FIGHTERS 2001","compatibility":5,"releases":[{"id":"010048200AFC2000","region":null}]},{"id":"99297283-4d6a-4d3f-a581-fb3fd1a06a80","directory":"neonwall","title":"Neonwall","compatibility":99,"releases":[{"id":"0100743008694000","region":null}]},{"id":"99384d0b-d8e0-45ff-a44e-2185241d825a","directory":"lunas-fishing-garden","title":"Luna's Fishing Garden","compatibility":0,"releases":[{"id":"0100374015A2C000","region":null}]},{"id":"993a34ce-2660-49e4-9f35-da21e017c70f","directory":"south-park-the-fractured-but-whole-standard-edition","title":"South Park: The Fractured but Whole - Standard Edition","compatibility":5,"releases":[{"id":"01008F2005154000","region":null}]},{"id":"995c75b7-406c-4f1a-b010-a9c485e65894","directory":"station-manager","title":"Station Manager","compatibility":0,"releases":[{"id":"010087000FD2A000","region":null}]},{"id":"996c41b3-0bfb-42f9-abeb-ab74a0b55d09","directory":"pixel-action-heroes","title":"Pixel Action Heroes","compatibility":99,"releases":[{"id":"0100F5B007638000","region":null}]},{"id":"99982b4a-0ee8-489b-b0a5-76529657df29","directory":"shadow-bug","title":"Shadow Bug","compatibility":0,"releases":[{"id":"01007D9007792000","region":null}]},{"id":"999c63bc-fbde-4828-be7d-c71f94fb04f6","directory":"farmers-dynasty","title":"Farmer's Dynasty","compatibility":99,"releases":[{"id":"010055600516C000","region":null}]},{"id":"99b16737-6a39-4b5a-9c71-f171875a4be2","directory":"my-little-ramenbar","title":"My Little Ramenbar","compatibility":99,"releases":[{"id":"01001A4015F3A000","region":null}]},{"id":"99b66a37-8923-4b49-b6fb-468f79089f81","directory":"infinite-golf-2","title":"Infinite Golf 2","compatibility":99,"releases":[{"id":"0100AB801507C000","region":null}]},{"id":"99ba9711-81ba-467a-b7c8-1e70d9a0aee4","directory":"heroes-of-loot","title":"Heroes of Loot","compatibility":3,"releases":[{"id":"010091E01330C000","region":null}]},{"id":"99c338e8-6bcd-490c-9ffe-57982eab7ffe","directory":"crazy-zen-mini-golf","title":"Crazy Zen Mini Golf","compatibility":1,"releases":[{"id":"0100F9900D8C8000","region":null}]},{"id":"99dc85fc-b7ed-4235-896b-861eaf81976c","directory":"sushi-striker-the-way-of-sushido","title":"Sushi Striker: The Way of Sushido","compatibility":1,"releases":[{"id":"0100DDD0085A4000","region":null}]},{"id":"99ddde39-4a11-4e04-a1a8-6ad5e6a5c7be","directory":"shmup-collection","title":"Shmup Collection","compatibility":3,"releases":[{"id":"01000A601139E000","region":null}]},{"id":"99e302f2-2e38-4eb7-ac62-97e7803d6228","directory":"devious-dungeon-collection","title":"Devious Dungeon Collection","compatibility":99,"releases":[{"id":"010040F011DE4000","region":null}]},{"id":"99eb0522-1872-4eb9-a18b-a2ed0a8fbd91","directory":"twin-breaker-a-sacred-symbols-adventure","title":"Twin Breaker: A Sacred Symbols Adventure","compatibility":99,"releases":[{"id":"0100C68012128000","region":null}]},{"id":"9a13c374-d8ec-44a9-9ea7-1f5592c8e9ef","directory":"adventure-field-4","title":"Adventure Field 4","compatibility":99,"releases":[{"id":"0100E140149F0000","region":null}]},{"id":"9a158abb-7235-4f91-8484-8d4a54276465","directory":"nira","title":"Nira","compatibility":99,"releases":[{"id":"01001A6013E8A000","region":null}]},{"id":"9a281ac5-8c41-4758-b839-d74c57af47d4","directory":"rbi-baseball-20","title":"R.B.I. Baseball 20","compatibility":1,"releases":[{"id":"010061400E7D4000","region":null}]},{"id":"9a3297ba-c575-4e59-9ad4-7586357beaf9","directory":"enchanting-mahjong-match","title":"Enchanting Mahjong Match","compatibility":1,"releases":[{"id":"01007A4008486000","region":null}]},{"id":"9a4a7112-d553-431e-b69d-23f5394f5ccb","directory":"crazy-gravity","title":"Crazy Gravity","compatibility":99,"releases":[{"id":"01007CC015A7A000","region":null}]},{"id":"9a521185-b7ab-4137-99cd-2a27bd2c48b2","directory":"arcade-archives-athena","title":"Arcade Archives ATHENA","compatibility":5,"releases":[{"id":"0100BEC00C7A2000","region":null}]},{"id":"9a531632-a64e-43e7-a685-341b4600e2a8","directory":"silent-world","title":"Silent World","compatibility":99,"releases":[{"id":"0100A32010618000","region":null}]},{"id":"9a552409-7efd-415f-b053-4ea1109b3d83","directory":"jumping-joe-and-friends","title":"Jumping Joe & Friends","compatibility":0,"releases":[{"id":"0100D87009954000","region":null}]},{"id":"9a58b646-2b55-4c13-9585-0d1feaaf4de8","directory":"solo-islands-of-the-heart","title":"Solo: Islands of the Heart","compatibility":99,"releases":[{"id":"010008600D1AC000","region":null}]},{"id":"9a68faa7-1b8b-40e8-bfc1-646e709e4073","directory":"vandals","title":"Vandals","compatibility":99,"releases":[{"id":"01007C500D650000","region":null}]},{"id":"9a6b122a-cb63-40a3-b426-4d396761e029","directory":"speed-dating-for-ghosts","title":"Speed Dating for Ghosts","compatibility":99,"releases":[{"id":"0100E22010D06000","region":null}]},{"id":"9a765a44-ed96-44eb-9b3c-71924c394a66","directory":"bubble-bubble-ocean","title":"Bubble Bubble Ocean","compatibility":99,"releases":[{"id":"01006B5013EF2000","region":null}]},{"id":"9a812505-4fe6-4f18-8810-55eab8472339","directory":"indiecalypse","title":"Indiecalypse","compatibility":99,"releases":[{"id":"010002A00CD68000","region":null}]},{"id":"9a87136a-6e4f-49fd-af41-d37d0fc4cc83","directory":"space-blast-zom-a-matching-game","title":"Space Blast Zom A Matching Game","compatibility":99,"releases":[{"id":"0100C65013DA0000","region":null}]},{"id":"9a98f236-86c3-458c-bc93-5dfe2764c93e","directory":"top-gun-air-combat","title":"Top Gun Air Combat","compatibility":99,"releases":[{"id":"0100B190137F2000","region":null}]},{"id":"9a9b1a8b-ee94-4b31-9860-66603d2250ec","directory":"manticore-galaxy-on-fire","title":"Manticore - Galaxy on Fire","compatibility":5,"releases":[{"id":"0100C9A00952A000","region":null}]},{"id":"9aa13636-c2d2-48c9-b9c1-4213d94d822d","directory":"american-ninja-warrior-challenge","title":"American Ninja Warrior: Challenge","compatibility":0,"releases":[{"id":"010089D00A3FA000","region":null}]},{"id":"9ac58ef0-8309-496b-a318-b604c9203367","directory":"travis-strikes-again-no-more-heroes","title":"Travis Strikes Again: No More Heroes","compatibility":0,"releases":[{"id":"010011600C946000","region":null}]},{"id":"9ac6fd2c-e531-40e3-a8fa-2646c67337cb","directory":"slot","title":"Slot","compatibility":0,"releases":[{"id":"01007DD011608000","region":null}]},{"id":"9acf29ff-cad6-45d4-9783-739973c17b74","directory":"qv","title":"QV","compatibility":99,"releases":[{"id":"010015D0127D6000","region":null}]},{"id":"9ad5b99b-7483-43ef-bb68-e96c46c0a2e2","directory":"broken-sword-5-the-serpents-curse","title":"Broken Sword 5 - the Serpent's Curse","compatibility":4,"releases":[{"id":"01001E60085E6000","region":null}]},{"id":"9adb76b7-f384-492a-9a60-e0a760efb49f","directory":"the-snake-king","title":"The Snake King","compatibility":99,"releases":[{"id":"0100205011C54000","region":null}]},{"id":"9adf512f-7be6-4714-b0bd-884e9a7f8ceb","directory":"elemental-knights-r","title":"Elemental Knights R","compatibility":4,"releases":[{"id":"01005FA009370000","region":null}]},{"id":"9ae179c9-8095-4f37-86ff-2b0dfd62386c","directory":"viviette","title":"Viviette","compatibility":1,"releases":[{"id":"010037900CB1C000","region":null}]},{"id":"9ae27836-7e1e-4f66-87fd-58c18b0efd84","directory":"arcade-archives-phozon","title":"Arcade Archives PHOZON","compatibility":99,"releases":[{"id":"010016E015D26000","region":null}]},{"id":"9ae3173c-f0a2-4f0c-a730-043f50064c73","directory":"roarr-jurassic-edition","title":"Roarr! Jurassic Edition","compatibility":99,"releases":[{"id":"010068200C5BE000","region":null}]},{"id":"9af8db5a-313e-4425-95c0-95db13340ac8","directory":"luckslinger","title":"Luckslinger","compatibility":99,"releases":[{"id":"0100EAB00B196000","region":null}]},{"id":"9b006db4-725f-4d92-9a06-bef9cc7e1be2","directory":"astro-rangers","title":"Astro Rangers","compatibility":99,"releases":[{"id":"01007B4016D58000","region":null}]},{"id":"9b010ce7-b748-4bc1-a889-9285e343014b","directory":"combat-core-demo","title":"Combat Core (Demo)","compatibility":99,"releases":[{"id":"01009BC00C0A0000","region":null}]},{"id":"9b05587e-68fb-4957-ad28-bf759646bc4c","directory":"cecconoid","title":"Cecconoid","compatibility":99,"releases":[{"id":"01007A1012852000","region":null}]},{"id":"9b0c4d80-f527-4012-b672-8c2e5d645619","directory":"graceful-explosion-machine-demo","title":"Graceful Explosion Machine Demo","compatibility":99,"releases":[{"id":"0100F1000CF16000","region":null}]},{"id":"9b12338f-2139-434d-84e0-bd67028c3f7b","directory":"assault-gunners-hd-edition","title":"ASSAULT GUNNERS HD EDITION","compatibility":0,"releases":[{"id":"01009A400A97C000","region":null}]},{"id":"9b12b7c8-6671-4845-b0b1-58d63cc6c0ee","directory":"grisaia-phantom-trigger-01-to-05","title":"GRISAIA PHANTOM TRIGGER 01 to 05","compatibility":2,"releases":[{"id":"01004AB0133E8000","region":null}]},{"id":"9b32a114-ab7b-4d6a-9a03-7a5c98ce0b82","directory":"the-bullet-time-of-revenge","title":"The Bullet: Time of Revenge","compatibility":99,"releases":[{"id":"01003720118E0000","region":null}]},{"id":"9b571cd1-eea3-4d11-b189-14fb73f39a74","directory":"armed-7-dx","title":"Armed 7 DX","compatibility":99,"releases":[{"id":"0100C5B0113A0000","region":null}]},{"id":"9b6b9cff-dfc0-4a41-9339-f8593470e4a5","directory":"infinite-adventures-r","title":"Infinite Adventures®","compatibility":99,"releases":[{"id":"01008C1011F2E000","region":null}]},{"id":"9b734c87-cd9d-4224-ad74-0194fac19b4e","directory":"paw-patrol-the-movie-adventure-city-calls","title":"PAW Patrol The Movie: Adventure City Calls","compatibility":1,"releases":[{"id":"0100FFE013628000","region":null}]},{"id":"9b8705db-ba25-43bd-805c-ca3350b44870","directory":"grass-cutter-mutated-lawns","title":"Grass Cutter - Mutated Lawns","compatibility":99,"releases":[{"id":"010028200E132000","region":null}]},{"id":"9b8bb282-1a4a-40b2-9246-7ec8f410526a","directory":"the-dark-crystal-age-of-resistance-tactics","title":"The Dark Crystal: Age of Resistance Tactics","compatibility":99,"releases":[{"id":"010051800E922000","region":null}]},{"id":"9b8ef9c4-eeb1-4df9-b01f-e6c6883be0f3","directory":"arcade-archives-sky-skipper","title":"Arcade Archives Sky Skipper","compatibility":4,"releases":[{"id":"010008F00B054000","region":null}]},{"id":"9b9a9ddb-88ba-4304-a95c-4538c9dbf164","directory":"growtopia","title":"Growtopia","compatibility":99,"releases":[{"id":"010065F00BE6C000","region":null}]},{"id":"9b9ed157-ce30-4fdf-90be-9e29c524e54a","directory":"atv-drift-and-tricks","title":"ATV Drift & Tricks","compatibility":3,"releases":[{"id":"01000F600B01E000","region":null}]},{"id":"9ba1f4dd-2634-4048-aea1-3f7cd0f7485f","directory":"defend-your-castle","title":"Defend Your Castle","compatibility":2,"releases":[{"id":"01006E600D9C2000","region":null}]},{"id":"9ba3b900-54e8-49e9-92a5-5ed63d78e504","directory":"masters-of-anima","title":"Masters of Anima","compatibility":3,"releases":[{"id":"0100CC7009196000","region":null}]},{"id":"9bad4425-6f68-40a9-a738-87b0c1b18fb3","directory":"oninaki","title":"ONINAKI","compatibility":1,"releases":[{"id":"01001AF00CE54000","region":null}]},{"id":"9bbe537c-5a2c-4e2d-a656-37a715d4eea9","directory":"puss","title":"PUSS!","compatibility":1,"releases":[{"id":"010069401270E000","region":null}]},{"id":"9bc07bd7-deb0-484c-8856-c3a213c013c8","directory":"unlock-the-king-2","title":"Unlock the King 2","compatibility":99,"releases":[{"id":"0100A3E011CB0000","region":null}]},{"id":"9bc40694-eec7-4142-88ea-4b595901249b","directory":"monopoly-for-nintendo-switch","title":"MONOPOLY for Nintendo Switch","compatibility":1,"releases":[{"id":"01007430037F6000","region":null}]},{"id":"9bce7c5b-0e8a-4fc9-89ac-415f8b57abb5","directory":"crocs-world-run-demo","title":"Croc's World Run Demo","compatibility":99,"releases":[{"id":"01009A500D8CC000","region":null}]},{"id":"9bcffe9f-4950-4847-800d-fca3e69203b7","directory":"undead-beyond","title":"Undead & Beyond","compatibility":1,"releases":[{"id":"010076F011F54000","region":null}]},{"id":"9bdc8670-392f-4222-86e1-094130443cf8","directory":"hang-the-kings","title":"Hang The Kings","compatibility":99,"releases":[{"id":"0100973011358000","region":null}]},{"id":"9bf8fbe5-130e-4f09-aaf5-5d938ec8ffcb","directory":"steamworld-dig-2","title":"SteamWorld Dig 2","compatibility":1,"releases":[{"id":"0100CA9002322000","region":null}]},{"id":"9c026dc4-58c7-4989-bbd4-820365fde1ef","directory":"farmquest","title":"Farmquest","compatibility":99,"releases":[{"id":"01008FC016886000","region":null}]},{"id":"9c02c471-cb72-4e05-810d-10cd5822d24a","directory":"utopia-9-a-volatile-vacation","title":"UTOPIA 9 - A Volatile Vacation","compatibility":99,"releases":[{"id":"010029B00CC3E000","region":null}]},{"id":"9c2531d8-fa29-431e-87bf-0cbc8cee4ae7","directory":"snowrunner","title":"SnowRunner","compatibility":2,"releases":[{"id":"0100FBD013AB6000","region":null}]},{"id":"9c2b02fb-131a-4604-b92d-115e1df68301","directory":"nexomon","title":"Nexomon","compatibility":99,"releases":[{"id":"01000BE0156B2000","region":null}]},{"id":"9c30b2c9-76d7-42af-a5c7-9d9779914eee","directory":"micro-pico-racers","title":"Micro Pico Racers","compatibility":0,"releases":[{"id":"0100E5E012744000","region":null}]},{"id":"9c3af3e3-152c-440e-ba10-1b5f846b26cb","directory":"party-trivia","title":"Party Trivia","compatibility":99,"releases":[{"id":"0100DBD00ABF4000","region":null}]},{"id":"9c4d866f-ea51-42ba-b113-df509efd90d8","directory":"enigmatis-the-ghosts-of-maple-creek","title":"Enigmatis: The Ghosts of Maple Creek","compatibility":99,"releases":[{"id":"0100BB20152BA000","region":null}]},{"id":"9c51213a-1793-4c4d-a599-7f069ab017a0","directory":"horse-club-adventures","title":"Horse Club Adventures","compatibility":99,"releases":[{"id":"0100A6B012932000","region":null}]},{"id":"9c55cc8f-ebcb-4fd5-aa83-f7542b3b6f9f","directory":"mario-golf-super-rush","title":"Mario Golf™: Super Rush","compatibility":2,"releases":[{"id":"0100C9C00E25C000","region":null}]},{"id":"9c58730d-a79a-4882-890b-a83f9378be48","directory":"my-singing-monsters-playground","title":"My Singing Monsters Playground","compatibility":99,"releases":[{"id":"0100A23015182000","region":null}]},{"id":"9c64c1b2-ae31-4c8b-8d5f-27338f49e2e6","directory":"bridge-constructor-portal","title":"Bridge Constructor Portal","compatibility":0,"releases":[{"id":"010016E004796000","region":null}]},{"id":"9c73e313-eefd-4559-9153-ded6a5ceb5d3","directory":"destroy-all-humans","title":"Destroy All Humans!","compatibility":99,"releases":[{"id":"01009E701356A000","region":null}]},{"id":"9ca38fd0-c2fd-4edd-8010-a69947f25c88","directory":"thea-2-the-shattering","title":"Thea 2: The Shattering","compatibility":99,"releases":[{"id":"0100612015862000","region":null}]},{"id":"9caa8e7f-253a-4236-8786-4d2f4447daca","directory":"zombie-panic-in-wonderland-dx","title":"Zombie Panic in Wonderland DX","compatibility":2,"releases":[{"id":"0100A8600D566000","region":null}]},{"id":"9cb21241-80f2-4e9a-a3b4-abcba61e636a","directory":"notes","title":"Notes","compatibility":99,"releases":[{"id":"01009A90155BC000","region":null}]},{"id":"9cc58289-ec31-4ff3-8af3-70af1b152833","directory":"proficient-paddles-deluxe","title":"Proficient Paddles Deluxe","compatibility":99,"releases":[{"id":"0100E8B00CBD6000","region":null}]},{"id":"9cdfae4f-ccf6-4acd-92af-81acc6caedcd","directory":"kona","title":"Kona","compatibility":1,"releases":[{"id":"0100464009294000","region":null}]},{"id":"9ce50f0e-4086-45b0-88b2-47db1b263fe2","directory":"double-switch-25th-anniversary-edition","title":"Double Switch - 25th Anniversary Edition","compatibility":99,"releases":[{"id":"0100FC000EE10000","region":null}]},{"id":"9cf0bb32-b7e7-4a5f-ba2d-26bd690a856d","directory":"never-breakup","title":"Never Breakup","compatibility":99,"releases":[{"id":"010039801093A000","region":null}]},{"id":"9cf9d0fa-49b1-4a70-8800-de60ed7f8c1e","directory":"devil-engine","title":"Devil Engine","compatibility":2,"releases":[{"id":"010031B00CF66000","region":null}]},{"id":"9d07673a-cd1d-4dfe-8959-e1328dac672a","directory":"feudal-alloy","title":"Feudal Alloy","compatibility":99,"releases":[{"id":"0100AA3009738000","region":null}]},{"id":"9d07834d-3939-40d2-bebc-5f490004d6c1","directory":"pretty-girls-klondike-solitaire","title":"Pretty Girls Klondike Solitaire","compatibility":99,"releases":[{"id":"01004F90149D2000","region":null}]},{"id":"9d12f383-96b8-4821-9a5a-5f0ea71ab119","directory":"super-space-serpent-secondary-edition","title":"Super Space Serpent Secondary Edition","compatibility":99,"releases":[{"id":"0100BD50129C4000","region":null}]},{"id":"9d19a3d0-d699-447b-8561-034c80156201","directory":"a-case-of-distrust","title":"A Case of Distrust","compatibility":99,"releases":[{"id":"0100CDB00BC94000","region":null}]},{"id":"9d1f0528-607f-4e7a-9dac-7f0ce148c689","directory":"maddening-euphoria","title":"Maddening Euphoria","compatibility":99,"releases":[{"id":"01003DF00E328000","region":null}]},{"id":"9d342a94-a0a7-437b-be47-cdfa3adf8fc3","directory":"derpy-conga","title":"Derpy Conga","compatibility":99,"releases":[{"id":"01002430155DA000","region":null}]},{"id":"9d368981-9f1d-4070-8d8c-7a7d63007bda","directory":"travel-mosaics-a-paris-tour","title":"Travel Mosaics: A Paris Tour","compatibility":99,"releases":[{"id":"01007DB00A226000","region":null}]},{"id":"9d3bfbc3-fca2-47d7-b68a-b1ac360a2bae","directory":"nightmares-from-the-deep-2-the-sirens-call","title":"Nightmares from the Deep 2: The Siren`s Call","compatibility":99,"releases":[{"id":"01006E700B702000","region":null}]},{"id":"9d48b55e-7c7b-420b-af89-71ec894f643c","directory":"glam","title":"Glam","compatibility":99,"releases":[{"id":"0100F0E013F16000","region":null}]},{"id":"9d4a244a-79d2-4363-8a64-11c13a34827b","directory":"acorn-tactics","title":"ACORN Tactics","compatibility":1,"releases":[{"id":"0100DBC0081A4000","region":null}]},{"id":"9d5eb22c-dba1-4d0f-8d09-fdda78d24eef","directory":"off-and-on-again","title":"Off And On Again","compatibility":99,"releases":[{"id":"01006F5013202000","region":null}]},{"id":"9d72ffb7-9871-4486-8a0f-194583eac624","directory":"aeolis-tournament","title":"Aeolis Tournament","compatibility":99,"releases":[{"id":"010001C011354000","region":null}]},{"id":"9d863e19-d1ed-46ac-a3ef-9a9d6a8de161","directory":"signs-of-the-sojourner","title":"Signs of the Sojourner","compatibility":99,"releases":[{"id":"0100E03012B3C000","region":null}]},{"id":"9d870153-2adb-437c-969b-05e438855cf8","directory":"beyond-enemy-lines-remastered-edition","title":"Beyond Enemy Lines - Remastered Edition","compatibility":99,"releases":[{"id":"0100AE7010434000","region":null}]},{"id":"9d89a55c-c83f-48e0-8aec-f15e44bba43d","directory":"shantae-and-the-pirates-curse","title":"Shantae and the Pirate's Curse","compatibility":1,"releases":[{"id":"0100EFD00A4FA000","region":null}]},{"id":"9d9881ca-44d4-4268-b3fc-0ff7b87b8329","directory":"soccer-slammers","title":"Soccer Slammers","compatibility":99,"releases":[{"id":"010011A00A9A8000","region":null}]},{"id":"9d9bbb6d-edaf-482c-a3ee-acdbcbe91186","directory":"code-shifter","title":"CODE SHIFTER","compatibility":99,"releases":[{"id":"010086100CDCA000","region":null}]},{"id":"9d9f8fd4-c465-45d0-ba05-86e184b3f96a","directory":"road-fury","title":"Road Fury","compatibility":99,"releases":[{"id":"010062C014050000","region":null}]},{"id":"9dac47c8-3377-4207-b841-4ecd56117889","directory":"path-of-giants","title":"Path of Giants","compatibility":99,"releases":[{"id":"0100CAD011462000","region":null}]},{"id":"9db13963-d8e1-4dd5-8d43-e7e519de970b","directory":"break-dot","title":"BREAK DOT","compatibility":99,"releases":[{"id":"010086E01037C000","region":null}]},{"id":"9db5e47a-5b8c-4473-84f0-2d25cd6195ef","directory":"sega-ages-ichidant-r","title":"SEGA AGES Ichidant-R","compatibility":99,"releases":[{"id":"010025200E30C000","region":null}]},{"id":"9db9136d-53b0-403e-9a52-cae409893722","directory":"fury-unleashed","title":"Fury Unleashed","compatibility":1,"releases":[{"id":"0100ECE00C0C4000","region":null}]},{"id":"9dbf54e9-7328-43fc-9df0-e78995e187e4","directory":"ape-out","title":"Ape Out","compatibility":3,"releases":[{"id":"01005B100C268000","region":null}]},{"id":"9dd00039-f8e5-43c0-9bbb-75c2c4d2c840","directory":"the-longing","title":"The Longing","compatibility":2,"releases":[{"id":"0100F3D0122C2000","region":null}]},{"id":"9dd17ebf-68dc-4e23-b1e3-56404cd5ffb0","directory":"blaster-master-zero-2","title":"Blaster Master Zero 2","compatibility":0,"releases":[{"id":"01005AA00D676000","region":null}]},{"id":"9de75681-fc27-40e1-8274-430fcc4a26af","directory":"aca-neogeo-real-bout-fatal-fury-2","title":"ACA NEOGEO REAL BOUT FATAL FURY 2","compatibility":4,"releases":[{"id":"0100CF3008798000","region":null}]},{"id":"9de872ad-d12e-4581-a36d-7dfd8c1dc53a","directory":"crazy-trucks","title":"Crazy Trucks","compatibility":1,"releases":[{"id":"0100079016724000","region":null}]},{"id":"9dee4524-6a71-476b-b166-92a94b0dde2d","directory":"limbo","title":"LIMBO","compatibility":2,"releases":[{"id":"01009C8009026000","region":null}]},{"id":"9dee7e7e-c67b-4a9f-81c4-0be116bf630e","directory":"evertried","title":"Evertried","compatibility":99,"releases":[{"id":"0100193013AD0000","region":null}]},{"id":"9e02111a-b34c-4194-8f77-074b210effb7","directory":"invisible-inc-nintendo-switch-edition","title":"Invisible, Inc. Nintendo Switch Edition","compatibility":4,"releases":[{"id":"010031B00C48C000","region":null}]},{"id":"9e0a0328-3dc7-46c6-a5af-072c7e6f048d","directory":"menseki-area-maze-puzzles","title":"Menseki: Area Maze puzzles","compatibility":99,"releases":[{"id":"01005BF0169D0000","region":null}]},{"id":"9e108bc0-82a0-4487-9167-182a3f7d4838","directory":"puzzletronics","title":"Puzzletronics","compatibility":99,"releases":[{"id":"01004B4014D90000","region":null}]},{"id":"9e14dbb7-2252-47de-a10c-7460a6c0ca67","directory":"olympic-games-tokyo-2020-the-official-video-game","title":"Olympic Games Tokyo 2020 – The Official Video Game™","compatibility":99,"releases":[{"id":"0100A8B00E14A000","region":null}]},{"id":"9e2a3dcf-0fa1-44b4-8a24-17514e822f4a","directory":"ao-tennis-2","title":"AO Tennis 2","compatibility":4,"releases":[{"id":"010047000E9AA000","region":null}]},{"id":"9e2e621f-0ae2-4f23-a959-3d74dec08e0d","directory":"ninja-shodown","title":"Ninja Shodown","compatibility":99,"releases":[{"id":"010088E003A76000","region":null}]},{"id":"9e377bc0-ac97-42d0-b318-e4da6dd718dd","directory":"aca-neogeo-last-resort","title":"ACA NEOGEO LAST RESORT","compatibility":99,"releases":[{"id":"01000D10038E6000","region":null}]},{"id":"9e3a19cd-c521-4cb5-a9a4-1036fb8df3d5","directory":"blackmoor-2","title":"Blackmoor 2","compatibility":1,"releases":[{"id":"0100A0A00E660000","region":null}]},{"id":"9e43993f-97d6-4e68-800a-ad687375ac91","directory":"ziggurat","title":"Ziggurat","compatibility":99,"releases":[{"id":"0100CD500E706000","region":null}]},{"id":"9e43bb75-76b0-4617-b601-46e4cbf947ab","directory":"niche-a-genetics-survival-game","title":"Niche - a genetics survival game","compatibility":99,"releases":[{"id":"01000EC010BF4000","region":null}]},{"id":"9e53d0a5-67fa-42e5-bac8-3a68462b77ce","directory":"safety-first","title":"Safety First!","compatibility":99,"releases":[{"id":"0100A5200C2E0000","region":null}]},{"id":"9e69082a-83c4-42e7-a816-d0084286d214","directory":"ai","title":"世界の中心で、AIは戦う","compatibility":99,"releases":[{"id":"0100F73013B54000","region":null}]},{"id":"9e76b9d0-e5e8-4d32-9f37-0b14a5f733a3","directory":"bud-spencer-and-terence-hill-slaps-and-beans","title":"Bud Spencer & Terence Hill - Slaps And Beans","compatibility":3,"releases":[{"id":"01000D200AC0C000","region":null}]},{"id":"9e7d7a81-47a3-4637-9998-aaf4e243f5c0","directory":"deadly-fighter-2","title":"Deadly Fighter 2","compatibility":99,"releases":[{"id":"01007E400ECC6000","region":null}]},{"id":"9e8797fa-2af5-4368-b5cd-ba8e17073d4a","directory":"guns-of-mercy-rangers-edition","title":"Guns of Mercy - Rangers Edition","compatibility":99,"releases":[{"id":"010088700C5F8000","region":null}]},{"id":"9e891ee1-3929-4116-bce7-87a04ac1725a","directory":"enigmatis-3-the-shadow-of-karkhala","title":"Enigmatis 3: The Shadow of Karkhala","compatibility":99,"releases":[{"id":"01004A1015408000","region":null}]},{"id":"9e8f7b79-47b1-4ad0-983b-f5a4b277a8d9","directory":"music-racer","title":"Music Racer","compatibility":99,"releases":[{"id":"010046400F310000","region":null}]},{"id":"9eb7e351-3384-4c9a-92ba-7d50f157e4a1","directory":"act-it-out-xl-a-game-of-charades","title":"ACT IT OUT XL! A Game of Charades","compatibility":99,"releases":[{"id":"0100E6600B6EA000","region":null}]},{"id":"9ebe08f4-52e4-48c4-8981-09014ab332cd","directory":"prime-world-defenders","title":"Prime World: Defenders","compatibility":99,"releases":[{"id":"0100DE500CAA2000","region":null}]},{"id":"9ec35797-0167-4afd-95d7-02c83df13e47","directory":"pizza-bar-tycoon","title":"Pizza Bar Tycoon","compatibility":99,"releases":[{"id":"0100DEC00F7EC000","region":null}]},{"id":"9ec40f16-305f-4bbe-94be-8359781d59d0","directory":"charge-kid","title":"Charge Kid","compatibility":99,"releases":[{"id":"0100F52013A66000","region":null}]},{"id":"9ec51f4e-d34c-4ddc-9d80-98f7b9836f03","directory":"animal-up","title":"Animal Up!","compatibility":99,"releases":[{"id":"0100A16010966000","region":null}]},{"id":"9ed2578c-75b5-4c61-8d94-66fa87569f41","directory":"the-deer-god","title":"The Deer God","compatibility":99,"releases":[{"id":"01000B6007A3C000","region":null}]},{"id":"9ed74d0d-1a4b-45cd-8866-5a1b41545790","directory":"neversong","title":"Neversong","compatibility":0,"releases":[{"id":"0100E940044F2000","region":null}]},{"id":"9ee12c0b-058e-4341-92b7-0fdeb6d54c6b","directory":"supraland","title":"Supraland","compatibility":3,"releases":[{"id":"0100A6E01201C000","region":null}]},{"id":"9ee545d0-c7c3-4fd6-a7dc-d9b2865e8d77","directory":"dungeon-and-puzzles","title":"Dungeon and Puzzles","compatibility":99,"releases":[{"id":"01009B4013B5E000","region":null}]},{"id":"9ef55638-dae4-4ea8-be21-f7ed853d04d8","directory":"professional-farmer-american-dream","title":"Professional Farmer: American Dream","compatibility":99,"releases":[{"id":"010082900D6DC000","region":null}]},{"id":"9ef7a9e5-b446-47e2-a897-d918b050d728","directory":"enter-digiton-heart-of-corruption","title":"Enter Digiton: Heart of Corruption","compatibility":99,"releases":[{"id":"0100623013642000","region":null}]},{"id":"9ef972da-a138-454a-a8b6-d6f2df827fa4","directory":"cosmic-star-heroine","title":"Cosmic Star Heroine","compatibility":1,"releases":[{"id":"010067C00A776000","region":null}]},{"id":"9efaae9a-ece0-4804-8223-115bd991579e","directory":"asemblance","title":"Asemblance","compatibility":99,"releases":[{"id":"0100D5800DECA000","region":null}]},{"id":"9f0fa31e-c851-43a2-9494-47dce2f4dc26","directory":"die-with-glory","title":"Die With Glory","compatibility":99,"releases":[{"id":"0100BCC014414000","region":null}]},{"id":"9f170931-2be6-4bf6-a0ff-c7d50e521390","directory":"monster-boy-and-the-cursed-kingdom-demo","title":"Monster Boy and the Cursed Kingdom Demo","compatibility":99,"releases":[{"id":"01000C600D7CE000","region":null}]},{"id":"9f21c68b-8eaf-4c1a-a338-9bb9d5149052","directory":"get-over-here","title":"Get Over Here","compatibility":1,"releases":[{"id":"0100B5B00E77C000","region":null}]},{"id":"9f422d7b-951b-49d6-81bb-b6826929ba38","directory":"kitty-maestro","title":"Kitty Maestro","compatibility":99,"releases":[{"id":"0100C8300FA30000","region":null}]},{"id":"9f5cb530-387a-4f4e-bbb0-e14ea71833a6","directory":"arcade-archives-sasuke-vs-commander","title":"Arcade Archives SASUKE VS COMMANDER","compatibility":99,"releases":[{"id":"0100AA600C8D6000","region":null}]},{"id":"9f7acdf3-7466-4bcc-874c-7992cd32e45f","directory":"danger-mouse-the-danger-games","title":"Danger Mouse: The Danger Games","compatibility":99,"releases":[{"id":"01003ED0099B0000","region":null}]},{"id":"9f99ac44-0455-454d-b658-9b5c63f17359","directory":"ant-gravity-tinys-adventure","title":"Ant-Gravity: Tiny's Adventure","compatibility":99,"releases":[{"id":"0100DC00115FA000","region":null}]},{"id":"9fa6b758-b145-4983-805d-bde4923a48ff","directory":"faircrofts-antiques-treasures-of-treffenburg-collectors-edition","title":"Faircroft's Antiques: Treasures of Treffenburg Collector's Edition","compatibility":99,"releases":[{"id":"010083C01469C000","region":null}]},{"id":"9fc2bb8c-9b7f-4fef-93de-71cec9dd4a09","directory":"memory-lane","title":"Memory Lane","compatibility":4,"releases":[{"id":"010062F011E7C000","region":null}]},{"id":"9fcc1dac-20d2-45ff-8f8a-37bfad1f334c","directory":"ninja-village-demo","title":"Ninja Village Demo","compatibility":99,"releases":[{"id":"0100F3400D228000","region":null}]},{"id":"9fec84ec-aa15-4928-b67c-8c0a76a9c503","directory":"espgaluda-ii","title":"Espgaluda II","compatibility":1,"releases":[{"id":"0100911014898000","region":null}]},{"id":"9feedc14-d8f2-4c3c-947a-68dc663d120b","directory":"dgeneration-hd","title":"D/Generation HD","compatibility":1,"releases":[{"id":"0100EEC00A262000","region":null}]},{"id":"9ff8c365-78ad-4a13-8533-415ef7352664","directory":"super-kickers-league","title":"Super Kickers League","compatibility":1,"releases":[{"id":"0100196009998000","region":null}]},{"id":"9ffa6301-f861-4c8c-b1d1-525259083264","directory":"hook","title":"Hook","compatibility":99,"releases":[{"id":"0100DFF00DA4E000","region":null}]},{"id":"9fff4943-1955-425e-99e8-64fb7230f636","directory":"star-wars-jedi-knight-jedi-academy","title":"STAR WARS™ Jedi Knight: Jedi Academy","compatibility":4,"releases":[{"id":"01008CA00FAE8000","region":null}]},{"id":"a002be67-0615-4808-8a7c-822fe9bb0a6b","directory":"space-war-arena","title":"Space War Arena","compatibility":99,"releases":[{"id":"010067600AD78000","region":null}]},{"id":"a0043ee3-359d-4e3c-9673-bc6e1f85e179","directory":"graviter","title":"Graviter","compatibility":99,"releases":[{"id":"0100892013A80000","region":null}]},{"id":"a0067f9b-a06d-407d-973c-d72c8b9fbc4a","directory":"grab-lab","title":"Grab Lab","compatibility":99,"releases":[{"id":"0100A6C00CF70000","region":null}]},{"id":"a0071dde-25fe-4dd6-880a-da5d183a70e7","directory":"almost-there-the-platformer","title":"Almost There: The Platformer","compatibility":99,"releases":[{"id":"01009C400C88C000","region":null}]},{"id":"a00c237d-fbcc-4c84-9cb7-d355c828fcad","directory":"santas-xmas-adventure","title":"Santa's Xmas Adventure","compatibility":99,"releases":[{"id":"0100618013560000","region":null}]},{"id":"a0295548-bd7f-4678-b35b-11754b51618c","directory":"chicken-rider","title":"Chicken Rider","compatibility":99,"releases":[{"id":"01002E500E3EE000","region":null}]},{"id":"a0296e81-ebad-401a-9988-ab5734ee9577","directory":"akihabara-feel-the-rhythm-remixed","title":"Akihabara - Feel the Rhythm Remixed","compatibility":99,"releases":[{"id":"010053100B0EA000","region":null}]},{"id":"a035fd00-56f0-4269-98e5-7f9269d969ab","directory":"quest-hunter","title":"Quest Hunter","compatibility":1,"releases":[{"id":"010095500D9F4000","region":null}]},{"id":"a039c167-db9f-4c0c-ba96-b9cc8fb634d3","directory":"nefarious","title":"Nefarious","compatibility":99,"releases":[{"id":"010023500B0BA000","region":null}]},{"id":"a03bf6b8-b66f-49b6-bcfc-1266bb4b604b","directory":"ghosts-and-apples","title":"Ghosts and Apples","compatibility":99,"releases":[{"id":"01009CE01657E000","region":null}]},{"id":"a04bd120-1ae2-4596-a747-994ba917b818","directory":"the-legend-of-zelda-skyward-sword-hd","title":"The Legend of Zelda™: Skyward Sword HD","compatibility":1,"releases":[{"id":"01002DA013484000","region":null}]},{"id":"a04ef474-2663-413c-ba9d-9cd5df3eeef2","directory":"have-a-blast","title":"Have a Blast","compatibility":99,"releases":[{"id":"01007E9015750000","region":null}]},{"id":"a05136be-4827-4eda-b326-4a03bd38ace4","directory":"empire-invasion","title":"Empire Invasion","compatibility":0,"releases":[{"id":"01009860147E4000","region":null}]},{"id":"a0555f11-9957-4d9d-9b1a-2baa83402d17","directory":"mastercube","title":"Mastercube","compatibility":99,"releases":[{"id":"01000ED0124F2000","region":null}]},{"id":"a057d910-b396-4128-8b69-650c52b98f48","directory":"paradise-killer","title":"Paradise Killer","compatibility":3,"releases":[{"id":"01007FB010DC8000","region":null}]},{"id":"a05da63b-0ed5-4d95-bbbf-3b8470572245","directory":"a-good-snowman-is-hard-to-build","title":"A Good Snowman is Hard to Build","compatibility":99,"releases":[{"id":"0100423013306000","region":null}]},{"id":"a060108f-7387-4933-9a38-6e2fbc85c75c","directory":"football-manager-2022-touch","title":"Football Manager 2022 Touch","compatibility":5,"releases":[{"id":"0100AD60152C2000","region":null}]},{"id":"a06b10ed-a84b-4c3f-84cd-ff682e46d921","directory":"the-adventures-of-spunk-dodgers-and-splat","title":"The Adventures of Spunk Dodgers and Splat","compatibility":99,"releases":[{"id":"0100BFD015F88000","region":null}]},{"id":"a07ff85f-83a9-4889-b22a-cc7ef7a14ee9","directory":"devil-may-cry","title":"Devil May Cry","compatibility":1,"releases":[{"id":"0100E8000D5B8000","region":null}]},{"id":"a08cc6bd-244a-456e-b3db-7d749e8853a6","directory":"mayhem-brawler","title":"Mayhem Brawler","compatibility":1,"releases":[{"id":"01002C70149B4000","region":null}]},{"id":"a08dc3d0-5a55-4074-837b-e8716a2196dd","directory":"piczle-puzzle-watch-collection","title":"Piczle Puzzle & Watch Collection","compatibility":99,"releases":[{"id":"01001A30155B6000","region":null}]},{"id":"a0901335-059f-4aa2-a219-f078cf1a0b0e","directory":"fox-n-forests","title":"FOX n FORESTS","compatibility":1,"releases":[{"id":"01008A100A028000","region":null}]},{"id":"a0bcfcd9-84db-47b2-a85c-40ffa45282a7","directory":"trine-enchanted-edition","title":"Trine Enchanted Edition","compatibility":2,"releases":[{"id":"0100D9000A930000","region":null}]},{"id":"a0bfc206-a80e-41c5-ab71-70602e11445d","directory":"ancient-stories-gods-of-egypt","title":"Ancient Stories: Gods of Egypt","compatibility":99,"releases":[{"id":"010073201632C000","region":null}]},{"id":"a0cfdbda-34ce-48e2-a160-bc3344696968","directory":"real-boxing-2","title":"Real Boxing 2","compatibility":99,"releases":[{"id":"0100F7101205A000","region":null}]},{"id":"a0d3e37c-4ead-448f-b906-124b9c9e8678","directory":"chicory-a-colorful-tale","title":"Chicory: A Colorful Tale","compatibility":99,"releases":[{"id":"0100DEC01622A000","region":null}]},{"id":"a0e6fa4b-cae3-4c64-9c97-d0710a3bec94","directory":"kentucky-robo-chicken","title":"Kentucky Robo Chicken","compatibility":99,"releases":[{"id":"0100A8200B15C000","region":null}]},{"id":"a0e79e86-3fb8-44b6-b067-76d721ac3a3d","directory":"deployment","title":"Deployment","compatibility":99,"releases":[{"id":"01000BF00B6BC000","region":null}]},{"id":"a0ed7269-7e79-4d3f-8f8b-136f4d791975","directory":"afterpulse","title":"Afterpulse","compatibility":99,"releases":[{"id":"01004D501213C000","region":null}]},{"id":"a0f68ad2-7657-4893-9aaa-4f154652bb31","directory":"slender-the-arrival","title":"Slender: The Arrival","compatibility":99,"releases":[{"id":"0100FDC00D0C0000","region":null}]},{"id":"a104fb68-1692-4f67-982f-ebab4c957681","directory":"black-widow-recharged","title":"Black Widow: Recharged","compatibility":99,"releases":[{"id":"01008B6016322000","region":null}]},{"id":"a11505b1-8bb9-4bac-8a4f-004a97f38044","directory":"boulder-dash-r-deluxe","title":"Boulder Dash® Deluxe","compatibility":1,"releases":[{"id":"01000670156B4000","region":null}]},{"id":"a1190511-7f69-4976-8d82-9472ff36f5da","directory":"brutal-rage","title":"BRUTAL RAGE","compatibility":99,"releases":[{"id":"01006490135B0000","region":null}]},{"id":"a12214b4-eabf-41d2-b4e2-2e3b5fd0eaee","directory":"drift-legends","title":"Drift Legends","compatibility":2,"releases":[{"id":"010018E00BA22000","region":null}]},{"id":"a12413bb-d275-4916-b4a9-45dc61c540b3","directory":"the-pyraplex","title":"The Pyraplex","compatibility":99,"releases":[{"id":"0100BBD00D9D6000","region":null}]},{"id":"a1244193-8e98-49a0-985e-0380775095e4","directory":"overcooked-special-edition","title":"Overcooked Special Edition","compatibility":2,"releases":[{"id":"01009B900401E000","region":null}]},{"id":"a12802e9-3f07-4633-a9e0-43ae8db1ce7f","directory":"battle-of-kings","title":"Battle of Kings","compatibility":0,"releases":[{"id":"010035E00C1AE000","region":null}]},{"id":"a1297a9a-09dd-4512-ac71-7925d6fc2c33","directory":"jumphead-battle4fun","title":"JumpHead: Battle4Fun!","compatibility":99,"releases":[{"id":"0100DE800B1F2000","region":null}]},{"id":"a143cfaa-5589-4a3f-a259-1556032dac95","directory":"space-blaze","title":"Space Blaze","compatibility":2,"releases":[{"id":"0100B9F00C162000","region":null}]},{"id":"a145cf82-177d-4183-b507-b9274bc73cfc","directory":"uno-r","title":"UNO®","compatibility":0,"releases":[{"id":"0100B6E012EBE000","region":null}]},{"id":"a163827a-9add-47cf-9ead-011aedbe59a4","directory":"blacksad-under-the-skin","title":"Blacksad: Under the Skin","compatibility":99,"releases":[{"id":"010032000EA2C000","region":null}]},{"id":"a165dde4-19b0-4149-b3b0-042707a75680","directory":"pinball-lockdown","title":"Pinball Lockdown","compatibility":99,"releases":[{"id":"0100EA8011DF2000","region":null}]},{"id":"a16f7be5-2a20-4f0c-bb8a-96214c24c8bd","directory":"raiden-iv-x-mikado-remix","title":"Raiden IV x MIKADO remix","compatibility":5,"releases":[{"id":"0100ECA01410C000","region":null}]},{"id":"a18a1942-7194-4d45-9fa5-e32a3aa9d06b","directory":"tomb-sweeper","title":"Tomb Sweeper","compatibility":99,"releases":[{"id":"01007EE015B38000","region":null}]},{"id":"a196e516-b44c-412e-87f0-3e63b9a953bb","directory":"super-volley-blast","title":"Super Volley Blast","compatibility":99,"releases":[{"id":"010035B00B3F0000","region":null}]},{"id":"a199303c-e018-4856-b22b-42cd048470d7","directory":"four-kings-video-poker","title":"Four Kings: Video Poker","compatibility":99,"releases":[{"id":"010093301236A000","region":null}]},{"id":"a1b80154-a7ee-46a6-a641-c8f4abf44757","directory":"death-mark","title":"Death Mark","compatibility":3,"releases":[{"id":"0100D1B00B6FA000","region":null}]},{"id":"a1bb375c-3e68-4568-80b6-f6b697ae4af6","directory":"real-heroes-firefighter","title":"Real Heroes: Firefighter","compatibility":99,"releases":[{"id":"010048600CC16000","region":null}]},{"id":"a1bbba40-4063-47e6-b764-cc773d20a2db","directory":"swim-out","title":"Swim Out","compatibility":99,"releases":[{"id":"0100F92005D54000","region":null}]},{"id":"a1be04b2-7a6b-453c-9f83-b0feeeb7f673","directory":"beach-buggy-racing-2-island-adventure","title":"Beach Buggy Racing 2: Island Adventure","compatibility":0,"releases":[{"id":"0100C43012344000","region":null}]},{"id":"a1c10da7-c2ad-4531-b2a0-afeb62b145a2","directory":"little-racer","title":"Little Racer","compatibility":99,"releases":[{"id":"0100E6D00E81C000","region":null}]},{"id":"a1c59d97-91e5-4762-9f4a-5b512005a287","directory":"touhou-genso-wanderer-reloaded","title":"Touhou Genso Wanderer Reloaded","compatibility":2,"releases":[{"id":"01004E900B082000","region":null}]},{"id":"a1ca2d11-190b-4fd6-8691-f1576c414537","directory":"super-star-path","title":"Super Star Path","compatibility":99,"releases":[{"id":"01009FF00CB1A000","region":null}]},{"id":"a1d76db5-af4d-4c55-ac41-3029a7848ccf","directory":"funimation","title":"Funimation","compatibility":99,"releases":[{"id":"01008E10130F8000","region":null}]},{"id":"a1da765d-39f1-48ba-b6a1-c5445cc14b7f","directory":"detention","title":"Detention","compatibility":3,"releases":[{"id":"0100730007A9C000","region":null}]},{"id":"a1e6afcd-b519-4f7a-84c0-da5edde3bafa","directory":"energy-balance","title":"Energy Balance","compatibility":2,"releases":[{"id":"0100C920092B0000","region":null}]},{"id":"a1ef37d9-544e-44a3-8812-0058c57aea29","directory":"castlevania-anniversary-collection","title":"Castlevania Anniversary Collection","compatibility":0,"releases":[{"id":"01001A800D6BC000","region":null}]},{"id":"a1f2388c-70f7-42ad-bb8d-368ea39fbd5c","directory":"taiko-no-tatsujin-drum-n-fun","title":"Taiko no Tatsujin: Drum 'n' Fun!","compatibility":1,"releases":[{"id":"01002C000B552000","region":null}]},{"id":"a1f4b7d4-47bb-4533-bbf7-866f753e8f48","directory":"monster-dynamite","title":"Monster Dynamite","compatibility":99,"releases":[{"id":"010036C00BDE4000","region":null}]},{"id":"a1fe2332-317d-4cdc-a476-63246ba71da4","directory":"art-of-balance","title":"Art of Balance","compatibility":3,"releases":[{"id":"01008EC006BE2000","region":null}]},{"id":"a2022729-eeca-4e26-86f9-0101bd6c42d4","directory":"trove","title":"Trove","compatibility":99,"releases":[{"id":"0100CB400BC68000","region":null}]},{"id":"a20862bf-1c31-49ac-9810-242b135a1e6a","directory":"bladed-fury","title":"Bladed Fury","compatibility":1,"releases":[{"id":"0100DF0011A6A000","region":null}]},{"id":"a20f8c44-6837-4324-a7a8-af3caf654f55","directory":"super-nintendo-entertainment-system-nintendo-switch-online","title":"Super Nintendo Entertainment System - Nintendo Switch Online","compatibility":0,"releases":[{"id":"01008D300C50C000","region":null}]},{"id":"a2125279-363d-4ae8-ba65-1c7589c6d249","directory":"scott-pilgrim-vs-the-world-the-game-complete-edition","title":"Scott Pilgrim vs. The World™: The Game – Complete Edition","compatibility":1,"releases":[{"id":"0100394011C30000","region":null}]},{"id":"a216a52d-3ee9-426a-b1c9-6058d6c4f401","directory":"kingdom-new-lands","title":"Kingdom: New Lands","compatibility":99,"releases":[{"id":"0100BD9004AB6000","region":null}]},{"id":"a225a4a2-7272-4a7a-8fbe-4d8fb9017c93","directory":"luke-and-rebecca","title":"Luke & Rebecca","compatibility":4,"releases":[{"id":"0100A5A00B34E000","region":null}]},{"id":"a22b0ff3-6c07-4055-b7c1-79e6f6dc4f3e","directory":"finalsword-definitiveedition","title":"FINALSWORD DefinitiveEdition","compatibility":0,"releases":[{"id":"0100F62013DAE000","region":null}]},{"id":"a2315d34-d176-49c0-a01b-d7219104f9c3","directory":"fitness-boxing-eshop-demo","title":"Fitness Boxing eShop Demo","compatibility":99,"releases":[{"id":"0100ED800CBFC000","region":null}]},{"id":"a236a853-19fd-4267-b96e-2b3c5f78f415","directory":"snow-moto-racing-freedom","title":"Snow Moto Racing Freedom","compatibility":3,"releases":[{"id":"010045300516E000","region":null}]},{"id":"a237dd99-2c2e-4f49-af96-d41532b0578a","directory":"nba-2k22","title":"NBA 2K22","compatibility":5,"releases":[{"id":"0100B94014F8E000","region":null}]},{"id":"a23b2f5a-5261-4ba2-9cf7-016674feb8cf","directory":"atomine","title":"ATOMINE","compatibility":99,"releases":[{"id":"0100FB500631E000","region":null}]},{"id":"a2482b92-bfeb-4fd7-9898-8077e0ca472a","directory":"calico","title":"Calico","compatibility":3,"releases":[{"id":"010013A00E750000","region":null}]},{"id":"a24b2f33-b3a9-4d33-bf97-672ae2fcfd5b","directory":"mecho-tales","title":"Mecho Tales","compatibility":2,"releases":[{"id":"0100C4F005EB4000","region":null}]},{"id":"a261c3c2-db90-4320-9443-bb3903f1cd6b","directory":"the-magnificent-trufflepigs","title":"The Magnificent Trufflepigs","compatibility":99,"releases":[{"id":"0100F3F015016000","region":null}]},{"id":"a271e095-f5b6-4bc7-a1bf-273df22ee178","directory":"astrology-and-horoscopes-premium","title":"Astrology and Horoscopes Premium","compatibility":99,"releases":[{"id":"010034800B75E000","region":null}]},{"id":"a2774236-5b6c-4334-a416-05ddd73439a7","directory":"tetsumo-party","title":"Tetsumo Party","compatibility":99,"releases":[{"id":"0100EC000D39A000","region":null}]},{"id":"a279de78-b4eb-4a70-8285-e4c135171d28","directory":"guacamelee-super-turbo-championship-edition","title":"Guacamelee! Super Turbo Championship Edition","compatibility":0,"releases":[{"id":"0100BAE00B470000","region":null}]},{"id":"a2853c57-70a7-42fc-bb3e-8aecd190e15f","directory":"kid-tripp-demo","title":"Kid Tripp Demo","compatibility":99,"releases":[{"id":"010093E00ACB0000","region":null}]},{"id":"a28a8ab7-1eac-4112-9e4d-9a6d060d8fa2","directory":"train-station-simulator","title":"Train Station Simulator","compatibility":99,"releases":[{"id":"010086000EBDE000","region":null}]},{"id":"a29d8af5-f07e-4bf4-a4e6-03de341a3965","directory":"unravel-two","title":"Unravel Two","compatibility":4,"releases":[{"id":"0100E5D00CC0C000","region":null}]},{"id":"a29dead0-adac-441d-855f-8dde759d0329","directory":"checkers-master","title":"Checkers Master","compatibility":99,"releases":[{"id":"010067E014C38000","region":null}]},{"id":"a2a6e3ec-c989-421a-91b2-e9121cd894af","directory":"snakeybus","title":"Snakeybus","compatibility":99,"releases":[{"id":"0100F9C00F32E000","region":null}]},{"id":"a2a928ca-a2cd-441f-9aaa-e83393f93ac2","directory":"borderlands-the-handsome-collection","title":"Borderlands: The Handsome Collection","compatibility":4,"releases":[{"id":"010096F00FF22000","region":null}]},{"id":"a2ab0a40-b639-46fb-9f31-0a01589cee72","directory":"yu-no-a-girl-who-chants-love-at-the-bound-of-this-world","title":"YU-NO: A girl who chants love at the bound of this world.","compatibility":0,"releases":[{"id":"010037D00DBDC000","region":null}]},{"id":"a2c8c652-9001-4afc-9bd2-f73fd654d618","directory":"aery-broken-memories","title":"Aery - Broken Memories","compatibility":1,"releases":[{"id":"0100087012810000","region":null}]},{"id":"a2cfd07f-7e92-4f75-91b2-c6c14d017c04","directory":"neverlast","title":"Neverlast","compatibility":99,"releases":[{"id":"0100A9600EDF8000","region":null}]},{"id":"a2d3e260-49bf-483d-9007-c6b5cf5f5a9c","directory":"hard-west","title":"Hard West","compatibility":2,"releases":[{"id":"0100ECE00D13E000","region":null}]},{"id":"a2d62a71-0f50-4214-8776-37a6e4bf9b6c","directory":"apsulov-end-of-gods","title":"Apsulov: End of Gods","compatibility":3,"releases":[{"id":"01008560110C6000","region":null}]},{"id":"a2de25a8-c12f-4dd2-b5f6-bd8f76bf4eaf","directory":"supersonic-tank-cats","title":"Supersonic Tank Cats","compatibility":99,"releases":[{"id":"0100DB00156B0000","region":null}]},{"id":"a2ea9a92-9218-4bf3-a4b8-94c127e70db9","directory":"suicide-guy","title":"Suicide Guy","compatibility":99,"releases":[{"id":"01005CD00A2A2000","region":null}]},{"id":"a2ef2580-6f8d-47c7-b47a-1f438a46fe73","directory":"mega-mall-story","title":"Mega Mall Story","compatibility":99,"releases":[{"id":"0100BBC00CB9A000","region":null}]},{"id":"a2f1d9ae-eeb2-446a-8a49-0013f62ecc38","directory":"driving-world-nordic-challenge","title":"Driving World: Nordic Challenge","compatibility":0,"releases":[{"id":"010047C014B44000","region":null}]},{"id":"a2fd1a67-29b9-410b-9215-83a43964435a","directory":"the-elder-scrolls-v-skyrim","title":"The Elder Scrolls V: Skyrim","compatibility":4,"releases":[{"id":"01000A10041EA000","region":null}]},{"id":"a309726a-6ffe-4e13-8d60-8aeb9c904df4","directory":"arcade-archives-ikari-iii-the-rescue","title":"Arcade Archives IKARI III -THE RESCUE-","compatibility":99,"releases":[{"id":"01004B1010E58000","region":null}]},{"id":"a31567f7-782c-466a-a9ef-c02c9c61431f","directory":"magicat","title":"MagiCat","compatibility":0,"releases":[{"id":"01008E500BF62000","region":null}]},{"id":"a316fe5d-568c-47c5-b7e7-ab55e49489bf","directory":"elden-path-of-the-forgotten","title":"Elden: Path of the Forgotten","compatibility":2,"releases":[{"id":"0100B5B00EF38000","region":null}]},{"id":"a31d1081-7a22-49fb-9320-cdaca86032dd","directory":"broforce","title":"Broforce","compatibility":1,"releases":[{"id":"010060A00B53C000","region":null}]},{"id":"a32f06fa-a815-486d-adb7-dbcec181493f","directory":"nickelodeon-kart-racers-2-grand-prix","title":"Nickelodeon Kart Racers 2: Grand Prix","compatibility":2,"releases":[{"id":"0100EBC00FE14000","region":null}]},{"id":"a334245d-3abb-4ba7-8c95-0f9439382b71","directory":"the-adventures-of-bertram-fiddle-episode-1-a-dreadly-business","title":"The Adventures of Bertram Fiddle: Episode 1: A Dreadly Business","compatibility":1,"releases":[{"id":"01003B400A00A000","region":null}]},{"id":"a334c40e-c74e-4339-9cd8-d8c5294c58f0","directory":"one-strike","title":"One Strike","compatibility":4,"releases":[{"id":"01003A800B102000","region":null}]},{"id":"a33b2be6-3b33-4c88-9e41-df6b71dd7627","directory":"octocopter-double-or-squids","title":"Octocopter: Double or Squids","compatibility":99,"releases":[{"id":"010096B00A08E000","region":null}]},{"id":"a33d2577-fd12-4479-a3d6-b6c9ebe1fc4f","directory":"bloodstained-curse-of-the-moon","title":"Bloodstained: Curse of the Moon","compatibility":1,"releases":[{"id":"01004B800AF5A000","region":null}]},{"id":"a342c9eb-a32a-4b30-8a03-3872c69fa978","directory":"vertical-drop-heroes-hd","title":"Vertical Drop Heroes HD","compatibility":99,"releases":[{"id":"01009F100B0B8000","region":null}]},{"id":"a3437219-6b6f-413b-84a2-ede4cde8b4d9","directory":"booble-hentai","title":"Booble Hentai","compatibility":99,"releases":[{"id":"010003C0161CE000","region":null}]},{"id":"a34d6d1b-6adc-493d-810f-660c32f7810c","directory":"silence","title":"Silence","compatibility":3,"releases":[{"id":"0100F1400B0D6000","region":null}]},{"id":"a352e6d5-2edc-45f4-8162-9bfacfec5647","directory":"cosmonauta","title":"Cosmonauta","compatibility":99,"releases":[{"id":"01009DE010948000","region":null}]},{"id":"a359aba0-538d-4f8c-a4b0-03167eaeeb0f","directory":"lines-infinite","title":"Lines Infinite","compatibility":99,"releases":[{"id":"0100A9000F17E000","region":null}]},{"id":"a364469c-7d4e-4605-bf07-8b35fc0a21d4","directory":"the-falconeer-warrior-edition","title":"The Falconeer: Warrior Edition","compatibility":0,"releases":[{"id":"0100BA5013E52000","region":null}]},{"id":"a366f423-b6fe-4a3e-9eb2-35b1a983a250","directory":"legends-of-talia-arcadia","title":"Legends of Talia: Arcadia","compatibility":99,"releases":[{"id":"0100013012E4E000","region":null}]},{"id":"a36e2ee9-24d2-4000-8a56-f19de6a1ef25","directory":"kosmonavtes-academy-escape","title":"Kosmonavtes: Academy Escape","compatibility":99,"releases":[{"id":"0100D65016AE0000","region":null}]},{"id":"a379e88c-56b7-42f9-9e8b-67d4efb313c5","directory":"monument-builders-rushmore","title":"Monument Builders Rushmore","compatibility":99,"releases":[{"id":"01002C600C412000","region":null}]},{"id":"a383f281-aa82-4599-9762-66bfc04868d6","directory":"ping-redux","title":"PING REDUX","compatibility":99,"releases":[{"id":"0100A05013B5A000","region":null}]},{"id":"a3b21fd2-fc09-41b6-b746-8858fe50877a","directory":"the-man-with-the-ivory-cane","title":"The Man With The Ivory Cane","compatibility":99,"releases":[{"id":"01003E8010E3A000","region":null}]},{"id":"a3c4300d-10d7-46e6-acd4-007ec36ba5ad","directory":"divine-ascent","title":"Divine Ascent","compatibility":99,"releases":[{"id":"0100C0100C7EA000","region":null}]},{"id":"a3d44120-5445-452d-b999-01982700e352","directory":"the-long-dark","title":"The Long Dark","compatibility":0,"releases":[{"id":"01007A700A87C000","region":null}]},{"id":"a3dc2832-e796-4b56-95fd-572b8caac2cc","directory":"eight-minute-empire-complete-edition","title":"Eight-Minute Empire: Complete Edition","compatibility":99,"releases":[{"id":"0100E6100E3A0000","region":null}]},{"id":"a3ee168d-880a-4ee7-b489-607766e05364","directory":"breathing-fear","title":"Breathing Fear","compatibility":99,"releases":[{"id":"01003D50100F4000","region":null}]},{"id":"a3eeace7-2d19-420f-8970-2f6920695ef3","directory":"kingdom-rush-frontiers","title":"Kingdom Rush Frontiers","compatibility":99,"releases":[{"id":"010046200FC62000","region":null}]},{"id":"a3f8e9da-40a0-41b1-8c1c-ef0155984063","directory":"pocket-academy","title":"Pocket Academy","compatibility":99,"releases":[{"id":"01009C100CE6A000","region":null}]},{"id":"a43574ca-2107-4204-b5ba-0480d71a0f43","directory":"drag-racing-rivals","title":"Drag Racing Rivals","compatibility":99,"releases":[{"id":"0100388012922000","region":null}]},{"id":"a442a91f-ee2f-4d71-bd22-ef4eeeb01399","directory":"terraria","title":"Terraria","compatibility":2,"releases":[{"id":"0100E46006708000","region":null}]},{"id":"a446864e-428e-427c-af86-c39d2cb1eeb7","directory":"harvest-life","title":"Harvest Life","compatibility":3,"releases":[{"id":"0100D0500AD30000","region":null}]},{"id":"a44e8c29-74b5-4b01-b49d-eed1fc389f7e","directory":"gunvolt-chronicles-luminous-avenger-ix","title":"Gunvolt Chronicles: Luminous Avenger iX","compatibility":0,"releases":[{"id":"01008C800E654000","region":null}]},{"id":"a45c1c9b-dc73-4381-bf59-02bfb10e86c7","directory":"drunken-fist","title":"Drunken Fist","compatibility":99,"releases":[{"id":"0100BDB012F78000","region":null}]},{"id":"a46f379e-bddb-4e29-9139-893394f4748b","directory":"ciel-fledge-a-daughter-raising-simulator","title":"Ciel Fledge: A Daughter Raising Simulator","compatibility":99,"releases":[{"id":"010061E00E05E000","region":null}]},{"id":"a48fe53c-7f07-4390-8137-8bc9b13dd0e0","directory":"emily-archer-and-the-curse-of-tutankhamun","title":"Emily Archer and the Curse of Tutankhamun","compatibility":1,"releases":[{"id":"0100ADF014C2A000","region":null}]},{"id":"a494746e-01c6-444e-8ffc-72bba0ec39b0","directory":"discovery","title":"Discovery","compatibility":99,"releases":[{"id":"01008CD00901C000","region":null}]},{"id":"a49959d7-be9f-4baa-b3ff-8c744ad4a21d","directory":"super-mega-baseball-3","title":"Super Mega Baseball 3","compatibility":99,"releases":[{"id":"010067300E024000","region":null}]},{"id":"a4a42abc-288a-484d-87be-2ac37c1cfbce","directory":"inbento","title":"inbento","compatibility":99,"releases":[{"id":"01003EB010008000","region":null}]},{"id":"a4b125c7-2840-4206-8dbd-473c73616449","directory":"tales-of-the-orient-the-rising-sun","title":"Tales of the Orient - The Rising Sun","compatibility":99,"releases":[{"id":"01004DC00CFD2000","region":null}]},{"id":"a4b4e390-ab2e-4d83-9eec-67b6fc1e9854","directory":"beekyr-reloaded","title":"Beekyr Reloaded","compatibility":99,"releases":[{"id":"0100F8900ADC8000","region":null}]},{"id":"a4c062a8-749d-4dac-bf97-4e940452f40c","directory":"kwaidan-azuma-manor-story","title":"Kwaidan ~Azuma manor story~","compatibility":99,"releases":[{"id":"0100894011F62000","region":null}]},{"id":"a4c17b57-5eb8-466b-b9f1-1f6162459e73","directory":"spencer","title":"Spencer","compatibility":99,"releases":[{"id":"0100BA300C39A000","region":null}]},{"id":"a4ccb4fb-ad3b-4441-9a82-452aa05c1989","directory":"olympic-table-tennis","title":"Olympic Table Tennis","compatibility":99,"releases":[{"id":"0100E7E013DEA000","region":null}]},{"id":"a4dd823a-366a-45a1-b717-61ae99640489","directory":"pixel-gladiator","title":"Pixel Gladiator","compatibility":99,"releases":[{"id":"010060A00F5E8000","region":null}]},{"id":"a4e8c32d-1d35-4524-b94a-e923ae763ad9","directory":"poker-pretty-girls-battle-fantasy-world-edition","title":"Poker Pretty Girls Battle: Fantasy World Edition","compatibility":99,"releases":[{"id":"01005DD0149D0000","region":null}]},{"id":"a4f28435-5df5-4934-8f4e-057b07108564","directory":"shin-megami-tensei-iii-nocturne-hd-remaster","title":"Shin Megami Tensei III Nocturne HD Remaster","compatibility":3,"releases":[{"id":"01003B0012DC2000","region":null}]},{"id":"a4f816b2-9c58-4c54-9422-5af221a2abd2","directory":"league-of-evil","title":"League of Evil","compatibility":1,"releases":[{"id":"01009C100390E000","region":null}]},{"id":"a5002806-f32f-4a08-84be-36487cafd721","directory":"worlds-end-club","title":"World's End Club","compatibility":1,"releases":[{"id":"01005A2014362000","region":null}]},{"id":"a5042512-0b61-4bf7-be37-0d782be3a4e8","directory":"path-to-mnemosyne","title":"Path to Mnemosyne","compatibility":99,"releases":[{"id":"010031600ACF4000","region":null}]},{"id":"a51e4c58-49d4-4dce-ba9e-14a902d32f6f","directory":"visit-once","title":"Visit Once","compatibility":99,"releases":[{"id":"0100D78013A60000","region":null}]},{"id":"a52d9256-0741-4ffe-a653-efd742bc731f","directory":"instant-tennis","title":"INSTANT TENNIS","compatibility":99,"releases":[{"id":"0100F4500A47E000","region":null}]},{"id":"a52f6c71-d0c0-4245-a7fc-f4a67446578f","directory":"omega-labyrinth-life","title":"Omega Labyrinth Life","compatibility":1,"releases":[{"id":"010079200E85C000","region":null}]},{"id":"a53b4a8a-c6a1-4329-95a0-2bac45705f4b","directory":"super-glitch-dash","title":"Super Glitch Dash","compatibility":99,"releases":[{"id":"0100CC2014240000","region":null}]},{"id":"a53ebb9b-c94c-4119-a7d3-5715ed456224","directory":"gordian-rooms-a-curious-heritage","title":"Gordian Rooms: A curious heritage","compatibility":99,"releases":[{"id":"01007C1013676000","region":null}]},{"id":"a55b710c-6ff6-4374-a9d4-0888c9e26740","directory":"left-right-the-mansion","title":"Left-Right : The Mansion","compatibility":99,"releases":[{"id":"01002E900CD6E000","region":null}]},{"id":"a571afa8-69c2-4a8f-b375-aa0ebb23b430","directory":"pokken-tournament-dx","title":"Pokkén Tournament DX","compatibility":2,"releases":[{"id":"0100B3F000BE2000","region":null}]},{"id":"a5743146-3b57-4179-983c-300ffc92f521","directory":"fishing-barents-sea-complete-edition","title":"Fishing: Barents Sea Complete Edition","compatibility":3,"releases":[{"id":"0100CB500CE76000","region":null}]},{"id":"a5778f67-1f3a-448d-b255-2ecd93144596","directory":"one-way-heroics-plus","title":"One Way Heroics Plus","compatibility":99,"releases":[{"id":"0100AD9011056000","region":null}]},{"id":"a57b5768-110e-46ca-ab3c-8dd702430134","directory":"fate-of-the-pharaoh","title":"Fate Of The Pharaoh","compatibility":5,"releases":[{"id":"0100C75013BD8000","region":null}]},{"id":"a58e892f-e566-4a83-b330-a31cc5e8c2db","directory":"mini-motor-racing-x","title":"Mini Motor Racing X","compatibility":0,"releases":[{"id":"01003560119A6000","region":null}]},{"id":"a5969713-49e6-472f-a0f6-b8892d7fcaf7","directory":"sega-ages-g-loc-air-battle","title":"SEGA AGES G-LOC AIR BATTLE","compatibility":1,"releases":[{"id":"010096D00E310000","region":null}]},{"id":"a59d6714-3900-4207-b175-75db4fe7ab22","directory":"gas-guzzlers-extreme","title":"Gas Guzzlers Extreme","compatibility":99,"releases":[{"id":"0100366013DA8000","region":null}]},{"id":"a5a453d0-9d35-4065-b5d2-d34d50e6bde7","directory":"a-night-at-the-races","title":"A Night at the Races","compatibility":99,"releases":[{"id":"010067A014106000","region":null}]},{"id":"a5a74019-e759-4aca-8265-92b117566e61","directory":"roguecube","title":"RogueCube","compatibility":99,"releases":[{"id":"0100C7300C0EC000","region":null}]},{"id":"a5a973ac-fd3d-4c8a-99f8-420f84a9ff1e","directory":"escaping-a-kids-room-the-adventures-of-nyanzou-kumakichi-escape-game-series","title":"Escaping a Kid's Room~The Adventures of Nyanzou&Kumakichi: Escape Game Series~","compatibility":99,"releases":[{"id":"0100168014B20000","region":null}]},{"id":"a5b338c0-30e4-48e5-a8f0-9856e33e4210","directory":"taiko-no-tatsujin-rhythmic-adventure-1","title":"Taiko no Tatsujin: Rhythmic Adventure 1","compatibility":0,"releases":[{"id":"01001BE0133F6000","region":null}]},{"id":"a5d17ab0-42cf-4da8-8987-61501619b992","directory":"crash-drive-2","title":"Crash Drive 2","compatibility":99,"releases":[{"id":"010007900FCE2000","region":null}]},{"id":"a5e734a9-3fc5-4121-8b8c-cac9c819405d","directory":"mom-hid-my-game-2","title":"Mom Hid My Game! 2","compatibility":99,"releases":[{"id":"01000C701456A000","region":null}]},{"id":"a60b5fa2-5b78-41a0-bda0-4fc366d7a077","directory":"prehistoric-dude","title":"Prehistoric Dude","compatibility":99,"releases":[{"id":"010054F01266C000","region":null}]},{"id":"a619c735-a761-44b2-965b-2f16c456ed55","directory":"fledgling-heroes","title":"Fledgling Heroes","compatibility":99,"releases":[{"id":"010087E00D5F2000","region":null}]},{"id":"a6267ea9-edef-4443-ab3e-fbe084c87c5a","directory":"explosive-dinosaurs","title":"Explosive Dinosaurs","compatibility":99,"releases":[{"id":"0100A7701298C000","region":null}]},{"id":"a62fc206-b5ac-4009-8d50-b8a82167b025","directory":"brick-bat-crazy","title":"Brick Bat Crazy","compatibility":99,"releases":[{"id":"0100FB30148EE000","region":null}]},{"id":"a639281d-9826-4f27-8d63-1633060b0c50","directory":"battle-supremacy-evolution","title":"Battle Supremacy - Evolution","compatibility":99,"releases":[{"id":"010099B00E898000","region":null}]},{"id":"a639c9d9-a994-4136-8f29-034ac056cf53","directory":"arcade-archives-ikki","title":"Arcade Archives Ikki","compatibility":99,"releases":[{"id":"01000DB00980A000","region":null}]},{"id":"a64777c2-f8b2-42bd-b8de-44ede2a4343c","directory":"lazy-galaxy-rebel-story","title":"Lazy Galaxy: Rebel Story","compatibility":99,"releases":[{"id":"010049200B536000","region":null}]},{"id":"a649f52e-843d-4082-bf56-23868f560397","directory":"dying-reborn-nintendo-switch-edition","title":"DYING: Reborn - Nintendo Switch Edition","compatibility":99,"releases":[{"id":"01008EA00C27E000","region":null}]},{"id":"a655e2c3-4656-43b1-888f-2df2adc461a4","directory":"a-street-cats-tale","title":"A Street Cat's Tale","compatibility":99,"releases":[{"id":"0100759010EC8000","region":null}]},{"id":"a6629fbd-0db7-4999-9bff-70e9d26cb78e","directory":"mummy-pinball","title":"Mummy Pinball","compatibility":99,"releases":[{"id":"010038B00B9AE000","region":null}]},{"id":"a677edff-af19-43d0-a508-2759188799d1","directory":"dotori","title":"DOTORI","compatibility":99,"releases":[{"id":"0100DBD013C92000","region":null}]},{"id":"a6796aa6-5350-48a5-902e-31e14c7ab084","directory":"geki-yaba-runner-anniversary-edition","title":"Geki Yaba Runner Anniversary Edition","compatibility":4,"releases":[{"id":"01000F000D9F0000","region":null}]},{"id":"a67bdd0a-9276-47b9-99c8-27e19f0582ae","directory":"marble-parkour","title":"Marble Parkour","compatibility":99,"releases":[{"id":"0100721014C24000","region":null}]},{"id":"a68076d5-6f39-44b5-b399-8eb160eeda9f","directory":"last-day-of-june","title":"Last Day of June","compatibility":99,"releases":[{"id":"0100DA700879C000","region":null}]},{"id":"a680a990-c5a6-424e-8e8d-39e54fd1a7c3","directory":"remothered-tormented-fathers","title":"Remothered: Tormented Fathers","compatibility":3,"releases":[{"id":"01008F600F2D0000","region":null}]},{"id":"a6858e33-ca32-4ed3-a9f2-403449264d82","directory":"infection-maze","title":"Infection Maze","compatibility":99,"releases":[{"id":"0100D7301527A000","region":null}]},{"id":"a6a07070-3a54-4a31-ae1a-7911675ab0f1","directory":"lord-of-the-click","title":"Lord of the Click","compatibility":99,"releases":[{"id":"0100706013240000","region":null}]},{"id":"a6aab4d2-3abe-424a-8812-8e44d4879816","directory":"skytime","title":"SkyTime","compatibility":99,"releases":[{"id":"0100F3C00C400000","region":null}]},{"id":"a6abd0a7-2936-4908-a3a8-339ffa1e6014","directory":"super-punch","title":"Super Punch","compatibility":99,"releases":[{"id":"01009D20136CC000","region":null}]},{"id":"a6bfed74-0bcb-4602-89f8-2973b877216a","directory":"holy-cow-milking-simulator","title":"HOLY COW! Milking Simulator","compatibility":99,"releases":[{"id":"01004500159AC000","region":null}]},{"id":"a6c27efe-e0cf-4e98-9348-21ef42da59fd","directory":"opus-the-day-we-found-earth","title":"OPUS: The Day We Found Earth","compatibility":99,"releases":[{"id":"010049C0075F0000","region":null}]},{"id":"a6c4eb03-fb3a-463e-ad76-06e79eea287e","directory":"swaps-and-traps","title":"Swaps and Traps","compatibility":99,"releases":[{"id":"0100ED500E858000","region":null}]},{"id":"a6c588cf-d7f4-401c-81ac-e94e01c37326","directory":"tiny-troopers-joint-ops-xl","title":"Tiny Troopers Joint Ops XL","compatibility":99,"releases":[{"id":"0100B52006E8C000","region":null}]},{"id":"a6c88823-875f-4da9-ba0e-027f6afd9e89","directory":"twelve-minutes","title":"Twelve Minutes","compatibility":99,"releases":[{"id":"0100CD701434C000","region":null}]},{"id":"a6d9e1b2-627a-4be1-a43e-e7eb5d56b17d","directory":"chiki-chiki-boxy-pro-wrestling","title":"Chiki-Chiki Boxy Pro Wrestling","compatibility":99,"releases":[{"id":"010056300D21A000","region":null}]},{"id":"a6dcded1-22d6-44f8-ae0c-13637d7218b4","directory":"ice-age-scrats-nutty-adventure","title":"Ice Age Scrat's Nutty Adventure!","compatibility":99,"releases":[{"id":"01004E5007E92000","region":null}]},{"id":"a6ea41fc-6cc3-48f7-8cf2-fc919d743ee9","directory":"cel-damage-hd","title":"Cel Damage HD","compatibility":99,"releases":[{"id":"010019B00BE72000","region":null}]},{"id":"a6ec9863-5cb5-4d1f-85c7-e42ea9418f37","directory":"rollercoaster-tycoon-3-complete-edition","title":"RollerCoaster Tycoon 3 Complete Edition","compatibility":1,"releases":[{"id":"01004900113F8000","region":null}]},{"id":"a6ed9cc9-0e6e-4cb4-a330-5115047c1da3","directory":"the-friends-of-ringo-ishikawa","title":"The friends of Ringo Ishikawa","compatibility":2,"releases":[{"id":"010030700CBBC000","region":null}]},{"id":"a6f6735a-aae2-414b-b6d6-35cd5eadbec9","directory":"antventor","title":"AntVentor","compatibility":99,"releases":[{"id":"0100FE1011400000","region":null}]},{"id":"a70171a8-2e34-4880-91a8-a2ed4ee4dcdb","directory":"dog","title":".dog","compatibility":99,"releases":[{"id":"01002F5016892000","region":null}]},{"id":"a712eb65-6702-4a58-8c81-f7875028b382","directory":"polandball-can-into-space","title":"Polandball: Can Into Space","compatibility":99,"releases":[{"id":"0100A3500B4EC000","region":null}]},{"id":"a7135a0b-7c48-4ee2-b557-7c5d2e5c3c9d","directory":"football-game","title":"Football Game","compatibility":1,"releases":[{"id":"010027800FECE000","region":null}]},{"id":"a71fb7f1-e428-465b-94a7-42bb780b8d87","directory":"olija","title":"Olija","compatibility":99,"releases":[{"id":"01004D501230A000","region":null}]},{"id":"a720a280-7de3-4323-8a55-90d5ed8c6300","directory":"archaica-the-path-of-light","title":"Archaica: The Path Of Light","compatibility":99,"releases":[{"id":"01003C2010C78000","region":null}]},{"id":"a720c4ab-3dcf-4a33-9c4a-47bdb2cec32d","directory":"epic-chef","title":"Epic Chef","compatibility":99,"releases":[{"id":"0100E70014562000","region":null}]},{"id":"a72c010c-efc6-4e86-bf33-3c28beb6c19b","directory":"make-the-burger","title":"Make the Burger","compatibility":99,"releases":[{"id":"01008E2016768000","region":null}]},{"id":"a745c3d9-63e3-466a-b51b-e81eb3e6d311","directory":"undernauts-labyrinth-of-yomi","title":"Undernauts: Labyrinth of Yomi","compatibility":0,"releases":[{"id":"010036D014A7E000","region":null}]},{"id":"a757060e-5c90-4dcd-b5ae-dbb146dc754a","directory":"press-a-to-party","title":"Press “A” to Party","compatibility":99,"releases":[{"id":"010059901442E000","region":null}]},{"id":"a75bec0b-cfab-4759-a4b6-d8855b895f2e","directory":"floor-kids","title":"Floor Kids","compatibility":0,"releases":[{"id":"0100DF9005E7A000","region":null}]},{"id":"a75d785d-c81e-4663-8170-087ceb47612c","directory":"seal-electric-railway","title":"Seal Electric Railway","compatibility":99,"releases":[{"id":"01005BE0136DC000","region":null}]},{"id":"a75fe323-eb94-4dd7-923e-18235a6b39b1","directory":"realpolitiks","title":"Realpolitiks","compatibility":1,"releases":[{"id":"0100C9F00BC50000","region":null}]},{"id":"a76cea99-1028-48ef-8cca-2ba53c180567","directory":"just-ignore-them","title":"Just Ignore Them","compatibility":99,"releases":[{"id":"010090C00F7BA000","region":null}]},{"id":"a76de213-4058-4f09-8997-7b605c12e281","directory":"3-little-pigs-and-bad-wolf","title":"3 Little Pigs & Bad Wolf","compatibility":2,"releases":[{"id":"0100B2700E9F4000","region":null}]},{"id":"a7702db3-7461-4132-9318-ba3cc5640c4d","directory":"bayonetta-2","title":"Bayonetta 2","compatibility":1,"releases":[{"id":"01007960049A0000","region":null}]},{"id":"a7786314-e4e9-4b2c-9454-840935f7499d","directory":"octodad-dadliest-catch","title":"Octodad: Dadliest Catch","compatibility":99,"releases":[{"id":"0100CAB006F54000","region":null}]},{"id":"a77f9035-e746-4a89-931f-d94b91bdff09","directory":"lost-lands-2-the-four-horsemen","title":"Lost Lands 2: The Four Horsemen","compatibility":99,"releases":[{"id":"0100133014510000","region":null}]},{"id":"a784d5f9-d268-4187-8690-90c223565aa6","directory":"mr-driller-drillland","title":"Mr. DRILLER DrillLand","compatibility":2,"releases":[{"id":"0100DCA011262000","region":null}]},{"id":"a78cc379-3d44-4ae5-87fc-ca41625aaa96","directory":"golf-club-wasteland","title":"Golf Club Wasteland","compatibility":0,"releases":[{"id":"010036A0150D6000","region":null}]},{"id":"a7911ea8-e0e2-4bea-8b7d-75d59065ab5b","directory":"atelier-lydie-and-suelle-~the-alchemists-and-the-mysterious-paintings~","title":"Atelier Lydie & Suelle ~The Alchemists and the Mysterious Paintings~","compatibility":4,"releases":[{"id":"010009900947A000","region":null}]},{"id":"a7935f0b-f95d-4de6-9f68-f69f817a4fb7","directory":"moorhuhn-remake","title":"Moorhuhn Remake","compatibility":3,"releases":[{"id":"010026D00AABE000","region":null}]},{"id":"a7938271-3c65-4751-83ec-2b81908bd253","directory":"cursed-castilla","title":"Cursed Castilla","compatibility":1,"releases":[{"id":"0100ED700B376000","region":null}]},{"id":"a796f576-3c6a-41fa-8446-b31af674616f","directory":"raging-loop","title":"Raging Loop","compatibility":1,"releases":[{"id":"010020400E1C2000","region":null}]},{"id":"a79a7209-6b87-4f2f-9dc7-ee0c97615849","directory":"deponia-doomsday","title":"Deponia Doomsday","compatibility":99,"releases":[{"id":"010024000C852000","region":null}]},{"id":"a7ab5082-9be2-449c-aa0f-2317422b1c60","directory":"shing","title":"Shing!","compatibility":99,"releases":[{"id":"01007C200FC64000","region":null}]},{"id":"a7ba42e3-9f9a-4ad8-baa1-2de832b71146","directory":"boxboy-boxgirl","title":"BOXBOY! + BOXGIRL!","compatibility":2,"releases":[{"id":"010018300D006000","region":null}]},{"id":"a7d59802-fced-44ee-bdda-cb3851c603ea","directory":"the-mean-greens-plastic-warfare","title":"The Mean Greens - Plastic Warfare","compatibility":99,"releases":[{"id":"01002220138AE000","region":null}]},{"id":"a7dc929f-75c6-41cb-b274-4899da9191de","directory":"heroes-of-hammerwatch-ultimate-edition","title":"Heroes of Hammerwatch - Ultimate Edition","compatibility":0,"releases":[{"id":"0100D2B00BC54000","region":null}]},{"id":"a7ec6c91-731e-4849-88e7-8b98a5aba675","directory":"creature-in-the-well","title":"Creature in the Well","compatibility":4,"releases":[{"id":"01007C600D778000","region":null}]},{"id":"a7f6a6eb-691f-447e-898a-418fcdb5d2c9","directory":"house-flipper","title":"House Flipper","compatibility":99,"releases":[{"id":"0100CAE00EB02000","region":null}]},{"id":"a7f710ae-f5ad-44dc-9a2f-f2b4328fc16d","directory":"tower-of-babel","title":"Tower Of Babel","compatibility":99,"releases":[{"id":"0100F7B00595C000","region":null}]},{"id":"a7fddd89-e45d-4cb3-a5cd-cea347eee54a","directory":"tunche","title":"Tunche","compatibility":2,"releases":[{"id":"01006F00139DA000","region":null}]},{"id":"a801a1ff-4e2a-46a4-875c-02c57ebbc2d4","directory":"paladin","title":"Paladin","compatibility":99,"releases":[{"id":"010011600BB84000","region":null}]},{"id":"a805ca73-3894-4f75-87f4-77f1d4eba065","directory":"forklift-simulator","title":"Forklift Simulator","compatibility":99,"releases":[{"id":"0100C7B016794000","region":null}]},{"id":"a81cc4de-6af1-43a0-9644-f01f958c4f36","directory":"oh-my-godheads-party-edition","title":"Oh My Godheads: Party Edition","compatibility":99,"releases":[{"id":"01003B900AE12000","region":null}]},{"id":"a823d3f1-ceed-4830-bcf8-b4fbc63bbbe2","directory":"breeder-homegrown-directors-cut","title":"Breeder Homegrown: Director's Cut","compatibility":99,"releases":[{"id":"010051A010C7C000","region":null}]},{"id":"a824663c-abc2-4f62-817a-777966fb99e6","directory":"my-universe-interior-designer","title":"My Universe - Interior Designer","compatibility":99,"releases":[{"id":"010029E01583C000","region":null}]},{"id":"a826a43b-e8f9-40a4-8000-0e13a11426de","directory":"joggernauts","title":"Joggernauts","compatibility":4,"releases":[{"id":"0100EF100BD96000","region":null}]},{"id":"a83949ab-1240-408a-8ce1-7170cbacbc8d","directory":"bridge-3","title":"Bridge! 3","compatibility":1,"releases":[{"id":"01000B1010D8E000","region":null}]},{"id":"a84a2d75-3b12-46f7-921c-28a1aee89a40","directory":"fishing-universe-simulator","title":"Fishing Universe Simulator","compatibility":99,"releases":[{"id":"010069800D292000","region":null}]},{"id":"a8651e67-aa64-47f4-9e2e-798789cb05ff","directory":"88-heroes-98-heroes-edition","title":"88 Heroes - 98 Heroes Edition","compatibility":0,"releases":[{"id":"010006A0042F0000","region":null}]},{"id":"a86c8378-088e-451f-ac0e-e0623f8e7c92","directory":"storm-boy","title":"Storm Boy","compatibility":1,"releases":[{"id":"010040D00BCF4000","region":null}]},{"id":"a86fb9ca-a2dc-4a8e-a6c5-61fe947f912d","directory":"red-colony-2","title":"Red Colony 2","compatibility":1,"releases":[{"id":"01000E50153FE000","region":null}]},{"id":"a870cff1-0bfb-4ba0-9574-de8fce170a3f","directory":"power-racing-bundle-3","title":"Power Racing Bundle 3","compatibility":99,"releases":[{"id":"01008F5013E6C000","region":null}]},{"id":"a8761d94-bf79-4b60-b8a7-ad4a63fd07d8","directory":"motogp18","title":"MotoGP18","compatibility":3,"releases":[{"id":"0100361007268000","region":null}]},{"id":"a88bb601-595a-42ee-b7dd-1915bb7b811c","directory":"double-dragon-neon","title":"Double Dragon Neon","compatibility":1,"releases":[{"id":"01005B10132B2000","region":null}]},{"id":"a88d238a-b939-4b01-8eee-69d64753398d","directory":"super-club-tennis","title":"Super Club Tennis","compatibility":99,"releases":[{"id":"010072A00B632000","region":null}]},{"id":"a895a8e3-97ee-4f40-be07-775779ea89bf","directory":"snow-battle-princess-sayuki","title":"Snow Battle Princess Sayuki","compatibility":99,"releases":[{"id":"0100ADF00CB64000","region":null}]},{"id":"a89e6495-1c54-441e-8af7-231d390e04c0","directory":"aca-neogeo-the-king-of-fighters-2003","title":"ACA NEOGEO THE KING OF FIGHTERS 2003","compatibility":5,"releases":[{"id":"0100EF100AFE6000","region":null}]},{"id":"a8b3277d-b628-43f5-8031-8ff3dc430627","directory":"swordbreaker-the-game","title":"Swordbreaker The Game","compatibility":99,"releases":[{"id":"0100A500115BC000","region":null}]},{"id":"a8c33dc5-d378-47b3-90e4-1cc77f77c327","directory":"my-magic-florist","title":"My Magic Florist","compatibility":99,"releases":[{"id":"01007A5013700000","region":null}]},{"id":"a8cb4be5-0409-430b-bd75-7fa549ef7543","directory":"crazy-strike-bowling-ex","title":"Crazy Strike Bowling EX","compatibility":2,"releases":[{"id":"01006BC00C27A000","region":null}]},{"id":"a8cb7611-5830-493d-b6c0-c8229097a7b0","directory":"bleed-2","title":"Bleed 2","compatibility":3,"releases":[{"id":"0100A48008AE8000","region":null}]},{"id":"a8cbffa7-39ef-4e5b-98e7-10686f4465f4","directory":"adverse","title":"ADVERSE","compatibility":99,"releases":[{"id":"01008C901266E000","region":null}]},{"id":"a8ce4954-559a-4915-9b1e-896ee61d892c","directory":"toem","title":"TOEM","compatibility":99,"releases":[{"id":"01005140151C2000","region":null}]},{"id":"a8d7bf57-2ffa-4050-bd21-5d52590508f3","directory":"super-mega-space-blaster-special-turbo","title":"Super Mega Space Blaster Special Turbo","compatibility":99,"releases":[{"id":"0100BDD00EC5C000","region":null}]},{"id":"a8d8d44a-7690-4011-b447-78729000d6d2","directory":"trivial-pursuit-live","title":"TRIVIAL PURSUIT Live!","compatibility":0,"releases":[{"id":"010020700A5E0000","region":null}]},{"id":"a8e0c208-cca5-4906-babc-13891680553e","directory":"aca-neogeo-cyber-lip","title":"ACA NEOGEO CYBER-LIP","compatibility":2,"releases":[{"id":"010082200AFBE000","region":null}]},{"id":"a8ee87ff-2ebe-4ba2-a144-023180ebfb4c","directory":"collar-x-malice-unlimited","title":"Collar X Malice -Unlimited-","compatibility":0,"releases":[{"id":"0100E3B00F412000","region":null}]},{"id":"a9044ea8-3dc0-47c9-aaff-db3e325e512b","directory":"arcade-archives-saint-dragon","title":"Arcade Archives SAINT DRAGON","compatibility":99,"releases":[{"id":"0100A52010192000","region":null}]},{"id":"a922623f-e580-43ed-a5f8-4e10f7feac88","directory":"mutant-mudds-collection","title":"Mutant Mudds Collection","compatibility":2,"releases":[{"id":"01004BE004A86000","region":null}]},{"id":"a9430d91-3123-4116-89a7-a8c55c2ebfee","directory":"cannibal-cuisine","title":"Cannibal Cuisine","compatibility":99,"releases":[{"id":"0100E5500C756000","region":null}]},{"id":"a956779f-b49e-410d-a3c1-c3ac3d0e4640","directory":"ys-ix-monstrum-nox","title":"Ys IX: Monstrum Nox","compatibility":4,"releases":[{"id":"0100E390124D8000","region":null}]},{"id":"a958e6df-8f77-4f39-9fd1-da86bb3f3bdd","directory":"rbi-baseball-18","title":"R.B.I. Baseball 18","compatibility":4,"releases":[{"id":"01005CC007616000","region":null}]},{"id":"a96acdee-eb74-459d-be1c-73fe6ee2a361","directory":"sorcerer-knights","title":"Sorcerer Knights","compatibility":99,"releases":[{"id":"01003F4016B18000","region":null}]},{"id":"a9734595-623e-4d82-ab7f-55f80ae4fdb9","directory":"hacky-zack","title":"Hacky Zack","compatibility":99,"releases":[{"id":"01003BA00A67E000","region":null}]},{"id":"a985f485-01ae-448d-afdf-a84abda3f747","directory":"hyper-light-drifter-special-edition","title":"Hyper Light Drifter - Special Edition","compatibility":5,"releases":[{"id":"01003B200B372000","region":null}]},{"id":"a98dc0ce-6b09-498a-9604-12526d0a12af","directory":"the-walking-vegetables-radical-edition","title":"The Walking Vegetables: Radical Edition","compatibility":99,"releases":[{"id":"0100E7D00C17A000","region":null}]},{"id":"a98e3f70-0622-4e29-9bfe-986d5673867a","directory":"galaxy-shooter","title":"Galaxy Shooter","compatibility":99,"releases":[{"id":"01008100169AC000","region":null}]},{"id":"a9985436-0b01-4f45-81b5-38e3e750a22f","directory":"refunct","title":"Refunct","compatibility":0,"releases":[{"id":"01007A800D520000","region":null}]},{"id":"a99be1c5-1ed5-4e7c-90d6-c22047eec2be","directory":"arcade-archives-mappy","title":"Arcade Archives MAPPY","compatibility":99,"releases":[{"id":"0100C5D015AD0000","region":null}]},{"id":"a9a34876-afc7-4c0f-894a-bd41a664d59f","directory":"grimshade","title":"Grimshade","compatibility":99,"releases":[{"id":"01001E200F2F8000","region":null}]},{"id":"a9b6f094-09eb-4768-9d37-2ed8a6c57ca6","directory":"pupaipo-space-deluxe","title":"PuPaiPo Space Deluxe","compatibility":99,"releases":[{"id":"01007BE00FE5E000","region":null}]},{"id":"a9cf454d-2774-473a-8042-2b352f8388e5","directory":"time-recoil","title":"Time Recoil","compatibility":99,"releases":[{"id":"0100F770045CA000","region":null}]},{"id":"a9d12316-f303-4fcf-8c59-59795b03a0ce","directory":"reflex-unit-2","title":"Reflex Unit 2","compatibility":99,"releases":[{"id":"010014901201E000","region":null}]},{"id":"a9f1b93c-4f9f-4997-8647-91ba4b51106d","directory":"defense-grid-2","title":"Defense Grid 2","compatibility":99,"releases":[{"id":"010061300BBF8000","region":null}]},{"id":"aa0174d7-dc8d-46ed-9ec0-d32f3facc9a6","directory":"icey","title":"ICEY","compatibility":1,"releases":[{"id":"0100BE9007E7E000","region":null}]},{"id":"aa0a13c8-e5e2-4e04-bc35-1461ba82fbab","directory":"indie-gems-bundle-jrpg-edition","title":"Indie Gems Bundle - JRPG Edition","compatibility":99,"releases":[{"id":"0100A95010942000","region":null}]},{"id":"aa1be8e5-ced1-4fab-bc71-fd28ba8cda5d","directory":"fantasy-friends-under-the-sea","title":"Fantasy Friends: Under the Sea","compatibility":99,"releases":[{"id":"0100DAA0153C0000","region":null}]},{"id":"aa1d6494-b173-4d54-ac0e-4a033099aa91","directory":"kirakira-stars-idol-project-ai","title":"Kirakira stars idol project Ai","compatibility":99,"releases":[{"id":"01008C0014C10000","region":null}]},{"id":"aa1f8b4a-c4a6-46e1-bf1b-59c3e1630108","directory":"urban-trial-playground","title":"Urban Trial Playground","compatibility":1,"releases":[{"id":"01001B10068EC000","region":null}]},{"id":"aa2c75b9-4a33-4268-8c72-c1dc38fc41ea","directory":"hexxagon-board-game","title":"Hexxagon - Board Game","compatibility":99,"releases":[{"id":"0100369012840000","region":null}]},{"id":"aa3447cb-9c87-4c72-961d-7e05f36b800e","directory":"mario-and-sonic-at-the-olympic-games-tokyo-2020","title":"Mario & Sonic at the Olympic Games Tokyo 2020","compatibility":1,"releases":[{"id":"010003000E146000","region":null}]},{"id":"aa4b2b40-aa46-4bd0-aa41-cf870e290cd7","directory":"bit-trip-runner","title":"BIT.TRIP RUNNER","compatibility":3,"releases":[{"id":"0100E62012D3C000","region":null}]},{"id":"aa509f2e-3e87-4bee-be16-ba6820e4c78c","directory":"the-bluecoats-north-south","title":"The Bluecoats North & South","compatibility":1,"releases":[{"id":"0100A5A00B2AA000","region":null}]},{"id":"aa6ffec6-2536-43af-aaaa-405673f81040","directory":"arcade-archives-time-pilot","title":"Arcade Archives TIME PILOT","compatibility":4,"releases":[{"id":"0100AF300D2E8000","region":null}]},{"id":"aa81de21-30e8-4dce-b079-55d2a5cf0087","directory":"semblance","title":"Semblance","compatibility":0,"releases":[{"id":"010080F0099FC000","region":null}]},{"id":"aa8b1094-607f-4274-bc8a-a00f71a4eeaa","directory":"red-square-escape","title":"Red Square Escape","compatibility":99,"releases":[{"id":"010052B015B74000","region":null}]},{"id":"aa8c764c-1086-432d-928d-527ce0c9ceee","directory":"you-died-but-a-necromancer-revived-you","title":"You Died but a Necromancer revived you","compatibility":99,"releases":[{"id":"0100F6700DBD8000","region":null}]},{"id":"aa9573c4-e9dc-48d3-9e05-fc1bb17e8fd5","directory":"energy-cycle-edge","title":"Energy Cycle Edge","compatibility":99,"releases":[{"id":"0100B8700BD14000","region":null}]},{"id":"aa95e5dd-9bb3-4289-9cc1-d9970d0941d5","directory":"beast-breaker","title":"Beast Breaker","compatibility":99,"releases":[{"id":"010042401436C000","region":null}]},{"id":"aaa51ee8-e6bc-41fe-8349-775ce77ddfe6","directory":"dragons-lair-trilogy","title":"Dragon's Lair Trilogy","compatibility":1,"releases":[{"id":"010027100C544000","region":null}]},{"id":"aaa6042e-9504-49e2-a26e-07839e365bdf","directory":"flynn-son-of-crimson","title":"Flynn: Son of Crimson","compatibility":5,"releases":[{"id":"01005F2014B80000","region":null}]},{"id":"aab2ee71-cfa7-4e2b-b2bf-f7f92a2459e7","directory":"alba-a-wildlife-adventure","title":"Alba: A Wildlife Adventure","compatibility":2,"releases":[{"id":"01007FB013B10000","region":null}]},{"id":"aac19174-b9ed-465d-b07b-f1fb4a21ecf3","directory":"cozy-grove","title":"Cozy Grove","compatibility":0,"releases":[{"id":"01003370136EA000","region":null}]},{"id":"aac3f3fa-aace-43ca-8e57-8d6561733cb5","directory":"glass-masquerade-2-illusions","title":"Glass Masquerade 2: Illusions","compatibility":99,"releases":[{"id":"0100EE300FC36000","region":null}]},{"id":"aac560b8-1134-4ef7-9bb7-71bcb2d5e2f7","directory":"mittelborg-city-of-mages","title":"Mittelborg: City of Mages","compatibility":99,"releases":[{"id":"0100F65011E52000","region":null}]},{"id":"aad666e0-4915-43be-87d0-9efd9d0a4500","directory":"zero-zero-zero-zero","title":"Zero Zero Zero Zero","compatibility":99,"releases":[{"id":"010010500390C000","region":null}]},{"id":"aadb3cce-0a79-4d31-9426-acb8f73cea88","directory":"button-button-up","title":"Button Button Up!","compatibility":1,"releases":[{"id":"010011000E31A000","region":null}]},{"id":"aadc1ccd-5549-45b8-a933-1f87ccf548cd","directory":"buildings-have-feelings-too","title":"Buildings Have Feelings Too!","compatibility":99,"releases":[{"id":"0100C0B00D290000","region":null}]},{"id":"aadcd132-04c2-4ea4-a035-c8947b59df3e","directory":"wurroom","title":"Wurroom","compatibility":99,"releases":[{"id":"01003B401148E000","region":null}]},{"id":"aae7c1df-f96f-4e8c-878b-016a2c57145c","directory":"sephirothic-stories","title":"Sephirothic Stories","compatibility":1,"releases":[{"id":"010059700D4A0000","region":null}]},{"id":"aae8c545-406b-402b-939a-939037e7ad8e","directory":"yooka-laylee","title":"Yooka-Laylee","compatibility":0,"releases":[{"id":"0100F110029C8000","region":null}]},{"id":"aaf1aed1-54ea-428d-b637-460810c1900a","directory":"dark-devotion","title":"Dark Devotion","compatibility":3,"releases":[{"id":"010083A00BF6C000","region":null}]},{"id":"aaf91fd1-7093-4361-8097-6fde02abacf1","directory":"radiation-island","title":"Radiation Island","compatibility":5,"releases":[{"id":"01009E40095EE000","region":null}]},{"id":"aafc1c12-115e-453d-a7fa-ecdd1fe8a298","directory":"pixel-art-bundle-vol-1","title":"Pixel Art Bundle Vol. 1","compatibility":99,"releases":[{"id":"0100B3201140C000","region":null}]},{"id":"ab003f2d-356f-48ab-b21c-2d5e798551db","directory":"avicii-invector","title":"AVICII Invector","compatibility":0,"releases":[{"id":"010064600F982000","region":null}]},{"id":"ab131a88-09fc-4172-a35f-64a3b5d3d8ce","directory":"mermaid-castle","title":"Mermaid Castle","compatibility":0,"releases":[{"id":"0100B5901230C000","region":null}]},{"id":"ab160326-7fc4-4105-9da5-6c7260ebd2f5","directory":"retro-fighter-dragons-revenge","title":"Retro Fighter - Dragon's Revenge","compatibility":99,"releases":[{"id":"0100F4101443C000","region":null}]},{"id":"ab17030d-b327-44e3-bc6b-39b0b8d5fca1","directory":"clannad","title":"CLANNAD","compatibility":1,"releases":[{"id":"0100A3A00CC7E000","region":null}]},{"id":"ab18e9cb-be87-496b-b4d1-98add531e9b5","directory":"splat-the-fruit","title":"Splat the Fruit","compatibility":99,"releases":[{"id":"01004C800A79C000","region":null}]},{"id":"ab1e389e-a697-4798-ba9e-a4b1cde35d15","directory":"battojutsu","title":"BATTOJUTSU","compatibility":99,"releases":[{"id":"01006EE00E67C000","region":null}]},{"id":"ab21649e-9d4f-4d6c-b9ec-d38d497c8e4b","directory":"bridge-builder-adventure","title":"Bridge Builder Adventure","compatibility":99,"releases":[{"id":"01001BD010758000","region":null}]},{"id":"ab246c63-9da0-4d12-b6ff-f725f62cbdb2","directory":"aqua-lungers","title":"Aqua Lungers","compatibility":99,"releases":[{"id":"0100FE0010886000","region":null}]},{"id":"ab2557b6-497c-43a6-8b17-02f4d1cc26c1","directory":"hunting-simulator-2","title":"Hunting Simulator 2","compatibility":3,"releases":[{"id":"010061F010C3A000","region":null}]},{"id":"ab335dd1-9abd-4ec1-a5b7-47b36b8a155f","directory":"lovecrafts-untold-stories","title":"Lovecraft´s Untold Stories","compatibility":1,"releases":[{"id":"010041100CE7E000","region":null}]},{"id":"ab3e1780-5c04-46d9-a388-9980b0292aae","directory":"devil-may-cry-2","title":"Devil May Cry 2","compatibility":0,"releases":[{"id":"01007CF00D5BA000","region":null}]},{"id":"ab4125c4-9006-4f30-91ca-041b4fd497a9","directory":"unmetal","title":"UnMetal","compatibility":0,"releases":[{"id":"01008F4014A74000","region":null}]},{"id":"ab520008-acd7-43d4-b935-4a75af70d16c","directory":"color-dots-connect","title":"Color Dots Connect","compatibility":99,"releases":[{"id":"01004F7015382000","region":null}]},{"id":"ab55d09e-5376-459f-9f71-89e198d4a402","directory":"aerial_knights-never-yield","title":"Aerial_Knight's Never Yield","compatibility":1,"releases":[{"id":"0100E9B013D4A000","region":null}]},{"id":"ab586efc-0bed-429e-83a0-1a16e3fb2fec","directory":"anarcute","title":"Anarcute","compatibility":99,"releases":[{"id":"010050900E1C6000","region":null}]},{"id":"ab5da151-4dbe-476a-b062-5ca269b0862f","directory":"monster-truck-championship","title":"Monster Truck Championship","compatibility":99,"releases":[{"id":"0100D30010C42000","region":null}]},{"id":"ab610baa-199e-469f-88c0-b98b02635d5f","directory":"mahjong-deluxe-3","title":"Mahjong Deluxe 3","compatibility":99,"releases":[{"id":"0100E0300B13C000","region":null}]},{"id":"ab662694-b43e-46a5-a9a2-731cc2818889","directory":"doom-destiny-advanced","title":"Doom & Destiny Advanced","compatibility":0,"releases":[{"id":"01003B800E164000","region":null}]},{"id":"ab6a046e-d86f-4cf5-a1d4-47f9d5cc1344","directory":"super-arcade-soccer-2021","title":"Super Arcade Soccer 2021","compatibility":99,"releases":[{"id":"010081F00F75C000","region":null}]},{"id":"ab6dcc4c-aa67-4217-8e16-56d5cc20aec3","directory":"black-the-fall","title":"Black The Fall","compatibility":3,"releases":[{"id":"0100502007F54000","region":null}]},{"id":"ab6e3d08-d59d-4f25-8acd-7db2f27ce190","directory":"mathland","title":"MathLand","compatibility":99,"releases":[{"id":"01004B100A1C4000","region":null}]},{"id":"ab6f14a1-7c0a-47f3-ba27-348c4619eb76","directory":"world-soccer-strikers-91","title":"World Soccer Strikers '91","compatibility":99,"releases":[{"id":"010032B013896000","region":null}]},{"id":"ab8a717c-234d-403e-8cc5-9996ec0bc057","directory":"freecell-solitaire-deluxe","title":"Freecell Solitaire Deluxe","compatibility":99,"releases":[{"id":"0100C4300EEEE000","region":null}]},{"id":"ab8ead75-87f5-4b3b-810e-bc9e5cfb6a12","directory":"into-the-dead-2","title":"Into the Dead 2","compatibility":99,"releases":[{"id":"01000F700DECE000","region":null}]},{"id":"ab9c824c-c6c9-463a-880e-0f03855046a5","directory":"haunted-halloween-86","title":"HAUNTED: Halloween '86","compatibility":1,"releases":[{"id":"010085500F6B6000","region":null}]},{"id":"ab9cc8d5-a540-45b0-a76f-529d990b340d","directory":"smashing-the-battle","title":"SMASHING THE BATTLE","compatibility":0,"releases":[{"id":"01002AA00C974000","region":null}]},{"id":"aba63f9f-2204-4285-a6a8-084d6646a4aa","directory":"persona-r-5-strikers","title":"Persona® 5 Strikers","compatibility":0,"releases":[{"id":"0100801011C3E000","region":null}]},{"id":"aba6d40d-9fcb-43fd-be08-1bdb91383395","directory":"funny-bunny-adventures","title":"Funny Bunny Adventures","compatibility":99,"releases":[{"id":"0100EA501033C000","region":null}]},{"id":"abaa9a73-a44e-4ad2-802b-35dc720eeb2f","directory":"typoman","title":"Typoman","compatibility":2,"releases":[{"id":"0100A250093DE000","region":null}]},{"id":"abb51823-38b4-4d48-8ca2-f61c47476ee7","directory":"mazezam-puzzle-game","title":"MazezaM - Puzzle Game","compatibility":99,"releases":[{"id":"0100EEB0122BA000","region":null}]},{"id":"abc42d50-46f1-43de-a31b-f353d133c071","directory":"doki-doki-literature-club-plus","title":"Doki Doki Literature Club Plus!","compatibility":0,"releases":[{"id":"010086901543E000","region":null}]},{"id":"abc73770-4031-4590-884a-4789269497eb","directory":"desktop-volleyball","title":"Desktop Volleyball","compatibility":99,"releases":[{"id":"01001240126F2000","region":null}]},{"id":"abcf946f-275d-4952-8f24-f4635fb7ae47","directory":"doodle-devil-3volution","title":"Doodle Devil: 3volution","compatibility":99,"releases":[{"id":"0100996012D7A000","region":null}]},{"id":"abd277be-06f2-4728-b5de-64ecc5bda901","directory":"arcade-archives-cybattler","title":"Arcade Archives CYBATTLER","compatibility":99,"releases":[{"id":"0100AF5013F00000","region":null}]},{"id":"abd290e3-44ac-461e-bc6a-93e6903164e4","directory":"gnomes-garden","title":"Gnomes Garden","compatibility":99,"releases":[{"id":"01004D300BF98000","region":null}]},{"id":"abd86039-11d3-4efb-b0da-0c1f5fdc0cb9","directory":"the-walking-dead-the-complete-first-season","title":"The Walking Dead: The Complete First Season","compatibility":4,"releases":[{"id":"010029200B6AA000","region":null}]},{"id":"abe29986-a326-4b47-9f29-5e03e9f658fe","directory":"kill-la-kill-if","title":"KILL la KILL -IF","compatibility":4,"releases":[{"id":"0100FB400D832000","region":null}]},{"id":"abf8b2cb-8d10-4a1e-a2ab-896e98aeafe5","directory":"tens","title":"TENS!","compatibility":99,"releases":[{"id":"01009C4012336000","region":null}]},{"id":"abf97fc9-ce1d-4ede-ac7d-c1c49efb065d","directory":"octopath-traveler-prologue-demo-version","title":"Octopath Traveler - Prologue Demo Version","compatibility":3,"releases":[{"id":"010096000B3EA000","region":null}]},{"id":"abfb63bf-5718-4ed0-b4a5-044d49e50118","directory":"squidlit","title":"Squidlit","compatibility":1,"releases":[{"id":"0100FCD0102EC000","region":null}]},{"id":"ac13842b-8fe6-4b14-8df4-f433d33e88fa","directory":"brunch-club","title":"Brunch Club","compatibility":99,"releases":[{"id":"0100B2700E90E000","region":null}]},{"id":"ac15408d-a462-407e-9057-a88c4e0f830d","directory":"avocuddle","title":"AvoCuddle","compatibility":99,"releases":[{"id":"01008FB011248000","region":null}]},{"id":"ac181238-b7a4-40ec-adf7-00ed30bc9525","directory":"final-fantasy-r-crystal-chronicles-remastered-edition","title":"FINAL FANTASY® CRYSTAL CHRONICLES™ Remastered Edition","compatibility":1,"releases":[{"id":"0100CE4010AAC000","region":null}]},{"id":"ac27ed3f-4dc2-4391-bf09-4a2402fca704","directory":"just-a-phrase-by-powgi","title":"Just a Phrase by POWGI","compatibility":99,"releases":[{"id":"010045100F722000","region":null}]},{"id":"ac2fdfb3-0fe7-43b8-a589-a84ed54ece13","directory":"back-to-bed","title":"Back to Bed","compatibility":99,"releases":[{"id":"0100F4100AF16000","region":null}]},{"id":"ac308ffd-059d-4dd1-8172-4c2ff77de743","directory":"resident-evil-revelations-2","title":"Resident Evil Revelations 2","compatibility":2,"releases":[{"id":"010095300212A000","region":null}]},{"id":"ac3eb988-bd07-4daf-a9c8-4dfbfe57da7e","directory":"history-2048","title":"History 2048","compatibility":99,"releases":[{"id":"0100B1E00D234000","region":null}]},{"id":"ac6c767f-0082-4bfb-9b00-344ab488045a","directory":"part-time-ufo","title":"Part Time UFO™","compatibility":1,"releases":[{"id":"01006B5012B32000","region":null}]},{"id":"ac73a532-43a1-4a19-969f-7f97bf7d308b","directory":"heavens-vault","title":"Heaven's Vault","compatibility":99,"releases":[{"id":"0100FD901000C000","region":null}]},{"id":"ac78e67c-d424-4262-875d-15970d6802af","directory":"grindstone","title":"Grindstone","compatibility":0,"releases":[{"id":"0100538012496000","region":null}]},{"id":"ac80ed20-23ab-4900-bac6-48c7f4eb05ad","directory":"tactics-v-obsidian-brigade","title":"Tactics V: \"Obsidian Brigade\"","compatibility":99,"releases":[{"id":"01007C7006AEE000","region":null}]},{"id":"ac8c8dbb-a270-4f48-8d7d-6d41d3ed32d0","directory":"dragon-quest-builders","title":"Dragon Quest Builders","compatibility":4,"releases":[{"id":"010008900705C000","region":null}]},{"id":"ac9c2b68-dd33-4d42-938e-4e0e835a288f","directory":"escape-trick-35-fateful-enigmas","title":"ESCAPE TRICK: 35 Fateful Enigmas","compatibility":99,"releases":[{"id":"010087F005DFE000","region":null}]},{"id":"aca2a9ff-973a-4809-8597-beacc16e29b6","directory":"a-hero-and-a-garden","title":"A HERO AND A GARDEN","compatibility":99,"releases":[{"id":"01009E1011EC4000","region":null}]},{"id":"aca4d02d-9524-4098-8c1e-d4f6d9f0653d","directory":"piczle-cells","title":"Piczle Cells","compatibility":99,"releases":[{"id":"0100458015054000","region":null}]},{"id":"acc669d9-4ec1-4089-ae3b-861b67e647ee","directory":"pipe-push-paradise","title":"Pipe Push Paradise","compatibility":99,"releases":[{"id":"0100F7B00B864000","region":null}]},{"id":"acc8dc4c-3fc8-4bc0-bbfd-09bee2587c22","directory":"magequit","title":"MageQuit","compatibility":99,"releases":[{"id":"0100F9C012142000","region":null}]},{"id":"accfa48c-c6cd-4963-a379-e02d66f80394","directory":"perfect-traffic-simulator","title":"Perfect Traffic Simulator","compatibility":99,"releases":[{"id":"0100144011030000","region":null}]},{"id":"acd60203-4423-4433-ae45-a13ba2fe03dd","directory":"freecell-battle-king","title":"FREECELL BATTLE KING","compatibility":99,"releases":[{"id":"0100E6100CCE6000","region":null}]},{"id":"acd9fdd4-ff7f-4c50-94d0-16891a5227c7","directory":"0-degrees","title":"0 Degrees","compatibility":99,"releases":[{"id":"010011A0147CA000","region":null}]},{"id":"acdecd76-24ce-4ccb-aad4-bcba66be4a84","directory":"hamster-bob","title":"Hamster Bob","compatibility":99,"releases":[{"id":"01007A2011284000","region":null}]},{"id":"acea06c1-f390-4f7e-85c5-b8a7b572bc78","directory":"scandal-in-the-spotlight","title":"Scandal In The Spotlight","compatibility":3,"releases":[{"id":"01009B6013180000","region":null}]},{"id":"aced43b2-44d8-4a0d-9b97-32ed3b094d4b","directory":"carto","title":"Carto","compatibility":0,"releases":[{"id":"0100810012A1A000","region":null}]},{"id":"acf4ad06-8359-4a1d-99fb-08f93bd06c05","directory":"raining-coins","title":"Raining Coins","compatibility":99,"releases":[{"id":"010091B00B762000","region":null}]},{"id":"ad0cc941-1f48-43a0-9d29-f85263635975","directory":"chaos-code-new-sign-of-catastrophe","title":"CHAOS CODE -NEW SIGN OF CATASTROPHE-","compatibility":3,"releases":[{"id":"01007600115CE000","region":null}]},{"id":"ad153cae-adc5-4848-acd9-5b294b5f226d","directory":"dauntless","title":"Dauntless","compatibility":99,"releases":[{"id":"0100B9500D1B0000","region":null}]},{"id":"ad1eda00-e11c-4322-baf7-19d4bf11ee23","directory":"mordheim-warband-skirmish","title":"Mordheim: Warband Skirmish","compatibility":99,"releases":[{"id":"010071B009FB6000","region":null}]},{"id":"ad24ef6d-d919-41c1-a925-dbbb04786751","directory":"sallys-law","title":"Sally's Law","compatibility":99,"releases":[{"id":"01007BB00A0A0000","region":null}]},{"id":"ad31e055-5f74-423e-9fe2-033e9dd89337","directory":"toki-tori-2-nintendo-switch-edition","title":"Toki Tori 2+: Nintendo Switch Edition","compatibility":2,"releases":[{"id":"0100A2B008696000","region":null}]},{"id":"ad36c413-ff4b-4e90-bf4f-f3d3ca31cb65","directory":"a-gliders-journey","title":"A Glider's Journey","compatibility":99,"releases":[{"id":"01006C00110F2000","region":null}]},{"id":"ad43568f-03b8-4a6e-8fa4-08fd8239f19c","directory":"madness-beverage","title":"Madness Beverage","compatibility":99,"releases":[{"id":"01002AD016DE0000","region":null}]},{"id":"ad49b266-b270-4d78-8544-170b2c61a215","directory":"construction-machines-simulator","title":"Construction Machines Simulator","compatibility":1,"releases":[{"id":"01004BA00B566000","region":null}]},{"id":"ad5efcfe-8782-4a3f-9389-5f494613e7a5","directory":"i-and-me-demo","title":"I and Me Demo","compatibility":99,"releases":[{"id":"010007B009314000","region":null}]},{"id":"ad6bf61a-02aa-40cd-a62f-86713aaea8a5","directory":"sudoku-relax-2-summer-waves","title":"Sudoku Relax 2 Summer Waves","compatibility":99,"releases":[{"id":"01009C600F02C000","region":null}]},{"id":"ad6e23f8-f9fb-47b9-b2c7-c954aa603505","directory":"aca-neogeo-the-king-of-fighters-94","title":"ACA NEOGEO THE KING OF FIGHTERS '94","compatibility":4,"releases":[{"id":"0100EB2001DCC000","region":null}]},{"id":"ad7ed8bf-b4f2-4181-891e-6fbb5dd6866f","directory":"arcade-archives-10-yard-fight","title":"Arcade Archives 10-Yard Fight","compatibility":1,"releases":[{"id":"0100BE80097FA000","region":null}]},{"id":"ad82525f-edf9-411c-a41d-a117d33de904","directory":"splash-blast-panic","title":"Splash Blast Panic","compatibility":99,"releases":[{"id":"01006F900AB7E000","region":null}]},{"id":"ad85ab58-2322-4afb-8c65-c7f10e1ab4b8","directory":"unbox-newbies-adventure","title":"UNBOX: Newbie's Adventure","compatibility":1,"releases":[{"id":"0100592005164000","region":null}]},{"id":"ad9250cc-7b9a-4143-96a3-c81f6637272d","directory":"picross-lord-of-the-nazarick","title":"PICROSS LORD OF THE NAZARICK","compatibility":1,"releases":[{"id":"010012100E8DC000","region":null}]},{"id":"ad92cc85-8c0f-47a1-875b-35d524ebaf36","directory":"fantasy-tower-defense","title":"Fantasy Tower Defense","compatibility":99,"releases":[{"id":"01007AA012E02000","region":null}]},{"id":"ad956b3c-398e-416d-a7eb-4b762d933d60","directory":"portal-knights","title":"Portal Knights","compatibility":2,"releases":[{"id":"0100437004170000","region":null}]},{"id":"ad977171-3e80-427a-bf51-6376045eca10","directory":"moonfall-ultimate","title":"Moonfall Ultimate","compatibility":99,"releases":[{"id":"0100C2E00B494000","region":null}]},{"id":"ada08717-d034-46d5-8551-f0901655f92d","directory":"f-117a-stealth-fighter","title":"F-117A Stealth Fighter","compatibility":99,"releases":[{"id":"0100E720115CC000","region":null}]},{"id":"ada9413a-ff65-4120-b959-61cd9d9d8bda","directory":"steam-prison","title":"Steam Prison","compatibility":0,"releases":[{"id":"01008010118CC000","region":null}]},{"id":"ada9cefa-4fef-4286-a6a3-bdb02405c3f1","directory":"task-force-kampas","title":"Task Force Kampas","compatibility":99,"releases":[{"id":"01002D4011208000","region":null}]},{"id":"adaccabb-6e6f-4ce4-abe9-2a734231ffd7","directory":"planet-quiz-learn-discover","title":"Planet Quiz: Learn & Discover","compatibility":99,"releases":[{"id":"010057C015C3A000","region":null}]},{"id":"adb1fadc-43ef-4f3b-892f-fa1587c1b3b7","directory":"iron-wings","title":"Iron Wings","compatibility":99,"releases":[{"id":"01005270118D6000","region":null}]},{"id":"adb298c7-4f63-4224-b17d-130c26ea8190","directory":"112th-seed","title":"112th Seed","compatibility":99,"releases":[{"id":"010051E012302000","region":null}]},{"id":"adb4f501-4401-486c-81d8-8e415eb83c8c","directory":"sea-king","title":"Sea King","compatibility":99,"releases":[{"id":"0100E4A00D066000","region":null}]},{"id":"adb9b511-685d-457a-9871-af74cff7f302","directory":"zen-bound-2","title":"Zen Bound 2","compatibility":99,"releases":[{"id":"01001AF008BDA000","region":null}]},{"id":"adbc9dbe-f6ce-4be3-aa9e-09d985c15d00","directory":"angry-bunnies-colossal-carrot-crusade","title":"Angry Bunnies: Colossal Carrot Crusade","compatibility":99,"releases":[{"id":"0100F3500D05E000","region":null}]},{"id":"adbf3566-ef31-47ee-ae87-5788ca7fbc76","directory":"reigns-kings-and-queens","title":"Reigns: Kings & Queens","compatibility":99,"releases":[{"id":"0100CCE00A4F2000","region":null}]},{"id":"adc311b2-0a44-4543-8d85-4dfc5b8b5b7a","directory":"the-videokid","title":"The VideoKid","compatibility":99,"releases":[{"id":"0100D0500B0A6000","region":null}]},{"id":"adc352e1-f796-4a82-af4b-9316411e070b","directory":"evil-defenders","title":"Evil Defenders","compatibility":99,"releases":[{"id":"010080600B53E000","region":null}]},{"id":"adc5026b-46a7-49c1-b46a-154613e7e961","directory":"carcassonne","title":"Carcassonne","compatibility":1,"releases":[{"id":"0100C9200A9C2000","region":null}]},{"id":"adc552d3-dbb9-49f2-84d0-ff4339a7c04a","directory":"ecrossminton","title":"eCrossminton","compatibility":99,"releases":[{"id":"0100E0A0110F4000","region":null}]},{"id":"add2f26a-d809-4779-b57f-45e95a66b07e","directory":"bombfall","title":"BombFall","compatibility":99,"releases":[{"id":"0100FCA00C8D0000","region":null}]},{"id":"add41152-c751-4fa7-80bc-da613e66ce02","directory":"super-weekend-mode","title":"Super Weekend Mode","compatibility":99,"releases":[{"id":"01003D700D564000","region":null}]},{"id":"adde0ba3-bcfd-4d7c-960b-1d69abad0efb","directory":"ekstase","title":"Ekstase","compatibility":99,"releases":[{"id":"01004F10143E4000","region":null}]},{"id":"adf36bf6-214e-4b5e-9d10-8765ce77e05a","directory":"bakery-master","title":"Bakery Master","compatibility":99,"releases":[{"id":"0100BA50144DE000","region":null}]},{"id":"adf52087-60bc-4ba3-b7a6-a06729191c25","directory":"the-jackbox-party-pack-2","title":"The Jackbox Party Pack 2","compatibility":99,"releases":[{"id":"010015D003EE4000","region":null}]},{"id":"adf5f9f4-1cc6-4e90-b4dc-24bc4de1e5ae","directory":"trails-and-traces-the-tomb-of-thomas-tew","title":"Trails and Traces: The Tomb of Thomas Tew","compatibility":99,"releases":[{"id":"01008D4014102000","region":null}]},{"id":"adf69feb-3ba6-461c-afe2-9e86cd5c0c3a","directory":"palindrome-syndrome-escape-room","title":"Palindrome Syndrome: Escape Room","compatibility":99,"releases":[{"id":"0100CE30142D6000","region":null}]},{"id":"adfca367-8f4a-4512-a557-dd78930006d7","directory":"mistover","title":"MISTOVER","compatibility":99,"releases":[{"id":"010034E00EFD0000","region":null}]},{"id":"ae0f342d-8ff5-4b96-853e-f2d798226f85","directory":"clouds-and-sheep-2","title":"Clouds & Sheep 2","compatibility":99,"releases":[{"id":"010079700B4EA000","region":null}]},{"id":"ae150b50-e631-4d45-b20f-99688b7ee937","directory":"cake-bash","title":"Cake Bash","compatibility":2,"releases":[{"id":"010014A0115BE000","region":null}]},{"id":"ae1bff77-7192-4ac0-9b3b-77f7db8182f6","directory":"educational-games-for-kids","title":"Educational Games for Kids","compatibility":99,"releases":[{"id":"0100599013216000","region":null}]},{"id":"ae1fd4f2-0b42-4285-86e5-89223de1d6c8","directory":"healers-quest","title":"Healer's Quest","compatibility":99,"releases":[{"id":"0100613013150000","region":null}]},{"id":"ae3d8cb5-1e25-4556-806f-ea3e199f0439","directory":"knight-with-tactics","title":"Knight with Tactics","compatibility":99,"releases":[{"id":"0100DEB013C76000","region":null}]},{"id":"ae784153-04d2-4d50-8827-050ca68c87f6","directory":"eldrador-r-creatures","title":"Eldrador® Creatures","compatibility":1,"releases":[{"id":"010068F012880000","region":null}]},{"id":"ae88572e-c325-4678-98a6-f978088895ec","directory":"aliens-strike","title":"Aliens Strike","compatibility":99,"releases":[{"id":"01000E5016EF6000","region":null}]},{"id":"ae88fa22-8c86-4c5a-b002-6979cf8bcecb","directory":"access-denied","title":"Access Denied","compatibility":5,"releases":[{"id":"0100A9900CB5C000","region":null}]},{"id":"ae93f9e3-7815-4bb3-a0c5-b91fcb9e74c4","directory":"funghi-explosion","title":"Funghi Explosion","compatibility":99,"releases":[{"id":"0100E7B00BF24000","region":null}]},{"id":"ae95c431-c897-4637-a224-b5ae3e256896","directory":"angry-alligator","title":"Angry Alligator","compatibility":99,"releases":[{"id":"0100A78012A76000","region":null}]},{"id":"aea190d1-23d3-4917-9620-babead9fa063","directory":"amazing-breaker","title":"Amazing Breaker","compatibility":99,"releases":[{"id":"0100BE70163C8000","region":null}]},{"id":"aeab5d29-db69-48fe-8d30-8f561e98dec6","directory":"detective-case-and-clown-bot-in-murder-in-the-hotel-lisbon","title":"Detective Case and Clown Bot in: Murder in The Hotel Lisbon","compatibility":99,"releases":[{"id":"0100AB700AF14000","region":null}]},{"id":"aeabb7b1-9db7-46a0-86bf-cc1319e3772f","directory":"grand-guilds","title":"Grand Guilds","compatibility":99,"releases":[{"id":"010038100D436000","region":null}]},{"id":"aeac0953-0651-4651-8b12-283f87523300","directory":"mutant-football-league-dynasty-edition","title":"Mutant Football League: Dynasty Edition","compatibility":4,"releases":[{"id":"0100C3E00ACAA000","region":null}]},{"id":"aebfcc1a-24c2-4555-a7fa-9f4901725bdc","directory":"jurassic-excite","title":"Jurassic Excite","compatibility":99,"releases":[{"id":"010043F010412000","region":null}]},{"id":"aec1abf6-2785-4191-8cdc-c39b4f02e1fb","directory":"super-one-more-jump","title":"Super One More Jump","compatibility":0,"releases":[{"id":"0100284007D6C000","region":null}]},{"id":"aecca06c-81bd-41e3-9d33-d9df6f8c20e2","directory":"bayonetta","title":"Bayonetta","compatibility":0,"releases":[{"id":"010076F0049A2000","region":null}]},{"id":"aece254e-3fb9-462a-9df5-2c7350008a44","directory":"1912-titanic-mystery","title":"1912: Titanic Mystery","compatibility":0,"releases":[{"id":"0100750014426000","region":null}]},{"id":"aed005c2-e0c4-43ec-9809-1a0f8170b942","directory":"lovekami-divinity-stage","title":"Lovekami -Divinity Stage-","compatibility":99,"releases":[{"id":"01004A4013318000","region":null}]},{"id":"aedb5256-3d19-4748-8ddd-c57d9f73f25d","directory":"runbow","title":"Runbow","compatibility":0,"releases":[{"id":"0100ADF00700E000","region":null}]},{"id":"aedf9a65-4e74-4f13-b6f9-acb70584d242","directory":"red-hot-ricochet","title":"Red Hot Ricochet","compatibility":99,"releases":[{"id":"0100C7600AF00000","region":null}]},{"id":"aef3d6ce-a659-413b-a8da-e56649cb9b99","directory":"tokyo-mirage-sessions-fe-encore","title":"Tokyo Mirage Sessions #FE Encore","compatibility":0,"releases":[{"id":"0100A9400C9C2000","region":null}]},{"id":"af0610ba-0132-4f6b-b773-6a4417b1a954","directory":"corpse-party-blood-drive","title":"Corpse Party: Blood Drive","compatibility":0,"releases":[{"id":"010016400B1FE000","region":null}]},{"id":"af0829bd-4239-4155-b919-a903a6330dff","directory":"escape-from-chernobyl","title":"Escape from Chernobyl","compatibility":99,"releases":[{"id":"0100FEF00F0AA000","region":null}]},{"id":"af09aa56-d65f-482d-ab28-230a7e9d8550","directory":"not-a-hero-super-snazzy-edition","title":"NOT A HERO: SUPER SNAZZY EDITION","compatibility":99,"releases":[{"id":"0100CB800B07E000","region":null}]},{"id":"af0ed3c4-ad2a-4afe-b8b9-ea012ed35bc8","directory":"battle-calculator","title":"Battle Calculator","compatibility":99,"releases":[{"id":"01007F7015B3A000","region":null}]},{"id":"af260b43-2e1d-4748-b497-77a71ecb8622","directory":"tiny-metal-full-metal-rumble","title":"TINY METAL: FULL METAL RUMBLE","compatibility":1,"releases":[{"id":"0100B1600DB3A000","region":null}]},{"id":"af50a11f-9fc1-4cb3-bae9-577f3898b8e0","directory":"fear-effect-sedna","title":"Fear Effect Sedna","compatibility":4,"releases":[{"id":"01005AC0068F6000","region":null}]},{"id":"af5b14fa-913d-4d9d-b4ad-5e80371de065","directory":"shred-2-freeride-mountainbiking","title":"Shred! 2 - Freeride Mountainbiking","compatibility":3,"releases":[{"id":"01003DD00BF0E000","region":null}]},{"id":"af5e22dc-30cd-46a9-9066-c987dbbc0ee3","directory":"naruto-ultimate-ninja-storm","title":"NARUTO: Ultimate Ninja STORM","compatibility":4,"releases":[{"id":"0100715007354000","region":null}]},{"id":"af6301cf-b031-47a2-be71-c600477af9d9","directory":"anima-gate-of-memories-the-nameless-chronicles","title":"Anima: Gate of Memories - The Nameless Chronicles","compatibility":1,"releases":[{"id":"01007A400B3F8000","region":null}]},{"id":"af6e2502-da5a-4f8c-8495-ce1b67147344","directory":"fatum-betula","title":"Fatum Betula","compatibility":99,"releases":[{"id":"0100E82013ED6000","region":null}]},{"id":"af6e3450-ecf1-4c4c-9228-a0bbc8e83434","directory":"theofil","title":"Theofil","compatibility":99,"releases":[{"id":"0100A0C01547A000","region":null}]},{"id":"af76b32f-8e7e-4359-81f2-21073bcd55df","directory":"red-game-without-a-great-name","title":"Red Game Without a Great Name","compatibility":99,"releases":[{"id":"01002290070E4000","region":null}]},{"id":"af788a0c-3308-4296-913d-3634395bc605","directory":"superepic-the-entertainment-war","title":"SuperEpic: The Entertainment War","compatibility":99,"releases":[{"id":"0100630010252000","region":null}]},{"id":"af7acf48-7a1c-488f-b66f-a71918443356","directory":"h-i-c-h","title":"H.I.C.H.","compatibility":99,"releases":[{"id":"010087C01606E000","region":null}]},{"id":"af7e2b7d-0a74-450e-9d3b-e3d6ec316a5a","directory":"bastion","title":"Bastion","compatibility":3,"releases":[{"id":"010038600B27E000","region":null}]},{"id":"af8264a8-99a0-44ad-a5aa-f49cc33b8518","directory":"jetsnguns-2","title":"Jets'n'Guns 2","compatibility":0,"releases":[{"id":"01000BF012920000","region":null}]},{"id":"af87b34e-7415-4dfd-a49e-5c6938e661f6","directory":"atelier-ryza-2-lost-legends-the-secret-fairy","title":"Atelier Ryza 2: Lost Legends & the Secret Fairy","compatibility":4,"releases":[{"id":"01009A9012022000","region":null}]},{"id":"af87ede1-6068-4134-8174-df004d6d841b","directory":"retro-space-fighter","title":"Retro Space Fighter","compatibility":99,"releases":[{"id":"01001FE0133FA000","region":null}]},{"id":"af951749-4069-4f15-ae94-73258d555370","directory":"out-of-line","title":"Out of Line","compatibility":99,"releases":[{"id":"0100E7601535E000","region":null}]},{"id":"af9d75ab-6dd8-4a6e-bcaa-fc9e60e02f82","directory":"arcade-archives-clu-clu-land","title":"Arcade Archives CLU CLU LAND","compatibility":4,"releases":[{"id":"0100EDC00E35A000","region":null}]},{"id":"afa74c40-4e83-4ca1-b5ba-cdb3750a4d8c","directory":"cat-girl-without-salad-amuse-bouche","title":"Cat Girl Without Salad: Amuse-Bouche","compatibility":2,"releases":[{"id":"010076000C86E000","region":null}]},{"id":"afafd99d-2749-4e7e-b0bb-e381f6b0b6ba","directory":"blackwind","title":"Blackwind","compatibility":99,"releases":[{"id":"0100262011494000","region":null}]},{"id":"afb43f5d-7d6d-488a-a031-a1bf5867f204","directory":"tanky-tanks","title":"Tanky Tanks","compatibility":99,"releases":[{"id":"01000D4011D10000","region":null}]},{"id":"afbc8814-10ac-4204-bf2c-586e53cfeb86","directory":"dungeon-bricker","title":"Dungeon Bricker","compatibility":1,"releases":[{"id":"010058E015B10000","region":null}]},{"id":"afdaa445-19df-4771-b9fa-c9194055d205","directory":"undead-horde","title":"Undead Horde","compatibility":99,"releases":[{"id":"01009B700D0B8000","region":null}]},{"id":"afdb5ab0-c8e5-4b5b-8f77-5758a096fba2","directory":"livestream-escape-from-hotel-izanami","title":"Livestream: Escape from Hotel Izanami","compatibility":0,"releases":[{"id":"0100E45014338000","region":null}]},{"id":"afe80d72-7373-4fb1-a1cc-be139421b581","directory":"picross-s2","title":"PICROSS S2","compatibility":2,"releases":[{"id":"0100C9600A88E000","region":null}]},{"id":"afe9b6f7-d48e-41e9-9dfb-f0357a91f8ec","directory":"unexplored","title":"UnExplored","compatibility":99,"releases":[{"id":"01007820096FC000","region":null}]},{"id":"aff1a15f-340f-43bc-b33f-8faf26319401","directory":"rooms-the-adventure-of-anne-and-george","title":"Rooms: The Adventure of Anne & George","compatibility":99,"releases":[{"id":"01001F100B586000","region":null}]},{"id":"aff622e0-b2aa-4629-8662-5d692b567641","directory":"tunnel-of-doom","title":"Tunnel of Doom","compatibility":99,"releases":[{"id":"01000CE01428C000","region":null}]},{"id":"aff67641-60f3-4b89-901b-1498e62939bb","directory":"duck-life-battle","title":"Duck Life: Battle","compatibility":99,"releases":[{"id":"010015C00E73C000","region":null}]},{"id":"b0064a27-8e32-42dd-bec6-bb174844cc5e","directory":"banner-of-the-maid","title":"Banner of the Maid","compatibility":1,"releases":[{"id":"010013C010C5C000","region":null}]},{"id":"b00c1378-b82c-4610-bbad-f4e2ac13df5c","directory":"towertale","title":"Towertale","compatibility":2,"releases":[{"id":"0100F6200F77E000","region":null}]},{"id":"b01f89a8-09b1-4e83-a120-d1f3f7c57ec7","directory":"revertia","title":"Revertia","compatibility":99,"releases":[{"id":"01005F300C1A8000","region":null}]},{"id":"b023e43b-fbce-4958-b36b-8978a7d1e789","directory":"dreamwalker","title":"Dreamwalker","compatibility":99,"releases":[{"id":"0100A7D00C694000","region":null}]},{"id":"b026b16b-adac-463d-8d91-c117b4adbb4a","directory":"madorica-real-estate","title":"Madorica Real Estate","compatibility":0,"releases":[{"id":"010099700BF10000","region":null}]},{"id":"b0338f72-1b2c-44e1-b6b1-1367a1764331","directory":"mercenary-kings-reloaded-edition","title":"Mercenary Kings: Reloaded Edition","compatibility":1,"releases":[{"id":"0100F900046C4000","region":null}]},{"id":"b033c88d-8873-4ec7-a441-ad334b73acee","directory":"phoenix-wright-ace-attorney-trilogy","title":"Phoenix Wright: Ace Attorney Trilogy","compatibility":1,"releases":[{"id":"0100CB000A142000","region":null}]},{"id":"b041b51c-5b04-4b55-af42-46ef5c8306a9","directory":"regency-solitaire","title":"Regency Solitaire","compatibility":99,"releases":[{"id":"0100BFB00D6E4000","region":null}]},{"id":"b047c920-cb5b-44ed-a243-02a04e82e229","directory":"star-story-the-horizon-escape","title":"Star Story: The Horizon Escape","compatibility":99,"releases":[{"id":"0100D7000AE6A000","region":null}]},{"id":"b04fdac4-0244-4e79-8b69-4c40fa83bc1a","directory":"frost","title":"Frost","compatibility":2,"releases":[{"id":"0100B5300B49A000","region":null}]},{"id":"b0533e27-572b-4b5a-b8a9-2aa4a7c2deda","directory":"outbreak-the-new-nightmare","title":"Outbreak: The New Nightmare","compatibility":99,"releases":[{"id":"0100B450130FC000","region":null}]},{"id":"b05bc235-4b15-4533-a3dd-0da2fd3b16c4","directory":"double-dragon-ii-the-revenge","title":"DOUBLE DRAGON Ⅱ: The Revenge","compatibility":0,"releases":[{"id":"0100DD900E498000","region":null}]},{"id":"b06d6b88-c2c1-4906-8855-ba9c6451bc46","directory":"bloons-td-5","title":"Bloons TD 5","compatibility":1,"releases":[{"id":"0100B8400A1C6000","region":null}]},{"id":"b07f1e9b-beb2-462c-a60f-99338f8f705a","directory":"hyper-sentinel","title":"Hyper Sentinel","compatibility":99,"releases":[{"id":"0100692003FCE000","region":null}]},{"id":"b0872603-c9c0-4610-a9c0-05c0ea2a1934","directory":"grisaia-phantom-trigger-01-02","title":"GRISAIA PHANTOM TRIGGER 01&02","compatibility":3,"releases":[{"id":"01009D7011B02000","region":null}]},{"id":"b0902cc9-4415-4126-bc8c-a7769f56ea91","directory":"northgard","title":"Northgard","compatibility":3,"releases":[{"id":"0100A9E00D97A000","region":null}]},{"id":"b0aa0d1c-dd75-4d39-80a5-7462541f7d29","directory":"port-royale-4","title":"Port Royale 4","compatibility":99,"releases":[{"id":"01007EF013CA0000","region":null}]},{"id":"b0b11e1f-f86c-4d7c-ba1c-2a5422e59e9c","directory":"fateextella-the-umbral-star","title":"Fate/EXTELLA: The Umbral Star","compatibility":1,"releases":[{"id":"010053E002EA2000","region":null}]},{"id":"b0b9655d-7a75-41c9-aca1-568e1a9d77f3","directory":"the-mysterious-case-of-dr-jekyll-and-mr-hyde","title":"The Mysterious Case of Dr.Jekyll and Mr.Hyde","compatibility":99,"releases":[{"id":"0100A4A014AF4000","region":null}]},{"id":"b0bd9d40-1a6a-4878-a558-3b1bc460d0d6","directory":"crypto-is-dead","title":"Crypto Is Dead","compatibility":99,"releases":[{"id":"010040A015C04000","region":null}]},{"id":"b0c089d3-9315-436b-8c2f-e7a779d96a51","directory":"yumeutsutsu-re-after","title":"Yumeutsutsu Re:After","compatibility":99,"releases":[{"id":"0100B56011502000","region":null}]},{"id":"b0ebc7e6-286e-4f66-94c6-bdc8bf7eac5e","directory":"gunbird2-for-nintendo-switch","title":"GUNBIRD2 for Nintendo Switch","compatibility":4,"releases":[{"id":"0100BCB00AE98000","region":null}]},{"id":"b0fc6fac-6c27-47cd-bf61-f40d99f0616c","directory":"space-marshals-2","title":"Space Marshals 2","compatibility":99,"releases":[{"id":"0100BDA014578000","region":null}]},{"id":"b10199a4-3019-48c9-8c25-cae8201753c8","directory":"dusk-82","title":"DUSK '82","compatibility":99,"releases":[{"id":"01002FB016784000","region":null}]},{"id":"b104da84-7e5b-4bce-99db-8d475a035b49","directory":"klaus","title":"-KLAUS-","compatibility":99,"releases":[{"id":"010099F00EF3E000","region":null}]},{"id":"b10a9ea2-5006-4789-aed3-848ca45feb31","directory":"timber-tennis-versus","title":"Timber Tennis: Versus","compatibility":99,"releases":[{"id":"010074500699A000","region":null}]},{"id":"b10b1f53-84af-41a2-8308-6aaf9827321d","directory":"demon-pit","title":"Demon Pit","compatibility":99,"releases":[{"id":"010084600F51C000","region":null}]},{"id":"b10d59bd-cc75-420e-8704-cd9cc6b756a0","directory":"super-holobunnies-pause-cafe","title":"Super Holobunnies: Pause Café","compatibility":99,"releases":[{"id":"0100B6900D776000","region":null}]},{"id":"b117fa91-3b3c-4294-8eb5-b2417386306e","directory":"abyss-the-wraiths-of-eden","title":"Abyss: The Wraiths of Eden","compatibility":99,"releases":[{"id":"010036F013A40000","region":null}]},{"id":"b11ccb63-c85e-497c-a9e2-a56c347e69cd","directory":"my-bewitching-perfume","title":"My Bewitching Perfume","compatibility":2,"releases":[{"id":"01002EC011DA6000","region":null}]},{"id":"b11d645b-4494-479e-a9a3-5b2e220bf147","directory":"mercenaries-wings-the-false-phoenix","title":"Mercenaries Wings: The False Phoenix","compatibility":99,"releases":[{"id":"010094500C216000","region":null}]},{"id":"b13960fd-49fc-4f40-948f-774ee90068bf","directory":"blackjack-hands","title":"Blackjack Hands","compatibility":99,"releases":[{"id":"010043A012A32000","region":null}]},{"id":"b147aeda-458b-404a-b4be-dbb2ed6916fc","directory":"murder-diaries-3-santas-trail-of-blood","title":"Murder Diaries 3 - Santa's Trail of Blood","compatibility":99,"releases":[{"id":"01001FE016B58000","region":null}]},{"id":"b150c5cb-2f58-444d-9b07-f558bf72defe","directory":"welcome-to-hanwell","title":"Welcome to Hanwell","compatibility":2,"releases":[{"id":"010096000EEBA000","region":null}]},{"id":"b165fb97-dbc9-4952-863c-4b80ecfe5415","directory":"this-is-the-police-2","title":"This is the Police 2","compatibility":2,"releases":[{"id":"01004C100A04C000","region":null}]},{"id":"b16da9c4-c772-4d09-bd14-f42bbc6c05bf","directory":"secret-files-sam-peters","title":"Secret Files Sam Peters","compatibility":99,"releases":[{"id":"01002B300ECA2000","region":null}]},{"id":"b188328d-ca1d-4e6f-9b8a-a1411d79d2da","directory":"aer-memories-of-old","title":"AER Memories of Old","compatibility":2,"releases":[{"id":"0100A0400DDE0000","region":null}]},{"id":"b1a1dd92-e828-4954-aa27-31847ccbb851","directory":"dont-knock-twice","title":"Don't Knock Twice","compatibility":1,"releases":[{"id":"0100E470067A8000","region":null}]},{"id":"b1a37445-1994-4f6e-bd27-e68fd5a8584d","directory":"ascendance","title":"ASCENDANCE","compatibility":99,"releases":[{"id":"0100C9F00AAEE000","region":null}]},{"id":"b1abb55e-5ffd-490f-a6fc-9bbe43f49867","directory":"mystic-pillars-a-story-based-puzzle-game","title":"Mystic Pillars: A Story-Based Puzzle Game","compatibility":99,"releases":[{"id":"0100B72010F86000","region":null}]},{"id":"b1c1f366-15e8-4ac7-8733-bc830038bfec","directory":"super-blackjack-battle-2-turbo-edition-the-card-warriors","title":"Super Blackjack Battle 2 Turbo Edition - The Card Warriors","compatibility":99,"releases":[{"id":"010093800A98C000","region":null}]},{"id":"b1c5d00a-fb53-4110-a693-eefdf94bc4c5","directory":"chrono-clash-fantasy-tactics","title":"CHRONO CLASH: Fantasy Tactics","compatibility":2,"releases":[{"id":"0100EA600B85E000","region":null}]},{"id":"b1d0d010-b638-4897-8b1e-d9887d0b5c5a","directory":"snk-gals-fighters","title":"SNK GALS' FIGHTERS","compatibility":0,"releases":[{"id":"01007EE011116000","region":null}]},{"id":"b1e2f692-ca68-4f8c-b446-172cbb06e0b7","directory":"the-last-friend","title":"The Last Friend","compatibility":99,"releases":[{"id":"010007901467A000","region":null}]},{"id":"b1ed2910-a991-45a4-b350-42705bf65b90","directory":"hive-jump","title":"Hive Jump","compatibility":99,"releases":[{"id":"01001B000CAF0000","region":null}]},{"id":"b1f76055-51b0-4f64-b72c-808dec531ee9","directory":"stardash","title":"Stardash","compatibility":99,"releases":[{"id":"01002100137BA000","region":null}]},{"id":"b1f7681f-41ec-4dd0-adb4-fb9e676243fe","directory":"star-crossed-myth-the-department-of-punishments-","title":"Star-Crossed Myth - The Department of Punishments -","compatibility":4,"releases":[{"id":"01008AF00EA12000","region":null}]},{"id":"b2075ca3-8cf0-41a0-abf8-35dcf945b302","directory":"gunlord-x","title":"Gunlord X","compatibility":0,"releases":[{"id":"0100EC200BFF8000","region":null}]},{"id":"b20b601c-744f-4f40-a94a-bf6e3d0d61d3","directory":"12-labours-of-hercules-iii-girl-power","title":"12 Labours of Hercules III: Girl Power","compatibility":99,"releases":[{"id":"0100613013814000","region":null}]},{"id":"b22858dd-820b-4d8a-bb48-db617bedcacf","directory":"gallic-wars-battle-simulator","title":"Gallic Wars: Battle Simulator","compatibility":99,"releases":[{"id":"0100804014922000","region":null}]},{"id":"b22d8190-5535-4607-997b-1fda9119bd64","directory":"final-sword","title":"FINAL SWORD","compatibility":99,"releases":[{"id":"01001900112B2000","region":null}]},{"id":"b231018f-767d-495c-b110-ecd58fa1b855","directory":"atelier-rorona-~the-alchemist-of-arland~-dx","title":"Atelier Rorona ~The Alchemist of Arland~ DX","compatibility":2,"releases":[{"id":"010088600C66E000","region":null}]},{"id":"b23be6e9-2315-4ffe-ba3d-947d7c147c7f","directory":"magazine-mogul","title":"Magazine Mogul","compatibility":99,"releases":[{"id":"01004A200E722000","region":null}]},{"id":"b241cbc3-673b-474f-b00e-da2c963795f1","directory":"grandmaster-sudoku","title":"Grandmaster Sudoku","compatibility":99,"releases":[{"id":"0100A720148A0000","region":null}]},{"id":"b24ba3a8-dd3a-49dc-a529-26024828df96","directory":"assault-android-cactus","title":"Assault Android Cactus+","compatibility":1,"releases":[{"id":"0100DF200B24C000","region":null}]},{"id":"b24d429c-f96a-407b-a202-16502cd1844d","directory":"wanna-survive","title":"Wanna Survive","compatibility":99,"releases":[{"id":"0100D67013910000","region":null}]},{"id":"b253f00b-971c-485e-99e1-7d4b15578feb","directory":"white-night","title":"White Night","compatibility":99,"releases":[{"id":"0100D99009734000","region":null}]},{"id":"b25a049c-9973-40ca-9165-2bba6365e7f6","directory":"kickerinho-world","title":"Kickerinho World","compatibility":99,"releases":[{"id":"0100C52013C3C000","region":null}]},{"id":"b25e80f1-ba5a-434b-b76b-84b064da50d2","directory":"wrestling-empire","title":"Wrestling Empire","compatibility":3,"releases":[{"id":"0100F2B013CA4000","region":null}]},{"id":"b263fe4d-7731-4cfb-a50c-4de0edb457a7","directory":"a-pretty-odd-bunny","title":"A Pretty Odd Bunny","compatibility":3,"releases":[{"id":"010046D01431C000","region":null}]},{"id":"b26bbfd9-2633-44af-baea-5db2ffed8456","directory":"mini-metro","title":"Mini Metro","compatibility":0,"releases":[{"id":"0100091008272000","region":null}]},{"id":"b2743a7f-d575-43e0-944b-d1e21c074cb6","directory":"lamentum","title":"Lamentum","compatibility":1,"releases":[{"id":"0100EC901551C000","region":null}]},{"id":"b27677c7-53cb-4c4f-ab4c-3366b030c93a","directory":"checkers","title":"Checkers","compatibility":99,"releases":[{"id":"01001B80124E4000","region":null}]},{"id":"b276afd4-3719-411e-93dd-657b6a3d40f6","directory":"star-hunter-dx","title":"Star Hunter DX","compatibility":0,"releases":[{"id":"01009170152E8000","region":null}]},{"id":"b2791d63-12f8-4199-9529-aee1ffb56a27","directory":"the-messenger","title":"The Messenger","compatibility":0,"releases":[{"id":"0100DC300AC78000","region":null}]},{"id":"b279a9e6-16cc-4b29-8a3e-e78cc5a4e769","directory":"the-pinball-arcade","title":"The Pinball Arcade","compatibility":99,"releases":[{"id":"0100CD300880E000","region":null}]},{"id":"b27e9b5a-74fd-41ee-bde5-1d083a31f9bc","directory":"arcade-archives-usaaf-mustang","title":"Arcade Archives USAAF MUSTANG","compatibility":1,"releases":[{"id":"0100B3D0156D4000","region":null}]},{"id":"b28ffff3-a37f-40b8-ad70-dde28624ce61","directory":"digimon-story-cyber-sleuth-complete-edition","title":"Digimon Story Cyber Sleuth: Complete Edition","compatibility":4,"releases":[{"id":"010014E00DB56000","region":null}]},{"id":"b2a6a4c8-fbdf-466a-927c-c64197b327a7","directory":"operation-hardcore","title":"Operation Hardcore","compatibility":99,"releases":[{"id":"010039C00A45C000","region":null}]},{"id":"b2a6a820-4355-49fa-a0b9-4defd57e67b4","directory":"suguru-nature","title":"Suguru Nature","compatibility":99,"releases":[{"id":"0100BF9012AC6000","region":null}]},{"id":"b2ad7821-2f72-425e-8c3a-a847d5654d3e","directory":"my-brother-rabbit","title":"My Brother Rabbit","compatibility":99,"releases":[{"id":"01006BE00B3C8000","region":null}]},{"id":"b2b7592a-377b-4843-b3d6-6d93563c12e0","directory":"arcade-archives-magmax","title":"Arcade Archives MAGMAX","compatibility":99,"releases":[{"id":"0100F9400982A000","region":null}]},{"id":"b2b9551c-44d8-4c5e-a9cb-caacc3434d50","directory":"dull-grey","title":"Dull Grey","compatibility":99,"releases":[{"id":"010068D0141F2000","region":null}]},{"id":"b2c57706-c929-4350-836f-f00f72ed4d8d","directory":"biped","title":"Biped","compatibility":0,"releases":[{"id":"010053B0117F8000","region":null}]},{"id":"b2db226b-2df9-43c3-97b9-c6c2b4de000a","directory":"gerty","title":"Gerty","compatibility":99,"releases":[{"id":"010024C01242E000","region":null}]},{"id":"b2de3c5f-9c04-41ac-8428-89c192d3f9f0","directory":"bonds-of-the-skies","title":"Bonds of the Skies","compatibility":5,"releases":[{"id":"01009AA00D49E000","region":null}]},{"id":"b3009e2d-30fc-42cf-83f0-1b555c53ede0","directory":"pilot-sports","title":"Pilot Sports","compatibility":99,"releases":[{"id":"01007A500B0B2000","region":null}]},{"id":"b3015032-52aa-4252-9c82-578569e9be7c","directory":"hyperparasite","title":"HyperParasite","compatibility":3,"releases":[{"id":"010061400ED90000","region":null}]},{"id":"b30d3751-01cd-401b-bdbd-c733c3e0eb89","directory":"tangle-tower","title":"Tangle Tower","compatibility":0,"releases":[{"id":"0100F7600F3B8000","region":null}]},{"id":"b32305e0-988c-4559-a6d8-7786bdc443e7","directory":"shovel-knight-treasure-trove","title":"Shovel Knight: Treasure Trove","compatibility":1,"releases":[{"id":"010057D0021E8000","region":null}]},{"id":"b3271834-b1cb-4f82-9f5a-a0617d9dc9f1","directory":"guns-gore-and-cannoli","title":"Guns, Gore and Cannoli","compatibility":2,"releases":[{"id":"0100934003BCC000","region":null}]},{"id":"b3286e43-da5e-4d6d-b5e3-aff5df5e6840","directory":"milkchoco","title":"MilkChoco","compatibility":99,"releases":[{"id":"010056D00B0F4000","region":null}]},{"id":"b3313a5e-372d-44bf-8924-f1609c2d2b11","directory":"arcade-archives-vandyke","title":"Arcade Archives VANDYKE","compatibility":99,"releases":[{"id":"01004CE0156D0000","region":null}]},{"id":"b33c5a11-95fe-407b-ab33-68ddb3d87822","directory":"sea-of-solitude-the-directors-cut","title":"Sea of Solitude: The Director's Cut","compatibility":3,"releases":[{"id":"0100AFE012BA2000","region":null}]},{"id":"b33c929a-a435-4213-bbfa-d982a665b78e","directory":"do-not-feed-the-monkeys","title":"Do Not Feed the Monkeys","compatibility":99,"releases":[{"id":"0100FE400EBBC000","region":null}]},{"id":"b34410a2-5fe3-4c1c-a8ee-7cb4f1429985","directory":"farm-mechanic-simulator","title":"Farm Mechanic Simulator","compatibility":99,"releases":[{"id":"01005C70122E0000","region":null}]},{"id":"b348094a-f823-4079-96d0-4f56b8a2227f","directory":"transcripted","title":"Transcripted","compatibility":99,"releases":[{"id":"010009F004E66000","region":null}]},{"id":"b34cb5ca-8bd3-42d5-96e9-7a7348ba95f2","directory":"five-dates","title":"Five Dates","compatibility":99,"releases":[{"id":"0100C7E0134BE000","region":null}]},{"id":"b3554996-4575-4db0-b916-b5d0973e7fc2","directory":"red-faction-guerrilla-re-mars-tered","title":"Red Faction Guerrilla Re-Mars-tered","compatibility":99,"releases":[{"id":"010075000C608000","region":null}]},{"id":"b359f810-9a6c-4c3d-8248-d958971fe3be","directory":"sniper-time-the-shooting-range","title":"Sniper Time: The Shooting Range","compatibility":99,"releases":[{"id":"01009BD0144EE000","region":null}]},{"id":"b35b6543-2f69-45a5-ad60-1c62137b3395","directory":"tumbleseed","title":"TumbleSeed","compatibility":1,"releases":[{"id":"01004B1001D22000","region":null}]},{"id":"b3628a18-69a9-4663-82a7-afebc3140f13","directory":"battleground","title":"Battleground","compatibility":99,"releases":[{"id":"0100650010DD4000","region":null}]},{"id":"b36aa837-9e9e-446e-95e6-47cbbf97dd90","directory":"jump-rope-challenge","title":"Jump Rope Challenge","compatibility":0,"releases":[{"id":"0100B9C012706000","region":null}]},{"id":"b399dcf2-e309-4afb-b12f-f56d3799fa75","directory":"pony-world-3","title":"Pony World 3","compatibility":99,"releases":[{"id":"0100345014C54000","region":null}]},{"id":"b39ce5ce-4e40-4247-8106-ebf46debba9c","directory":"into-the-breach","title":"Into the Breach","compatibility":2,"releases":[{"id":"010057D00B612000","region":null}]},{"id":"b3a08da3-651f-4b62-8d26-7d895a550404","directory":"monopoly-for-nintendo-switch-demo","title":"Monopoly for Nintendo Switch - Demo","compatibility":99,"releases":[{"id":"010095B00AA38000","region":null}]},{"id":"b3a27c87-dfff-47f8-acc1-fb35bfbad9bf","directory":"timothy-vs-the-aliens","title":"Timothy vs the Aliens","compatibility":99,"releases":[{"id":"0100A01011898000","region":null}]},{"id":"b3a699c5-fa26-43ab-b81c-cdf5524b8647","directory":"anshi","title":"AnShi","compatibility":99,"releases":[{"id":"01000FD00DF78000","region":null}]},{"id":"b3b0ba42-011f-4627-afcc-9442a25ad5fb","directory":"skypeace","title":"SKYPEACE","compatibility":99,"releases":[{"id":"010021A00ABEE000","region":null}]},{"id":"b3b59b8e-0f79-4a3d-a065-54c2d4755acf","directory":"deaths-gambit-afterlife","title":"Death's Gambit: Afterlife","compatibility":99,"releases":[{"id":"01006A0015812000","region":null}]},{"id":"b3b8ee07-c058-459c-a1dc-0b289f9c7c59","directory":"danmaku-unlimited-3","title":"Danmaku Unlimited 3","compatibility":3,"releases":[{"id":"0100417007F78000","region":null}]},{"id":"b3c80064-aff8-411b-a3a4-677e48a3be4e","directory":"splatoon-2-special-demo","title":"Splatoon™ 2 Special Demo","compatibility":99,"releases":[{"id":"01006BB00D45A000","region":null}]},{"id":"b3d0a8dd-21e6-4705-b9a3-780dc2c1e7d5","directory":"riddled-corpses-ex-demo","title":"Riddled Corpses EX Demo","compatibility":99,"releases":[{"id":"010001F00D9B8000","region":null}]},{"id":"b3d4ba16-df5b-44a9-ab33-b457b9fb51c9","directory":"agatha-christie-hercule-poirot-the-first-cases","title":"Agatha Christie - Hercule Poirot: The First Cases","compatibility":0,"releases":[{"id":"010000F012936000","region":null}]},{"id":"b3d90bfc-9e1b-45ff-8e1c-9c14d3eacd86","directory":"explosionade-dx","title":"Explosionade DX","compatibility":99,"releases":[{"id":"0100410012112000","region":null}]},{"id":"b3dc80de-f6cd-48db-a808-1d2a9af2afe9","directory":"fight-of-animals","title":"Fight of Animals","compatibility":0,"releases":[{"id":"010047E010B3E000","region":null}]},{"id":"b3df7897-9374-4fe7-8b35-c241c1d1a919","directory":"stardew-valley","title":"Stardew Valley","compatibility":2,"releases":[{"id":"0100E65002BB8000","region":null}]},{"id":"b3f060ca-35a6-40a7-b46b-8732815dc2e4","directory":"shephy","title":"Shephy","compatibility":99,"releases":[{"id":"010040B003E5E000","region":null}]},{"id":"b3f35b63-c982-47ba-9f1a-b7fbe07e1080","directory":"darts-up","title":"Darts Up","compatibility":2,"releases":[{"id":"0100BA500B660000","region":null}]},{"id":"b403c0c8-a53a-42ca-aa08-3fcb3a93dc39","directory":"real-time-battle-shogi-online","title":"Real Time Battle Shogi Online","compatibility":99,"releases":[{"id":"0100C9D00F264000","region":null}]},{"id":"b404edae-df0b-4e96-96a3-14852783f2d0","directory":"aca-neogeo-3-count-bout","title":"ACA NEOGEO 3 COUNT BOUT","compatibility":99,"releases":[{"id":"0100FC000AFC6000","region":null}]},{"id":"b404f8e4-6d7c-453e-bb8f-2fcbadef7be6","directory":"black-hole-demo","title":"Black Hole Demo","compatibility":99,"releases":[{"id":"01004BE00A682000","region":null}]},{"id":"b41a963e-a148-4bb2-b1d5-29fb65c6e17c","directory":"rento-fortune","title":"Rento Fortune","compatibility":99,"releases":[{"id":"01008EE00B22C000","region":null}]},{"id":"b41f061c-054e-4fb0-b30c-d42c8e678aad","directory":"back-in-1995","title":"Back in 1995","compatibility":4,"releases":[{"id":"010044F00BB80000","region":null}]},{"id":"b420372b-07bb-4abd-b191-58b5705dcb22","directory":"futoshiki-math","title":"Futoshiki Math","compatibility":99,"releases":[{"id":"0100C1A012AE0000","region":null}]},{"id":"b421a38e-b933-40d9-9050-457662ba23dc","directory":"bendy-and-the-ink-machine","title":"Bendy and the Ink Machine","compatibility":0,"releases":[{"id":"010074500BBC4000","region":null}]},{"id":"b42a9d36-d62d-4955-8e0f-67133fa64b50","directory":"ponpu","title":"Ponpu","compatibility":4,"releases":[{"id":"010096B01179A000","region":null}]},{"id":"b42d6858-f00b-4e6c-a09d-7f47ee92eafb","directory":"cow-catcher","title":"Cow Catcher","compatibility":99,"releases":[{"id":"01003E00151AE000","region":null}]},{"id":"b43aaec5-997c-4dd3-940e-a499bfaa8745","directory":"secret-files-tunguska","title":"Secret Files: Tunguska","compatibility":99,"releases":[{"id":"01006C800C4A6000","region":null}]},{"id":"b4414d26-cf88-4eb0-b777-44abb68af4a1","directory":"colorful-colore","title":"Colorful Colore","compatibility":99,"releases":[{"id":"0100F6D013CDC000","region":null}]},{"id":"b4515ad0-d34f-4aa4-b0ed-add4235010da","directory":"bossgard","title":"BOSSGARD","compatibility":99,"releases":[{"id":"010076F00EBE4000","region":null}]},{"id":"b4537a76-07e7-4979-87b9-ee7b10cd16e6","directory":"shikaku-shapes","title":"Shikaku Shapes","compatibility":99,"releases":[{"id":"010007D012AD0000","region":null}]},{"id":"b4563cc7-8a56-4a98-90f2-aed36c2c6c55","directory":"red-crow-mysteries-legion","title":"Red Crow Mysteries: Legion","compatibility":99,"releases":[{"id":"01006CB0124D0000","region":null}]},{"id":"b460b798-8ad2-4f4e-80c0-b7aabdbb0aa6","directory":"my-time-at-portia","title":"My Time at Portia","compatibility":3,"releases":[{"id":"0100E25008E68000","region":null}]},{"id":"b476ae29-3ebd-4d0e-854c-6d14e79bae71","directory":"mercenaries-saga-chronicles","title":"Mercenaries Saga Chronicles","compatibility":0,"releases":[{"id":"0100273008FBC000","region":null}]},{"id":"b4975f11-fc3e-4959-80be-5a28cf724a65","directory":"10-second-run-returns","title":"10 Second Run RETURNS","compatibility":4,"releases":[{"id":"01004D1007926000","region":null}]},{"id":"b4980de7-fb38-43ff-b5ed-1437cbb8b454","directory":"super-hoops","title":"Super Hoops","compatibility":99,"releases":[{"id":"01004D6015950000","region":null}]},{"id":"b4a87f58-ba07-4f92-982d-7c7258781313","directory":"blaze-and-the-monster-machines-axle-city-racers","title":"Blaze and the Monster Machines: Axle City Racers","compatibility":1,"releases":[{"id":"010096601362C000","region":null}]},{"id":"b4ad0890-8ebe-48eb-abd8-8d366c1fa27e","directory":"sakura-succubus-3","title":"Sakura Succubus 3","compatibility":99,"releases":[{"id":"0100FC10150E0000","region":null}]},{"id":"b4b14abf-4d16-4a7d-b48c-7c8d9c8ba9bc","directory":"dynamite-fishing-world-games","title":"Dynamite Fishing - World Games","compatibility":1,"releases":[{"id":"01003A000976E000","region":null}]},{"id":"b4bac280-5cfc-48c8-8057-cba84dd6cf33","directory":"horned-knight","title":"Horned Knight","compatibility":99,"releases":[{"id":"01002FA014514000","region":null}]},{"id":"b4be1bcc-b817-4bb8-adbb-d3b69757ac50","directory":"dont-die-mr-robot","title":"Don't Die, Mr Robot!","compatibility":5,"releases":[{"id":"010007200AC0E000","region":null}]},{"id":"b4cbb269-c23b-4bd9-9f33-cf2c5f67f0c7","directory":"gorsd","title":"GORSD","compatibility":1,"releases":[{"id":"01000C7003FE8000","region":null}]},{"id":"b4d6a7c2-dc19-47d3-994b-44be15cd5632","directory":"eqqo","title":"EQQO","compatibility":99,"releases":[{"id":"0100E95010058000","region":null}]},{"id":"b4dfe906-8622-4e47-9383-1386cf7d8b78","directory":"legal-dungeon","title":"Legal Dungeon","compatibility":99,"releases":[{"id":"01000AA013BFE000","region":null}]},{"id":"b4eba8df-011c-4c69-8cfc-5a3caa1e2677","directory":"hover","title":"Hover","compatibility":99,"releases":[{"id":"0100F6800910A000","region":null}]},{"id":"b4ee7666-513a-49e9-98f5-59ab49abcc8b","directory":"skelly-selest","title":"Skelly Selest","compatibility":0,"releases":[{"id":"01006C000DC8A000","region":null}]},{"id":"b4f1950a-2e97-44ef-bb54-525d81d218bf","directory":"revenant-saga","title":"Revenant Saga","compatibility":3,"releases":[{"id":"0100AA2006510000","region":null}]},{"id":"b4f9cb20-3eba-463f-be12-0d0fa11864ad","directory":"the-coma-recut","title":"The Coma: Recut","compatibility":2,"releases":[{"id":"010033100691A000","region":null}]},{"id":"b4feb997-8f05-4751-b650-4cd09f373847","directory":"penny-punching-princess","title":"Penny-Punching Princess","compatibility":1,"releases":[{"id":"0100C510049E0000","region":null}]},{"id":"b503ed03-f3ca-4916-9786-43a43fdcd6ff","directory":"airheart-tales-of-broken-wings","title":"Airheart - Tales of broken Wings","compatibility":99,"releases":[{"id":"01003DD00BFEE000","region":null}]},{"id":"b50b0566-ba15-438b-a587-a6e6f52c67b0","directory":"sleep-tight","title":"Sleep Tight","compatibility":0,"releases":[{"id":"01004AC0081DC000","region":null}]},{"id":"b514e6e1-211f-4838-abcc-88fe2894af83","directory":"team-sonic-racing","title":"Team Sonic Racing","compatibility":3,"releases":[{"id":"010092B0091D0000","region":null}]},{"id":"b523946e-100e-43e1-a50d-1d67028d4cbb","directory":"ludomania","title":"Ludomania","compatibility":99,"releases":[{"id":"0100F0300B7BE000","region":null}]},{"id":"b52b7f79-efa0-4201-847a-868b5aa4641c","directory":"connectank","title":"ConnecTank™","compatibility":99,"releases":[{"id":"0100436013EF6000","region":null}]},{"id":"b5314c2a-b548-49db-9b68-672a99fb2301","directory":"rock-of-ages-2-bigger-and-boulder","title":"Rock of Ages 2: Bigger & Boulder","compatibility":99,"releases":[{"id":"010091D00BE38000","region":null}]},{"id":"b53e84ac-c1be-44d0-883f-adf007286d15","directory":"woodcutter","title":"Woodcutter","compatibility":99,"releases":[{"id":"0100363015476000","region":null}]},{"id":"b53e8bf3-fe90-4031-b983-a53cf6ad3f79","directory":"isolation-story","title":"Isolation Story","compatibility":99,"releases":[{"id":"0100924013162000","region":null}]},{"id":"b54730d4-1151-4f90-a145-ce23a29cff6f","directory":"deiland-pocket-planet-edition","title":"Deiland: Pocket Planet Edition","compatibility":1,"releases":[{"id":"0100D150131F8000","region":null}]},{"id":"b54dbcc4-166b-45b0-95cc-10c8871bfbb8","directory":"firework","title":"Firework","compatibility":99,"releases":[{"id":"0100BA9012B36000","region":null}]},{"id":"b561bf6e-a04b-4063-81d7-c7cca040fe21","directory":"project-nimbus-complete-edition","title":"Project Nimbus: Complete Edition","compatibility":99,"releases":[{"id":"0100ACE00DAB6000","region":null}]},{"id":"b5790399-6086-44a0-bee0-9688274ec347","directory":"risky-rescue","title":"Risky Rescue","compatibility":99,"releases":[{"id":"01005AF00CCA2000","region":null}]},{"id":"b5853cd7-1129-423b-b557-8f96bd9d7c6d","directory":"mario-tennis-aces","title":"Mario Tennis Aces","compatibility":0,"releases":[{"id":"0100BDE00862A000","region":null}]},{"id":"b5934943-0be9-4f1d-9ed3-b042ee333723","directory":"boss-rush-mythology","title":"Boss Rush: Mythology","compatibility":99,"releases":[{"id":"0100AB9013564000","region":null}]},{"id":"b5942bc8-1016-4f86-a4f8-ec78b72bf34a","directory":"lily-of-the-hollow-resurrection","title":"Lily of the Hollow - Resurrection","compatibility":99,"releases":[{"id":"01005D7013B0C000","region":null}]},{"id":"b599b00f-2ded-4ce2-bba5-993ff31c521f","directory":"dice-legacy","title":"Dice Legacy","compatibility":99,"releases":[{"id":"01002E4013EAE000","region":null}]},{"id":"b59d8820-b2be-4202-ad08-3a691f957bba","directory":"buried-stars","title":"Buried Stars","compatibility":1,"releases":[{"id":"010078C00DB40000","region":null}]},{"id":"b5a753ca-62e9-4753-b241-6baf7c08e013","directory":"portal-dogs","title":"Portal Dogs","compatibility":99,"releases":[{"id":"010050D00FE0C000","region":null}]},{"id":"b5b6e63b-26c5-462c-8b42-552fe9d3ed81","directory":"popeye","title":"Popeye","compatibility":99,"releases":[{"id":"010058E014EBC000","region":null}]},{"id":"b5b8c84a-2731-4f30-8bca-bd209b44d86f","directory":"blazing-beaks","title":"Blazing Beaks","compatibility":2,"releases":[{"id":"010021A00DE54000","region":null}]},{"id":"b5bba3a8-af6e-41e3-83f5-1da7356ace2d","directory":"willy-jetman-astromonkeys-revenge","title":"Willy Jetman: Astromonkey's Revenge","compatibility":99,"releases":[{"id":"010000100FB62000","region":null}]},{"id":"b5be1eba-b3cd-4757-9d4c-dd9fc28961c4","directory":"dreamgallery","title":"DreamGallery","compatibility":2,"releases":[{"id":"0100D560106E0000","region":null}]},{"id":"b5c14d52-8d94-4304-94a1-1f604bff1ad8","directory":"moorhuhn-knights-and-castles","title":"Moorhuhn Knights & Castles","compatibility":99,"releases":[{"id":"010030800841A000","region":null}]},{"id":"b5c439c3-d905-4557-adc0-41d59a3169c4","directory":"olivers-adventures-in-the-fairyland","title":"Oliver's Adventures in the Fairyland","compatibility":99,"releases":[{"id":"0100E4600F188000","region":null}]},{"id":"b5c766a0-0398-48c9-b71b-769cafa61796","directory":"selfy-collection-the-dream-fashion-stylist","title":"SELFY COLLECTION The dream fashion stylist!","compatibility":99,"releases":[{"id":"010044700FB46000","region":null}]},{"id":"b5cfd167-7173-497f-bead-97c725f37f79","directory":"the-pillar-puzzle-escape","title":"The Pillar: Puzzle Escape","compatibility":99,"releases":[{"id":"0100B80012C1E000","region":null}]},{"id":"b5d79071-7c47-4940-880c-923b143b5a2b","directory":"bringit-to-mom","title":"BringIt to MOM","compatibility":99,"releases":[{"id":"0100D590120D6000","region":null}]},{"id":"b5da712f-e00d-450c-b936-7d17451232cd","directory":"tetris-99","title":"Tetris 99","compatibility":3,"releases":[{"id":"010040600C5CE000","region":null}]},{"id":"b5da9b21-a541-4b06-980f-376097a4b8f6","directory":"super-crush-ko","title":"Super Crush KO","compatibility":0,"releases":[{"id":"010030900D9A6000","region":null}]},{"id":"b5db415b-c964-4001-849a-84c08b9a2d38","directory":"runestone-keeper","title":"Runestone Keeper","compatibility":99,"releases":[{"id":"010032200EC9C000","region":null}]},{"id":"b5ef9a24-501f-43a0-bc5e-743ddc4b6d19","directory":"earthworms","title":"Earthworms","compatibility":99,"releases":[{"id":"0100DCE00B756000","region":null}]},{"id":"b5fd69a3-8170-4409-922b-ef953c51f548","directory":"monochrome-world","title":"Monochrome World","compatibility":99,"releases":[{"id":"0100B5E0113F2000","region":null}]},{"id":"b6255665-baa9-4d74-8e28-f7a2f7c084a9","directory":"kine","title":"Kine","compatibility":99,"releases":[{"id":"010089000F0E8000","region":null}]},{"id":"b6429ba0-7a11-4c8f-b39b-0e9492fcd2f8","directory":"mancala-classic-board-game","title":"Mancala Classic Board Game","compatibility":99,"releases":[{"id":"0100598014310000","region":null}]},{"id":"b6447469-c5ba-482f-8e7a-821f63556564","directory":"kawaii-deathu-desu","title":"Kawaii Deathu Desu","compatibility":0,"releases":[{"id":"0100C5F00F446000","region":null}]},{"id":"b646d308-fdae-4713-8bf4-9ec187804ba9","directory":"profane","title":"Profane","compatibility":1,"releases":[{"id":"0100AB700FE02000","region":null}]},{"id":"b64826cf-c6c5-4cc1-a6a8-01058bf7bd32","directory":"super-hydorah","title":"Super Hydorah","compatibility":1,"releases":[{"id":"010099F00B374000","region":null}]},{"id":"b659f504-5e46-4d30-b8e5-47dbbe395398","directory":"maiden-spell","title":"Maiden & Spell","compatibility":99,"releases":[{"id":"01004FE014198000","region":null}]},{"id":"b66ed656-4a5f-4a71-b3c1-75431f3ea7d8","directory":"jolt-family-robot-racer","title":"Jolt Family Robot Racer","compatibility":99,"releases":[{"id":"01002A0009E18000","region":null}]},{"id":"b6706ffd-045f-4f78-bc92-32c7544702f1","directory":"wax-museum","title":"Wax Museum","compatibility":0,"releases":[{"id":"0100326016A6E000","region":null}]},{"id":"b67a76c7-30be-4cd9-9678-501cbbd17b91","directory":"sedomairi","title":"SEDOMAIRI","compatibility":99,"releases":[{"id":"01008CD01625C000","region":null}]},{"id":"b67b5945-c844-43b4-9022-284bf127c3b2","directory":"pico-park","title":"PICO PARK","compatibility":3,"releases":[{"id":"01004EA00DF70000","region":null}]},{"id":"b687f44d-e2f6-4e99-8928-26fe603997bc","directory":"office-lovers","title":"Office Lovers","compatibility":99,"releases":[{"id":"01003EA01290A000","region":null}]},{"id":"b68bfbc3-1398-41cf-a000-0018cbf0507c","directory":"bit-trip-core","title":"BIT.TRIP CORE","compatibility":99,"releases":[{"id":"0100016012D38000","region":null}]},{"id":"b691adb7-f4de-4595-b184-aa6761732863","directory":"tinboy","title":"Tinboy","compatibility":99,"releases":[{"id":"01001CA00C514000","region":null}]},{"id":"b69c41cc-06c8-452c-a6ea-dfb1d382bbc9","directory":"smashing-the-battle-ghost-soul","title":"SMASHING THE BATTLE GHOST SOUL","compatibility":0,"releases":[{"id":"010089B0155F8000","region":null}]},{"id":"b69d42c3-dd12-4478-ab11-575307e339a5","directory":"moon","title":"moon","compatibility":99,"releases":[{"id":"0100E1800EFCE000","region":null}]},{"id":"b6b3dd1e-110f-43d8-844c-ff016e5afadb","directory":"arcade-archives-tecmo-bowl","title":"Arcade Archives TECMO BOWL","compatibility":99,"releases":[{"id":"010064A00BE0E000","region":null}]},{"id":"b6bde324-8ea7-4fb8-b6bc-c07741c7f14b","directory":"good-job","title":"Good Job!™","compatibility":1,"releases":[{"id":"0100B0500FE4E000","region":null}]},{"id":"b6bf4aa8-585e-4e61-b2ee-6c4391bd2b42","directory":"some-distant-memory","title":"Some Distant Memory","compatibility":99,"releases":[{"id":"01009EE00E91E000","region":null}]},{"id":"b6cb913f-8da3-40d3-89bb-aad693fc91d6","directory":"spheroids","title":"Spheroids","compatibility":99,"releases":[{"id":"0100FD200A45A000","region":null}]},{"id":"b6d8c48f-8052-4573-ada6-71ffbc56667e","directory":"kairobotica","title":"Kairobotica","compatibility":99,"releases":[{"id":"0100D5F00EC52000","region":null}]},{"id":"b6e18962-0d08-46d0-9794-985a2a111ec1","directory":"retimed","title":"Retimed","compatibility":99,"releases":[{"id":"010086E00BCB2000","region":null}]},{"id":"b6e2526d-5b77-456e-90d7-9b1713b3499d","directory":"runner3","title":"Runner3","compatibility":99,"releases":[{"id":"01004B4002B6A000","region":null}]},{"id":"b6e83323-6bcf-46b0-9004-90cc627d10d2","directory":"smash-boats","title":"Smash Boats","compatibility":0,"releases":[{"id":"0100CFD00F89C000","region":null}]},{"id":"b6f74d57-a408-466b-b0b0-2b7b3b41d9bd","directory":"mitsurugi-kamui-hikae","title":"Mitsurugi Kamui Hikae","compatibility":99,"releases":[{"id":"010045000BF6A000","region":null}]},{"id":"b6fc5329-2d93-4042-81c2-7759e138a147","directory":"our-flick-erasers","title":"Our Flick Erasers","compatibility":99,"releases":[{"id":"01006D900EE58000","region":null}]},{"id":"b70d3412-b0a7-4bb2-8d32-a33938b029b9","directory":"kirakira-stars-idol-project-nagisa","title":"Kirakira stars idol project Nagisa","compatibility":99,"releases":[{"id":"01002B101530A000","region":null}]},{"id":"b7184f44-4f08-40e4-b47e-cb4d3c19b225","directory":"claws-of-furry","title":"Claws of Furry","compatibility":99,"releases":[{"id":"0100AE9008744000","region":null}]},{"id":"b71bbf4e-2b14-439c-a9d6-6d14fccf03b4","directory":"gold-digger","title":"Gold Digger","compatibility":99,"releases":[{"id":"010076C014630000","region":null}]},{"id":"b72f35b9-1fb3-43bd-bd85-51ab89fb5e97","directory":"night-flight","title":"Night Flight","compatibility":99,"releases":[{"id":"010096C01515C000","region":null}]},{"id":"b742d05f-d69b-4465-9756-ffedc4d097cd","directory":"ganbare-super-strikers","title":"Ganbare! Super Strikers","compatibility":99,"releases":[{"id":"0100A6400F29A000","region":null}]},{"id":"b76342d2-be74-4706-abdc-9c62e89c63f5","directory":"bullet-beat","title":"Bullet Beat","compatibility":99,"releases":[{"id":"01007310128EC000","region":null}]},{"id":"b7a0fb53-eaa1-40a5-baa9-cb61c939ba99","directory":"knights-retreat","title":"Knight's Retreat","compatibility":99,"releases":[{"id":"0100554012A34000","region":null}]},{"id":"b7ad024f-ce9e-40c4-a119-461a46f5be8e","directory":"swords-and-soldiers-2-shawarmageddon","title":"Swords and Soldiers 2 Shawarmageddon","compatibility":99,"releases":[{"id":"010059D00BCAE000","region":null}]},{"id":"b7b097c3-70be-46f1-9ea1-8f3f5e7e072d","directory":"super-phantom-cat-remake","title":"Super Phantom Cat: Remake","compatibility":99,"releases":[{"id":"0100C9A00D124000","region":null}]},{"id":"b7b4ce92-f1ee-4a20-ade8-c4ce17e5efc6","directory":"what-the-fork","title":"What The Fork","compatibility":99,"releases":[{"id":"0100DB5012366000","region":null}]},{"id":"b7c0e917-984a-4a01-8a9a-ee748ce41a8f","directory":"sudoku-relax-3-autumn-leaves","title":"Sudoku Relax 3 Autumn Leaves","compatibility":99,"releases":[{"id":"0100D6100FF44000","region":null}]},{"id":"b7ca93cc-bf6e-40e7-9189-c555b373714e","directory":"hob-the-definitive-edition","title":"Hob: The Definitive Edition","compatibility":1,"releases":[{"id":"01004B100A5CC000","region":null}]},{"id":"b7d5789e-58df-46c7-9ad3-7bbf6d957d50","directory":"pga-tour-2k21","title":"PGA TOUR 2K21","compatibility":4,"releases":[{"id":"010053401147C000","region":null}]},{"id":"b7d65ee1-4da6-4013-a2ad-bbfbbe536928","directory":"hells-high-harmonizers","title":"Hell's High Harmonizers","compatibility":99,"releases":[{"id":"0100BD3010934000","region":null}]},{"id":"b7ddef9b-58e4-485b-9624-ea09112daa0e","directory":"lyrica2-stars-align","title":"Lyrica2 Stars Align","compatibility":99,"releases":[{"id":"0100A9C0134DE000","region":null}]},{"id":"b7e2a9b1-3bbc-4e4f-91fd-41a7abb02daf","directory":"arcade-archives-gradius-ii","title":"Arcade Archives GRADIUS II","compatibility":1,"releases":[{"id":"0100721012F9C000","region":null}]},{"id":"b7e319f4-1a81-486e-bacd-50a58c0436a5","directory":"beholder-complete-edition","title":"Beholder: Complete Edition","compatibility":0,"releases":[{"id":"0100D1300C1EA000","region":null}]},{"id":"b7e6f0ca-a590-42f5-b55e-42e3764d2b5f","directory":"black-rainbow","title":"Black Rainbow","compatibility":5,"releases":[{"id":"0100236011A42000","region":null}]},{"id":"b7e7a5bc-221b-47db-b706-d21058e8b166","directory":"legend-of-kay-anniversary","title":"Legend of Kay Anniversary","compatibility":2,"releases":[{"id":"01002DB007A96000","region":null}]},{"id":"b7eaecb5-5345-4795-b7a6-6c34b7db1ece","directory":"dead-dust","title":"Dead Dust","compatibility":99,"releases":[{"id":"010096C014BB2000","region":null}]},{"id":"b7ed176a-fc86-4f92-a254-e777afd236a5","directory":"lyrica","title":"Lyrica","compatibility":99,"releases":[{"id":"010008000C8F6000","region":null}]},{"id":"b7fe945c-0ddd-4dca-9e00-6395aaca8d4b","directory":"shoot-1up-dx","title":"Shoot 1UP DX","compatibility":99,"releases":[{"id":"0100CCE00DDB6000","region":null}]},{"id":"b7ff44ce-98f3-44e1-85df-e59e312fc336","directory":"uncanny-valley","title":"Uncanny Valley","compatibility":5,"releases":[{"id":"01002D900C5E4000","region":null}]},{"id":"b801f1ca-8fe3-4e00-805e-deef778dd836","directory":"sid-meiers-civilization-vi","title":"Sid Meier’s Civilization VI","compatibility":4,"releases":[{"id":"010044500C182000","region":null}]},{"id":"b80aeecf-2698-46aa-bfd9-bd0c7312acb6","directory":"creepy-brawlers","title":"Creepy Brawlers","compatibility":99,"releases":[{"id":"0100BBB00F6B2000","region":null}]},{"id":"b81c803c-c23f-4643-9c14-7af5ff6dfccd","directory":"monobot","title":"MONOBOT","compatibility":99,"releases":[{"id":"01005E201530E000","region":null}]},{"id":"b81d4f6a-2928-45d9-b38e-b4e6d9807365","directory":"tyd-wag-vir-niemand","title":"Tyd wag vir Niemand","compatibility":99,"releases":[{"id":"010073A00C4B2000","region":null}]},{"id":"b83d1d0f-25b3-40f5-97ca-fbfac34cb1b4","directory":"fairune-collection","title":"Fairune Collection","compatibility":1,"releases":[{"id":"01008A6009758000","region":null}]},{"id":"b83d7b95-b7b5-4d31-963a-8f43e094454b","directory":"just-dance-r-2021","title":"Just Dance® 2021","compatibility":1,"releases":[{"id":"0100BF9011B52000","region":null}]},{"id":"b845461e-05a9-41e1-9688-f62e904d93a2","directory":"3d-air-hockey","title":"3D Air Hockey","compatibility":0,"releases":[{"id":"01000220158C4000","region":null}]},{"id":"b849b91c-5cf6-4486-a0cd-095cebb2c2d7","directory":"plantera-deluxe","title":"Plantera Deluxe","compatibility":99,"releases":[{"id":"010087000428E000","region":null}]},{"id":"b84a0fc4-2dd5-4205-bd44-3a4bd24de9ef","directory":"deep-ones","title":"Deep Ones","compatibility":4,"releases":[{"id":"0100FAF009562000","region":null}]},{"id":"b857f78e-840b-4e8e-9a66-f0087f61efcd","directory":"arcade-archives-solomons-key","title":"Arcade Archives Solomon's Key","compatibility":4,"releases":[{"id":"01008C900982E000","region":null}]},{"id":"b8751e50-79e7-4358-946c-28b8295badf7","directory":"cattch","title":"CATTCH","compatibility":0,"releases":[{"id":"01009F0013A42000","region":null}]},{"id":"b8780a7b-2cd9-4660-be2b-92852c7ac1fe","directory":"the-darkside-detective","title":"The Darkside Detective","compatibility":99,"releases":[{"id":"01003DE00918E000","region":null}]},{"id":"b8922bbf-98b2-4e1e-b039-d83d1e000cf5","directory":"kasiori","title":"KASIORI","compatibility":99,"releases":[{"id":"0100E75014D7A000","region":null}]},{"id":"b89aa8ad-0523-42a7-8fc3-81b672476a10","directory":"killallzombies","title":"#KILLALLZOMBIES","compatibility":1,"releases":[{"id":"01004D100C510000","region":null}]},{"id":"b8b18081-37be-41bb-8f45-f087800ab8d0","directory":"alders-blood","title":"Alder's Blood","compatibility":99,"releases":[{"id":"0100D740110C0000","region":null}]},{"id":"b8b7550a-9217-4549-a3c7-952170fdc716","directory":"mighty-gunvolt-burst","title":"MIGHTY GUNVOLT BURST","compatibility":1,"releases":[{"id":"01000E2003FA0000","region":null}]},{"id":"b8bd5ff4-11b4-4fda-815e-6c057728947b","directory":"toree-3d","title":"Toree 3D","compatibility":99,"releases":[{"id":"0100E9701479E000","region":null}]},{"id":"b8c73bb7-3350-4bbb-9866-2ea5c1bfbe0a","directory":"minigolf-tour","title":"MiniGolf Tour","compatibility":1,"releases":[{"id":"01000D50149D8000","region":null}]},{"id":"b8ce149d-10f9-4c2f-b3cd-00fe69efb9c5","directory":"animated-jigsaws-japanese-women","title":"Animated Jigsaws: Japanese Women","compatibility":99,"releases":[{"id":"01002BB00C01E000","region":null}]},{"id":"b8d47a61-a0bd-49dc-aa4d-65925e921522","directory":"the-battle-of-mahjong","title":"The Battle Of Mahjong","compatibility":99,"releases":[{"id":"0100AC300BBE4000","region":null}]},{"id":"b8ea2916-3da3-4b2c-ab2c-ef4bc88f5b9b","directory":"skullgirls-2nd-encore","title":"Skullgirls 2nd Encore","compatibility":4,"releases":[{"id":"010046B00DE62000","region":null}]},{"id":"b8ed8ec0-c821-4372-aed9-449816fe2a87","directory":"wonder-boy-returns-remix","title":"WONDER BOY RETURNS REMIX","compatibility":0,"releases":[{"id":"010069B00D9FE000","region":null}]},{"id":"b8f826d8-f0ae-4182-907d-43fa46bf52b5","directory":"help-will-come-tomorrow","title":"Help Will Come Tomorrow","compatibility":1,"releases":[{"id":"0100F130115EC000","region":null}]},{"id":"b8fcb021-fd22-4186-a2c8-d95f04dfacb2","directory":"flatland-vol-1","title":"FLATLAND Vol.1","compatibility":4,"releases":[{"id":"0100DBF011922000","region":null}]},{"id":"b9069018-c2c9-47c5-a75d-7f22373903fa","directory":"iron-snout","title":"Iron Snout","compatibility":99,"releases":[{"id":"010010200D09A000","region":null}]},{"id":"b90b1520-0a6a-4728-8f22-504b0a42076a","directory":"cathedral","title":"Cathedral","compatibility":3,"releases":[{"id":"0100BEB01327A000","region":null}]},{"id":"b90fe7c7-7f77-4715-ad7e-77899f6bf531","directory":"uglydolls-an-imperfect-adventure","title":"UglyDolls: An Imperfect Adventure","compatibility":99,"releases":[{"id":"010079000B56C000","region":null}]},{"id":"b9235fb9-411e-4815-87de-500b9a4e7fbc","directory":"breakpoint","title":"Breakpoint","compatibility":0,"releases":[{"id":"01009380114E0000","region":null}]},{"id":"b929966a-3f59-4d39-89df-1ac1e9417580","directory":"so-many-me-extended-edition","title":"So Many Me: Extended Edition","compatibility":99,"releases":[{"id":"010062C00F558000","region":null}]},{"id":"b92d59a1-7854-4fa6-945b-cb771fd45ad7","directory":"sector-781","title":"Sector 781","compatibility":99,"releases":[{"id":"0100245013EA4000","region":null}]},{"id":"b92ec1de-32bf-4352-acbe-8a9acdc87333","directory":"songs-for-a-hero-definitive-edition","title":"Songs for a Hero: Definitive Edition","compatibility":1,"releases":[{"id":"0100802012890000","region":null}]},{"id":"b938e2cf-44c9-41b1-b6bd-138c52ee2084","directory":"arcade-archives-frogger","title":"Arcade Archives FROGGER","compatibility":99,"releases":[{"id":"010047100F978000","region":null}]},{"id":"b9392b68-8999-4bdb-bdcf-f1f852c53bb2","directory":"can-androids-pray-blue","title":"CAN ANDROIDS PRAY:BLUE","compatibility":99,"releases":[{"id":"010049101124C000","region":null}]},{"id":"b9602f9a-f256-4a65-ad2a-5ec3213857c5","directory":"dragodino","title":"DragoDino","compatibility":99,"releases":[{"id":"0100566009238000","region":null}]},{"id":"b97b6d76-1861-4791-a51f-26389cacd62e","directory":"mad-carnage","title":"Mad Carnage","compatibility":0,"releases":[{"id":"010024A009428000","region":null}]},{"id":"b99ec87a-e651-4a55-abe7-72d9daf06142","directory":"physical-contact-picture-place","title":"Physical Contact: Picture Place","compatibility":99,"releases":[{"id":"0100AAD004358000","region":null}]},{"id":"b9ac2c92-eb07-42fe-b808-acdd261b751f","directory":"shantae","title":"Shantae","compatibility":4,"releases":[{"id":"0100430013120000","region":null}]},{"id":"b9b64e10-d7aa-4fae-967e-0e0c47745740","directory":"fault-milestone-one","title":"fault - milestone one","compatibility":99,"releases":[{"id":"0100F6200B7D4000","region":null}]},{"id":"b9ba13a9-1e29-457c-b91c-9391393d74ad","directory":"not-not-a-brain-buster","title":"Not Not - A Brain Buster","compatibility":0,"releases":[{"id":"01004D500D9BE000","region":null}]},{"id":"b9bb5eb9-8e43-4540-bdde-14bb746cc75a","directory":"strike-ten-pin-bowling","title":"Strike! Ten Pin Bowling","compatibility":99,"releases":[{"id":"0100B080104BC000","region":null}]},{"id":"b9bc639d-d898-46fb-ac32-bb080ff018c8","directory":"aca-neogeo-kizuna-encounter","title":"ACA NEOGEO KIZUNA ENCOUNTER","compatibility":5,"releases":[{"id":"0100A2200AFE2000","region":null}]},{"id":"b9c4e264-1496-4e12-92b7-bd4f7c3261b1","directory":"just-black-jack","title":"Just Black Jack","compatibility":99,"releases":[{"id":"0100EB700EF74000","region":null}]},{"id":"b9c76a04-8bdc-4166-a704-6d735637186e","directory":"necroworm","title":"NecroWorm","compatibility":99,"releases":[{"id":"0100A35011406000","region":null}]},{"id":"b9db9e46-8640-43f6-b5cf-5af5c6f66836","directory":"burnstar","title":"Burnstar","compatibility":99,"releases":[{"id":"010044D00A770000","region":null}]},{"id":"b9e534c9-8c1d-4159-ab4d-c3215de14bb3","directory":"x-morph-defense-demo","title":"X-Morph: Defense Demo","compatibility":99,"releases":[{"id":"01009CD00C786000","region":null}]},{"id":"b9f2a296-202a-4a63-bf77-500bf0bb1c21","directory":"snake-pass","title":"Snake Pass","compatibility":4,"releases":[{"id":"0100C0F0020E8000","region":null}]},{"id":"b9fbe397-b09c-4762-b7ae-6916937d56d4","directory":"wolfenstein-ii-the-new-colossus","title":"Wolfenstein II: The New Colossus","compatibility":4,"releases":[{"id":"01009040091E0000","region":null}]},{"id":"ba052f69-01d8-4440-8634-ead31bff005a","directory":"neon-caves","title":"Neon Caves","compatibility":5,"releases":[{"id":"010042800CDCE000","region":null}]},{"id":"ba079915-c131-4f30-9917-5737d0cbce02","directory":"neverwinter-nights-enhanced-edition","title":"Neverwinter Nights: Enhanced Edition","compatibility":5,"releases":[{"id":"010013700DA4A000","region":null}]},{"id":"ba1130b1-76d1-4e08-98e1-25dee9589092","directory":"find-the-balance","title":"Find The Balance","compatibility":99,"releases":[{"id":"0100F3700C09C000","region":null}]},{"id":"ba115c6d-fb16-4c0e-84a1-a0c3bce0427b","directory":"johnny-bonasera-full-season","title":"Johnny Bonasera Full Season","compatibility":99,"releases":[{"id":"01002B40135DE000","region":null}]},{"id":"ba301124-3fb5-415d-9186-ca9b35915e09","directory":"resident-evil-5","title":"Resident Evil 5","compatibility":0,"releases":[{"id":"010018100CD46000","region":null}]},{"id":"ba32dd42-4403-4a57-b22f-25ea6da62774","directory":"royal-roads","title":"Royal Roads","compatibility":99,"releases":[{"id":"0100AFE00DDAC000","region":null}]},{"id":"ba4413eb-a812-4edf-99e0-b57bb700afd4","directory":"songbringer","title":"Songbringer","compatibility":99,"releases":[{"id":"010031D00A604000","region":null}]},{"id":"ba457358-13b4-416f-8bfb-b17693d19648","directory":"wargroove","title":"Wargroove","compatibility":3,"releases":[{"id":"01000F0002BB6000","region":null}]},{"id":"ba5ac11b-1225-4c62-8dba-b1e2296f3995","directory":"mini-car-racing","title":"Mini Car Racing","compatibility":1,"releases":[{"id":"0100D5E0141F6000","region":null}]},{"id":"ba662b43-9826-4233-923a-dff303414616","directory":"creepy-road","title":"Creepy Road","compatibility":99,"releases":[{"id":"0100C3300C68C000","region":null}]},{"id":"ba81603d-e11b-4eb7-af2d-2b71ada5fe11","directory":"mini-island-challenge-bundle","title":"Mini Island Challenge Bundle","compatibility":99,"releases":[{"id":"010050C0124CE000","region":null}]},{"id":"ba94bbd9-5bd4-4af6-82be-37c7e9eb5e4c","directory":"sam-max-beyond-time-and-space","title":"Sam & Max: Beyond Time and Space","compatibility":1,"releases":[{"id":"0100855015500000","region":null}]},{"id":"baa36077-d44d-47f4-aa3f-0325ddd8afdf","directory":"surfingers","title":"Surfingers","compatibility":99,"releases":[{"id":"0100CEB00CD6C000","region":null}]},{"id":"baa9082b-7ba3-4a30-b374-bdaf0ff9d61c","directory":"river-city-melee-mach","title":"River City Melee Mach!!","compatibility":2,"releases":[{"id":"0100B2100767C000","region":null}]},{"id":"bacb224d-5576-454b-87a7-0193b24ab470","directory":"go-minimal","title":"Go Minimal","compatibility":99,"releases":[{"id":"01004FF016F46000","region":null}]},{"id":"bad1c522-b30d-4eaa-a36a-6c1eaf7e61ff","directory":"cris-tales","title":"Cris Tales","compatibility":99,"releases":[{"id":"0100B0400EBC4000","region":null}]},{"id":"bad747ec-10b9-47fe-8de8-d19418ca26f8","directory":"ruvato-original-complex","title":"Ruvato : Original Complex","compatibility":99,"releases":[{"id":"01007690147D8000","region":null}]},{"id":"badc2b66-c2b1-4a83-9643-0d48e7da7eff","directory":"butcher","title":"BUTCHER","compatibility":1,"releases":[{"id":"0100177005C8A000","region":null}]},{"id":"baef6de7-f1b5-4560-86e6-306a4a8250e1","directory":"stranded-deep","title":"Stranded Deep","compatibility":99,"releases":[{"id":"01004F4014C62000","region":null}]},{"id":"baf8f23a-b4ab-4d93-ad81-eaf326cdd6a3","directory":"out-there-the-alliance-demo","title":"Out There: Ω The Alliance - Demo","compatibility":99,"releases":[{"id":"010048F00CC7C000","region":null}]},{"id":"baf9910a-2197-40e7-abf9-7506a1f9fd12","directory":"pet-care","title":"Pet Care","compatibility":99,"releases":[{"id":"010082A00D80A000","region":null}]},{"id":"bafd496c-f0ea-411d-8196-b54b6839fbb7","directory":"the-princess-guide","title":"The Princess Guide","compatibility":1,"releases":[{"id":"0100E6A00B960000","region":null}]},{"id":"bb0752b7-7ce4-4800-93c2-a4707eac9c61","directory":"animal-doctor","title":"Animal Doctor","compatibility":99,"releases":[{"id":"01008A7013010000","region":null}]},{"id":"bb0a9806-93cc-4842-ad9a-b3a3adef5dc5","directory":"asphalt-9-legends","title":"Asphalt 9: Legends","compatibility":5,"releases":[{"id":"01007B000C834000","region":null}]},{"id":"bb18e33c-fdd1-4d31-842f-458a665c8c14","directory":"coffee-crisis","title":"Coffee Crisis","compatibility":99,"releases":[{"id":"0100CF800C810000","region":null}]},{"id":"bb23ec6d-ebe8-487c-b41a-e9d64e1e468f","directory":"storm-tale","title":"Storm Tale","compatibility":0,"releases":[{"id":"0100362014538000","region":null}]},{"id":"bb340bee-00e0-4b59-8a98-2fc11b7b5d0e","directory":"chess-ace","title":"Chess Ace","compatibility":99,"releases":[{"id":"01003F9010D6C000","region":null}]},{"id":"bb358599-e0b9-4126-a115-2fe4ba4faeab","directory":"oceanhorn-2-knights-of-the-lost-realm","title":"Oceanhorn 2: Knights of the Lost Realm","compatibility":1,"releases":[{"id":"01006CB010840000","region":null}]},{"id":"bb5b2608-316d-4ddf-b3a4-c75035529bff","directory":"arcade-archives-sky-kid","title":"Arcade Archives SKY KID","compatibility":99,"releases":[{"id":"0100192015D24000","region":null}]},{"id":"bb609a49-61e0-401b-bd56-dff24a1049b7","directory":"incredible-mandy","title":"Incredible Mandy","compatibility":2,"releases":[{"id":"010087C00E31C000","region":null}]},{"id":"bb73f4ac-4027-40c7-a478-4ec896df42c0","directory":"radiation-city","title":"Radiation City","compatibility":99,"releases":[{"id":"0100DA400E07E000","region":null}]},{"id":"bb75d647-8cd9-447f-ac33-c701235d4c09","directory":"super-arcade-racing","title":"Super Arcade Racing","compatibility":99,"releases":[{"id":"0100738012566000","region":null}]},{"id":"bb7c85a1-1b6f-4d52-8b10-1b9ddc71fe96","directory":"namco-museum","title":"NAMCO MUSEUM","compatibility":1,"releases":[{"id":"010002F001220000","region":null}]},{"id":"bb7d1f51-c834-4ae4-8572-d0c416ec02b0","directory":"empire-of-sin","title":"Empire of Sin","compatibility":99,"releases":[{"id":"010058600E530000","region":null}]},{"id":"bb842f18-38ca-4df0-b2e8-68d8c708bede","directory":"arcade-archives-renegade","title":"Arcade Archives Renegade","compatibility":99,"releases":[{"id":"010081E001DD2000","region":null}]},{"id":"bb895a51-bea5-4d93-9e02-0bf993e19424","directory":"wrestledunk-sports","title":"Wrestledunk Sports","compatibility":0,"releases":[{"id":"0100DBC013496000","region":null}]},{"id":"bb90c300-90a9-4896-ac48-29623c01a899","directory":"alchemist-adventure","title":"Alchemist Adventure","compatibility":99,"releases":[{"id":"0100946014634000","region":null}]},{"id":"bb92dd05-639e-45b9-816a-3cda2f8e527c","directory":"shut-eye","title":"Shut Eye","compatibility":99,"releases":[{"id":"0100A7900B936000","region":null}]},{"id":"bb9cb019-b7e6-4e0e-b4ab-aaa46fc7cd27","directory":"arcade-archives-arabian","title":"Arcade Archives ARABIAN","compatibility":99,"releases":[{"id":"0100CDD013178000","region":null}]},{"id":"bbafeae9-326e-4e4d-80fe-2115b4af468e","directory":"pocoyo-party","title":"Pocoyo Party","compatibility":1,"releases":[{"id":"01003FE0129FC000","region":null}]},{"id":"bbb0b698-a7d0-46af-87c7-33e6f2e32922","directory":"ultimate-fishing-simulator","title":"Ultimate Fishing Simulator","compatibility":99,"releases":[{"id":"010048901295C000","region":null}]},{"id":"bbb728cf-3acd-4fd9-957c-f0c8107d6444","directory":"talk-it-out-handheld-game","title":"Talk it Out: Handheld Game","compatibility":99,"releases":[{"id":"010088100EE4E000","region":null}]},{"id":"bbbbca40-d520-45e4-baa8-3b997b7e2946","directory":"forgotten-hill-disillusion","title":"Forgotten Hill Disillusion","compatibility":99,"releases":[{"id":"0100D590162D0000","region":null}]},{"id":"bbc70e27-5f3b-462e-82c8-87dfa7cf8642","directory":"crosscode","title":"CrossCode","compatibility":1,"releases":[{"id":"01003D90058FC000","region":null}]},{"id":"bbcbb9ae-bf5c-4158-9f06-124324deef0c","directory":"crashlands","title":"Crashlands","compatibility":2,"releases":[{"id":"010027100BD16000","region":null}]},{"id":"bbcd2fa9-4408-402b-b08a-71c7c91ff7bb","directory":"wanderlust-travel-stories","title":"Wanderlust Travel Stories","compatibility":1,"releases":[{"id":"0100B27010436000","region":null}]},{"id":"bbedb311-3544-4ab0-9251-9256912e31cc","directory":"alchemist-simulator","title":"Alchemist Simulator","compatibility":1,"releases":[{"id":"01001BB014512000","region":null}]},{"id":"bbfb52c1-ebc7-48f1-a751-e8d67ae72f7d","directory":"clockwork-aquario","title":"Clockwork Aquario","compatibility":0,"releases":[{"id":"01003AC0140DC000","region":null}]},{"id":"bc0472d2-b0bb-416f-9ee2-1136190661ee","directory":"goetia","title":"Goetia","compatibility":99,"releases":[{"id":"0100D82009024000","region":null}]},{"id":"bc0dc834-ba73-46ab-bae5-c5a4ab1d5196","directory":"last-4-alive-escape-from-zombies","title":"Last 4 Alive: Escape From Zombies","compatibility":99,"releases":[{"id":"0100C6101591A000","region":null}]},{"id":"bc1e2b11-81a2-4dcb-8c02-9fa91218d0e8","directory":"bubsy-paws-on-fire","title":"Bubsy: Paws on Fire!","compatibility":2,"releases":[{"id":"0100DBE00C554000","region":null}]},{"id":"bc1f1bae-65d6-4cd1-936e-71794cb1c0c6","directory":"arcade-archives-rushn-attack","title":"Arcade Archives Rush'n Attack","compatibility":99,"releases":[{"id":"0100341013852000","region":null}]},{"id":"bc38dd99-f9b9-403f-be0f-9a923d7eabed","directory":"packet-queen","title":"Packet Queen #","compatibility":99,"releases":[{"id":"0100B90008E1E000","region":null}]},{"id":"bc3a6e5f-cac9-4fd0-95de-4d35f6a94910","directory":"layers-of-fear-legacy","title":"Layers of Fear: Legacy","compatibility":0,"releases":[{"id":"0100BF5006A7C000","region":null}]},{"id":"bc3fedf6-400c-440f-ab2d-b00b20e47595","directory":"omg-police-car-chase-tv-simulator","title":"OMG Police - Car Chase TV Simulator","compatibility":99,"releases":[{"id":"0100896011282000","region":null}]},{"id":"bc445a39-66bb-41d7-8c92-713c0a01999d","directory":"tower-climb","title":"Tower Climb","compatibility":0,"releases":[{"id":"01004A300F91E000","region":null}]},{"id":"bc572811-385a-455e-9e07-257d90e73019","directory":"thoth","title":"THOTH","compatibility":99,"releases":[{"id":"0100AC500EEE8000","region":null}]},{"id":"bc57c9df-31bd-47ca-ba49-ff2de1cd1646","directory":"paperbound-brawlers","title":"Paperbound Brawlers","compatibility":99,"releases":[{"id":"01006AD00B82C000","region":null}]},{"id":"bc59108d-abc4-49da-8911-e4a9755c4919","directory":"heroland","title":"Heroland","compatibility":3,"releases":[{"id":"0100C2700E338000","region":null}]},{"id":"bc6d6449-14a6-4ad9-a0a2-91fe606a4ce6","directory":"kingmaker-rise-to-the-throne","title":"Kingmaker: Rise to the Throne","compatibility":99,"releases":[{"id":"0100A1B00C8CC000","region":null}]},{"id":"bc6db81c-61df-4bfb-83eb-cfc3898cfb41","directory":"rogue-aces","title":"Rogue Aces","compatibility":99,"releases":[{"id":"0100EC7009348000","region":null}]},{"id":"bc71443d-9b7c-43ea-bcba-6c2760b5f558","directory":"60-seconds-reatomized","title":"60 Seconds! Reatomized","compatibility":99,"releases":[{"id":"010070100F782000","region":null}]},{"id":"bc752eb9-3952-4dba-9208-a0bdf740de56","directory":"half-past-fate","title":"Half Past Fate","compatibility":1,"releases":[{"id":"0100D4D00F8F2000","region":null}]},{"id":"bc7a8592-e430-4db1-915d-becbdc03b1fb","directory":"antiquia-lost","title":"Antiquia Lost","compatibility":1,"releases":[{"id":"0100016007154000","region":null}]},{"id":"bc89df5d-6567-416b-bde2-6411305b4e9e","directory":"asdivine-kamura","title":"Asdivine Kamura","compatibility":1,"releases":[{"id":"0100C8E00F50A000","region":null}]},{"id":"bc8edc41-547f-4922-b901-6d02f5ba68a3","directory":"red-death","title":"Red Death","compatibility":99,"releases":[{"id":"0100069010592000","region":null}]},{"id":"bc95800f-f431-4ae8-8642-05368fdfac65","directory":"arcade-archives-pinball","title":"Arcade Archives Pinball","compatibility":4,"releases":[{"id":"010049500E354000","region":null}]},{"id":"bc9cf8b2-5356-4085-9f2c-2e6b434b73cc","directory":"solitaire-klondike-black","title":"Solitaire Klondike BLACK","compatibility":99,"releases":[{"id":"01007D600D242000","region":null}]},{"id":"bca2a97a-422d-4085-9814-a315c4be88ea","directory":"890b","title":"890B","compatibility":99,"releases":[{"id":"0100182013F2C000","region":null}]},{"id":"bca345a0-dea6-4ee5-9b53-7936350b5c33","directory":"lovekami-useless-goddess","title":"Lovekami -Useless Goddess-","compatibility":99,"releases":[{"id":"0100336014F4E000","region":null}]},{"id":"bca34e18-fe26-4e71-b5f2-ce4eb4c7af01","directory":"dark-burial","title":"Dark Burial","compatibility":99,"releases":[{"id":"0100896011A60000","region":null}]},{"id":"bcaf2feb-05cc-411f-bd1f-c42de1ecd771","directory":"sega-ages-sonic-the-hedgehog-2","title":"SEGA AGES Sonic The Hedgehog 2","compatibility":1,"releases":[{"id":"01000D200C614000","region":null}]},{"id":"bcb1dbe3-e84b-424c-91dd-b634f260f06d","directory":"implosion-demo","title":"IMPLOSION Demo","compatibility":99,"releases":[{"id":"01005BE008674000","region":null}]},{"id":"bcb94ff9-c296-475f-a88c-1340021599a1","directory":"taiko-no-tatsujin-rhythmic-adventure-2","title":"Taiko no Tatsujin: Rhythmic Adventure 2","compatibility":99,"releases":[{"id":"01001580133F2000","region":null}]},{"id":"bcc84f0e-a0d7-430d-902a-ee6eaaaf0ca9","directory":"supermash","title":"SuperMash","compatibility":1,"releases":[{"id":"01001F900B78C000","region":null}]},{"id":"bcca1f26-a6a1-462e-a02c-35332fa9628b","directory":"gothic-murder-adventure-that-changes-destiny","title":"Gothic Murder: Adventure That Changes Destiny","compatibility":0,"releases":[{"id":"01001010121DE000","region":null}]},{"id":"bcde1a05-acb8-446f-a0bc-a49e09553928","directory":"colormotif-deluxe","title":"Color.Motif Deluxe","compatibility":99,"releases":[{"id":"01002EB010146000","region":null}]},{"id":"bcdeb86e-7886-499a-912d-3481b7247e3c","directory":"aperion-cyberstorm","title":"Aperion Cyberstorm","compatibility":99,"releases":[{"id":"010051C003A08000","region":null}]},{"id":"bcdf95fc-2309-49d9-9375-d8c75ff8a7ca","directory":"momonga-pinball-adventures","title":"Momonga Pinball Adventures","compatibility":99,"releases":[{"id":"01002CC00BC4C000","region":null}]},{"id":"bcf940bd-e24c-4137-aa84-f94272408977","directory":"space-grunts","title":"Space Grunts","compatibility":99,"releases":[{"id":"0100AE701287E000","region":null}]},{"id":"bd04868c-d7d6-455f-9a21-6cade59fec00","directory":"season-match-2","title":"Season Match 2","compatibility":99,"releases":[{"id":"0100F6B00BDCC000","region":null}]},{"id":"bd0b1913-1089-4b37-8c09-6abdef04115b","directory":"noreload-heroes-enhanced-edition","title":"NoReload Heroes Enhanced Edition","compatibility":99,"releases":[{"id":"010052E011A62000","region":null}]},{"id":"bd0ccf9f-e734-4c08-b776-a2d1aa322099","directory":"pure-mahjong","title":"Pure Mahjong","compatibility":99,"releases":[{"id":"0100F2700D3F0000","region":null}]},{"id":"bd0f7790-0970-4001-bfed-6c55b95c0ee6","directory":"aca-neogeo-garou-mark-of-the-wolves","title":"ACA NEOGEO GAROU: MARK OF THE WOLVES","compatibility":1,"releases":[{"id":"0100CB2001DB8000","region":null}]},{"id":"bd30905d-aa19-4755-ac3f-0643ebdb24f4","directory":"the-language-of-love","title":"The Language Of Love","compatibility":1,"releases":[{"id":"01007AF012E16000","region":null}]},{"id":"bd46a34a-cfda-4fc0-ab32-b75641216162","directory":"adventure-time-pirates-of-the-enchiridion","title":"Adventure Time: Pirates of the Enchiridion","compatibility":0,"releases":[{"id":"0100C4E004406000","region":null}]},{"id":"bd482142-3353-4f0b-8461-52bd27915995","directory":"mariozza-cops","title":"MARIOZZA COPS","compatibility":99,"releases":[{"id":"01008D301446C000","region":null}]},{"id":"bd48d52d-29d5-4dd5-8399-3a2b72a4c851","directory":"battle-princess-madelyn","title":"Battle Princess Madelyn","compatibility":2,"releases":[{"id":"0100C4D0093EA000","region":null}]},{"id":"bd552acf-a877-4757-8a97-982f1d277aff","directory":"freakout-calamity-tv-show","title":"Freakout: Calamity TV Show","compatibility":2,"releases":[{"id":"01003AB010692000","region":null}]},{"id":"bd64d28c-09be-4e52-a1e9-fd0bbe1a542e","directory":"seeds-of-resilience","title":"Seeds of Resilience","compatibility":99,"releases":[{"id":"01000580117EA000","region":null}]},{"id":"bd701a48-bf54-40c1-83b0-717877d63ebc","directory":"the-shapeshifting-detective","title":"The Shapeshifting Detective","compatibility":99,"releases":[{"id":"01001FF00BEE8000","region":null}]},{"id":"bd711d49-4486-4841-99c1-83c66dabaa95","directory":"the-journey-down-trilogy","title":"The Journey Down Trilogy","compatibility":99,"releases":[{"id":"01008EF00C900000","region":null}]},{"id":"bd8e79cb-772b-48d6-9990-e0c9610815fc","directory":"everspace-stellar-edition","title":"Everspace - Stellar Edition","compatibility":4,"releases":[{"id":"0100DCF0093EC000","region":null}]},{"id":"bd910017-ef57-4bb3-9b9b-4b0a8d8f268a","directory":"flowlines-vs","title":"Flowlines VS","compatibility":99,"releases":[{"id":"0100F5D00CD58000","region":null}]},{"id":"bd957ff8-721f-4cae-b4a6-7f596fe860c8","directory":"wind-peaks","title":"Wind Peaks","compatibility":99,"releases":[{"id":"0100E9101405A000","region":null}]},{"id":"bd9d9836-2726-4bcb-bf3e-1883d7cac2e6","directory":"dream-alone","title":"Dream Alone","compatibility":4,"releases":[{"id":"01000AA0093DC000","region":null}]},{"id":"bd9fa3e1-c1e2-460b-a3c9-c3025fe809eb","directory":"clone-drone-in-the-danger-zone","title":"Clone Drone in the Danger Zone","compatibility":99,"releases":[{"id":"0100AA201236E000","region":null}]},{"id":"bda95244-e87c-494c-91ca-08d5c3d7e868","directory":"ord","title":"Ord.","compatibility":99,"releases":[{"id":"0100F9A012892000","region":null}]},{"id":"bdaec8f9-6eeb-40b7-99e2-38a7f8f9a0db","directory":"retromania-wrestling","title":"RetroMania Wrestling","compatibility":99,"releases":[{"id":"0100BB700EF82000","region":null}]},{"id":"bdb22b07-dc5c-4bc8-9393-cae9b235ea56","directory":"a-long-way-down","title":"A Long Way Down","compatibility":99,"releases":[{"id":"01006A90144E4000","region":null}]},{"id":"bdc24cea-abbf-46cc-b8dd-4a34cdd64a75","directory":"mercenaries-rebirth-call-of-the-wild-lynx","title":"Mercenaries Rebirth: Call of the Wild Lynx","compatibility":0,"releases":[{"id":"010031E01627E000","region":null}]},{"id":"bdc47bd3-f7f6-44d7-ae6c-bff64b00da60","directory":"tumblestone","title":"Tumblestone","compatibility":99,"releases":[{"id":"0100AFE00452E000","region":null}]},{"id":"bdc5b1bb-1431-41b4-bcf1-4f9bb4867c73","directory":"the-legend-of-evil","title":"The Legend of Evil","compatibility":99,"releases":[{"id":"01001F600B3EE000","region":null}]},{"id":"bdcad92f-ec8a-4a30-af73-e23561326eb3","directory":"space-aliens-invaders","title":"Space Aliens Invaders","compatibility":99,"releases":[{"id":"0100C6D013D9A000","region":null}]},{"id":"bdda475d-eee5-473e-b435-243267ca1738","directory":"pix-jungle-adventures","title":"Pix Jungle Adventures","compatibility":99,"releases":[{"id":"01001AB015446000","region":null}]},{"id":"bdeaba17-0e46-4c1f-8d30-8dd8f2c78b30","directory":"spelunker-party","title":"Spelunker Party!","compatibility":1,"releases":[{"id":"010021F004270000","region":null}]},{"id":"bdf0aa16-7763-44c7-8859-e7eb27577bfc","directory":"aloof","title":"Aloof","compatibility":99,"releases":[{"id":"01007BA0164D8000","region":null}]},{"id":"bdf68a35-8e60-42d5-a8de-da264499a61f","directory":"drowning","title":"Drowning","compatibility":1,"releases":[{"id":"010052000A574000","region":null}]},{"id":"bdf68b93-6600-40b8-a9fc-e5445c9366b0","directory":"sky-races","title":"Sky Races","compatibility":99,"releases":[{"id":"01005970169DE000","region":null}]},{"id":"bdf6e565-af36-4e05-899e-9f673b1be37c","directory":"dungeon-rushers","title":"Dungeon Rushers","compatibility":3,"releases":[{"id":"01002CB006AFA000","region":null}]},{"id":"bdfba0b6-545f-4cbd-9586-54b321822664","directory":"dat-gaem","title":"Dat Gaem","compatibility":99,"releases":[{"id":"0100883013C02000","region":null}]},{"id":"bdff17a3-cb4d-4d83-a953-09e2d147154d","directory":"phantom-doctrine","title":"Phantom Doctrine","compatibility":4,"releases":[{"id":"010096F00E5B0000","region":null}]},{"id":"be18f044-e833-41bd-9aa0-3731a1ce4ae2","directory":"arrog","title":"Arrog","compatibility":99,"releases":[{"id":"01007AB012102000","region":null}]},{"id":"be1ed3d2-00cd-4fdc-986b-0097c09636e2","directory":"trouserheart","title":"Trouserheart","compatibility":2,"releases":[{"id":"01001EF00BF3A000","region":null}]},{"id":"be24d957-c470-4a23-9c22-142688f5299e","directory":"brain-breaker","title":"Brain Breaker","compatibility":99,"releases":[{"id":"0100B83013242000","region":null}]},{"id":"be34f229-3c49-4d90-bab1-4d0c1e08962b","directory":"side-b","title":"Side B","compatibility":99,"releases":[{"id":"0100B04013F8C000","region":null}]},{"id":"be3a94ec-7b85-496e-9f27-d46474adee5c","directory":"gunpig-firepower-for-hire","title":"GUNPIG: Firepower For Hire","compatibility":99,"releases":[{"id":"0100E8701358A000","region":null}]},{"id":"be3f126d-dad3-465a-ac42-70041eb7874f","directory":"animal-hunter-z","title":"Animal Hunter Z","compatibility":99,"releases":[{"id":"010035500CA0E000","region":null}]},{"id":"be422054-b12c-4c03-8655-8e0286ad67ad","directory":"reigns-game-of-thrones","title":"Reigns: Game of Thrones","compatibility":99,"releases":[{"id":"010028B00CBD0000","region":null}]},{"id":"be446eea-ebb8-4283-8e1b-29d33ead19af","directory":"fight-crab","title":"Fight Crab","compatibility":4,"releases":[{"id":"01006980127F0000","region":null}]},{"id":"be4d8354-f7dd-4e4e-9809-4ce51bc98b4e","directory":"burly-men-at-sea","title":"Burly Men at Sea","compatibility":99,"releases":[{"id":"01002BD00983E000","region":null}]},{"id":"be522056-4ff6-4eaa-8d3b-347222157487","directory":"ultra-space-battle-brawl-demo","title":"Ultra Space Battle Brawl Demo","compatibility":99,"releases":[{"id":"010066F009524000","region":null}]},{"id":"be68e6e1-4b6f-417f-b36f-20ee075ea814","directory":"lost-ember","title":"Lost Ember","compatibility":99,"releases":[{"id":"0100E3400F242000","region":null}]},{"id":"be6ffb10-882a-4a43-a569-bd406209d37d","directory":"rain-world","title":"Rain World","compatibility":3,"releases":[{"id":"010047600BF72000","region":null}]},{"id":"be7c5440-9f65-4a6f-8289-4945dc2ff0c0","directory":"backworlds","title":"Backworlds","compatibility":99,"releases":[{"id":"0100FEA014316000","region":null}]},{"id":"be7d55da-9be1-436f-8b72-a01449b7d348","directory":"hidden","title":"Hidden","compatibility":99,"releases":[{"id":"01004E800F03C000","region":null}]},{"id":"be865ad2-b4be-4b8c-aedf-736e877fc7c8","directory":"lego-dc-super-villains","title":"LEGO DC Super-Villains","compatibility":3,"releases":[{"id":"010070D009FEC000","region":null}]},{"id":"be893133-bb66-4eb1-954d-a377bd56434e","directory":"carnage-battle-arena","title":"Carnage: Battle Arena","compatibility":1,"releases":[{"id":"0100D7E011272000","region":null}]},{"id":"be89fc9c-b60c-4b84-8b00-b54650e8b15a","directory":"deadly-premonition-2-a-blessing-in-disguise","title":"Deadly Premonition 2: A Blessing In Disguise","compatibility":1,"releases":[{"id":"0100BAC011928000","region":null}]},{"id":"be8cfe83-12ae-49ff-ae1d-48bd0f74eb1a","directory":"wrc-9-the-official-game","title":"WRC 9 The Official Game","compatibility":5,"releases":[{"id":"01001A0011798000","region":null}]},{"id":"be9b1ccf-a03a-4bbe-ba9a-cdeece050439","directory":"death-and-taxes","title":"Death and Taxes","compatibility":99,"releases":[{"id":"01000D60126B6000","region":null}]},{"id":"be9cb8ef-7e93-4849-84b7-87c2d3a073f8","directory":"sky-force-anniversary","title":"Sky Force Anniversary","compatibility":1,"releases":[{"id":"010083100B5CA000","region":null}]},{"id":"beb02fa4-e8a9-4d80-8bdf-2e6152e1de67","directory":"bodyquest","title":"BodyQuest","compatibility":99,"releases":[{"id":"0100DDF01348C000","region":null}]},{"id":"bec1e795-5843-44f8-a112-856e10c3809a","directory":"whip-whip","title":"WHIP! WHIP!","compatibility":99,"releases":[{"id":"0100B5600A88C000","region":null}]},{"id":"bec7e351-6122-4041-9663-b4e4a0449f39","directory":"omensight-definitive-edition","title":"Omensight: Definitive Edition","compatibility":99,"releases":[{"id":"0100CDC00C40A000","region":null}]},{"id":"bec9fc8b-bb3a-4ed2-93d4-8f098cc47d94","directory":"bloodroots","title":"Bloodroots","compatibility":2,"releases":[{"id":"010091400D238000","region":null}]},{"id":"becb66af-dcf6-4abd-86de-0638bb2e5af9","directory":"aokana-four-rhythms-across-the-blue","title":"Aokana - Four Rhythms Across the Blue","compatibility":1,"releases":[{"id":"0100990011866000","region":null}]},{"id":"bed17a56-819b-4e48-8c61-f171facda73d","directory":"european-conqueror-x","title":"European Conqueror X","compatibility":99,"releases":[{"id":"010041700D3D4000","region":null}]},{"id":"bedb25d8-61de-4bb1-a175-6e1050d97560","directory":"arcade-archives-earth-defense-force","title":"Arcade Archives EARTH DEFENSE FORCE","compatibility":0,"releases":[{"id":"01005960123CE000","region":null}]},{"id":"beebf475-e2bd-457a-8bf8-ae021144fc0d","directory":"rayman-legends-definitive-edition","title":"Rayman Legends Definitive Edition","compatibility":0,"releases":[{"id":"01005FF002E2A000","region":null}]},{"id":"bf029d5c-3bfd-4226-9196-6967a392c87b","directory":"undeads-building","title":"Undead's Building","compatibility":99,"releases":[{"id":"0100C1200D60C000","region":null}]},{"id":"bf0d1293-2373-4eb6-b7d6-1feadf77ebf6","directory":"street-power-soccer","title":"Street Power Soccer","compatibility":99,"releases":[{"id":"0100888011CB2000","region":null}]},{"id":"bf130fba-2697-436a-ab22-b25f6b96838b","directory":"grim-legends-2-song-of-the-dark-swan","title":"Grim Legends 2: Song of the Dark Swan","compatibility":99,"releases":[{"id":"010078E012D80000","region":null}]},{"id":"bf276fba-8270-4522-8ed7-f3e20bfc3030","directory":"johnny-turbos-arcade-heavy-barrel","title":"Johnny Turbo's Arcade: Heavy Barrel","compatibility":99,"releases":[{"id":"0100C6D002CB8000","region":null}]},{"id":"bf2d5509-7a1e-4181-9457-ed51c62c30f9","directory":"fantasy-tavern-sextet-vol-1-new-world-days","title":"Fantasy Tavern Sextet -Vol.1 New World Days-","compatibility":4,"releases":[{"id":"01000E2012F6E000","region":null}]},{"id":"bf315a0e-5035-437b-b80c-d0a74dd4fa1d","directory":"eternum-ex","title":"Eternum Ex","compatibility":99,"releases":[{"id":"0100CB900B498000","region":null}]},{"id":"bf379c4e-1bbe-4fd2-a367-715acd0bd925","directory":"racedierun","title":"#RaceDieRun","compatibility":99,"releases":[{"id":"01005D400E5C8000","region":null}]},{"id":"bf3f0e9c-22d6-4c8a-ab1a-10c0cdd8ebeb","directory":"ghostanoid","title":"Ghostanoid","compatibility":99,"releases":[{"id":"01008BC012850000","region":null}]},{"id":"bf440cd9-8bbc-4524-a72c-d63959977f10","directory":"fly-the-bird","title":"Fly The Bird","compatibility":0,"releases":[{"id":"0100217014ABA000","region":null}]},{"id":"bf4c85b0-583e-47ec-8090-97f932c36bd2","directory":"boot-hill-heroes","title":"Boot Hill Heroes","compatibility":1,"releases":[{"id":"0100FED0137FE000","region":null}]},{"id":"bf5e5258-d24b-4bc1-b7d2-d64b5fb9051c","directory":"kids-farm-puzzle","title":"Kids: Farm Puzzle","compatibility":99,"releases":[{"id":"0100E220152A6000","region":null}]},{"id":"bf5f80f7-f607-4abd-b525-bbcca3fd8d1f","directory":"spellworm","title":"Spellworm","compatibility":99,"releases":[{"id":"0100BFC00F18A000","region":null}]},{"id":"bf6bec15-e867-4c9d-8f18-0cacfb97aa89","directory":"revolver-and-co","title":"Revolver and Co","compatibility":99,"releases":[{"id":"0100C15014CE4000","region":null}]},{"id":"bf75a99d-1a79-4ef9-a524-a877aaf83419","directory":"aca-neogeo-the-king-of-fighters-96","title":"ACA NEOGEO THE KING OF FIGHTERS '96","compatibility":99,"releases":[{"id":"01006F0004FB4000","region":null}]},{"id":"bf7f586d-88d3-49c0-9c10-f835029095df","directory":"along-the-edge","title":"Along the Edge","compatibility":99,"releases":[{"id":"010083E010AE8000","region":null}]},{"id":"bf800bef-506f-4ca6-9cdb-99a6a7a3f84c","directory":"disc-jam","title":"Disc Jam","compatibility":5,"releases":[{"id":"0100510004D2C000","region":null}]},{"id":"bfa1e88e-159a-4774-b037-61f4c6ca1e54","directory":"arcade-archives-the-genji-and-the-heike-clans","title":"Arcade Archives The Genji and the Heike Clans","compatibility":99,"releases":[{"id":"01006F7015AC0000","region":null}]},{"id":"bfa3aceb-4639-4785-b132-d821a19731e6","directory":"fez","title":"FEZ","compatibility":2,"releases":[{"id":"01008D900B984000","region":null}]},{"id":"bfa9e099-eb2c-427b-b04b-8332ee99653d","directory":"arcade-archives-hacha-mecha-fighter","title":"Arcade Archives HACHA MECHA FIGHTER","compatibility":99,"releases":[{"id":"010068B014CC2000","region":null}]},{"id":"bfbc453a-85ae-4374-8ec5-bf54b92c209b","directory":"castlestorm","title":"CastleStorm","compatibility":1,"releases":[{"id":"010097C00AB66000","region":null}]},{"id":"bfc891a7-2f24-4884-a91c-096b6145e925","directory":"gurgamoth","title":"Gurgamoth","compatibility":99,"releases":[{"id":"01000D700EAA0000","region":null}]},{"id":"bfce2639-0082-4f8b-b117-7ab4de0fa00a","directory":"distraint-collection","title":"DISTRAINT Collection","compatibility":99,"releases":[{"id":"0100967013B48000","region":null}]},{"id":"bfcf51ec-0a93-4f6c-a6a3-505036b1fddc","directory":"monstrum","title":"Monstrum","compatibility":99,"releases":[{"id":"010039F00EF70000","region":null}]},{"id":"bfcfe27b-e0d7-4fbd-b330-a6e2d99f5aaf","directory":"galak-z-the-void-deluxe-edition","title":"GALAK-Z: The Void: Deluxe Edition","compatibility":1,"releases":[{"id":"010091D00BF9E000","region":null}]},{"id":"bfdd15bb-e0d4-4ec4-9a8c-3b58776d7b9d","directory":"membrane","title":"MEMBRANE","compatibility":1,"releases":[{"id":"0100EA6004516000","region":null}]},{"id":"bff16442-12e9-4ed1-9d06-4650b4f156a8","directory":"pocket-soccer","title":"Pocket Soccer","compatibility":99,"releases":[{"id":"0100542016718000","region":null}]},{"id":"c00175e5-d947-423e-a42a-1dfa517fbb15","directory":"aca-neogeo-top-hunter-roddy-and-cathy","title":"ACA NEOGEO TOP HUNTER RODDY & CATHY","compatibility":99,"releases":[{"id":"0100A0D004FB0000","region":null}]},{"id":"c0284a5f-9224-4342-8cca-9cff78acc3ba","directory":"ace-of-seafood","title":"Ace of Seafood","compatibility":2,"releases":[{"id":"0100FF1004D56000","region":null}]},{"id":"c02b621d-8f83-42b7-8113-dee905633757","directory":"skellboy","title":"Skellboy","compatibility":2,"releases":[{"id":"01008CA00CF34000","region":null}]},{"id":"c0303345-6aae-4c99-9fd3-051fe1d25ede","directory":"silver-screen-story","title":"Silver Screen Story","compatibility":99,"releases":[{"id":"010026F00E45E000","region":null}]},{"id":"c039f7ef-a21d-4d29-9213-6f133874ef2f","directory":"sea-salt","title":"Sea Salt","compatibility":99,"releases":[{"id":"010033300EC86000","region":null}]},{"id":"c05ad24f-1542-4a30-8bda-cdde4b6f6071","directory":"metagal","title":"METAGAL","compatibility":1,"releases":[{"id":"01009A500D4A8000","region":null}]},{"id":"c06df851-c6a6-4886-8d27-cdbbda560dd7","directory":"samurai-aces-for-nintendo-switch","title":"Samurai Aces for Nintendo Switch","compatibility":1,"releases":[{"id":"0100ADF0096F2000","region":null}]},{"id":"c08112f0-3bda-4ee5-b600-e83aab61c630","directory":"five-nights-at-freddys","title":"Five Nights at Freddy's","compatibility":3,"releases":[{"id":"0100B6200D8D2000","region":null}]},{"id":"c0869f63-1dcc-4c32-96e0-f76e9a2dc3b4","directory":"skyforge","title":"Skyforge","compatibility":99,"releases":[{"id":"01008C80122BE000","region":null}]},{"id":"c08ae4ff-ae96-453d-88b1-238c80995d77","directory":"true-fear-forsaken-souls-part-1","title":"True Fear: Forsaken Souls - Part 1","compatibility":3,"releases":[{"id":"0100E75004766000","region":null}]},{"id":"c08c8a63-97fc-4b81-b974-e3d202d11860","directory":"theatre-tales","title":"Theatre Tales","compatibility":99,"releases":[{"id":"010030D00D960000","region":null}]},{"id":"c09af7eb-e873-446a-bc55-d3c0b927ee21","directory":"block-puzzle","title":"Block Puzzle","compatibility":99,"releases":[{"id":"0100010016026000","region":null}]},{"id":"c09dd195-37f4-4e2d-86e0-98611be69b4c","directory":"the-game-is-on","title":"The Game is ON","compatibility":99,"releases":[{"id":"010077A013C6C000","region":null}]},{"id":"c09e8211-efdd-4a13-96ee-2440583bcb69","directory":"sky-ride","title":"Sky Ride","compatibility":99,"releases":[{"id":"0100DDB004F30000","region":null}]},{"id":"c0a18fb7-8f49-4976-8dbd-ed1b23544487","directory":"monster-hunter-stories-2-wings-of-ruin","title":"Monster Hunter Stories 2: Wings of Ruin","compatibility":1,"releases":[{"id":"0100E21011446000","region":null}]},{"id":"c0a87427-5ec1-4985-ae08-92fa5df2c478","directory":"gravity-heroes","title":"Gravity Heroes","compatibility":99,"releases":[{"id":"01000AF013090000","region":null}]},{"id":"c0ab9b3c-e988-4d57-89e0-f09e8ee0936e","directory":"robothorium","title":"Robothorium","compatibility":99,"releases":[{"id":"0100ACF00CD2E000","region":null}]},{"id":"c0b50739-5f4a-4755-a379-ae1d1d3ba4ab","directory":"filament","title":"Filament","compatibility":99,"releases":[{"id":"0100E4401139C000","region":null}]},{"id":"c0b8c173-9235-4a5d-9360-27c2f4998346","directory":"dark-fantasy-jigsaw-puzzle","title":"Dark Fantasy: Jigsaw Puzzle","compatibility":99,"releases":[{"id":"01005D301432E000","region":null}]},{"id":"c0c5f3e2-dddd-4f4d-96c5-5cbc68dd6f79","directory":"the-dresden-files-cooperative-card-game","title":"The Dresden Files Cooperative Card Game","compatibility":99,"releases":[{"id":"0100AAE0100C4000","region":null}]},{"id":"c0e22db2-a082-4fd0-9c19-e06ba3b30ae7","directory":"legends-of-amberland-the-forgotten-crown","title":"Legends of Amberland: The Forgotten Crown","compatibility":99,"releases":[{"id":"01007170100AA000","region":null}]},{"id":"c0e86db1-a77e-4525-b8d7-aeed553e4b68","directory":"merchant-of-the-skies","title":"Merchant of the Skies","compatibility":1,"releases":[{"id":"01001B201264E000","region":null}]},{"id":"c0f2f75d-3044-499f-a8d8-3cc2065f9d6b","directory":"invasion-of-alien-x-earth-in-crisis","title":"Invasion of Alien X - Earth in Crisis","compatibility":99,"releases":[{"id":"01008BD00F072000","region":null}]},{"id":"c1163f8a-e285-4436-8719-0067070e250b","directory":"nintendo-64-nintendo-switch-online","title":"Nintendo 64™ – Nintendo Switch Online","compatibility":5,"releases":[{"id":"0100C9A00ECE6000","region":null}]},{"id":"c12afdd6-d390-468e-adaa-d7ebdfda78e1","directory":"goatpunks","title":"GoatPunks","compatibility":99,"releases":[{"id":"01006C00081B4000","region":null}]},{"id":"c12c58c4-0ea2-4d13-9eb7-6cc7f7302cef","directory":"gabbuchi-demo","title":"Gabbuchi Demo","compatibility":99,"releases":[{"id":"010068000DE92000","region":null}]},{"id":"c12cac1a-9a60-496b-a492-17d0613bfa27","directory":"highrise-heroes-word-challenge","title":"Highrise Heroes: Word Challenge","compatibility":99,"releases":[{"id":"0100A750113FC000","region":null}]},{"id":"c139d308-a06e-4624-8640-e89360b9f995","directory":"skull-rogue","title":"Skull Rogue","compatibility":99,"releases":[{"id":"0100CF2011454000","region":null}]},{"id":"c13b80f4-16f5-4749-ae0e-be9f5996b0e0","directory":"switchy-road-delux","title":"Switchy Road DeluX","compatibility":99,"releases":[{"id":"0100DED012642000","region":null}]},{"id":"c141583a-cb94-4505-a471-d70aa02fd9bf","directory":"123-dots","title":"123 Dots","compatibility":99,"releases":[{"id":"0100A3D015232000","region":null}]},{"id":"c14887f7-f055-4eda-b714-8e6d4ceb5382","directory":"penguin-wars","title":"Penguin Wars","compatibility":99,"releases":[{"id":"0100B280067BE000","region":null}]},{"id":"c15ac8c4-c0eb-42ca-a916-b70584a4b71d","directory":"airborne-kingdom","title":"Airborne Kingdom","compatibility":99,"releases":[{"id":"010087E014832000","region":null}]},{"id":"c165f1b3-c3d8-4959-9ec3-12fe1e73ea17","directory":"steamworld-dig","title":"SteamWorld Dig","compatibility":1,"releases":[{"id":"01009320084A4000","region":null}]},{"id":"c1726596-8680-4a30-86f0-4514bbba3acc","directory":"the-jackbox-party-pack-3","title":"The Jackbox Party Pack 3","compatibility":99,"releases":[{"id":"0100CC80013D6000","region":null}]},{"id":"c17407fc-96b6-4f7c-96da-45e3e6e67450","directory":"hoplegs","title":"Hoplegs","compatibility":99,"releases":[{"id":"010055B01636A000","region":null}]},{"id":"c179c090-bb10-4f7d-ae89-2279e3977092","directory":"away-journey-to-the-unexpected","title":"Away: Journey To The Unexpected","compatibility":99,"releases":[{"id":"01002F1005F3C000","region":null}]},{"id":"c1922541-6002-4747-bfa4-76df9b108f7f","directory":"footgoal-tiki-taka","title":"FootGoal! Tiki Taka","compatibility":99,"releases":[{"id":"01005F2012740000","region":null}]},{"id":"c1a325a2-f7f0-401f-9d58-5cda953f6523","directory":"crunchtime","title":"CrunchTime","compatibility":99,"releases":[{"id":"010003100F1F4000","region":null}]},{"id":"c1a61298-056d-42af-be3b-fdeb2cbd8f70","directory":"metro-simulator","title":"Metro Simulator","compatibility":99,"releases":[{"id":"01009EC014CC8000","region":null}]},{"id":"c1c80c59-ae43-45ad-8393-1547c42c47e1","directory":"faircrofts-antiques-home-for-christmas-collectors-edition","title":"Faircroft's Antiques: Home for Christmas Collector's Edition","compatibility":99,"releases":[{"id":"01004C90146A0000","region":null}]},{"id":"c1c9c2a7-2190-4ef5-90b7-e9af78edef2d","directory":"smite","title":"SMITE","compatibility":5,"releases":[{"id":"01005A600C318000","region":null}]},{"id":"c1cc988d-db13-4fdc-b7ec-7f8174311d15","directory":"burgertime-party","title":"BurgerTime Party!","compatibility":0,"releases":[{"id":"01006BB00E8FA000","region":null}]},{"id":"c1d13f30-18b7-4d19-801f-ad69a07818ee","directory":"arcanoid-breakout","title":"Arcanoid Breakout","compatibility":99,"releases":[{"id":"0100E53013E1C000","region":null}]},{"id":"c1e6dd9e-f7d1-4042-be20-200350e65b86","directory":"rotund-takeoff","title":"Rotund Takeoff","compatibility":99,"releases":[{"id":"01009AF014774000","region":null}]},{"id":"c2063a9d-5ab7-42c1-9652-699952670b43","directory":"red-siren-space-defense","title":"Red Siren: Space Defense","compatibility":99,"releases":[{"id":"010045400D73E000","region":null}]},{"id":"c214d1c7-a716-4e50-9bf8-63bd40be2061","directory":"arcade-archives-the-astyanax","title":"Arcade Archives THE ASTYANAX","compatibility":5,"releases":[{"id":"0100A7B01450C000","region":null}]},{"id":"c220018e-a554-46ae-baeb-6d9a648a50f1","directory":"asdivine-cross","title":"Asdivine Cross","compatibility":99,"releases":[{"id":"010054F013AC6000","region":null}]},{"id":"c2223202-fe7a-4197-85fc-60908fdcc387","directory":"space-elite-force","title":"Space Elite Force","compatibility":99,"releases":[{"id":"0100707011722000","region":null}]},{"id":"c2368f90-ce07-470a-abcc-b05f8a4f5da2","directory":"the-last-show-of-mr-chardish","title":"The Last Show of Mr. Chardish","compatibility":99,"releases":[{"id":"010087E01445A000","region":null}]},{"id":"c24e1e0a-6dcb-411f-a6f6-52fe2d767d5e","directory":"world-to-the-west","title":"World to the West","compatibility":99,"releases":[{"id":"01000E30042F2000","region":null}]},{"id":"c25a8523-6719-46d4-bfec-ff27c90a8ff4","directory":"spartan-fist","title":"Spartan Fist","compatibility":99,"releases":[{"id":"010038400CD96000","region":null}]},{"id":"c2621418-bb8f-40ec-8496-3a576ef43134","directory":"sound-waves","title":"Sound waves","compatibility":99,"releases":[{"id":"0100FB401589A000","region":null}]},{"id":"c264dd1d-627a-4967-928f-8ad4a5d82330","directory":"gradiently","title":"Gradiently","compatibility":99,"releases":[{"id":"01001F3013F6C000","region":null}]},{"id":"c26f3551-4753-4659-a40d-7c58ff5f9996","directory":"league-of-the-shield","title":"League of the Shield","compatibility":99,"releases":[{"id":"010025E00FD40000","region":null}]},{"id":"c272db1d-0801-4d51-bf49-cd56fcb852bd","directory":"the-lord-of-the-rings-adventure-card-game","title":"The Lord of the Rings: Adventure Card Game","compatibility":99,"releases":[{"id":"010085A00C5E8000","region":null}]},{"id":"c27704e8-80fb-4c0c-9df6-d846bb5a18c5","directory":"mainlining","title":"Mainlining","compatibility":1,"releases":[{"id":"01001C100D80E000","region":null}]},{"id":"c2811c8a-09bd-414e-98e4-f5eeebedc5b2","directory":"1-crosswords","title":"#1 Crosswords","compatibility":99,"releases":[{"id":"010097E0141F0000","region":null}]},{"id":"c282f387-b68f-4447-803e-55b0a4bff44f","directory":"meganoid","title":"Meganoid","compatibility":99,"releases":[{"id":"010028101227A000","region":null}]},{"id":"c287ba5a-302b-4195-8172-9e6d00e99925","directory":"the-house-of-da-vinci-2","title":"The House of Da Vinci 2","compatibility":99,"releases":[{"id":"01005A80113D2000","region":null}]},{"id":"c29dd6a9-5918-453c-afab-fa9804fa7656","directory":"hexagon-defense","title":"Hexagon Defense","compatibility":99,"releases":[{"id":"0100F3C013AFC000","region":null}]},{"id":"c2b3d9ce-6ef6-46eb-a3cc-3e5ad0fdc901","directory":"torn-tales-rebound-edition","title":"Torn Tales: Rebound Edition","compatibility":99,"releases":[{"id":"0100BEB010F2A000","region":null}]},{"id":"c2b75519-ba7e-46d9-9346-bdeb605deea8","directory":"arcade-archives-shanghai-iii","title":"Arcade Archives Shanghai III","compatibility":99,"releases":[{"id":"01003A4001DD4000","region":null}]},{"id":"c2b7a43d-9e36-4f8a-8f77-2fda7deb88fb","directory":"vera-blanc-full-moon","title":"Vera Blanc: Full Moon","compatibility":99,"releases":[{"id":"0100C850134A0000","region":null}]},{"id":"c2bafb7c-6ff2-4dcd-bad3-79037eb67f6d","directory":"super-mutant-alien-assault","title":"Super Mutant Alien Assault","compatibility":99,"releases":[{"id":"01006D000D2A0000","region":null}]},{"id":"c2bc0a50-ccaa-4d46-8a54-8fdef7583b69","directory":"marsupilami-hoobadventure","title":"MARSUPILAMI - HOOBADVENTURE","compatibility":1,"releases":[{"id":"010074F014628000","region":null}]},{"id":"c2bc0ed6-17f3-427d-9b63-62af415b9bc3","directory":"gleamlight","title":"Gleamlight","compatibility":0,"releases":[{"id":"0100ED2010292000","region":null}]},{"id":"c2c61e98-ee22-471a-a60e-6a2a6f2398bb","directory":"bounty-battle","title":"Bounty Battle","compatibility":99,"releases":[{"id":"0100E1200DC1A000","region":null}]},{"id":"c2d471d0-6551-465b-bcce-1e1bc14a7560","directory":"super-bit-blaster-xl","title":"Super Bit Blaster XL","compatibility":99,"releases":[{"id":"010048800E7A2000","region":null}]},{"id":"c2d5b18e-ec1d-41d1-9434-58d6bab24064","directory":"space-lift-danger-panic","title":"Space Lift Danger Panic!","compatibility":99,"releases":[{"id":"01000EB00BE02000","region":null}]},{"id":"c2e2676b-be7a-44dd-839f-401d9ff3d70d","directory":"bibi-and-tina-at-the-horse-farm","title":"Bibi & Tina at the horse farm","compatibility":99,"releases":[{"id":"010062400E69C000","region":null}]},{"id":"c2f9fe5d-0510-48da-a09c-78ac7e339d25","directory":"a-frog-game","title":"A Frog Game","compatibility":99,"releases":[{"id":"01006CE0134E6000","region":null}]},{"id":"c30d1e8a-3069-4bd0-9d9c-01efdb1b77a6","directory":"princess-loot-pixel-again","title":"Princess.Loot.Pixel.Again","compatibility":99,"releases":[{"id":"0100174015E56000","region":null}]},{"id":"c3152d38-ea8b-4d7e-a44e-9fe0e302830b","directory":"spitlings","title":"Spitlings","compatibility":99,"releases":[{"id":"010042700E3FC000","region":null}]},{"id":"c3252cdb-40ac-40b6-9b5f-394431741ed3","directory":"the-shrouded-isle","title":"The Shrouded Isle","compatibility":0,"releases":[{"id":"01007EB00D208000","region":null}]},{"id":"c3364000-53f8-4913-bb41-406c264bbfb0","directory":"cthulhu-saves-christmas","title":"Cthulhu Saves Christmas","compatibility":99,"releases":[{"id":"01006FA012FE0000","region":null}]},{"id":"c3396483-563a-41f4-9602-ff15585f7b9c","directory":"orangeblood","title":"Orangeblood","compatibility":99,"releases":[{"id":"0100993012968000","region":null}]},{"id":"c347fd3b-f67c-47c7-a9b5-eb2b33388351","directory":"greak-memories-of-azur","title":"Greak: Memories of Azur","compatibility":2,"releases":[{"id":"010045E012ECE000","region":null}]},{"id":"c34ee6b5-4717-4e2b-a792-14729e58c283","directory":"drive","title":"#DRIVE","compatibility":1,"releases":[{"id":"01000F20122FA000","region":null}]},{"id":"c35bbe0e-aeef-496e-a310-a8c309359646","directory":"yono-and-the-celestial-elephants","title":"Yono and the Celestial Elephants","compatibility":0,"releases":[{"id":"0100BE50042F6000","region":null}]},{"id":"c3678009-3b14-4ba6-9192-a10266aacdd2","directory":"mousecraft","title":"MouseCraft","compatibility":0,"releases":[{"id":"01004E500DB3C000","region":null}]},{"id":"c36c19f4-e6ad-44f4-8ce7-4c95bf5023bf","directory":"ooops-2","title":"Ooops! 2","compatibility":99,"releases":[{"id":"0100ED7014430000","region":null}]},{"id":"c36fa79b-fd3a-40ef-9392-59d753e01d9e","directory":"cardaclysm-shards-of-the-four","title":"Cardaclysm: Shards of the Four","compatibility":1,"releases":[{"id":"01001FC0152F6000","region":null}]},{"id":"c3801588-34cb-4bd1-9b95-02b08a0da6b2","directory":"mega-man-zerozx-legacy-collection","title":"Mega Man Zero/ZX Legacy Collection","compatibility":2,"releases":[{"id":"010025C00D410000","region":null}]},{"id":"c3826880-f006-458b-97d7-940ee6e0f563","directory":"physical-contact-speed","title":"Physical Contact: SPEED","compatibility":99,"releases":[{"id":"01008110036FE000","region":null}]},{"id":"c382deaf-24cb-4198-9430-f78e1690ee1f","directory":"venture-towns","title":"Venture Towns","compatibility":99,"releases":[{"id":"0100F1500CC64000","region":null}]},{"id":"c3850780-8ea6-4c81-908c-6667e1d4936a","directory":"aca-neogeo-zupapa","title":"ACA NEOGEO ZUPAPA!","compatibility":4,"releases":[{"id":"01002E700AFC4000","region":null}]},{"id":"c389b8ef-5f34-400d-a02b-e609297e3f76","directory":"clan-n","title":"Clan N","compatibility":4,"releases":[{"id":"010065000D25C000","region":null}]},{"id":"c38c93c5-f0a7-42e7-857a-c5a646d908bc","directory":"solar-flux","title":"Solar Flux","compatibility":99,"releases":[{"id":"0100153003AF2000","region":null}]},{"id":"c38f1774-3e17-42d8-a14e-3205da796d15","directory":"talking-tom-candy-run","title":"Talking Tom Candy Run","compatibility":2,"releases":[{"id":"01009720105B2000","region":null}]},{"id":"c3a525b6-f7ec-4a26-bac2-3e0197d6b1fc","directory":"animus-revenant","title":"ANIMUS: Revenant","compatibility":1,"releases":[{"id":"01009C60152B6000","region":null}]},{"id":"c3b1ea67-367c-4c42-b3fa-60b89d19393c","directory":"disgaea-4-complete","title":"Disgaea 4 Complete+","compatibility":1,"releases":[{"id":"0100A9800E9B4000","region":null}]},{"id":"c3b710d8-99c3-4e66-9c9e-084ae22d4fad","directory":"giana-sisters-twisted-dreams-owltimate-edition","title":"Giana Sisters: Twisted Dreams - Owltimate Edition","compatibility":4,"releases":[{"id":"01003830092B8000","region":null}]},{"id":"c3cc2715-dd15-42b6-94c1-a013327f6031","directory":"before-i-forget","title":"Before I Forget","compatibility":99,"releases":[{"id":"0100460012A10000","region":null}]},{"id":"c3d843e3-b286-495b-a0f1-b5c84cb76d2f","directory":"rival-megagun","title":"Rival Megagun","compatibility":99,"releases":[{"id":"0100A7D008392000","region":null}]},{"id":"c3d9961d-57e6-418d-bd65-c632910a8042","directory":"super-ping-pong-trick-shot","title":"Super Ping Pong Trick Shot","compatibility":99,"releases":[{"id":"01008EC005F88000","region":null}]},{"id":"c3dcdab8-53ec-4610-ad8c-49cbd6177ed8","directory":"curve-racer","title":"Curve Racer","compatibility":99,"releases":[{"id":"0100F54013E14000","region":null}]},{"id":"c3e2c019-baa6-4de3-bdb2-4fe2f52fc308","directory":"puzzle-adventure-blockle","title":"Puzzle Adventure Blockle","compatibility":99,"releases":[{"id":"0100F93004288000","region":null}]},{"id":"c3e3f18e-20f0-48df-8bc0-3c59a437b85f","directory":"b-ark","title":"B.ARK","compatibility":0,"releases":[{"id":"01009B901145C000","region":null}]},{"id":"c4023679-b969-4de0-9a74-760894285f10","directory":"ultragoodness-2","title":"UltraGoodness 2","compatibility":99,"releases":[{"id":"0100618013D62000","region":null}]},{"id":"c402759a-505f-4e69-a9bf-7064e306600d","directory":"dragons-dogma-dark-arisen","title":"Dragon's Dogma: Dark Arisen","compatibility":2,"releases":[{"id":"010032C00AC58000","region":null}]},{"id":"c40412e8-ae24-4eb7-97f5-a521fd5fd236","directory":"the-legend-of-heroes-trails-of-cold-steel-iv","title":"The Legend of Heroes: Trails of Cold Steel IV","compatibility":99,"releases":[{"id":"0100D3C010DE8000","region":null}]},{"id":"c40bb747-3023-4c87-9b99-e662ce05bbce","directory":"ever-forward","title":"Ever Forward","compatibility":99,"releases":[{"id":"0100CED01553A000","region":null}]},{"id":"c4133f2c-307b-4610-a36f-0c6d4ebe0732","directory":"happy-birthdays-demo","title":"Happy Birthdays Demo","compatibility":99,"releases":[{"id":"010069700AF9C000","region":null}]},{"id":"c427a2b0-0209-42e9-baa9-c651054e8a2b","directory":"cube-life-island-survival","title":"Cube Life: Island Survival","compatibility":99,"releases":[{"id":"0100519007636000","region":null}]},{"id":"c4291da6-e899-4d9f-a1fc-1ae6fc46130a","directory":"naruto-shippuden-ultimate-ninja-storm-2","title":"NARUTO SHIPPUDEN: Ultimate Ninja STORM 2","compatibility":99,"releases":[{"id":"0100922008008000","region":null}]},{"id":"c4305ae9-26c9-4cc6-b39e-e121c638f98e","directory":"dungeons-of-clay","title":"Dungeons of Clay","compatibility":1,"releases":[{"id":"0100BBB014E92000","region":null}]},{"id":"c43364a9-4ec6-4ff5-bf38-a74d25f63952","directory":"robotech-the-macross-saga-hd-edition","title":"Robotech: The Macross Saga HD Edition","compatibility":0,"releases":[{"id":"010060B0129CC000","region":null}]},{"id":"c4411a91-e256-40df-a155-1a22e0efce50","directory":"haunted-dungeonshyakki-castle","title":"Haunted Dungeons:Hyakki Castle","compatibility":99,"releases":[{"id":"010023F008204000","region":null}]},{"id":"c4456376-55e8-4ee6-8758-527c24370765","directory":"over-the-alps","title":"Over the Alps","compatibility":3,"releases":[{"id":"010036B0113DA000","region":null}]},{"id":"c44a489f-79bb-49dc-b70a-1ec5db6e612a","directory":"yum-yum-line","title":"Yum Yum Line","compatibility":99,"releases":[{"id":"0100A2F012DF0000","region":null}]},{"id":"c453103e-03ba-4d0f-ad3a-66fafc60676b","directory":"tin-kuna","title":"Tin & Kuna","compatibility":99,"releases":[{"id":"0100F7C010AF6000","region":null}]},{"id":"c45e9884-947d-4c4c-8212-653109dc1e42","directory":"samurai-jack-battle-through-time","title":"Samurai Jack: Battle Through Time","compatibility":2,"releases":[{"id":"01006C600E46E000","region":null}]},{"id":"c465feea-6b2f-4d11-9ddc-ac5f9197b3e2","directory":"dream","title":"Dream","compatibility":99,"releases":[{"id":"01008B20129F2000","region":null}]},{"id":"c46efd86-44de-4b38-a799-ac4eab7ce768","directory":"minefield","title":"Minefield","compatibility":99,"releases":[{"id":"01009C300DBAE000","region":null}]},{"id":"c470d2cf-8925-4f62-a3d8-be379fa27149","directory":"from-orbit","title":"From Orbit","compatibility":99,"releases":[{"id":"0100AE600DBE4000","region":null}]},{"id":"c4752998-ed9e-4a76-b23c-5f266f8bd0ab","directory":"grow-song-of-the-evertree","title":"Grow: Song of The Evertree","compatibility":2,"releases":[{"id":"0100409012F96000","region":null}]},{"id":"c4790696-6960-48ba-b3a9-2afb4fe10c2d","directory":"sam-max-save-the-world","title":"Sam & Max Save the World","compatibility":2,"releases":[{"id":"0100CD301354E000","region":null}]},{"id":"c47f3a10-d5ce-447c-a962-0ece8c570c50","directory":"sky-jaguar-2","title":"Sky Jaguar 2","compatibility":99,"releases":[{"id":"0100E0C010AB8000","region":null}]},{"id":"c4952f9f-21b4-4ee7-8e6b-fe281200c845","directory":"steamworld-heist-ultimate-edition","title":"SteamWorld Heist: Ultimate Edition","compatibility":3,"releases":[{"id":"0100A21007FFA000","region":null}]},{"id":"c4971599-2b71-43be-b442-417f16ba1e12","directory":"arcade-archives-halleys-comet","title":"Arcade Archives HALLEY'S COMET","compatibility":99,"releases":[{"id":"01006F9013B04000","region":null}]},{"id":"c4af1761-221f-42ff-b44a-8bea86898d66","directory":"bouncy-bob","title":"Bouncy Bob","compatibility":0,"releases":[{"id":"0100A2700A86E000","region":null}]},{"id":"c4b56fdf-8a54-427a-94f4-5b2b10d978c7","directory":"conga-master-party","title":"Conga Master Party!","compatibility":1,"releases":[{"id":"01007EF00399C000","region":null}]},{"id":"c4c82a56-178b-4d0c-aed2-7b9a8b218fa0","directory":"super-mombo-quest","title":"Super Mombo Quest","compatibility":99,"releases":[{"id":"0100DCC01376E000","region":null}]},{"id":"c4e8e471-9520-40e8-a0a0-25ba5fc103f8","directory":"panzer-paladin","title":"Panzer Paladin","compatibility":0,"releases":[{"id":"01004AE0108E0000","region":null}]},{"id":"c4f0b495-2d6f-4019-bb72-a70d77c66d55","directory":"flatland-prologue","title":"Flatland: Prologue","compatibility":99,"releases":[{"id":"0100B54012798000","region":null}]},{"id":"c5023d0c-fbc6-4969-837d-7e480ebf930a","directory":"one-piece-pirate-warriors-4","title":"ONE PIECE: PIRATE WARRIORS 4","compatibility":1,"releases":[{"id":"01008FE00E2F6000","region":null}]},{"id":"c502f999-e412-4572-81f2-7c0f47096359","directory":"death-race-2020","title":"Death Race 2020","compatibility":99,"releases":[{"id":"0100DD6013126000","region":null}]},{"id":"c5039b64-f5bf-4ae7-b551-3a6909e19997","directory":"deadbolt","title":"DEADBOLT","compatibility":0,"releases":[{"id":"01002ED00ACC0000","region":null}]},{"id":"c50529fe-7aef-4dfd-a0d2-0ae4d17e3ee0","directory":"escape-route","title":"Escape Route","compatibility":99,"releases":[{"id":"01009210144D4000","region":null}]},{"id":"c50b88f0-ff29-4937-84b1-eb4c2220f6d6","directory":"road-to-ballhalla","title":"Road to Ballhalla","compatibility":99,"releases":[{"id":"010002F009A7A000","region":null}]},{"id":"c50d9f1d-b075-4939-8866-0ee0279d6835","directory":"arcade-archives-armed-f","title":"Arcade Archives Armed F","compatibility":4,"releases":[{"id":"010014F001DE2000","region":null}]},{"id":"c50fa8d0-d653-48fb-b6c6-6deceb0f6f08","directory":"queens-quest-3-the-end-of-dawn","title":"Queen's Quest 3: The End of Dawn","compatibility":99,"releases":[{"id":"0100D4400D994000","region":null}]},{"id":"c51bca60-2437-4b21-aae8-4d7bdae36d85","directory":"half-dead","title":"HALF DEAD","compatibility":99,"releases":[{"id":"0100552011612000","region":null}]},{"id":"c522f52d-5498-446a-937b-90f3e64354cf","directory":"black-jack-world-tour","title":"Black Jack World Tour","compatibility":99,"releases":[{"id":"0100CDA013BFA000","region":null}]},{"id":"c5265389-4fe1-411b-9663-f6faa9199a7b","directory":"lost-dream","title":"Lost Dream","compatibility":99,"releases":[{"id":"01007A00162B8000","region":null}]},{"id":"c5277259-c305-45ce-868b-8b689945e062","directory":"uchu-shinshuchu","title":"Uchu Shinshuchu","compatibility":0,"releases":[{"id":"01007B1014570000","region":null}]},{"id":"c53a45b7-0c68-4de1-aa08-61822a61ae72","directory":"armed-to-the-gears","title":"Armed to the Gears","compatibility":99,"releases":[{"id":"0100BF1016A66000","region":null}]},{"id":"c53c81d9-d56f-4d53-ae8a-a92efd2752b4","directory":"keywe","title":"KeyWe","compatibility":1,"releases":[{"id":"0100E2B012056000","region":null}]},{"id":"c53f1c68-f8ee-42f0-be0a-e887379d43f1","directory":"g-mode-archives25-topolon","title":"G-MODE Archives25 Topolon","compatibility":99,"releases":[{"id":"0100038013A98000","region":null}]},{"id":"c54743be-644e-454c-be63-53bb934ef347","directory":"sally-face","title":"Sally Face","compatibility":1,"releases":[{"id":"0100BBF0122B4000","region":null}]},{"id":"c5597c17-3bb6-43aa-9606-7c7d9b1bb3a3","directory":"ohedo-towns","title":"Oh!Edo Towns","compatibility":99,"releases":[{"id":"01009A700DA8E000","region":null}]},{"id":"c559fe44-3396-48fc-910d-d543700b7185","directory":"pillar-demo","title":"Pillar Demo","compatibility":99,"releases":[{"id":"0100F5400D534000","region":null}]},{"id":"c561d0b7-c8c5-4208-acca-840c803473c2","directory":"half-past-fate-romantic-distancing","title":"Half Past Fate: Romantic Distancing","compatibility":1,"releases":[{"id":"0100095013EBA000","region":null}]},{"id":"c580d5a7-3d75-41e6-be41-f6e73ae26735","directory":"paradox-error","title":"Paradox Error","compatibility":99,"releases":[{"id":"010003A014D3A000","region":null}]},{"id":"c583921f-bbb6-4782-9f50-50d403bd694f","directory":"outbuddies-dx","title":"Outbuddies DX","compatibility":3,"releases":[{"id":"0100B8900EFA6000","region":null}]},{"id":"c58ad2f5-58f0-4568-9d27-8b8402b88949","directory":"time-carnage","title":"Time Carnage","compatibility":99,"releases":[{"id":"01004C500B698000","region":null}]},{"id":"c596bc23-68ed-4ee6-a985-026d1f082847","directory":"sagebrush","title":"Sagebrush","compatibility":99,"releases":[{"id":"010012100E208000","region":null}]},{"id":"c5a35c54-8e59-4f95-ae34-5a3e28afb163","directory":"opus-rocket-of-whispers","title":"OPUS: Rocket of Whispers","compatibility":99,"releases":[{"id":"01002C4009990000","region":null}]},{"id":"c5a90b54-c014-407c-b062-416818ff8b08","directory":"hero-hours-contract","title":"Hero Hours Contract","compatibility":99,"releases":[{"id":"0100EEE012280000","region":null}]},{"id":"c5af09f2-954c-4d4f-8929-b20649a3806b","directory":"colossus-down","title":"Colossus Down","compatibility":0,"releases":[{"id":"0100E2F0128B4000","region":null}]},{"id":"c5bab20d-5fc9-4021-910c-035713aca436","directory":"ms-splosion-man","title":"Ms. Splosion Man","compatibility":1,"releases":[{"id":"01005EF00B4BC000","region":null}]},{"id":"c5bd6cab-24b6-469f-bfdd-61d7c5988376","directory":"colossus-mission","title":"Colossus Mission","compatibility":99,"releases":[{"id":"010047A014B40000","region":null}]},{"id":"c5cc8f04-91fb-449b-a5d7-3c980da652d2","directory":"molecats","title":"Molecats","compatibility":99,"releases":[{"id":"0100E1100D92C000","region":null}]},{"id":"c5cc9870-0c01-4f1e-ac26-647465624e8e","directory":"hero-must-die-again","title":"Hero must die. again","compatibility":0,"releases":[{"id":"010049500F996000","region":null}]},{"id":"c5debb59-12e1-4307-aca2-46702ca0bb3f","directory":"pixel-game-maker-series-osyaberi-horijyo-holin-slash","title":"Pixel Game Maker Series Osyaberi! Horijyo! Holin Slash","compatibility":99,"releases":[{"id":"010061D0144D0000","region":null}]},{"id":"c5e150df-cc0a-4c74-a4a9-35660878087d","directory":"arcade-fuzz","title":"ARCADE FUZZ","compatibility":99,"releases":[{"id":"01005A8010C7E000","region":null}]},{"id":"c5e822e5-5d3a-4ec6-9a9d-0e3232feb159","directory":"gem-crash","title":"GEM CRASH","compatibility":99,"releases":[{"id":"010011000972A000","region":null}]},{"id":"c5e897c4-02e1-40b0-af27-60aa4267fc81","directory":"jdm-racing-2","title":"JDM Racing - 2","compatibility":0,"releases":[{"id":"01004C60139DE000","region":null}]},{"id":"c5ebebab-70b3-4fe8-bcbe-45d455ef1b9e","directory":"basketball-club-story","title":"Basketball Club Story","compatibility":99,"releases":[{"id":"010061B0114C4000","region":null}]},{"id":"c5eceaff-c78c-4fa1-acfd-2317a2770638","directory":"dog-duty","title":"Dog Duty","compatibility":99,"releases":[{"id":"01005D00107E8000","region":null}]},{"id":"c5f85324-98f8-4296-b4f9-3fb48763f150","directory":"idle-champions-of-the-forgotten-realms","title":"Idle Champions of the Forgotten Realms","compatibility":99,"releases":[{"id":"01001E700EB28000","region":null}]},{"id":"c6056fab-1f50-47dc-b82d-e5693251dc36","directory":"izneo","title":"izneo","compatibility":99,"releases":[{"id":"0100D8E00C874000","region":null}]},{"id":"c60e3e1b-4ce1-49b6-8317-5f0cd9c3479a","directory":"blaster-master-zero-demo","title":"Blaster Master Zero Demo","compatibility":99,"releases":[{"id":"010025B002E92000","region":null}]},{"id":"c60f03dc-95ae-4bff-b5a5-47d40a0bf223","directory":"alone-with-you","title":"Alone With You","compatibility":99,"releases":[{"id":"0100F0F01161A000","region":null}]},{"id":"c60fde57-6e37-4c66-8da8-e5c7104a6273","directory":"mx-nitro-unleashed","title":"MX Nitro: Unleashed","compatibility":99,"releases":[{"id":"0100161009E5C000","region":null}]},{"id":"c6213daa-3be8-4569-8fc0-636aaba3d10c","directory":"sword-art-online-hollow-realization-deluxe-edition","title":"SWORD ART ONLINE: Hollow Realization Deluxe Edition","compatibility":0,"releases":[{"id":"0100EC400D54E000","region":null}]},{"id":"c621a0e0-b234-40d2-b163-4394ddc3cd38","directory":"sweet-sugar-candy","title":"Sweet Sugar Candy","compatibility":99,"releases":[{"id":"010093F0155B0000","region":null}]},{"id":"c62a6831-c9f3-493f-b731-660b0dbc8725","directory":"capes-escape-game-2-5th-room","title":"Cape's Escape Game 2.5th Room","compatibility":99,"releases":[{"id":"01006320151D6000","region":null}]},{"id":"c62bee64-4378-4aeb-917c-cc950297e092","directory":"bug-fables-the-everlasting-sapling","title":"Bug Fables: The Everlasting Sapling","compatibility":1,"releases":[{"id":"010051A00E99E000","region":null}]},{"id":"c64cfd0b-e5a5-4adf-8f31-edf41b4c6767","directory":"struggling","title":"Struggling","compatibility":99,"releases":[{"id":"0100681011B56000","region":null}]},{"id":"c6554ce4-fcc4-4976-8125-e7521b65253e","directory":"riverbond","title":"Riverbond","compatibility":99,"releases":[{"id":"010087200289A000","region":null}]},{"id":"c656a41d-1b8f-4d19-8de4-858d7af2e70b","directory":"space-invaders-forever","title":"Space Invaders Forever","compatibility":0,"releases":[{"id":"0100F0C012C10000","region":null}]},{"id":"c65bbb0c-e378-4902-a7fd-ede1e179e257","directory":"super-star-panda","title":"Super Star Panda","compatibility":99,"releases":[{"id":"01005EB01363C000","region":null}]},{"id":"c6694e0b-5ee2-48ca-94c1-762b004051bc","directory":"piffle-a-cat-puzzle-adventure","title":"Piffle: A Cat Puzzle Adventure","compatibility":99,"releases":[{"id":"010092B010448000","region":null}]},{"id":"c672ea3a-7571-489e-b571-34e67250cd62","directory":"vigor","title":"Vigor","compatibility":99,"releases":[{"id":"0100E8200DAF4000","region":null}]},{"id":"c67c7673-d0cd-4422-b7e9-868e04dc2001","directory":"atelier-lydie-suelle-the-alchemists-and-the-mysterious-paintings-dx","title":"Atelier Lydie & Suelle: The Alchemists and the Mysterious Paintings DX","compatibility":3,"releases":[{"id":"01001A5014220000","region":null}]},{"id":"c67d00b0-1004-4c5e-a400-8fc4c940f1df","directory":"terror-squid","title":"TERROR SQUID","compatibility":99,"releases":[{"id":"010070C00FB56000","region":null}]},{"id":"c67da557-41b9-4b68-8a72-a4726da464f4","directory":"xenoblade-chronicles-2","title":"Xenoblade Chronicles 2","compatibility":2,"releases":[{"id":"0100E95004038000","region":null}]},{"id":"c6936c20-81e1-4129-a590-569b523dda03","directory":"arcade-archives-bio-ship-paladin","title":"Arcade Archives BIO-SHIP PALADIN","compatibility":99,"releases":[{"id":"010011D01505A000","region":null}]},{"id":"c6975b28-ef98-489c-9143-3a173730913f","directory":"80s-overdrive","title":"80's OVERDRIVE","compatibility":1,"releases":[{"id":"01006B1011B9E000","region":null}]},{"id":"c69c969c-6aed-4d46-a4a1-a7d2a5037e28","directory":"batman-the-telltale-series","title":"Batman - The Telltale Series","compatibility":1,"releases":[{"id":"0100011005D92000","region":null}]},{"id":"c6b3392a-ba8b-4f43-92f3-980be6b3649c","directory":"awkward","title":"Awkward","compatibility":99,"releases":[{"id":"010073900A7A0000","region":null}]},{"id":"c6b3c4bd-341e-464e-8613-152b793c221f","directory":"roundout-by-powgi","title":"Roundout by POWGI","compatibility":99,"releases":[{"id":"01000A001399A000","region":null}]},{"id":"c6bb32ac-2f51-492e-97d3-6a4d7cc62d72","directory":"clocker","title":"Clocker","compatibility":0,"releases":[{"id":"0100DF9013AD4000","region":null}]},{"id":"c6c23234-cb23-4951-be87-ea43e4c4d88e","directory":"smart-moves","title":"Smart Moves","compatibility":99,"releases":[{"id":"0100DA9013AB4000","region":null}]},{"id":"c6c5196d-2d33-4cfd-a302-f2a75f53bbb1","directory":"poly-bridge","title":"Poly Bridge","compatibility":1,"releases":[{"id":"0100EAB00605C000","region":null}]},{"id":"c6c53ece-e0a0-4bd1-80a7-1504997e7844","directory":"day-and-night","title":"Day and Night","compatibility":99,"releases":[{"id":"0100FCF00F6CC000","region":null}]},{"id":"c6ce761e-93e7-410c-8b84-e7a2c9716ba4","directory":"help-me-doctor","title":"Help Me Doctor","compatibility":99,"releases":[{"id":"01005080105C8000","region":null}]},{"id":"c6d370d1-fa68-4dfc-8d59-1e04643c0f1c","directory":"aca-neogeo-thrash-rally","title":"ACA NEOGEO THRASH RALLY","compatibility":3,"releases":[{"id":"010061900AFAC000","region":null}]},{"id":"c6d7e672-d0c4-491d-9b83-369409e8a026","directory":"dark-tower-rpg-dungeon-puzzle","title":"Dark Tower: RPG Dungeon Puzzle","compatibility":99,"releases":[{"id":"01001A5010CC6000","region":null}]},{"id":"c6e6e2ce-7526-4e9f-bc0d-0add47f575f3","directory":"7-years-from-now","title":"7 Years From Now","compatibility":99,"releases":[{"id":"0100E75014A64000","region":null}]},{"id":"c6f6cdec-9c8b-4988-80fa-2efb5b5492f4","directory":"go-all-out","title":"Go All Out!","compatibility":99,"releases":[{"id":"01000C800FADC000","region":null}]},{"id":"c6f81396-960a-449d-8707-ae70705b6aca","directory":"36-fragments-of-midnight","title":"36 Fragments of Midnight","compatibility":1,"releases":[{"id":"01003670066DE000","region":null}]},{"id":"c6fed24d-0b4e-4d5a-8af1-295107438f0b","directory":"super-dragonfly-chronicles","title":"Super Dragonfly Chronicles","compatibility":99,"releases":[{"id":"0100967012972000","region":null}]},{"id":"c7168215-db59-4b56-9e4d-7199c6763952","directory":"overboard","title":"Overboard!","compatibility":99,"releases":[{"id":"01000CA014CA0000","region":null}]},{"id":"c729b6fc-b9a8-4eb6-97e5-dfa7465c1fe9","directory":"outbreak-lost-hope","title":"Outbreak Lost Hope","compatibility":99,"releases":[{"id":"0100D9F013102000","region":null}]},{"id":"c72e41d9-0255-454f-b3a7-8ebc2cc816f7","directory":"coloring-book","title":"Coloring Book","compatibility":3,"releases":[{"id":"0100A7000BD28000","region":null}]},{"id":"c73107cb-1ecd-47e5-a035-ac06076c424e","directory":"tonight-we-riot","title":"Tonight We Riot","compatibility":99,"releases":[{"id":"0100D400100F8000","region":null}]},{"id":"c7530f7b-7243-4a7d-b5f1-f25df7b34ee6","directory":"r-type-r-final-2","title":"R-Type® Final 2","compatibility":3,"releases":[{"id":"0100F930136B6000","region":null}]},{"id":"c7572b6f-6bcd-40dd-a6c3-6c76f3205eed","directory":"nirvana-pilot-yume","title":"Nirvana Pilot Yume","compatibility":2,"releases":[{"id":"010020901088A000","region":null}]},{"id":"c785a106-ecbe-4b09-8fca-cf71c820f7d7","directory":"broken-lines","title":"Broken Lines","compatibility":1,"releases":[{"id":"0100A5800F6AC000","region":null},{"id":"0100BD8011BCC000","region":null}]},{"id":"c7880c0b-eea1-4168-9462-8b4a8364e8c3","directory":"trash-quest","title":"Trash Quest","compatibility":99,"releases":[{"id":"0100F19016702000","region":null}]},{"id":"c78b731a-1ed2-45f7-956e-2a4332520511","directory":"darkwood","title":"Darkwood","compatibility":1,"releases":[{"id":"010033500B7B6000","region":null}]},{"id":"c78e982c-d988-4544-8675-88750029221b","directory":"ubongo","title":"Ubongo","compatibility":0,"releases":[{"id":"0100992010BF8000","region":null}]},{"id":"c79189cb-b90f-4a7d-b458-ce8311ff6657","directory":"everybody-hearts","title":"Everybody, Hearts!","compatibility":99,"releases":[{"id":"0100A6900B77A000","region":null}]},{"id":"c79858c0-d88c-4ca1-b50d-e4522bd7ee37","directory":"cubers-arena","title":"Cubers: Arena","compatibility":99,"releases":[{"id":"010082E00F1CE000","region":null}]},{"id":"c7b987ff-6bbc-4527-bd44-32a59a866a2f","directory":"motogp-21","title":"MotoGP™21","compatibility":99,"releases":[{"id":"01000F5013820000","region":null}]},{"id":"c7c587e4-af22-452c-a28e-71009f361d2d","directory":"nekopara-vol1","title":"NEKOPARA Vol.1","compatibility":0,"releases":[{"id":"0100B4900AD3E000","region":null}]},{"id":"c7ca700c-6079-4f37-9aed-644cdc4f0a52","directory":"eagle-island","title":"Eagle Island","compatibility":0,"releases":[{"id":"010037400C7DA000","region":null}]},{"id":"c7cafc76-bd43-44e8-874c-5b19de1c42da","directory":"gofishing-3d","title":"GoFishing 3D","compatibility":99,"releases":[{"id":"01007BC00DE68000","region":null}]},{"id":"c7eb7d5b-b786-4953-ac78-c75f7d13ee08","directory":"doctor-who-the-lonely-assassins","title":"Doctor Who: The Lonely Assassins","compatibility":99,"releases":[{"id":"010007C0136C4000","region":null}]},{"id":"c807d286-1157-4f60-a907-573e5bc789d4","directory":"victor-vran-overkill-edition","title":"Victor Vran Overkill Edition","compatibility":99,"releases":[{"id":"0100E81007A06000","region":null}]},{"id":"c812cfae-21b3-4b86-8411-5a1e2b06b998","directory":"bioshock-the-collection","title":"BioShock: The Collection","compatibility":2,"releases":[{"id":"0100AD10102B2000","region":null}]},{"id":"c8259c90-60a8-4f4f-93d9-6f5add86a6a7","directory":"horizon-shift-81","title":"Horizon Shift '81","compatibility":99,"releases":[{"id":"010025300B914000","region":null}]},{"id":"c83b8b67-fa1a-4977-89c2-b9546cd22ccc","directory":"death-crown","title":"Death Crown","compatibility":99,"releases":[{"id":"0100A780135C8000","region":null}]},{"id":"c846733a-5cda-4100-bac7-1cf72fd9d44a","directory":"mina-michi","title":"Mina & Michi","compatibility":99,"releases":[{"id":"0100CBD012CF4000","region":null}]},{"id":"c84dae3a-ae58-44c9-986c-84b45b98f4b5","directory":"our-summer-festival","title":"Our Summer Festival","compatibility":99,"releases":[{"id":"0100D18016DAA000","region":null}]},{"id":"c85870fd-0bb0-446f-af8c-951b903c7138","directory":"exorder","title":"EXORDER","compatibility":1,"releases":[{"id":"0100FA800A1F4000","region":null}]},{"id":"c8637bd3-9250-4a2f-b4da-1e23e140389b","directory":"etherborn","title":"Etherborn","compatibility":5,"releases":[{"id":"01000E200BE10000","region":null}]},{"id":"c86b2560-afce-4370-acc3-5eca5f29ba72","directory":"yu-gi-oh-rush-duel-dawn-of-the-battle-royale","title":"Yu-Gi-Oh! RUSH DUEL: Dawn of the Battle Royale!!","compatibility":1,"releases":[{"id":"0100261015BE2000","region":null}]},{"id":"c87bc37f-ef27-43f4-b824-5714c8154f82","directory":"monaco-complete-edition","title":"Monaco: Complete Edition","compatibility":99,"releases":[{"id":"010007300DE1E000","region":null}]},{"id":"c87e85b6-0fe7-4d4c-9ce0-aa613686c26a","directory":"florence","title":"Florence","compatibility":0,"releases":[{"id":"010040700E8FC000","region":null}]},{"id":"c88710da-767d-4188-afe0-5d1b78b93930","directory":"my-universe-school-teacher","title":"My Universe - School Teacher","compatibility":99,"releases":[{"id":"01006C301199C000","region":null}]},{"id":"c88b6d61-2399-440d-badb-ec4125e4feea","directory":"world-for-two","title":"World for Two","compatibility":0,"releases":[{"id":"0100FC2012680000","region":null}]},{"id":"c897e8b0-584e-487b-81db-5c9d1930f492","directory":"castlestorm-ii","title":"CastleStorm II","compatibility":99,"releases":[{"id":"010007400EB64000","region":null}]},{"id":"c899441c-408c-40a2-8136-13495e10b713","directory":"fancy-solitaire","title":"Fancy Solitaire","compatibility":99,"releases":[{"id":"010055000F788000","region":null}]},{"id":"c8a34fbf-6b29-499d-ad60-99a0c6a4342c","directory":"shadow-fight-2","title":"Shadow Fight 2","compatibility":0,"releases":[{"id":"0100AB000ABFE000","region":null}]},{"id":"c8a6574e-5633-451b-89bc-78b688436795","directory":"cooking-tycoons-3-in-1-bundle","title":"Cooking Tycoons - 3 in 1 Bundle","compatibility":99,"releases":[{"id":"0100DF9010206000","region":null}]},{"id":"c8a7e202-d394-4ecc-a196-aed42620f516","directory":"sakura-succubus-2","title":"Sakura Succubus 2","compatibility":99,"releases":[{"id":"0100BC70149C6000","region":null}]},{"id":"c8ac42c0-fe02-40e2-808f-54fbc98c8361","directory":"nekomiko","title":"NekoMiko","compatibility":4,"releases":[{"id":"010043200F874000","region":null}]},{"id":"c8bd7d7d-3ee8-4356-aeac-79ec0e1e221e","directory":"long-ago-a-puzzle-tale","title":"Long Ago: A Puzzle Tale","compatibility":99,"releases":[{"id":"010063C00C688000","region":null}]},{"id":"c8bda8ca-1f8f-46a8-8901-f1f8d45d1a1c","directory":"party-planet","title":"Party Planet","compatibility":3,"releases":[{"id":"01004F10066B0000","region":null}]},{"id":"c8bfd672-8dde-4e61-b687-e72b4a64bbd4","directory":"pixboy","title":"Pixboy","compatibility":99,"releases":[{"id":"01005F2011F8C000","region":null}]},{"id":"c8c35b41-41df-4617-b1e8-cb31f72e08ed","directory":"crumble","title":"Crumble","compatibility":99,"releases":[{"id":"010011001458E000","region":null}]},{"id":"c8c4c39f-0b63-401c-a7ce-20258c7b877d","directory":"fullblast","title":"FullBlast","compatibility":0,"releases":[{"id":"01008D800AE4A000","region":null}]},{"id":"c8d292fa-dc62-4b41-905f-0cc7c8fd747f","directory":"hell-warders","title":"Hell Warders","compatibility":99,"releases":[{"id":"0100A2100BFCE000","region":null}]},{"id":"c8e092a1-e3e9-48c7-893e-448d60ab0dd1","directory":"rogue-wizards","title":"Rogue Wizards","compatibility":99,"releases":[{"id":"010076301319C000","region":null}]},{"id":"c8e550c4-6bbc-4501-a2ae-595a7188f7a9","directory":"shio","title":"Shio","compatibility":2,"releases":[{"id":"0100C2F00A568000","region":null}]},{"id":"c8f1d30a-f337-4984-ada3-99751fb468af","directory":"rise-of-insanity","title":"Rise of Insanity","compatibility":99,"releases":[{"id":"0100E9C010EA8000","region":null}]},{"id":"c9046710-9cdb-44bc-af35-7c9ec414b55f","directory":"chiki-chiki-boxy-racers","title":"Chiki-Chiki Boxy Racers","compatibility":1,"releases":[{"id":"01003CD00BE22000","region":null}]},{"id":"c90c3e60-5f47-46e7-aa30-deb550e13654","directory":"super-loop-drive","title":"Super Loop Drive","compatibility":3,"releases":[{"id":"01003E300FCAE000","region":null}]},{"id":"c91ac644-6113-4192-bb54-fefd37103fce","directory":"monster-energy-supercross-the-official-videogame-3","title":"Monster Energy Supercross - The Official Videogame 3","compatibility":3,"releases":[{"id":"010097800EA20000","region":null}]},{"id":"c933bafc-c4a2-4828-a2e8-0d9a10fd5d54","directory":"alt-frequencies","title":"Alt-Frequencies","compatibility":0,"releases":[{"id":"01003E700FD66000","region":null}]},{"id":"c944b8b7-09c1-4e6f-bbaa-0e5e1ae73619","directory":"frozen-friends","title":"Frozen Friends","compatibility":99,"releases":[{"id":"0100F8A010AEC000","region":null}]},{"id":"c9502af2-1fb5-4a15-acad-178f4c72ef60","directory":"the-swords-of-ditto-mormos-curse","title":"The Swords of Ditto: Mormo's Curse","compatibility":2,"releases":[{"id":"010037D00D568000","region":null}]},{"id":"c956eec0-0b9f-4cdf-b988-572b1f732abe","directory":"piczle-colors-demo","title":"Piczle Colors Demo","compatibility":99,"releases":[{"id":"010002A00D168000","region":null}]},{"id":"c9606e8a-9a3a-4798-b71d-7a9360b1f91d","directory":"tribal-pass","title":"Tribal Pass","compatibility":99,"releases":[{"id":"0100CCB012D4C000","region":null}]},{"id":"c9694e53-6387-49e4-a37b-43e7b17da247","directory":"galaxy-warfighter","title":"Galaxy Warfighter","compatibility":99,"releases":[{"id":"0100EDB01005C000","region":null}]},{"id":"c97691c0-6202-47f7-b2df-ac0ce4d9e9f5","directory":"gonner2","title":"GONNER2","compatibility":99,"releases":[{"id":"0100EA70127F2000","region":null}]},{"id":"c977bf2a-7cb0-4744-877c-a40f047b430b","directory":"neon-chrome","title":"Neon Chrome","compatibility":99,"releases":[{"id":"010075E0047F8000","region":null}]},{"id":"c9789750-ed07-49df-b9b1-64fef0c1efe9","directory":"crimson-spires","title":"Crimson Spires","compatibility":99,"releases":[{"id":"0100DC4013FFE000","region":null}]},{"id":"c99210a5-3b14-4ce9-81cb-1580c775b21d","directory":"sleep-attack","title":"Sleep Attack","compatibility":99,"releases":[{"id":"010050500FE30000","region":null}]},{"id":"c99f9891-7482-41ac-8513-14c17d23376f","directory":"battle-of-archers","title":"Battle of Archers","compatibility":99,"releases":[{"id":"0100B4801683A000","region":null}]},{"id":"c9a0ad16-0391-484b-82f1-fc15f75f07f9","directory":"smoots-golf","title":"Smoots Golf","compatibility":2,"releases":[{"id":"010030F015C8C000","region":null}]},{"id":"c9a6703f-c003-4388-a157-625a8d8c8cc3","directory":"samurai-warriors-5","title":"SAMURAI WARRIORS 5","compatibility":1,"releases":[{"id":"0100B28014132000","region":null}]},{"id":"c9aa3ef9-2f51-44a6-9117-c99c286b97f0","directory":"spy-alarm","title":"Spy Alarm","compatibility":99,"releases":[{"id":"01000E6015350000","region":null}]},{"id":"c9c0045d-b41a-4c50-80ce-2da2fe54801a","directory":"little-shopping","title":"Little Shopping","compatibility":99,"releases":[{"id":"0100DD700D95E000","region":null}]},{"id":"c9e0a022-6250-4a05-b591-838fbd6d843b","directory":"carebotz","title":"Carebotz","compatibility":99,"releases":[{"id":"0100BE00156AC000","region":null}]},{"id":"c9e202ab-9511-4013-a1b8-dfdbb8604f48","directory":"ball-attraction","title":"Ball Attraction","compatibility":99,"releases":[{"id":"010038F00ED14000","region":null}]},{"id":"c9ebf74b-b993-498b-acc7-7c7ad895bc3e","directory":"teddy-the-wanderer-kayaking","title":"Teddy the Wanderer: Kayaking","compatibility":99,"releases":[{"id":"0100F6200CBE0000","region":null}]},{"id":"c9ee83b4-f943-4b6d-bb80-b554667e944f","directory":"neighbours-back-from-hell","title":"Neighbours back From Hell","compatibility":1,"releases":[{"id":"010065F00F55A000","region":null}]},{"id":"c9f2a078-76ad-4fd8-a582-9ff6d79fb213","directory":"astro-duel-deluxe","title":"Astro Duel Deluxe","compatibility":1,"releases":[{"id":"0100F0400351C000","region":null}]},{"id":"c9f3a8ee-539b-429e-a3dc-4827c00ed4e2","directory":"sakura-nova","title":"Sakura Nova","compatibility":99,"releases":[{"id":"0100434015F7A000","region":null}]},{"id":"c9f3c0d2-9ad6-4001-b6c8-56c05f36c6f4","directory":"ritual-sorcerer-angel","title":"Ritual: Sorcerer Angel","compatibility":99,"releases":[{"id":"0100BD300F0EC000","region":null}]},{"id":"ca063b3e-bb1e-40b5-b245-ffb883ca0468","directory":"word-search-by-powgi-demo","title":"Word Search by POWGI Demo","compatibility":99,"releases":[{"id":"01009CF00A9C4000","region":null}]},{"id":"ca07bbf3-f069-4be0-aac1-bb00be43090a","directory":"arcade-archives-mario-bros","title":"Arcade Archives Mario Bros.","compatibility":0,"releases":[{"id":"0100755004608000","region":null}]},{"id":"ca09113d-782f-49c1-af49-b7b6125dd91a","directory":"pandemic","title":"Pandemic","compatibility":99,"releases":[{"id":"0100ADA00AD2E000","region":null}]},{"id":"ca17739e-04c3-47ec-a563-073ed05f054d","directory":"miners-races","title":"Miners Races","compatibility":99,"releases":[{"id":"0100EDA0163FE000","region":null}]},{"id":"ca188a91-920a-4852-9493-9ff85d54a13b","directory":"jet-lancer","title":"Jet Lancer","compatibility":5,"releases":[{"id":"0100F3500C70C000","region":null}]},{"id":"ca271e50-aedb-4830-8203-b60257d0e826","directory":"x-force-genesis","title":"X-Force Genesis","compatibility":1,"releases":[{"id":"010006C015C4A000","region":null}]},{"id":"ca317cda-7024-42ca-b3f8-1d83d865382c","directory":"1971-project-helios","title":"1971 Project Helios","compatibility":1,"releases":[{"id":"0100829010F4A000","region":null}]},{"id":"ca4b7009-3f74-42cc-b7e0-4e3cbfe1ddb8","directory":"super-archer","title":"Super Archer","compatibility":99,"releases":[{"id":"01008BE0155C0000","region":null}]},{"id":"ca5126d5-9123-468a-a88a-a9ff1516c3a8","directory":"littlewood","title":"Littlewood","compatibility":99,"releases":[{"id":"0100D1600EEBC000","region":null}]},{"id":"ca860e07-fdb5-4b0e-90ee-d0eed85446db","directory":"my-universe-cooking-star-restaurant","title":"My Universe - Cooking Star Restaurant","compatibility":99,"releases":[{"id":"0100158011A08000","region":null}]},{"id":"ca87641d-56c0-4771-9d1a-6636443d99ca","directory":"fly-oclock","title":"Fly O'Clock","compatibility":99,"releases":[{"id":"0100EDA00BBBE000","region":null}]},{"id":"ca88d3c0-d699-427e-9115-40bdda21bbd3","directory":"star-wars-pinball","title":"Star Wars Pinball","compatibility":2,"releases":[{"id":"01006DA00DEAC000","region":null}]},{"id":"ca8fd81a-ca35-40ae-964f-a0eb52e9d781","directory":"connect-the-dots","title":"Connect the Dots","compatibility":99,"releases":[{"id":"01007B30157A2000","region":null}]},{"id":"ca931d96-4ce8-4d58-8664-4c1ef5593081","directory":"pixel-devil-and-the-broken-cartridge","title":"Pixel Devil and the Broken Cartridge","compatibility":0,"releases":[{"id":"010011300D52A000","region":null}]},{"id":"ca960350-0efb-45dd-aaf1-f19b6b6b48b9","directory":"fallen-legion-revenants","title":"Fallen Legion Revenants","compatibility":99,"releases":[{"id":"0100AA801258C000","region":null}]},{"id":"ca96c634-e015-4a47-bd6a-bc667e8de962","directory":"pangeon","title":"Pangeon","compatibility":99,"releases":[{"id":"0100EF701265E000","region":null}]},{"id":"ca9713ee-7e6e-4326-b0da-fa63065076d8","directory":"tengam","title":"Tengam","compatibility":99,"releases":[{"id":"0100FDE012B22000","region":null}]},{"id":"ca9f51d0-81ac-4e5e-a3ac-ba0162e12167","directory":"jump-step-step","title":"Jump, Step, Step","compatibility":3,"releases":[{"id":"01003F300E7E2000","region":null}]},{"id":"caaa1e0c-2c0a-4174-84fd-3355f182debd","directory":"home-postmortem-edition","title":"Home: Postmortem Edition","compatibility":99,"releases":[{"id":"0100867011618000","region":null}]},{"id":"caae19cc-9e25-4d6e-847b-9d983c0137b6","directory":"hypercharge-unboxed","title":"HYPERCHARGE Unboxed","compatibility":99,"releases":[{"id":"0100A8B00F0B4000","region":null}]},{"id":"cabae146-223b-4ead-bd71-622589d10419","directory":"the-last-survey","title":"The Last Survey","compatibility":99,"releases":[{"id":"010062D0156C0000","region":null}]},{"id":"cac5eda1-94dc-4f3e-a6f1-78343a44d51f","directory":"crocs-world-2","title":"Croc's World 2","compatibility":99,"releases":[{"id":"01009DB00DE12000","region":null}]},{"id":"cacc6807-f4ae-40c6-b2ac-1fc0dacc2aa2","directory":"soul-axiom-rebooted","title":"Soul Axiom Rebooted","compatibility":99,"releases":[{"id":"010064F00C212000","region":null}]},{"id":"cace0cef-5403-4fa4-bb08-4ea499470dd2","directory":"king-of-fighters-r-2","title":"KING OF FIGHTERS R-2","compatibility":0,"releases":[{"id":"0100D47012330000","region":null}]},{"id":"cadd6a5a-42e1-42e1-99c4-1171011298ec","directory":"fhtagn-tales-of-the-creeping-madness","title":"Fhtagn! - Tales of the Creeping Madness","compatibility":1,"releases":[{"id":"01006B8014020000","region":null}]},{"id":"cae03fdd-da4d-4c6f-9af1-fab017238f59","directory":"demons-tilt","title":"DEMON'S TILT","compatibility":99,"releases":[{"id":"0100BE800E6D8000","region":null}]},{"id":"cae052d9-f040-4f91-8ac4-37ca1af14647","directory":"the-amazing-shinsengumi-heroes-in-love","title":"The Amazing Shinsengumi: Heroes in Love","compatibility":99,"releases":[{"id":"010083800B4E8000","region":null}]},{"id":"cae8172c-3a77-4141-9688-85fe69e6251f","directory":"super-korotama","title":"Super Korotama","compatibility":4,"releases":[{"id":"010000D00F81A000","region":null}]},{"id":"cb02e063-f193-4fa4-9f7a-f3de75a501c1","directory":"alternate-jake-hunter-daedalus-the-awakening-of-golden-jazz","title":"Alternate Jake Hunter: DAEDALUS The Awakening of Golden Jazz","compatibility":1,"releases":[{"id":"0100C3D00D1D4000","region":null}]},{"id":"cb087d81-7aa9-4125-a72f-b1529861263a","directory":"tomoyo-after-its-a-wonderful-life-cs-edition","title":"Tomoyo After -It's a Wonderful Life- CS Edition","compatibility":4,"releases":[{"id":"0100398010314000","region":null}]},{"id":"cb08a9ef-fc22-41c6-8515-89b6743c09d8","directory":"dreamscaper","title":"Dreamscaper","compatibility":99,"releases":[{"id":"010066C00FA94000","region":null}]},{"id":"cb0b294b-d669-423a-8405-a2a952c5b062","directory":"motorcycle-mechanic-simulator","title":"Motorcycle Mechanic Simulator","compatibility":99,"releases":[{"id":"010042900E464000","region":null}]},{"id":"cb13fb50-673c-4513-b100-802ed0be2b12","directory":"turok-2-seeds-of-evil","title":"Turok 2: Seeds of Evil","compatibility":5,"releases":[{"id":"0100CDC00D8D6000","region":null}]},{"id":"cb1774ca-aaf5-4610-98dc-fde63e2c318a","directory":"strikey-sisters","title":"Strikey Sisters","compatibility":4,"releases":[{"id":"010060600CFDE000","region":null}]},{"id":"cb3de65b-bfa7-4387-9445-567e76bee387","directory":"bring-honey-home","title":"Bring Honey Home","compatibility":99,"releases":[{"id":"0100A4D01514A000","region":null}]},{"id":"cb4069c1-a45e-475a-9754-d5faf800cfe7","directory":"the-copper-canyon-dixie-dash","title":"The Copper Canyon Dixie Dash","compatibility":99,"releases":[{"id":"01000F20102AC000","region":null}]},{"id":"cb40cc37-8da9-46d1-a34e-8f1b4d40b686","directory":"monster-energy-supercross-the-official-videogame-2","title":"Monster Energy Supercross - The Official Videogame 2","compatibility":99,"releases":[{"id":"0100F8100B982000","region":null}]},{"id":"cb48bd44-67e2-4b7e-b05b-ac697947bd25","directory":"my-big-sister","title":"My Big Sister","compatibility":99,"releases":[{"id":"0100A0F00D82A000","region":null}]},{"id":"cb49369e-de61-4788-92a6-d5dd28bba16a","directory":"pups-purrs-animal-hospital","title":"Pups & Purrs Animal Hospital","compatibility":99,"releases":[{"id":"0100649014936000","region":null}]},{"id":"cb4b039d-2c51-4680-9cea-edbd732884dd","directory":"arcade-archives-karate-champ","title":"Arcade Archives Karate Champ","compatibility":99,"releases":[{"id":"010071400981A000","region":null}]},{"id":"cb551b37-1476-4385-8299-f296bc10242a","directory":"blazblue-centralfiction-special-edition","title":"BLAZBLUE CENTRALFICTION Special Edition","compatibility":1,"releases":[{"id":"0100EE800C93E000","region":null}]},{"id":"cb552e5c-b3f1-452e-a981-357c71971e2e","directory":"castle-of-pixel-skulls","title":"Castle Of Pixel Skulls","compatibility":1,"releases":[{"id":"0100765014830000","region":null}]},{"id":"cb580b62-141e-4964-a3e8-acf6b483f7a6","directory":"battle-princess-madelyn-royal-edition","title":"Battle Princess Madelyn Royal Edition","compatibility":0,"releases":[{"id":"0100A7500DF64000","region":null}]},{"id":"cb5b0aaf-4ca0-45e6-b7b8-cfdde0385fca","directory":"squad-killer","title":"Squad Killer","compatibility":99,"releases":[{"id":"01002540144FA000","region":null}]},{"id":"cb5d0092-79c4-4f91-828a-1981c0e26282","directory":"spongebob-krusty-cook-off","title":"SpongeBob: Krusty Cook-Off","compatibility":1,"releases":[{"id":"01000D3013E8C000","region":null}]},{"id":"cb5e39fc-9bad-47b4-b211-ee27d7ea75eb","directory":"gun-crazy","title":"Gun Crazy","compatibility":1,"releases":[{"id":"01009630106A6000","region":null}]},{"id":"cb6191c7-493d-4746-b603-7addb885b6e9","directory":"animated-jigsaws-collection","title":"Animated Jigsaws Collection","compatibility":99,"releases":[{"id":"010098600CF06000","region":null}]},{"id":"cb63c93a-627b-4166-a4a7-61bbd6b96bca","directory":"mahluk-dark-demon","title":"Mahluk dark demon","compatibility":99,"releases":[{"id":"010099A0145E8000","region":null}]},{"id":"cb7db4f4-5b9c-4154-bebc-78248700852d","directory":"firewatch","title":"Firewatch","compatibility":2,"releases":[{"id":"0100AC300919A000","region":null}]},{"id":"cb7eeed9-2e57-46df-adf6-55219bdf1fcb","directory":"catastronauts","title":"Catastronauts","compatibility":99,"releases":[{"id":"0100DF3009730000","region":null}]},{"id":"cb808a50-3842-4709-9c7c-fa8be3965995","directory":"swallow-up","title":"Swallow Up","compatibility":99,"releases":[{"id":"010078800EE1A000","region":null}]},{"id":"cb80b3b6-a5e1-45f4-840b-a55954e60034","directory":"s-w-a-n-chernobyl-unexplored","title":"S.W.A.N.: Chernobyl Unexplored","compatibility":99,"releases":[{"id":"010062E015ED6000","region":null}]},{"id":"cb80f3a9-99ca-4f5f-8627-9b6f53304c5e","directory":"death-road-to-canada","title":"Death Road to Canada","compatibility":2,"releases":[{"id":"0100423009358000","region":null}]},{"id":"cb84791b-1e15-45b0-9711-f92a394e4367","directory":"dual-brain-vol2-reflex","title":"Dual Brain Vol.2: Reflex","compatibility":1,"releases":[{"id":"010065D0103D6000","region":null}]},{"id":"cb9cb1f7-9931-49b9-a217-33bf80ebc907","directory":"the-caligula-effect-2","title":"The Caligula Effect 2","compatibility":1,"releases":[{"id":"0100CC3014886000","region":null}]},{"id":"cbb497bf-6fd7-45fa-b002-a0ca10652d83","directory":"grisaia-phantom-trigger-04","title":"GRISAIA PHANTOM TRIGGER 04","compatibility":99,"releases":[{"id":"0100D970123BA000","region":null}]},{"id":"cbb9c34a-36ca-4c3b-ad53-1165b0b6bad4","directory":"super-neptunia-rpg","title":"Super Neptunia RPG","compatibility":1,"releases":[{"id":"01004D600AC14000","region":null}]},{"id":"cbc223e1-cb96-4162-a883-d36fa796bd64","directory":"qube-qross","title":"Qube Qross","compatibility":99,"releases":[{"id":"01000930140DA000","region":null}]},{"id":"cbc53983-3e22-4f71-a247-5606bf2768a3","directory":"dusk","title":"DUSK","compatibility":1,"releases":[{"id":"01007740160D4000","region":null}]},{"id":"cbd234eb-d5e0-4054-a9a1-dd244d506174","directory":"warioware-get-it-together","title":"WarioWare™: Get It Together!","compatibility":0,"releases":[{"id":"0100563010E0C000","region":null}]},{"id":"cbd51097-2ee4-4a44-8b92-36baee6f2001","directory":"nba-2k19","title":"NBA 2K19","compatibility":5,"releases":[{"id":"01001FF00B544000","region":null}]},{"id":"cbd7591d-abd5-4520-8d63-287f8cffdc72","directory":"city-builder","title":"City Builder","compatibility":99,"releases":[{"id":"0100D4800AEC8000","region":null}]},{"id":"cbd89458-d691-4ea9-9ca9-15fb061e0b6c","directory":"jackquest-the-tale-of-the-sword","title":"JackQuest: The Tale of the Sword","compatibility":2,"releases":[{"id":"0100C80009ABE000","region":null}]},{"id":"cbda9727-d9a1-4bb0-85c5-e1ce304e83e2","directory":"paw-paw-paw","title":"Paw Paw Paw","compatibility":1,"releases":[{"id":"01008E2013144000","region":null}]},{"id":"cbdae4b7-2e85-4c1d-9e52-dc21a428b2dd","directory":"little-bit-war","title":"Little Bit War","compatibility":99,"releases":[{"id":"0100572010EF8000","region":null}]},{"id":"cbde3179-0a2a-4939-a3c1-e378896418fe","directory":"panda-hero","title":"Panda Hero","compatibility":99,"releases":[{"id":"01002A300BDE2000","region":null}]},{"id":"cbe31cbc-2922-4b2f-b8a9-9cd050818284","directory":"party-arcade","title":"Party Arcade","compatibility":99,"releases":[{"id":"01007FC00A040000","region":null}]},{"id":"cbedf444-c5e7-42f2-a93b-a2dd91daae3d","directory":"they-came-from-the-sky","title":"They Came From the Sky","compatibility":99,"releases":[{"id":"0100768010970000","region":null}]},{"id":"cbfd8b2d-436e-49af-877f-6e9687a92a64","directory":"fightn-rage","title":"Fight'N Rage","compatibility":2,"releases":[{"id":"0100C7D00E730000","region":null}]},{"id":"cc025a72-82e5-4b63-8a9d-3fc8dd70b8d4","directory":"voice-of-cards-the-isle-dragon-roars","title":"Voice of Cards: The Isle Dragon Roars","compatibility":99,"releases":[{"id":"010071400F836000","region":null}]},{"id":"cc0aa2e8-b3ea-4540-97c3-82f84d133d99","directory":"steinsgate-0","title":"STEINS;GATE 0","compatibility":99,"releases":[{"id":"010037700E9B8000","region":null}]},{"id":"cc0c1344-4671-4483-8249-d82300c414b9","directory":"cruisn-blast","title":"Cruis'n Blast","compatibility":1,"releases":[{"id":"0100B41013C82000","region":null}]},{"id":"cc0d539c-7bd8-4566-9988-c4647c20448b","directory":"steam-rails-to-riches-complete-edition","title":"Steam: Rails to Riches Complete Edition","compatibility":99,"releases":[{"id":"0100E3C0146E4000","region":null}]},{"id":"cc1844f1-f849-4df7-8813-8ff22e2273ba","directory":"bus-driver-simulator","title":"Bus Driver Simulator","compatibility":99,"releases":[{"id":"010030D012FF6000","region":null}]},{"id":"cc26dca0-58da-4b04-a719-9772dd9fe811","directory":"nosferatu-lilinor","title":"Nosferatu Lilinor","compatibility":99,"releases":[{"id":"0100373010D26000","region":null}]},{"id":"cc2736fe-1fcc-4518-a53d-38df55f4e0d5","directory":"gorogoa","title":"Gorogoa","compatibility":1,"releases":[{"id":"0100F2A005C98000","region":null}]},{"id":"cc38443a-4c0e-493a-a011-21c7ee9d0e68","directory":"bomber-fox","title":"Bomber Fox","compatibility":99,"releases":[{"id":"0100A1F012948000","region":null}]},{"id":"cc40f76e-0f60-488d-8065-5a64b0b5ae80","directory":"kirby-star-allies-demo","title":"Kirby™ Star Allies Demo","compatibility":2,"releases":[{"id":"01005A70096FA000","region":null}]},{"id":"cc482256-0dd4-4068-9151-e14f6195c19a","directory":"duo-zombies","title":"Duo Zombies","compatibility":99,"releases":[{"id":"01009AB01613E000","region":null}]},{"id":"cc4fc296-6332-4956-be3d-e321fcd60159","directory":"rad","title":"RAD","compatibility":99,"releases":[{"id":"010024400C516000","region":null}]},{"id":"cc5985e3-0f69-416b-a3b6-0ffddf11a20d","directory":"re-turn-one-way-trip","title":"Re:Turn - One Way Trip","compatibility":99,"releases":[{"id":"0100F03011616000","region":null}]},{"id":"cc5da67e-0e30-4978-9271-c9f296a92915","directory":"the-persistence","title":"The Persistence","compatibility":99,"releases":[{"id":"010050101127C000","region":null}]},{"id":"cc5e4654-7017-4f33-807a-59a21c4660c0","directory":"halcyon-6-starbase-commander","title":"Halcyon 6: Starbase Commander","compatibility":99,"releases":[{"id":"01006B30092F0000","region":null}]},{"id":"cc5e7f66-1c3a-47a3-9c7f-c0f6e6bcbd6b","directory":"trine-2-complete-story","title":"Trine 2: Complete Story","compatibility":1,"releases":[{"id":"010064E00A932000","region":null}]},{"id":"cc70180e-f9f8-4109-8d9f-6f90e70e9fb4","directory":"sine-mora-ex","title":"Sine Mora EX","compatibility":2,"releases":[{"id":"01002820036A8000","region":null}]},{"id":"cc7105cc-d004-428f-8684-14b2c4de37ed","directory":"monkey-business","title":"Monkey Business","compatibility":99,"releases":[{"id":"010038800DF74000","region":null}]},{"id":"cc7f308e-4167-4551-b8e7-a115bcd247cc","directory":"the-dungeon-of-naheulbeuk-the-amulet-of-chaos-chicken-edition","title":"The Dungeon of Naheulbeuk: The Amulet of Chaos - Chicken Edition","compatibility":1,"releases":[{"id":"010023901191C000","region":null}]},{"id":"cc8156fd-8707-459e-abdd-08fec694f6a3","directory":"word-crush-hidden","title":"Word Crush Hidden","compatibility":99,"releases":[{"id":"010078E0153A6000","region":null}]},{"id":"cc88c22d-68a1-4958-96ee-aefb1eb02775","directory":"the-last-kids-on-earth-and-the-staff-of-doom","title":"The Last Kids on Earth and the Staff of Doom","compatibility":99,"releases":[{"id":"0100C27011544000","region":null}]},{"id":"cc95687d-82e9-4b4d-8227-cb7d1c9912bd","directory":"baba-is-you","title":"Baba Is You","compatibility":0,"releases":[{"id":"01002CD00A51C000","region":null}]},{"id":"cca68f1a-c50a-4bf6-b852-c3c6cc86e346","directory":"2064-read-only-memories-integral","title":"2064: Read Only Memories INTEGRAL","compatibility":1,"releases":[{"id":"010024C0067C4000","region":null}]},{"id":"ccbaf4f1-e05e-4bc9-8ed7-9801f3ef1579","directory":"vaccine","title":"Vaccine","compatibility":99,"releases":[{"id":"01009E2003FE2000","region":null}]},{"id":"cccd91c7-d6d1-45de-ae61-39c9c05976a2","directory":"inexistence-rebirth","title":"Inexistence Rebirth","compatibility":3,"releases":[{"id":"010001D014348000","region":null}]},{"id":"ccd3dc80-f4a9-4228-be22-e72fa48dbf77","directory":"drink-more-glurp","title":"Drink More Glurp","compatibility":99,"releases":[{"id":"010093F00F894000","region":null}]},{"id":"ccd764c8-60b2-4bfe-b5f6-38fb07090490","directory":"borderlands-the-pre-sequel","title":"Borderlands: The Pre-Sequel","compatibility":0,"releases":[{"id":"010007400FF24000","region":null}]},{"id":"ccd7e06f-775b-429e-97ff-2538cca17218","directory":"watermelon-party","title":"Watermelon Party","compatibility":99,"releases":[{"id":"010047800E516000","region":null}]},{"id":"ccd882ac-1d3a-4426-81c1-03b012ec3abb","directory":"suicide-guy-collection","title":"Suicide Guy Collection","compatibility":99,"releases":[{"id":"01001E3012CC2000","region":null}]},{"id":"cce3b7cf-a68a-42b6-9af0-9207099050d2","directory":"uno-for-nintendo-switch","title":"UNO for Nintendo Switch","compatibility":3,"releases":[{"id":"01005AA00372A000","region":null}]},{"id":"cce84b72-8d2e-4dda-bde1-a20f1ac3100a","directory":"street-cleaner-the-video-game","title":"Street Cleaner: The Video Game","compatibility":99,"releases":[{"id":"0100D460144F2000","region":null}]},{"id":"ccea107e-b24c-4479-9faa-68e86db5f05f","directory":"world-of-riders","title":"World Of Riders","compatibility":99,"releases":[{"id":"010020500E862000","region":null}]},{"id":"ccefc5f4-992d-4e63-bb0e-104eacb48ee1","directory":"asdivine-hearts","title":"Asdivine Hearts","compatibility":0,"releases":[{"id":"010042800A516000","region":null}]},{"id":"ccf6fb52-a310-4066-be2b-6fdde386d4fa","directory":"how-buddys-parents-met","title":"How Buddy’s parents met","compatibility":99,"releases":[{"id":"010060D0158DC000","region":null}]},{"id":"ccf89113-9166-4747-b999-0f2f6ac22b97","directory":"the-unholy-society","title":"The Unholy Society","compatibility":99,"releases":[{"id":"0100E4C011304000","region":null}]},{"id":"ccffb1d6-6afc-46db-b0e1-c17fcffafb6e","directory":"bring-them-home","title":"Bring Them Home","compatibility":99,"releases":[{"id":"01000BF00BE40000","region":null}]},{"id":"cd1335e3-2a3e-499f-a87e-4d1c46f9b3ba","directory":"darkest-hunters","title":"Darkest Hunters","compatibility":99,"releases":[{"id":"0100F1F00D5B2000","region":null}]},{"id":"cd1e9d00-e470-40de-a49c-ade2092598d9","directory":"loot-hero-dx","title":"Loot Hero DX","compatibility":99,"releases":[{"id":"010077E013D60000","region":null}]},{"id":"cd20ff54-0daf-495f-8159-0180081d12fe","directory":"haunted-dawn-the-zombie-apocalypse","title":"Haunted Dawn: The Zombie Apocalypse","compatibility":99,"releases":[{"id":"01009E6014F18000","region":null}]},{"id":"cd25a2ee-661f-4603-b7ba-65f3e0118296","directory":"animal-fun-for-toddlers-and-kids","title":"Animal Fun for Toddlers and Kids","compatibility":99,"releases":[{"id":"01002F4011A8E000","region":null}]},{"id":"cd28ecd8-377e-4708-a988-b836425b081d","directory":"the-legend-of-heroes-trails-of-cold-steel-iii","title":"The Legend of Heroes: Trails of Cold Steel III","compatibility":0,"releases":[{"id":"01005420101DA000","region":null}]},{"id":"cd3a54c9-496e-4350-aeb4-aec0caab34ad","directory":"league-of-evil-demo","title":"League of Evil Demo","compatibility":99,"releases":[{"id":"01005B3005D6E000","region":null}]},{"id":"cd3e58ab-949f-4c4f-8750-407dc47bdde2","directory":"star-drives","title":"Star Drives","compatibility":99,"releases":[{"id":"010011D015FF6000","region":null}]},{"id":"cd4a6884-62e0-4b47-b8b6-e763bef482bc","directory":"wolflame","title":"Wolflame","compatibility":3,"releases":[{"id":"01003380113A2000","region":null}]},{"id":"cd87b4b8-6ac2-4492-afed-441a74d62b31","directory":"button-city","title":"Button City","compatibility":99,"releases":[{"id":"0100754013D5A000","region":null}]},{"id":"cd89c3b1-db23-426a-859b-21e024d1ed3b","directory":"aca-neogeo-riding-hero","title":"ACA NEOGEO RIDING HERO","compatibility":99,"releases":[{"id":"01002C900A302000","region":null}]},{"id":"cd944f21-5a03-4ce3-ac5f-a9c1843f1324","directory":"blades-of-time","title":"Blades of Time","compatibility":5,"releases":[{"id":"0100CFA00CC74000","region":null}]},{"id":"cd9d9265-0bba-473a-ba8b-55e94e38b508","directory":"the-longest-five-minutes","title":"The Longest Five Minutes","compatibility":1,"releases":[{"id":"0100CE1004E72000","region":null}]},{"id":"cd9d9b3a-748d-4761-ba9e-89d6ddd39a0b","directory":"arcade-archives-front-line","title":"Arcade Archives FRONT LINE","compatibility":5,"releases":[{"id":"0100496006EC8000","region":null}]},{"id":"cda8f354-238a-43dd-9c3c-c927ee7d43ff","directory":"flan","title":"Flan","compatibility":99,"releases":[{"id":"010038200E088000","region":null}]},{"id":"cdaaf147-7d32-4e9d-9e59-8a05449a0c09","directory":"bleed","title":"Bleed","compatibility":2,"releases":[{"id":"010042C006490000","region":null}]},{"id":"cdb612a8-292c-413b-b9b7-84d9fe156532","directory":"air-mail","title":"Air Mail","compatibility":99,"releases":[{"id":"01004C700B106000","region":null}]},{"id":"cdbbc335-3bd6-409d-9172-36c081ebf41b","directory":"surviving-the-aftermath","title":"Surviving the Aftermath","compatibility":99,"releases":[{"id":"0100F61013456000","region":null}]},{"id":"cdc89699-5c9c-4dcf-8767-da53bd86bafb","directory":"levels-addictive-puzzle-game","title":"Levels+ : Addictive Puzzle Game","compatibility":99,"releases":[{"id":"0100C960041DC000","region":null}]},{"id":"cdcb3d2a-6420-4bbe-bf4a-a81d80786b58","directory":"verlet-swing","title":"Verlet Swing","compatibility":99,"releases":[{"id":"0100E9D00D268000","region":null}]},{"id":"cdd1bbc8-eac9-4ad2-b534-7fef58b31732","directory":"rhythm-of-the-gods","title":"Rhythm of the Gods","compatibility":99,"releases":[{"id":"010081D0100F0000","region":null}]},{"id":"cdd72e98-068e-47e6-b3d5-4ab12fe35922","directory":"pic-a-pix-deluxe","title":"Pic-a-Pix Deluxe","compatibility":4,"releases":[{"id":"01005F900416E000","region":null}]},{"id":"cdd921fa-ce48-4396-9ff1-e2c9bfc90f18","directory":"pokemon-sword","title":"Pokémon Sword","compatibility":2,"releases":[{"id":"0100ABF008968000","region":null}]},{"id":"cde0bfc1-a505-4c0a-8a2a-d18f6d65816e","directory":"lumo","title":"Lumo","compatibility":2,"releases":[{"id":"0100FF00042EE000","region":null}]},{"id":"cde65c8b-ed48-4e92-b58e-151eddba7d96","directory":"yokus-island-express-demo","title":"Yoku's Island Express Demo","compatibility":99,"releases":[{"id":"0100D6300B938000","region":null}]},{"id":"cdf36837-bdc0-4b2f-bd33-adfbc39394b9","directory":"hyperforma","title":"Hyperforma","compatibility":99,"releases":[{"id":"01006EA00D892000","region":null}]},{"id":"cdf703c8-ff13-40aa-8e6d-345803f70550","directory":"blood-waves","title":"Blood Waves","compatibility":3,"releases":[{"id":"01007E700D17E000","region":null}]},{"id":"cdf8e50b-7aff-4400-8750-378ccb48280d","directory":"ball-physics-draw-puzzles","title":"Ball Physics Draw Puzzles","compatibility":99,"releases":[{"id":"0100EF0015F3C000","region":null}]},{"id":"cdfa2e00-041a-4fe1-8c8b-bb4aa07c25d1","directory":"forgotten-tales-day-of-the-dead","title":"Forgotten Tales - Day of the Dead","compatibility":99,"releases":[{"id":"010064300CFD4000","region":null}]},{"id":"cdfde087-8a2b-4c17-b37b-d3e077b394f7","directory":"windjammers-2","title":"Windjammers 2","compatibility":0,"releases":[{"id":"0100AF500EF0C000","region":null}]},{"id":"ce18c9e8-5eba-49b2-a438-b01733611448","directory":"okami-hd","title":"OKAMI HD","compatibility":3,"releases":[{"id":"0100276009872000","region":null}]},{"id":"ce366ef7-b0cb-4aeb-a4f3-0a29d3c85239","directory":"hexceed","title":"hexceed","compatibility":99,"releases":[{"id":"0100F59014E8C000","region":null}]},{"id":"ce42c395-1eb5-4754-89d8-2d8af5e9911a","directory":"10-second-ninja-x","title":"10 Second Ninja X","compatibility":99,"releases":[{"id":"010055501321C000","region":null}]},{"id":"ce517396-9e24-4c0c-8d10-37272f8bbd4a","directory":"duel-on-board","title":"Duel on Board","compatibility":99,"releases":[{"id":"01006AA013A2A000","region":null}]},{"id":"ce61e0c5-64c6-426c-a14f-78c6b844decf","directory":"breakforcist-battle","title":"#Breakforcist Battle","compatibility":99,"releases":[{"id":"010038B0084EA000","region":null}]},{"id":"ce63b99c-6cb7-47a9-b975-ba4d35ca8aa7","directory":"the-dark-side-of-the-moon-an-interactive-fmv-thriller","title":"The Dark Side of the Moon: An Interactive FMV Thriller","compatibility":99,"releases":[{"id":"0100E9D016226000","region":null}]},{"id":"ce6875a4-2797-431d-bd6e-b8906067a896","directory":"dread-nautical","title":"Dread Nautical","compatibility":0,"releases":[{"id":"010045500D0F4000","region":null}]},{"id":"ce6b3b84-afba-4293-8c22-17202a801b0f","directory":"dragon-ball-fighterz","title":"DRAGON BALL FIGHTERZ","compatibility":3,"releases":[{"id":"0100A250097F0000","region":null}]},{"id":"ce70fe99-3288-4dce-bd37-e735e7aef120","directory":"arcade-archives-heroic-episode","title":"Arcade Archives HEROIC EPISODE","compatibility":99,"releases":[{"id":"01009A4008A30000","region":null}]},{"id":"ce7f6147-6cdb-4bb8-a425-b64ddd7d3773","directory":"deathsmiles-i-ii","title":"Deathsmiles I・II","compatibility":99,"releases":[{"id":"01009120119B4000","region":null}]},{"id":"ce8014b8-12a9-497e-a129-678b4825874b","directory":"pushy-and-pully-in-blockland","title":"Pushy and Pully in Blockland","compatibility":0,"releases":[{"id":"0100F1200F6D8000","region":null}]},{"id":"ce869a12-1960-43cf-a148-4a025ba260b8","directory":"snakes-ladders","title":"Snakes & Ladders","compatibility":99,"releases":[{"id":"010052C00ABFA000","region":null}]},{"id":"ce9a5ab0-ab33-4aed-93da-ca5dcaa98198","directory":"farmers-co-op-out-of-this-world","title":"Farmers Co-op: Out of This World","compatibility":99,"releases":[{"id":"0100C6F013FFA000","region":null}]},{"id":"cea16a5f-0261-4cc5-b1d0-834a0d7556a6","directory":"the-adventure-pals","title":"The Adventure Pals","compatibility":0,"releases":[{"id":"01008ED0087A4000","region":null}]},{"id":"cea6c029-2d9c-40ea-a1b4-5d057c9bd080","directory":"use-your-words","title":"Use Your Words","compatibility":99,"releases":[{"id":"01007C0003AEC000","region":null}]},{"id":"ceb7714e-c499-47a4-9815-bb8c42d5e481","directory":"stray-cat-doors","title":"Stray Cat Doors","compatibility":1,"releases":[{"id":"01002D200CF50000","region":null}]},{"id":"cebb097e-3fa4-4016-b784-99fd8a974334","directory":"digerati-indie-darling-bundle-vol-3","title":"Digerati Indie Darling Bundle Vol. 3","compatibility":99,"releases":[{"id":"01004DE011076000","region":null}]},{"id":"cebeb3e5-4cda-4a20-be65-b33a796c1213","directory":"arcade-archives-markham","title":"Arcade Archives MARKHAM","compatibility":99,"releases":[{"id":"0100299013ADE000","region":null}]},{"id":"cec30012-c1bb-499b-b75c-301671db0e6a","directory":"robots-under-attack","title":"Robots under attack!","compatibility":99,"releases":[{"id":"010077C00F370000","region":null}]},{"id":"ced95c05-589f-4a8e-8b2f-e382f5679763","directory":"its-spring-again","title":"It's Spring Again","compatibility":99,"releases":[{"id":"0100EDC00AAAA000","region":null}]},{"id":"cedeac46-4719-4976-a50a-f927937fbf08","directory":"odallus-the-dark-call","title":"Odallus: The Dark Call","compatibility":5,"releases":[{"id":"010084300C816000","region":null}]},{"id":"cedfb609-0b65-48bd-ad5c-3864fd46ccb1","directory":"the-last-door-complete-edition","title":"The Last Door - Complete Edition","compatibility":99,"releases":[{"id":"0100DBE00C76C000","region":null}]},{"id":"cee6fc03-23d0-4456-bfd3-07da321026fe","directory":"oddworld-new-n-tasty","title":"Oddworld: New 'n' Tasty","compatibility":2,"releases":[{"id":"01005E700ABB8000","region":null}]},{"id":"cef343ca-704b-4de7-ad1b-f8eaf060eac1","directory":"rock-n-racing-bundle-off-road-grand-prix","title":"Rock 'N Racing Bundle Off Road & Grand Prix","compatibility":99,"releases":[{"id":"01008F801398E000","region":null}]},{"id":"cf07ac2a-1540-4027-9293-8290a3e1595b","directory":"kathy-rain-directors-cut","title":"Kathy Rain: Director's Cut","compatibility":99,"releases":[{"id":"0100892015238000","region":null}]},{"id":"cf0cb27c-1ff6-4470-9c73-3ae9c72a2f66","directory":"torchlight-iii","title":"Torchlight III","compatibility":3,"releases":[{"id":"010075400DDB8000","region":null}]},{"id":"cf110387-7b68-44dc-beca-98fce95caccc","directory":"forestry-the-simulation","title":"Forestry - The Simulation","compatibility":99,"releases":[{"id":"01002E9014308000","region":null}]},{"id":"cf26d197-406e-48b4-b554-c4baa91a5e77","directory":"shadows-2-perfidia","title":"Shadows 2: Perfidia","compatibility":1,"releases":[{"id":"010000000EEF0000","region":null}]},{"id":"cf2a674d-1044-4f6d-a777-234d176a68c8","directory":"morbid-the-seven-acolytes","title":"Morbid: The Seven Acolytes","compatibility":2,"releases":[{"id":"010040E00F642000","region":null}]},{"id":"cf3ade4e-b5a9-447e-8c43-0514a23223cc","directory":"dragon-star-varnir","title":"Dragon Star Varnir","compatibility":99,"releases":[{"id":"01001C60148CC000","region":null}]},{"id":"cf444c4d-3c94-4e9f-b366-b3a216cf2fac","directory":"light-fingers","title":"Light Fingers","compatibility":99,"releases":[{"id":"0100A0E005E42000","region":null}]},{"id":"cf447abc-ab26-437a-98bc-ef9fa392e812","directory":"final-fantasy-xv-pocket-edition-hd","title":"FINAL FANTASY XV POCKET EDITION HD","compatibility":2,"releases":[{"id":"010068F00AA78000","region":null}]},{"id":"cf4aa029-0071-447a-9e7a-2bb434f52e03","directory":"gryphon-knight-epic-definitive-edition","title":"Gryphon Knight Epic: Definitive Edition","compatibility":99,"releases":[{"id":"0100A16011872000","region":null}]},{"id":"cf4da2c5-3c0d-4e56-9083-6ede1e89382f","directory":"aaero-complete-edition","title":"Aaero: Complete Edition","compatibility":0,"releases":[{"id":"010097A00CC0A000","region":null}]},{"id":"cf63d44a-a64f-4409-93a0-f2827413d2e8","directory":"octahedron-transfixed-edition","title":"Octahedron: Transfixed Edition","compatibility":5,"releases":[{"id":"010049100B93E000","region":null}]},{"id":"cf6a4659-07ee-4348-b7f3-899f7ec1c47e","directory":"super-chariot","title":"Super Chariot","compatibility":3,"releases":[{"id":"010065F004E5E000","region":null}]},{"id":"cf6eb529-7009-4262-8a4c-fecb4f207bc4","directory":"kiai-resonance","title":"Kiai Resonance","compatibility":99,"releases":[{"id":"010087D00C82E000","region":null}]},{"id":"cf7b72d0-4c67-4002-9d39-d304c29e1b27","directory":"murder-diaries","title":"Murder Diaries","compatibility":99,"releases":[{"id":"0100262015908000","region":null}]},{"id":"cf7cec36-3b0c-4436-b09b-806fa1496894","directory":"citizens-of-space","title":"Citizens of Space","compatibility":99,"releases":[{"id":"0100E4200D84E000","region":null}]},{"id":"cf979370-d03c-43f6-a67a-25d10b83049a","directory":"evil-tonight","title":"Evil Tonight","compatibility":4,"releases":[{"id":"01001B2013D72000","region":null}]},{"id":"cf9ab91c-f627-4953-933a-28b8bd0f5e38","directory":"shieldwall-chronicles-swords-of-the-north","title":"Shieldwall Chronicles: Swords of the North","compatibility":99,"releases":[{"id":"0100C7E01442C000","region":null}]},{"id":"cfa6243a-4057-496a-9791-4d9e853cfb6a","directory":"root-film","title":"Root Film","compatibility":1,"releases":[{"id":"01001C701348A000","region":null}]},{"id":"cfab1d59-4bd3-463e-ae47-35df5f6ad5e1","directory":"theme-park-simulator-roller-coaster-thrill-rides","title":"Theme Park Simulator: Roller Coaster & Thrill Rides","compatibility":99,"releases":[{"id":"01006BE0109B6000","region":null}]},{"id":"cfacc2a8-1dfd-4b0f-aba9-0218bf5f8fdd","directory":"twin-robots-ultimate-edition-demo","title":"Twin Robots: Ultimate Edition Demo","compatibility":99,"releases":[{"id":"010012600A9DA000","region":null}]},{"id":"cfad77ac-0eff-44bd-805e-376496f9b789","directory":"macrotis-a-mothers-journey","title":"Macrotis: A Mother's Journey","compatibility":99,"releases":[{"id":"01001B7011202000","region":null}]},{"id":"cfb30543-28fc-4efc-81d0-bf978fcd1087","directory":"asobu-tights","title":"ASOBU Tights","compatibility":0,"releases":[{"id":"0100473013DFE000","region":null}]},{"id":"cfb3626c-a845-48eb-ad2c-4b3e0026f468","directory":"arcade-archives-gradius","title":"Arcade Archives GRADIUS","compatibility":99,"releases":[{"id":"0100A070105A6000","region":null}]},{"id":"cfb7137c-30ad-486d-8697-26eae078940d","directory":"hyperide-vector-raid","title":"Hyperide: Vector Raid","compatibility":99,"releases":[{"id":"01000E200C8D4000","region":null}]},{"id":"cfcf0981-fbfe-43cf-82c4-27640315fd4b","directory":"heroes-of-the-monkey-tavern-demo","title":"Heroes of the Monkey Tavern Demo","compatibility":99,"releases":[{"id":"0100F4F006EB0000","region":null}]},{"id":"cfd946f0-8cdf-419e-b9c4-c4aa3e05e2f7","directory":"morto-chapter-1","title":"MORTO - Chapter 1","compatibility":99,"releases":[{"id":"0100734014C20000","region":null}]},{"id":"cfd98cef-4ce8-440b-841c-52001b6c03f5","directory":"crisis-wing","title":"Crisis Wing","compatibility":2,"releases":[{"id":"0100CAC015A8A000","region":null}]},{"id":"cfe67329-2bb8-4e3c-a437-3a6c60077b5b","directory":"demolition-crew","title":"Demolition Crew","compatibility":99,"releases":[{"id":"01000D100D99A000","region":null}]},{"id":"cfec0999-b26e-42aa-becf-675ec3fb0e06","directory":"headspun","title":"Headspun","compatibility":99,"releases":[{"id":"010067400EA5C000","region":null}]},{"id":"cfef4473-5f7f-4fad-bf12-dbf511325cc8","directory":"grisaia-phantom-trigger-5-5","title":"GRISAIA PHANTOM TRIGGER 5.5","compatibility":99,"releases":[{"id":"0100CAF013AE6000","region":null}]},{"id":"cffbcf24-1616-4fc0-bb86-6bdb2833cbf4","directory":"minecraft-story-mode-the-complete-adventure","title":"Minecraft: Story Mode - The Complete Adventure","compatibility":1,"releases":[{"id":"010059C002AC2000","region":null}]},{"id":"d00308be-c934-4b88-bee4-94f0c902c2ae","directory":"detective-puz","title":"Detective Puz","compatibility":99,"releases":[{"id":"01006C8013708000","region":null}]},{"id":"d00f7ce1-480f-4a9d-ba88-a1cda3882aaf","directory":"amazing-brick-breaker","title":"Amazing Brick Breaker","compatibility":99,"releases":[{"id":"0100DD700F1F6000","region":null}]},{"id":"d01356ce-d0f3-42c4-b04e-35800c35a7f3","directory":"thenightfall","title":"TheNightfall","compatibility":99,"releases":[{"id":"01000AA00D30E000","region":null}]},{"id":"d01f8c7e-1d1a-4d54-ab5d-23f169b848cd","directory":"horizon-chase-turbo","title":"Horizon Chase Turbo","compatibility":0,"releases":[{"id":"01009EA00B714000","region":null}]},{"id":"d02abe7c-48e9-4a40-9bee-8eec4fdb1e6f","directory":"queens-quest-4-sacred-truce","title":"Queen's Quest 4: Sacred Truce","compatibility":99,"releases":[{"id":"0100DCF00F13A000","region":null}]},{"id":"d02f1883-224f-456a-8f3b-217028a163bd","directory":"sense-a-cyberpunk-ghost-story","title":"Sense - A Cyberpunk Ghost Story","compatibility":2,"releases":[{"id":"01009CD00F44A000","region":null}]},{"id":"d031059e-1a04-4e72-ab22-4e7fbedebdcb","directory":"hot-wheels-unleashed","title":"HOT WHEELS UNLEASHED™","compatibility":3,"releases":[{"id":"0100AA60136D2000","region":null}]},{"id":"d0447e7b-eb81-4e81-a3d4-ebee985bc328","directory":"phar-lap-horse-racing-challenge","title":"PHAR LAP - Horse Racing Challenge","compatibility":2,"releases":[{"id":"010036200D2F6000","region":null}]},{"id":"d0492975-c726-4b21-8909-383b6ca4bbac","directory":"the-legend-of-zelda-links-awakening","title":"The Legend of Zelda: Link's Awakening","compatibility":1,"releases":[{"id":"01006BB00C6F0000","region":null}]},{"id":"d0505d44-1312-4bf8-aa27-54db151726d6","directory":"laid-back-camp-virtual-lake-motosu","title":"Laid-Back Camp - Virtual - Lake Motosu","compatibility":0,"releases":[{"id":"01002BA012E80000","region":null}]},{"id":"d0564a5d-997f-41da-b16a-d9e937a4b442","directory":"inside-my-radio","title":"Inside My Radio","compatibility":99,"releases":[{"id":"0100973002D6A000","region":null}]},{"id":"d05a7a6e-1295-4cc3-bd30-46bcc8ccb32d","directory":"grisaia-phantom-trigger-06","title":"GRISAIA PHANTOM TRIGGER 06","compatibility":2,"releases":[{"id":"0100240013AE8000","region":null}]},{"id":"d06a2670-418c-486d-bb80-c9d704db8f0b","directory":"cardpocalypse","title":"Cardpocalypse","compatibility":99,"releases":[{"id":"0100C5100DB04000","region":null}]},{"id":"d06d1f7e-047a-450e-9520-80fd274d7dce","directory":"them-bombs","title":"Them Bombs!","compatibility":1,"releases":[{"id":"01006C400ACEE000","region":null}]},{"id":"d06e8a94-c738-4f3e-92fa-8e2917fe4fbf","directory":"new-york-mysteries-high-voltage","title":"New York Mysteries: High Voltage","compatibility":99,"releases":[{"id":"0100D7E016684000","region":null}]},{"id":"d0750daa-36f8-4bc9-ab29-3d28702ca6dc","directory":"varion","title":"Varion","compatibility":99,"releases":[{"id":"01009DE00B5CC000","region":null}]},{"id":"d077e458-7680-4951-b9b4-79902df25f56","directory":"offroad-driving-simulator-4x4-trucks-suv-trophy","title":"Offroad Driving Simulator 4x4: Trucks & SUV Trophy","compatibility":0,"releases":[{"id":"0100352013A44000","region":null}]},{"id":"d088cd4d-b39f-4aad-ac15-1e4ec3ecfc3a","directory":"hypnospace-outlaw","title":"Hypnospace Outlaw","compatibility":5,"releases":[{"id":"0100959010466000","region":null}]},{"id":"d08c6b4e-bf19-46e8-9bf7-578c6ea5b749","directory":"glaive-brick-breaker","title":"Glaive: Brick Breaker","compatibility":99,"releases":[{"id":"01005CB009E20000","region":null}]},{"id":"d0b112f8-1338-4f3a-acdd-1e965b02f982","directory":"parallel","title":"Parallel","compatibility":99,"releases":[{"id":"0100F8300A95C000","region":null}]},{"id":"d0c599cd-0074-472a-a53a-64ef9e166998","directory":"rest-in-pieces","title":"Rest in Pieces","compatibility":99,"releases":[{"id":"01004A600EB3E000","region":null}]},{"id":"d0d217b1-ec06-4940-9e75-610b09c69a38","directory":"the-last-campfire","title":"The Last Campfire","compatibility":1,"releases":[{"id":"0100449011506000","region":null}]},{"id":"d0d8a2d4-3b46-4423-9013-0f25bf080c25","directory":"the-rainsdowne-players","title":"The Rainsdowne Players","compatibility":99,"releases":[{"id":"010093600D5E0000","region":null}]},{"id":"d0d8c7fb-1f46-4832-bab2-ef2939907299","directory":"off-the-road-unleashed","title":"Off The Road Unleashed","compatibility":5,"releases":[{"id":"010045C0112F8000","region":null}]},{"id":"d0e01eb7-a67e-4135-89fd-04045766f9c1","directory":"letter-quest-remastered","title":"Letter Quest Remastered","compatibility":0,"releases":[{"id":"01008C300648E000","region":null}]},{"id":"d0e8bcda-7233-483e-9532-9c75535104c9","directory":"dexteritrip","title":"Dexteritrip","compatibility":99,"releases":[{"id":"010044000CBCA000","region":null}]},{"id":"d10be0fa-5686-46d4-a3ff-89be08d43638","directory":"pawn-of-the-dead","title":"Pawn of the Dead","compatibility":99,"releases":[{"id":"0100D8C01674C000","region":null}]},{"id":"d10ca87b-133c-4fa9-98b4-5b685f6198d4","directory":"billy-bomber","title":"Billy Bomber","compatibility":99,"releases":[{"id":"010008600F1F2000","region":null}]},{"id":"d112c338-f11a-40ef-b45d-6b0f5ba0f52d","directory":"140","title":"140","compatibility":99,"releases":[{"id":"01007E600EEE6000","region":null}]},{"id":"d119cf47-894d-4262-b7d1-32cb571e9766","directory":"rusty-spout-rescue-adventure","title":"Rusty Spout Rescue Adventure","compatibility":99,"releases":[{"id":"01000C6011AC2000","region":null}]},{"id":"d11f95b6-39ed-414f-be29-a93ea951201f","directory":"resident-evil-revelations","title":"Resident Evil Revelations","compatibility":1,"releases":[{"id":"0100643002136000","region":null}]},{"id":"d11ffa35-50dc-4c4c-a773-92cd88069c33","directory":"disgaea-1-complete","title":"Disgaea 1 Complete","compatibility":1,"releases":[{"id":"01004B100AF18000","region":null}]},{"id":"d120fb0f-3132-470d-bdfa-3d2815b4157c","directory":"arcade-archives-star-force","title":"Arcade Archives STAR FORCE","compatibility":4,"releases":[{"id":"010069F008A38000","region":null}]},{"id":"d123ed9b-53f8-46fb-a572-2bb11de5274c","directory":"borderlands-game-of-the-year-edition","title":"Borderlands: Game of the Year Edition","compatibility":3,"releases":[{"id":"010064800F66A000","region":null}]},{"id":"d1479d55-bd27-4697-a84f-ae274edea267","directory":"panzer-dragoon-remake","title":"Panzer Dragoon: Remake","compatibility":2,"releases":[{"id":"0100C6A00E94A000","region":null}]},{"id":"d150f0fb-9a4c-4b6b-b46c-5b05fa9e8f9d","directory":"fishing-adventure","title":"Fishing Adventure","compatibility":99,"releases":[{"id":"01002600105C6000","region":null}]},{"id":"d153618a-97b1-4311-8ba7-f1ac9a914c1a","directory":"blazerush","title":"BlazeRush","compatibility":99,"releases":[{"id":"0100AD400BBE0000","region":null}]},{"id":"d16395e8-9d40-46c9-8855-f67c79784eac","directory":"children-of-zodiarcs","title":"Children of Zodiarcs","compatibility":1,"releases":[{"id":"0100C1A00AC3E000","region":null}]},{"id":"d1644656-e78d-46e9-81f2-a789f8723ed0","directory":"tiny-hands-adventure","title":"Tiny Hands Adventure","compatibility":99,"releases":[{"id":"010061A00AE64000","region":null}]},{"id":"d1671d5d-ef39-4574-9efc-e0f97028cdf6","directory":"lost-horizon-2","title":"Lost Horizon 2","compatibility":99,"releases":[{"id":"01005ED010642000","region":null}]},{"id":"d16c1a0c-5691-4d7c-99f3-538bc61cba9c","directory":"aca-neogeo-magician-lord","title":"ACA NEOGEO MAGICIAN LORD","compatibility":99,"releases":[{"id":"01007920038F6000","region":null}]},{"id":"d17084d5-9f5f-4a8e-8cdb-0e7c80a0dabb","directory":"darius-cozmic-collection-arcade","title":"Darius Cozmic Collection Arcade","compatibility":1,"releases":[{"id":"01001D20105C0000","region":null}]},{"id":"d177c225-3144-4ec8-adaa-a92e4b06c588","directory":"fantasy-general-ii-invasion","title":"Fantasy General II: Invasion","compatibility":99,"releases":[{"id":"0100C7D012FB8000","region":null}]},{"id":"d18db235-aaa7-4e7c-9417-4e9d6375b2cb","directory":"arcade-archives-vendetta","title":"Arcade Archives VENDETTA","compatibility":4,"releases":[{"id":"010087D0150BE000","region":null}]},{"id":"d194ad8a-c250-42d5-8d32-010012b6fd6d","directory":"lucah-born-of-a-dream","title":"Lucah: Born of a Dream","compatibility":99,"releases":[{"id":"0100AAA00DD4C000","region":null}]},{"id":"d197e8b2-5ec1-4d22-904b-d98a314ca8b2","directory":"the-kings-bird","title":"The King's Bird","compatibility":4,"releases":[{"id":"010020500BD98000","region":null}]},{"id":"d1a42825-d60b-4212-a5d3-905327a08b5f","directory":"fast-furious-spy-racers-rise-of-sh1ft3r","title":"Fast & Furious: Spy Racers Rise of SH1FT3R","compatibility":1,"releases":[{"id":"010034C013624000","region":null}]},{"id":"d1aee9c1-f8f5-414e-b2d2-c47c0f74a9fd","directory":"shadow-of-loot-box","title":"Shadow of Loot Box","compatibility":99,"releases":[{"id":"010051A00AAEA000","region":null}]},{"id":"d1be6636-c693-4f54-a9e2-66e5295f1450","directory":"funtime","title":"#Funtime","compatibility":99,"releases":[{"id":"01001E500F7FC000","region":null}]},{"id":"d1bf2326-5a7d-4b55-a0fd-c54694de62da","directory":"fates-of-ort","title":"Fates of Ort","compatibility":99,"releases":[{"id":"010087C014FD4000","region":null}]},{"id":"d1cff173-12ce-43a6-93f9-4602ca26cbcd","directory":"pokemon-tv","title":"Pokémon TV","compatibility":99,"releases":[{"id":"010009F014D98000","region":null}]},{"id":"d1d243ff-30e0-40b5-b6c9-a2bb406fba47","directory":"aca-neogeo-shock-troopers-2nd-squad","title":"ACA NEOGEO SHOCK TROOPERS 2nd Squad","compatibility":4,"releases":[{"id":"01004DE001DC8000","region":null}]},{"id":"d1da71b5-14db-4f16-8ca9-5ab9cd5efe36","directory":"desktop-dodgeball","title":"Desktop Dodgeball","compatibility":99,"releases":[{"id":"010056E00FA3A000","region":null}]},{"id":"d1dc2e04-ea88-4c32-8d70-0b42ee4b1164","directory":"blacksea-odyssey","title":"Blacksea Odyssey","compatibility":99,"releases":[{"id":"01006B400C178000","region":null}]},{"id":"d1f40ec1-3c38-4ce5-bd00-972131faed72","directory":"horror-adventure-pinball","title":"Horror & Adventure Pinball","compatibility":99,"releases":[{"id":"01004510164CC000","region":null}]},{"id":"d1f41128-7cf7-492f-bad1-53e745ff775e","directory":"slither-loop","title":"Slither Loop","compatibility":99,"releases":[{"id":"0100820012ADE000","region":null}]},{"id":"d202435b-f4b7-4db1-a122-23de0214fde9","directory":"alphaset-by-powgi","title":"Alphaset by POWGI","compatibility":99,"releases":[{"id":"010053B0123DC000","region":null}]},{"id":"d20c7626-0bd5-4e8a-825a-1bd34b55134f","directory":"dark-nights-with-poe-and-munro","title":"Dark Nights with Poe and Munro","compatibility":99,"releases":[{"id":"0100669011998000","region":null}]},{"id":"d20e9b02-7f30-4a49-a0b5-1a5a360e82b9","directory":"toridama-brave-challenge","title":"TORIDAMA: Brave Challenge","compatibility":99,"releases":[{"id":"0100D6700C3E6000","region":null}]},{"id":"d20eaad2-f177-40e8-8e22-378468e6a368","directory":"crysis-3-remastered","title":"Crysis 3 Remastered","compatibility":3,"releases":[{"id":"0100CD3010AE2000","region":null}]},{"id":"d21927b8-dd6a-464b-84d1-c8613f835bdb","directory":"ageless","title":"Ageless","compatibility":99,"releases":[{"id":"0100156011032000","region":null}]},{"id":"d21d93fa-6b44-48bc-8697-c4b11924b0a6","directory":"chefs-tail","title":"Chef's Tail","compatibility":99,"releases":[{"id":"010026D0153DC000","region":null}]},{"id":"d2234d6a-53c8-424a-abb8-2105502aaa86","directory":"xenon-valkyrie","title":"Xenon Valkyrie+","compatibility":4,"releases":[{"id":"010064200C324000","region":null}]},{"id":"d22541d7-6dfc-4c09-a3c6-9fbeaf6fdbc9","directory":"princess-closet","title":"Princess Closet","compatibility":2,"releases":[{"id":"010098201125E000","region":null}]},{"id":"d2256d10-d0dd-488a-81b7-e8e4d5637dd2","directory":"surgeon-simulator-cpr","title":"Surgeon Simulator CPR","compatibility":3,"releases":[{"id":"0100E7400B83E000","region":null}]},{"id":"d242cc49-8d05-46b8-92f3-89fc9c17a048","directory":"little-briar-rose","title":"Little Briar Rose","compatibility":99,"releases":[{"id":"010089400E4E2000","region":null}]},{"id":"d244dd22-df96-4b9f-9d85-5c299573aadd","directory":"vampyr","title":"VAMPYR","compatibility":1,"releases":[{"id":"01000BD00CE64000","region":null}]},{"id":"d245b6fb-6bf9-42d9-836d-11c3ccefce70","directory":"rock-n-racing-bundle-3-in-1","title":"Rock 'N Racing Bundle 3 in 1","compatibility":99,"releases":[{"id":"010061B013EB2000","region":null}]},{"id":"d24bf428-0193-43a4-a9a5-482532b18691","directory":"stick-it-to-the-man","title":"Stick It to The Man","compatibility":99,"releases":[{"id":"0100AD7003FF4000","region":null}]},{"id":"d24dd89c-a7a5-41d4-9149-24e7ac77fb3a","directory":"karma-knight","title":"Karma Knight","compatibility":2,"releases":[{"id":"01005300128E2000","region":null}]},{"id":"d251b0d3-483a-4281-83a0-14ebe4aca425","directory":"nowhere-prophet","title":"Nowhere Prophet","compatibility":99,"releases":[{"id":"0100CC1010464000","region":null}]},{"id":"d28d63c1-d79e-40a0-8a2c-89072a1c84d7","directory":"doom-r-eternal","title":"DOOM® Eternal","compatibility":4,"releases":[{"id":"0100B1A00D8CE000","region":null}]},{"id":"d2987bfe-b0a6-452d-a1ea-5c7fc2cc350c","directory":"city-stunt-driver","title":"City Stunt Driver","compatibility":99,"releases":[{"id":"010074A016842000","region":null}]},{"id":"d2aa6231-e793-44f5-af89-e97f88e5fe1f","directory":"arcade-archives-kiki-kaikai","title":"Arcade Archives KIKI KAIKAI","compatibility":99,"releases":[{"id":"0100A3B009838000","region":null}]},{"id":"d2b91a0d-0d81-4716-af89-f3db36baf92d","directory":"blair-witch","title":"Blair Witch","compatibility":0,"releases":[{"id":"01006CC01182C000","region":null}]},{"id":"d2bbc354-6dbc-475c-a920-e1d566467f4d","directory":"meteoroids-3d","title":"Meteoroids 3D","compatibility":99,"releases":[{"id":"0100D7D015A6C000","region":null}]},{"id":"d2c7778e-b902-4e7e-a7cd-2df387edd4c4","directory":"ninnindays","title":"NinNinDays","compatibility":5,"releases":[{"id":"0100746010E4C000","region":null}]},{"id":"d2ca20c3-7391-4229-a198-6c8fc5d14cec","directory":"bloodstained-ritual-of-the-night","title":"Bloodstained: Ritual of the Night","compatibility":0,"releases":[{"id":"0100BF500207C000","region":null}]},{"id":"d2d6dd75-a329-47e6-bb6d-40d4b7bf0391","directory":"last-encounter","title":"Last Encounter","compatibility":99,"releases":[{"id":"010067A00964E000","region":null}]},{"id":"d2dbf399-c80a-4e86-b0e5-2469df8e5f07","directory":"shmubedi-boo","title":"Shmubedi Boo","compatibility":99,"releases":[{"id":"0100ECD01165C000","region":null}]},{"id":"d2e4b5d9-c1f4-4d71-ac29-ce3b59174693","directory":"baobabs-mausoleum-grindhouse-edition","title":"Baobabs Mausoleum Grindhouse Edition","compatibility":99,"releases":[{"id":"01003370139D4000","region":null}]},{"id":"d2e9d740-7d1e-492c-b345-2f47560a5cd0","directory":"fire-emblem-three-houses","title":"Fire Emblem™: Three Houses","compatibility":1,"releases":[{"id":"010055D009F78000","region":null}]},{"id":"d3037026-9fbc-4fe5-b211-81d4c909f224","directory":"gridd-retroenhanced","title":"GRIDD: Retroenhanced","compatibility":99,"releases":[{"id":"0100197008B52000","region":null}]},{"id":"d324e114-3c28-41f1-91a4-f0578a5c4964","directory":"eekeemoo-splinters-of-the-dark-shard","title":"Eekeemoo - Splinters of the Dark Shard","compatibility":99,"releases":[{"id":"01006F900A298000","region":null}]},{"id":"d3294eef-1cb4-425e-bb8b-138975d46fbf","directory":"holy-potatoes-what-the-hell","title":"Holy Potatoes! What The Hell?!","compatibility":99,"releases":[{"id":"0100342009E16000","region":null}]},{"id":"d32c2561-2fa3-4197-8664-167204d37276","directory":"chess-brain","title":"Chess Brain","compatibility":99,"releases":[{"id":"0100CF9015A60000","region":null}]},{"id":"d32ee037-c307-497a-bb6a-ae9eefa9322b","directory":"l-o-l-surprise-remix-we-rule-the-world","title":"L.O.L. Surprise! Remix: We Rule The World","compatibility":99,"releases":[{"id":"0100F2B0123AE000","region":null}]},{"id":"d33a5314-a01b-4c40-b235-e3bd46289ad6","directory":"transient-extended-edition","title":"Transient: Extended Edition","compatibility":99,"releases":[{"id":"0100D080166F8000","region":null}]},{"id":"d33bd133-c30f-4da4-be1a-ff901d7360a3","directory":"astalon-tears-of-the-earth","title":"Astalon: Tears of the Earth","compatibility":99,"releases":[{"id":"01004A2013ACE000","region":null}]},{"id":"d34900ef-3d0a-49ef-baa0-eabc703b0a83","directory":"collection-of-saga-final-fantasy-legend","title":"COLLECTION of SaGa FINAL FANTASY LEGEND","compatibility":99,"releases":[{"id":"0100B77012266000","region":null}]},{"id":"d3598c85-4040-42dd-88d7-3af5cf1b0fac","directory":"new-frontier-days-~founding-pioneers~","title":"New Frontier Days ~Founding Pioneers~","compatibility":0,"releases":[{"id":"01004C200100E000","region":null}]},{"id":"d35bbe3b-4fbb-4245-acdd-47e40a2b712b","directory":"songbird-symphony","title":"Songbird Symphony","compatibility":99,"releases":[{"id":"0100E5400BF94000","region":null}]},{"id":"d36db1f0-f16a-4342-ac73-79788e1369d9","directory":"rise-race-the-future","title":"Rise: Race The Future","compatibility":0,"releases":[{"id":"01006BA00E652000","region":null}]},{"id":"d380f6ce-85b7-45fa-a705-c61224a01bdd","directory":"youkai-poetry","title":"Youkai Poetry","compatibility":99,"releases":[{"id":"010085D014E02000","region":null}]},{"id":"d38bf005-b14b-452d-94b7-914de329b22f","directory":"grood","title":"Grood","compatibility":99,"releases":[{"id":"01005240121F2000","region":null}]},{"id":"d38c61bf-e9ba-437e-849c-7b6d1e8944a6","directory":"pix-the-cat","title":"Pix the Cat","compatibility":99,"releases":[{"id":"010088800B72E000","region":null}]},{"id":"d395917d-3947-4620-8a5f-f65c48cc1de9","directory":"mask-of-mists","title":"Mask of Mists","compatibility":99,"releases":[{"id":"0100FFE011F0A000","region":null}]},{"id":"d399cc0c-d888-43c6-acbb-46558b532c02","directory":"xenon-racer","title":"Xenon Racer","compatibility":1,"releases":[{"id":"010026800BA16000","region":null}]},{"id":"d3c7759f-c161-45eb-9b3b-4f8c86b64f5d","directory":"assassins-creed-iii-remastered","title":"Assassin's Creed III: Remastered","compatibility":5,"releases":[{"id":"01007F600B134000","region":null}]},{"id":"d3c828fb-c216-4bff-92b0-53c10280f96c","directory":"drive-buy","title":"Drive Buy","compatibility":99,"releases":[{"id":"010093A0108DC000","region":null}]},{"id":"d3cd40fa-3e6b-423d-8ee6-de9c50bf8671","directory":"serious-scramblers","title":"Serious Scramblers","compatibility":99,"releases":[{"id":"0100C8C00FA10000","region":null}]},{"id":"d3f29998-0a92-43af-8475-d2589772f472","directory":"demetrios-demo","title":"Demetrios Demo","compatibility":99,"releases":[{"id":"0100CA300C5BA000","region":null}]},{"id":"d3ffc8c1-0cf4-4524-99c3-df007580c958","directory":"little-big-workshop","title":"Little Big Workshop","compatibility":4,"releases":[{"id":"0100F6B01188E000","region":null}]},{"id":"d40540ea-ce05-4291-b37a-f9107140a101","directory":"alphadia-genesis-2","title":"Alphadia Genesis 2","compatibility":99,"releases":[{"id":"01005CE015080000","region":null}]},{"id":"d417f438-90ee-49ea-8f67-336dd8a8b61a","directory":"route-me-mail-and-delivery-co","title":"Route Me Mail and Delivery Co","compatibility":99,"releases":[{"id":"01001C701481C000","region":null}]},{"id":"d41c70bf-abf9-41b9-9583-e17f157d972a","directory":"castle-of-heart","title":"Castle of Heart","compatibility":4,"releases":[{"id":"01003C100445C000","region":null}]},{"id":"d41c7b82-556f-4118-b045-60e3e172eacb","directory":"tanks-meet-zombies","title":"Tanks Meet Zombies","compatibility":99,"releases":[{"id":"010030B00C370000","region":null}]},{"id":"d4294b31-63cc-40d6-afa9-be5938d414e2","directory":"glo","title":"GLO","compatibility":99,"releases":[{"id":"010027C01545C000","region":null}]},{"id":"d42b87fc-4a91-4392-a070-45ea07993631","directory":"dragon-quest-builders-demo","title":"Dragon Quest Builders™ Demo","compatibility":99,"releases":[{"id":"0100C360070F6000","region":null}]},{"id":"d4560c63-d81e-49ed-8d18-8d2bd2a836f9","directory":"indygo","title":"Indygo","compatibility":99,"releases":[{"id":"01004C8012BB8000","region":null}]},{"id":"d459418d-4363-40c2-ba22-3de0da4f66db","directory":"xcom-r-2-collection","title":"XCOM® 2 Collection","compatibility":99,"releases":[{"id":"0100D0B00FB74000","region":null}]},{"id":"d45dc0d3-7ea2-428e-b0ee-0bd0694bd0ea","directory":"little-town-hero","title":"Little Town Hero","compatibility":1,"releases":[{"id":"01000FB00AA90000","region":null}]},{"id":"d4721e00-04c8-47a1-9aeb-1507b142ecb3","directory":"puyo-puyo-tetris","title":"Puyo Puyo Tetris","compatibility":0,"releases":[{"id":"010073C001D5E000","region":null}]},{"id":"d4783ffe-a52c-43ca-a7ce-2c70fe45e6dc","directory":"aca-neogeo-metal-slug-x","title":"ACA NEOGEO METAL SLUG X","compatibility":3,"releases":[{"id":"01008FD004DB6000","region":null}]},{"id":"d480d866-42ed-47d4-8153-ef9e0baec570","directory":"fruitfall-crush","title":"FruitFall Crush","compatibility":2,"releases":[{"id":"010038A007AA4000","region":null}]},{"id":"d48c0f2d-35e8-42c0-aa8c-3ef1e6be0222","directory":"gunmas-ambition-you-and-me-are-gunma-","title":"Gunma's Ambition -You and me are Gunma-","compatibility":99,"releases":[{"id":"0100EC20101E4000","region":null}]},{"id":"d48e351b-7ceb-49ed-ae84-4e33498087be","directory":"pulstario","title":"Pulstario","compatibility":99,"releases":[{"id":"0100D61010526000","region":null}]},{"id":"d49c3734-881b-4a61-8e9c-3b68863ce01b","directory":"shinobi-spirits-s-legend-of-heroes","title":"Shinobi Spirits S: Legend of Heroes","compatibility":99,"releases":[{"id":"0100B0300E8B6000","region":null}]},{"id":"d4b52b6b-b051-49df-ad63-c46256997cbb","directory":"draw-chilly","title":"DRAW CHILLY","compatibility":99,"releases":[{"id":"01004C100FA84000","region":null}]},{"id":"d4c0fb54-92db-4d25-b1d5-663946c9b810","directory":"nostalgic-train","title":"NOSTALGIC TRAIN","compatibility":3,"releases":[{"id":"0100160014F22000","region":null}]},{"id":"d4d234e9-7cae-48ae-aaa2-a4df3fb2b619","directory":"the-count-lucanor","title":"The Count Lucanor","compatibility":4,"releases":[{"id":"01000850037C0000","region":null}]},{"id":"d4d9fada-1bbe-4c1b-b1d1-dde781ef3273","directory":"elea-paradigm-shift","title":"ELEA: Paradigm Shift","compatibility":99,"releases":[{"id":"010008E010012000","region":null}]},{"id":"d4e2a041-a7a8-4702-9d91-d27600841b7b","directory":"family-mysteries-3-criminal-mindset","title":"Family Mysteries 3: Criminal Mindset","compatibility":99,"releases":[{"id":"01001F0014C32000","region":null}]},{"id":"d4ec35a7-05e2-4cb7-9b60-66b8d0252df6","directory":"chronus-arc","title":"Chronus Arc","compatibility":99,"releases":[{"id":"0100E9F00CACC000","region":null}]},{"id":"d4f22e49-cb2d-4d37-ab91-d415068a7e08","directory":"the-bards-tale-arpg-remastered-and-resnarkled","title":"The Bard's Tale ARPG: Remastered and Resnarkled","compatibility":4,"releases":[{"id":"0100CD500DDAE000","region":null}]},{"id":"d5208571-4019-420a-a84e-2b19376c4d75","directory":"travel-mosaics-4-adventures-in-rio","title":"Travel Mosaics 4: Adventures In Rio","compatibility":99,"releases":[{"id":"010096D010BFE000","region":null}]},{"id":"d5293900-e532-49a3-9cf6-a198c70c2ed5","directory":"steven-universe-save-the-light","title":"Steven Universe: Save the Light","compatibility":1,"releases":[{"id":"010008C00B2F2000","region":null}]},{"id":"d52a5e97-8250-42a2-aea1-7e77139b74dd","directory":"active-life-outdoor-challenge","title":"ACTIVE LIFE Outdoor Challenge","compatibility":99,"releases":[{"id":"0100A21012AA6000","region":null}]},{"id":"d52b6ebb-aefa-4e73-bfe4-b5db0874dc77","directory":"double-dragon-and-kunio-kun-retro-brawler-bundle","title":"Double Dragon & Kunio-kun: Retro Brawler Bundle","compatibility":99,"releases":[{"id":"0100B1500E9F2000","region":null}]},{"id":"d531a3c3-c8b1-4af1-9be6-64d06232b197","directory":"abzu","title":"ABZÛ","compatibility":1,"releases":[{"id":"0100C1300BBC6000","region":null}]},{"id":"d53388e7-ef5b-429a-975c-3fb909854f44","directory":"little-squires-quests","title":"Little Squire's Quests","compatibility":99,"releases":[{"id":"0100DF9013D68000","region":null}]},{"id":"d535c1fe-d0dd-4788-926a-26d0f2d53c54","directory":"dadish-2","title":"Dadish 2","compatibility":99,"releases":[{"id":"0100BB70140BA000","region":null}]},{"id":"d54228d6-e050-49d9-abba-8545e31d3635","directory":"bad-north-demo","title":"Bad North Demo","compatibility":99,"releases":[{"id":"010075000D092000","region":null}]},{"id":"d5461cfb-32d3-411f-b5b5-86bc0abb80b0","directory":"fifa-19","title":"FIFA 19","compatibility":5,"releases":[{"id":"0100FFA0093E8000","region":null}]},{"id":"d5492eab-3190-4ab3-807f-8acd3cde5c2f","directory":"animal-fight-club","title":"Animal Fight Club","compatibility":99,"releases":[{"id":"010019500E642000","region":null}]},{"id":"d54e03bf-d6ad-46a7-a12a-e716a0fa3efc","directory":"agatha-christie-the-abc-murders","title":"Agatha Christie - The ABC Murders","compatibility":0,"releases":[{"id":"010087C011C4E000","region":null}]},{"id":"d55c97d3-9740-4eea-bc50-99bb51dcafca","directory":"re-zero-starting-life-in-another-world-the-prophecy-of-the-throne","title":"Re:ZERO -Starting Life in Another World- The Prophecy of the Throne","compatibility":4,"releases":[{"id":"01000B20117B8000","region":null}]},{"id":"d55d9443-4a65-49ae-b131-8bfd11ef288b","directory":"seeders-puzzle-reboot","title":"Seeders Puzzle Reboot","compatibility":99,"releases":[{"id":"0100F3000EBA8000","region":null}]},{"id":"d565a08d-50b9-420d-a14c-e93489ba0da0","directory":"regalia-of-men-and-monarchs-royal-edition","title":"Regalia: Of Men and Monarchs - Royal Edition","compatibility":0,"releases":[{"id":"0100FDF0083A6000","region":null}]},{"id":"d56a1ed5-0639-4a7f-9f35-dd70546cdc87","directory":"sturmwind-ex","title":"STURMWIND EX","compatibility":1,"releases":[{"id":"0100C5500E7AE000","region":null}]},{"id":"d5839014-25b7-4e55-bae2-97761dc1a574","directory":"capes-escape-game-5th-room","title":"Cape’s Escape Game 5th Room","compatibility":99,"releases":[{"id":"0100B2A016C9E000","region":null}]},{"id":"d58a5308-7ee9-4b11-8fe6-82ec8ba70e80","directory":"reptilian-rebellion","title":"Reptilian Rebellion","compatibility":5,"releases":[{"id":"010094800D3DA000","region":null}]},{"id":"d58b415b-7455-4eda-8ecc-771a47b40040","directory":"aca-neogeo-football-frenzy","title":"ACA NEOGEO FOOTBALL FRENZY","compatibility":99,"releases":[{"id":"0100EEA00AFB2000","region":null}]},{"id":"d58babc8-9dd3-4ec7-b85a-59c7bcfb74bf","directory":"neon-junctions","title":"Neon Junctions","compatibility":99,"releases":[{"id":"010085900E3B6000","region":null}]},{"id":"d59d24da-7535-4e53-a69f-77933ec87bd8","directory":"ellen","title":"Ellen","compatibility":0,"releases":[{"id":"010021A00E6CC000","region":null}]},{"id":"d59f68fd-a339-4781-99a2-5c917b6c2a19","directory":"yumeutsutsu-re-master","title":"Yumeutsutsu Re:Master","compatibility":99,"releases":[{"id":"01004FE0107EE000","region":null}]},{"id":"d5b0ad7a-feb4-4205-baa5-35e242ff5d97","directory":"dungeon-warfare","title":"Dungeon Warfare","compatibility":99,"releases":[{"id":"0100F8900E878000","region":null}]},{"id":"d5b79c2d-8b45-4eba-91ed-3244a40c344e","directory":"the-fox-awaits-me","title":"The Fox Awaits Me","compatibility":1,"releases":[{"id":"01002B400B590000","region":null}]},{"id":"d5ce0068-d035-4a3e-b518-bef11c80a6d5","directory":"hopping-girl-kohane-jumping-kingdom-princess-of-the-black-rabbit","title":"Hopping girl KOHANE Jumping Kingdom: Princess of the Black Rabbit","compatibility":0,"releases":[{"id":"010087800EE5A000","region":null}]},{"id":"d5d2c2b1-ddc2-43fa-ba1d-582e9af1d698","directory":"axiom-verge","title":"Axiom Verge","compatibility":1,"releases":[{"id":"0100052004384000","region":null}]},{"id":"d5f87365-3e1a-4a35-8fb1-c5a53d730cda","directory":"super-blood-hockey","title":"Super Blood Hockey","compatibility":99,"releases":[{"id":"010051A00D716000","region":null}]},{"id":"d5fb943a-bf87-44b8-ba84-64785ac5b01e","directory":"rush-rover","title":"Rush Rover","compatibility":99,"releases":[{"id":"0100E3A00A9D4000","region":null}]},{"id":"d601023f-3b84-4c05-b83b-c892a41bfbb5","directory":"popslinger","title":"PopSlinger","compatibility":99,"releases":[{"id":"0100809016D64000","region":null}]},{"id":"d60141a6-da08-4c48-b219-195af502cf41","directory":"skyscrappers","title":"SkyScrappers","compatibility":99,"releases":[{"id":"0100EA400BF44000","region":null}]},{"id":"d60753c7-48ac-4405-b452-42a5830a9819","directory":"ships","title":"Ships","compatibility":99,"releases":[{"id":"01000E800FCB4000","region":null}]},{"id":"d6082ea2-0a5e-4e25-8258-b414b6fc1eb4","directory":"final-fantasy-ix","title":"FINAL FANTASY IX","compatibility":2,"releases":[{"id":"01007EF00B094000","region":null}]},{"id":"d60fe27f-f278-4a35-a5b0-4dce43616040","directory":"troubleshooter","title":"Troubleshooter","compatibility":99,"releases":[{"id":"0100B5B0113CE000","region":null}]},{"id":"d61dc3fb-6850-4fa0-a17e-d23a130c36a8","directory":"the-lost-child","title":"The Lost Child","compatibility":1,"releases":[{"id":"01008A000A404000","region":null}]},{"id":"d61ec2f0-1458-4630-ad7f-72ffa9192988","directory":"power-racing-bundle-2","title":"Power Racing Bundle 2","compatibility":99,"releases":[{"id":"0100AD6013E1A000","region":null}]},{"id":"d62192f4-889a-4092-9e0a-81ed397e36cb","directory":"animal-learning-puzzle-for-toddlers-and-kids","title":"Animal Learning Puzzle for Toddlers and Kids","compatibility":99,"releases":[{"id":"01007F00145B6000","region":null}]},{"id":"d6244f63-69ed-4239-a815-da9773b5d60d","directory":"heroes-trials","title":"Heroes Trials","compatibility":99,"releases":[{"id":"010082800AE4C000","region":null}]},{"id":"d628ef3c-21d5-4e0a-8bd3-b417da47e1b4","directory":"constructor-plus","title":"Constructor Plus","compatibility":99,"releases":[{"id":"0100A330022C2000","region":null}]},{"id":"d62f5cad-9584-4752-bdeb-27f44d355ee1","directory":"raiders-of-the-north-sea","title":"Raiders of the North Sea","compatibility":99,"releases":[{"id":"010091700D826000","region":null}]},{"id":"d6468228-23f3-480b-8fc4-755b1982b029","directory":"driving-school-sim","title":"Driving School Sim","compatibility":0,"releases":[{"id":"0100DDB014698000","region":null}]},{"id":"d64fee46-d9e4-45cb-af2a-628110dec13a","directory":"exit-the-gungeon","title":"Exit the Gungeon","compatibility":1,"releases":[{"id":"0100DD30110CC000","region":null}]},{"id":"d6661332-1336-4ec0-9f1f-94e4254f8b9a","directory":"the-mims-beginning","title":"The Mims Beginning","compatibility":99,"releases":[{"id":"010044500F3C2000","region":null}]},{"id":"d6665235-fbc2-4d84-933f-37cf8b7970bd","directory":"monster-slayers","title":"Monster Slayers","compatibility":99,"releases":[{"id":"0100D1700C732000","region":null}]},{"id":"d666541e-b88d-46d2-94f0-ce1adf6a5a97","directory":"monster-jam-crush-it","title":"Monster Jam Crush It!","compatibility":4,"releases":[{"id":"010088400366E000","region":null}]},{"id":"d68026d7-a665-4f65-9de6-944882e1eebd","directory":"animal-super-squad","title":"Animal Super Squad","compatibility":1,"releases":[{"id":"0100EFE009424000","region":null}]},{"id":"d685107c-e479-4812-a418-62b07ed26705","directory":"farabel","title":"Farabel","compatibility":99,"releases":[{"id":"0100C9E00FD62000","region":null}]},{"id":"d685818e-069f-49cb-afa4-2b4676effb86","directory":"wunderling","title":"Wunderling","compatibility":3,"releases":[{"id":"01001C400482C000","region":null}]},{"id":"d68a1756-a68b-4fae-a8e0-f894a754879e","directory":"carnivores-dinosaur-hunt","title":"Carnivores: Dinosaur Hunt","compatibility":0,"releases":[{"id":"01005F5011AC4000","region":null}]},{"id":"d68d309e-e981-43e1-a7a8-d717a92cef44","directory":"moon-hunters","title":"Moon Hunters","compatibility":1,"releases":[{"id":"01004FD00382A000","region":null}]},{"id":"d6945473-69bd-47d3-add3-e40663eac4a5","directory":"red-bow","title":"Red Bow","compatibility":1,"releases":[{"id":"0100CF600FF7A000","region":null}]},{"id":"d6b5c1a5-a7c2-46d3-bfd1-5c76e81a4d44","directory":"pippu-bauble-quest","title":"Pippu - Bauble Quest","compatibility":99,"releases":[{"id":"0100313014CE6000","region":null}]},{"id":"d6bb68a7-4e66-4e95-896d-1a898c82c71f","directory":"dracula-frames","title":"Dracula Frames","compatibility":99,"releases":[{"id":"0100898015EA0000","region":null}]},{"id":"d6c52671-6269-4d10-b9eb-66e07e073063","directory":"baron-fur-is-gonna-fly","title":"Baron: Fur Is Gonna Fly","compatibility":99,"releases":[{"id":"010039C0106C6000","region":null}]},{"id":"d6c7f3c4-9d47-4831-8edc-17960bcd3908","directory":"neon-city-riders","title":"Neon City Riders","compatibility":3,"releases":[{"id":"0100A7B00FFC2000","region":null}]},{"id":"d6d3fa1d-4981-4930-8a5d-0edd4268d05c","directory":"cook-serve-delicious-2","title":"Cook, Serve, Delicious! 2!!","compatibility":2,"releases":[{"id":"0100FD800D594000","region":null}]},{"id":"d6d59c49-a2f5-448d-be55-c608f12ac3b1","directory":"travel-mosaics-6-christmas-around-the-world","title":"Travel Mosaics 6: Christmas Around the World","compatibility":99,"releases":[{"id":"0100D520119D6000","region":null}]},{"id":"d6df1dcc-462a-4f2e-8a46-2d63a76e5b55","directory":"yoko-yuki-dr-rats-revenge","title":"Yoko & Yuki: Dr. Rat's Revenge","compatibility":99,"releases":[{"id":"010008C014432000","region":null}]},{"id":"d70dfc47-dfe6-4b37-8efc-adc4892a4a57","directory":"we-know-the-devil","title":"We Know the Devil","compatibility":99,"releases":[{"id":"01004BD015930000","region":null}]},{"id":"d70f690a-86a1-4dc1-8c47-fbcb41768456","directory":"hardcore-maze-cube","title":"Hardcore Maze Cube","compatibility":99,"releases":[{"id":"0100D55011D60000","region":null}]},{"id":"d716a219-57d7-4a1d-9d02-ff88817b5c1a","directory":"awesome-pea","title":"Awesome Pea","compatibility":1,"releases":[{"id":"0100B8C00CFCE000","region":null}]},{"id":"d71b2335-dffc-44b4-8a43-aa36377b1a0d","directory":"aca-neogeo-twinkle-star-sprites","title":"ACA NEOGEO TWINKLE STAR SPRITES","compatibility":5,"releases":[{"id":"0100B8300AFD8000","region":null}]},{"id":"d71c3d7e-b897-46e5-b72e-4094e0b6a473","directory":"arcade-archives-moon-cresta","title":"Arcade Archives MOON CRESTA","compatibility":99,"releases":[{"id":"01000BE001DD8000","region":null}]},{"id":"d723694c-9d80-4b95-b26d-2601b7a8f782","directory":"anima-gate-of-memories","title":"Anima: Gate of Memories","compatibility":2,"releases":[{"id":"0100706005B6A000","region":null}]},{"id":"d728ca60-7a80-408d-987b-4ff9559d659e","directory":"elliot-quest","title":"Elliot Quest","compatibility":0,"releases":[{"id":"0100128003A24000","region":null}]},{"id":"d728f66e-d930-4794-878a-911216453d3f","directory":"klondike-solitaire","title":"Klondike Solitaire","compatibility":4,"releases":[{"id":"010079D00C8AE000","region":null}]},{"id":"d72d7133-7c09-472c-9178-56ddd1006ce8","directory":"escape-from-tethys","title":"Escape From Tethys","compatibility":99,"releases":[{"id":"010092901203A000","region":null}]},{"id":"d7316e6c-c8a2-4670-8124-c70523961b15","directory":"lost-horizon","title":"Lost Horizon","compatibility":3,"releases":[{"id":"010064200F7D8000","region":null}]},{"id":"d7347d15-5f89-4d4f-a0d6-0471d95bbfb4","directory":"almightree-the-last-dreamer","title":"Almightree: The Last Dreamer","compatibility":99,"releases":[{"id":"010063000C3CE000","region":null}]},{"id":"d73f2a6c-0fd4-4fe4-87a2-c64a1999ffd8","directory":"skul-the-hero-slayer","title":"Skul: The Hero Slayer","compatibility":0,"releases":[{"id":"0100ACF013E9A000","region":null}]},{"id":"d7467fac-0a86-4ec1-b1c3-26552cb31158","directory":"volleyball-challenge","title":"Volleyball Challenge","compatibility":99,"releases":[{"id":"010032D014A38000","region":null}]},{"id":"d7481411-eb40-472d-a5bf-0d9c3e0da0b4","directory":"metropolis-lux-obscura-demo","title":"Metropolis: Lux Obscura Demo","compatibility":99,"releases":[{"id":"0100BB500AAE6000","region":null}]},{"id":"d74ed31b-5e23-4620-95bf-4231c8aeda25","directory":"ayo-the-clown","title":"Ayo the Clown","compatibility":0,"releases":[{"id":"01006C6014878000","region":null}]},{"id":"d7619e6a-e353-4159-8410-9e64c6aa3ece","directory":"snipperclips-cut-it-out-together","title":"Snipperclips – Cut it out, together!","compatibility":0,"releases":[{"id":"0100704000B3A000","region":null}]},{"id":"d763e7f0-514a-4068-9421-4242182d02c3","directory":"spiritsphere-dx","title":"SpiritSphere DX","compatibility":99,"releases":[{"id":"01009D60080B4000","region":null}]},{"id":"d7666df1-e78b-48f7-865d-02ed0ef64284","directory":"aca-neogeo-the-last-blade-2","title":"ACA NEOGEO THE LAST BLADE 2","compatibility":4,"releases":[{"id":"0100699008792000","region":null}]},{"id":"d769a038-2360-4472-afed-ea5833e576ff","directory":"the-raven-remastered","title":"The Raven Remastered","compatibility":99,"releases":[{"id":"010058A00BF1C000","region":null}]},{"id":"d76d0e7f-fb0f-4abb-a048-c7c46c594b56","directory":"beats-runner","title":"Beats Runner","compatibility":99,"releases":[{"id":"010095200EA5E000","region":null}]},{"id":"d76f30f6-1b74-426e-8443-a17e46c7032c","directory":"640","title":"64.0","compatibility":99,"releases":[{"id":"0100EFE00E964000","region":null}]},{"id":"d771a0c2-0ef6-4f31-b4fe-34484d10f0e1","directory":"lego-r-marvel-super-heroes","title":"LEGO® Marvel™ Super Heroes","compatibility":99,"releases":[{"id":"01006F600FFC8000","region":null}]},{"id":"d77754c8-ce77-4b12-b28c-207a11d80486","directory":"new-york-mysteries-the-lantern-of-souls","title":"New York Mysteries: The Lantern of Souls","compatibility":99,"releases":[{"id":"010051801671C000","region":null}]},{"id":"d78b4acc-f275-423d-98cb-9f008565e50f","directory":"daemon-x-machina-prototype-missions","title":"DAEMON X MACHINA: Prototype Missions","compatibility":5,"releases":[{"id":"0100BF600D83A000","region":null}]},{"id":"d790af9a-03ef-4770-a46f-02a627893cff","directory":"rabi-ribi","title":"Rabi-Ribi","compatibility":0,"releases":[{"id":"01005BF00E4DE000","region":null}]},{"id":"d7983a9f-23af-4c8c-acf7-18dcc9929130","directory":"indie-gems-bundle-explosions-edition","title":"Indie Gems Bundle - Explosions Edition","compatibility":99,"releases":[{"id":"01004C300FCD4000","region":null}]},{"id":"d79bf50b-068f-417b-aa2c-10990f497e54","directory":"spaceship-curse","title":"Spaceship Curse","compatibility":99,"releases":[{"id":"01007E40136D8000","region":null}]},{"id":"d7a27863-6c7d-42a8-a711-c2bffcc840fb","directory":"machiknights-blood-bagos-","title":"MachiKnights -Blood bagos-","compatibility":99,"releases":[{"id":"0100F2400D434000","region":null}]},{"id":"d7a4fff4-4b7c-4ac3-909d-f4dfcb541f7f","directory":"figment","title":"Figment","compatibility":2,"releases":[{"id":"0100118009C68000","region":null}]},{"id":"d7b90751-492f-4f6c-9fa9-46ab6a0a8e28","directory":"vampire-the-masquerade-shadows-of-new-york","title":"Vampire: The Masquerade - Shadows of New York","compatibility":99,"releases":[{"id":"01002C301280E000","region":null}]},{"id":"d7ba4e5b-9bb3-4ead-ae31-7b19cf9bbd4c","directory":"jenny-leclue-detectivu","title":"Jenny LeClue - Detectivu","compatibility":99,"releases":[{"id":"0100C2700AEB8000","region":null}]},{"id":"d7bbc108-4e7f-45be-9010-d895e450e160","directory":"mike-dies","title":"Mike Dies","compatibility":99,"releases":[{"id":"0100D0B00AEFA000","region":null}]},{"id":"d7c4b996-06b5-4a77-b371-59ec650ac0fa","directory":"the-coma-2-vicious-sisters","title":"The Coma 2: Vicious Sisters","compatibility":2,"releases":[{"id":"0100B7C01169C000","region":null}]},{"id":"d7cb6045-ec59-4b49-8f7a-aa7a3733a384","directory":"aggelos","title":"Aggelos","compatibility":2,"releases":[{"id":"010004D00A9C0000","region":null}]},{"id":"d7e148a4-58c3-48c8-ac47-c80b64caaaa5","directory":"dawn-of-survivors-2","title":"Dawn of Survivors 2","compatibility":99,"releases":[{"id":"0100878014E22000","region":null}]},{"id":"d7eb9805-9473-4a97-b184-a009036d1c66","directory":"pocket-harvest","title":"Pocket Harvest","compatibility":99,"releases":[{"id":"010058C00E25A000","region":null}]},{"id":"d7f6915c-70d7-4a17-91ce-0278ad129837","directory":"ruined-king-a-league-of-legends-story","title":"Ruined King: A League of Legends Story™","compatibility":99,"releases":[{"id":"0100947013122000","region":null}]},{"id":"d7fb4d90-af27-4aff-abc4-e826ba7c08b9","directory":"candle-the-power-of-the-flame","title":"Candle: The Power of the Flame","compatibility":2,"releases":[{"id":"0100E4600B166000","region":null}]},{"id":"d80b85e5-a0fb-4cde-a8b4-541c0d91c188","directory":"crysis-2-remastered","title":"Crysis 2 Remastered","compatibility":3,"releases":[{"id":"0100582010AE0000","region":null}]},{"id":"d80d4c50-6082-4a0a-a187-1aab0d96cd3d","directory":"sports-pinball-bundle","title":"Sports Pinball Bundle","compatibility":99,"releases":[{"id":"0100F490151AA000","region":null}]},{"id":"d81b007e-3929-4409-bbbb-b773feb5b5a0","directory":"bacon-man-an-adventure","title":"Bacon Man: An Adventure","compatibility":2,"releases":[{"id":"0100EAF00E32E000","region":null}]},{"id":"d8223ab4-0a9e-4af8-bd29-bcb47765a700","directory":"necrobarista-final-pour","title":"Necrobarista - Final Pour -","compatibility":3,"releases":[{"id":"0100E64015370000","region":null}]},{"id":"d829859a-8f1c-4889-af67-04c42c18d010","directory":"rise-eterna","title":"Rise Eterna","compatibility":99,"releases":[{"id":"010015F014A5C000","region":null}]},{"id":"d82db4aa-3989-46ee-afb2-81b93d70132b","directory":"friday-the-13th-the-game-ultimate-slasher-edition","title":"Friday the 13th: The Game Ultimate Slasher Edition","compatibility":1,"releases":[{"id":"010092A00C4B6000","region":null}]},{"id":"d83882d1-7341-42ec-8472-bc815b5b77c3","directory":"ninja-striker","title":"Ninja Striker!","compatibility":99,"releases":[{"id":"010081D00A480000","region":null}]},{"id":"d83c61e4-c5a4-44cd-8b92-f1b6a481c209","directory":"anima-gate-of-memories-arcane-edition","title":"Anima: Gate of Memories - Arcane Edition","compatibility":2,"releases":[{"id":"010033F00B3FA000","region":null}]},{"id":"d8782742-ac16-4442-9bc9-7d1a90b71a11","directory":"driving-school-original","title":"Driving School Original","compatibility":99,"releases":[{"id":"01003FD00A02A000","region":null}]},{"id":"d87f369b-4830-4195-bfcc-90b58f03ce76","directory":"rainbows-toilets-unicorns","title":"Rainbows, toilets & unicorns","compatibility":99,"releases":[{"id":"01009D9010B9E000","region":null}]},{"id":"d887789a-f724-436a-abf5-fc806fbe94af","directory":"piczle-colors","title":"Piczle Colors","compatibility":99,"releases":[{"id":"010029600CD44000","region":null}]},{"id":"d88ecf98-a771-42ae-a6c2-2d986e0bc23a","directory":"we-should-talk","title":"We should talk.","compatibility":99,"releases":[{"id":"0100560010E3E000","region":null}]},{"id":"d892733a-387c-4d7a-8342-a21236137234","directory":"spidersolitaire-black","title":"SpiderSolitaire BLACK","compatibility":99,"releases":[{"id":"010082700C618000","region":null}]},{"id":"d8b69fdd-b1ef-4227-8b8a-b8fedcb1b15a","directory":"locomotion","title":"Locomotion","compatibility":99,"releases":[{"id":"0100708010800000","region":null}]},{"id":"d8bfaa4a-84da-48c4-a6c6-8607abfc7547","directory":"maria-the-witch","title":"Maria The Witch","compatibility":99,"releases":[{"id":"0100EB6005E90000","region":null}]},{"id":"d8d29a6a-bfc7-4c25-bd20-39b444eb2f2c","directory":"composer","title":"Composer","compatibility":0,"releases":[{"id":"0100BDA0165A6000","region":null}]},{"id":"d8e4737b-94d3-4ef8-8774-165f0d612a12","directory":"dinosaur-fossil-puzzles","title":"Dinosaur Fossil Puzzles","compatibility":99,"releases":[{"id":"0100B96015C94000","region":null}]},{"id":"d9063381-3ec8-46ad-b06f-ade2d6c413f4","directory":"animal-crossing-new-horizons-island-transfer-tool","title":"Animal Crossing: New Horizons Island Transfer Tool","compatibility":5,"releases":[{"id":"0100F38011CFE000","region":null}]},{"id":"d90675c0-2ab5-435d-b6e8-6e6472a8599f","directory":"unrailed","title":"Unrailed!","compatibility":5,"releases":[{"id":"010042C011476000","region":null}]},{"id":"d9154da6-bf4c-4b1d-9d94-5076036f18c5","directory":"digerati-presents-the-dungeon-crawl-vol-1","title":"Digerati Presents: The Dungeon Crawl Vol. 1","compatibility":2,"releases":[{"id":"010035D0121EC000","region":null}]},{"id":"d916405b-7b1c-4fc7-adfe-a709508a6eab","directory":"v-rally-4","title":"V-Rally 4","compatibility":2,"releases":[{"id":"010064400B138000","region":null}]},{"id":"d92616a9-b5e0-4bd4-9e84-bd3560305ac1","directory":"adams-venture-origins","title":"Adam's Venture™: Origins","compatibility":3,"releases":[{"id":"0100C0C0040E4000","region":null}]},{"id":"d92d6eda-6549-4403-b060-7235e392c83a","directory":"zenge","title":"Zenge","compatibility":99,"releases":[{"id":"01008DD0114AE000","region":null}]},{"id":"d934ef21-8915-4397-9aa5-badf6216369a","directory":"fall-of-light-darkest-edition","title":"Fall of Light: Darkest Edition","compatibility":1,"releases":[{"id":"01005A600BE60000","region":null}]},{"id":"d9383c45-e667-407c-9963-313d14cbf2ca","directory":"football-battle","title":"Football Battle","compatibility":99,"releases":[{"id":"01005F901566E000","region":null}]},{"id":"d93c9aaa-cd15-45fe-97d3-0d3de097ec33","directory":"diggerman","title":"Diggerman","compatibility":99,"releases":[{"id":"0100E4400C9A6000","region":null}]},{"id":"d9418c54-c9e5-41d7-82cb-54f1d8dd2fc7","directory":"red-square-escape-2","title":"Red Square Escape 2","compatibility":99,"releases":[{"id":"0100336015C9C000","region":null}]},{"id":"d942f99c-b439-4bb1-8e1f-fccae1150e85","directory":"bubble-shooter-fx","title":"Bubble Shooter FX","compatibility":99,"releases":[{"id":"0100C7C016454000","region":null}]},{"id":"d9498424-ba1e-4a9d-9d44-a9d3bb6b4e97","directory":"filmechanism","title":"FILMECHANISM","compatibility":99,"releases":[{"id":"01000F201542E000","region":null}]},{"id":"d94f8440-4b8d-4f85-add4-f4abaea4a72a","directory":"fantasy-strike","title":"Fantasy Strike","compatibility":0,"releases":[{"id":"0100944003820000","region":null}]},{"id":"d95c5eea-339d-467b-87b5-666ddf935fb8","directory":"metal-commando","title":"Metal Commando","compatibility":1,"releases":[{"id":"0100BE5015B7C000","region":null}]},{"id":"d96760e3-d400-48ad-a48f-0587b6408d2b","directory":"blue-reflection-second-light","title":"BLUE REFLECTION: Second Light","compatibility":3,"releases":[{"id":"010071C013390000","region":null}]},{"id":"d971d4b5-96cc-4f69-9e1f-5836927e0965","directory":"heroes-of-the-monkey-tavern","title":"Heroes of the Monkey Tavern","compatibility":1,"releases":[{"id":"0100352006A10000","region":null}]},{"id":"d9773332-1c8c-4609-8db0-4aa7c95ac156","directory":"mantis-burn-racing","title":"Mantis Burn Racing","compatibility":3,"releases":[{"id":"0100E98002F6E000","region":null}]},{"id":"d97a1052-c225-49e7-8dfa-3f5066ec300d","directory":"lego-city-undercover","title":"LEGO CITY Undercover","compatibility":1,"releases":[{"id":"01003A30012C0000","region":null}]},{"id":"d97dd4c0-39c6-4444-b826-3cf2d1908d3e","directory":"tamiku","title":"Tamiku","compatibility":99,"releases":[{"id":"010008A0128C4000","region":null}]},{"id":"d984a1db-aa05-46d6-8305-48c197d69eb0","directory":"turbo-skiddy-racing","title":"Turbo Skiddy Racing","compatibility":99,"releases":[{"id":"0100789014E26000","region":null}]},{"id":"d984cbcc-87f4-4393-8730-51e4f33f59e2","directory":"mx-vs-atv-all-out","title":"MX vs ATV All Out","compatibility":2,"releases":[{"id":"0100218011E7E000","region":null}]},{"id":"d98a3606-a089-48fb-83eb-9a8f5309c712","directory":"pixel-game-maker-series-werewolf-princess-kaguya","title":"Pixel Game Maker Series Werewolf Princess Kaguya","compatibility":3,"releases":[{"id":"0100859013CE6000","region":null}]},{"id":"d98e6ef8-6ce0-49bc-80bd-848b5a2da446","directory":"dead-synchronicity-tomorrow-comes-today","title":"Dead Synchronicity: Tomorrow Comes Today","compatibility":0,"releases":[{"id":"0100B410040F2000","region":null}]},{"id":"d9935299-e234-4546-91e8-7d8e5e31d93a","directory":"late-shift","title":"Late Shift","compatibility":99,"releases":[{"id":"0100055007B86000","region":null}]},{"id":"d997b974-3177-4091-b56d-a16af5dc6a7a","directory":"lost-lands-the-wanderer","title":"Lost Lands: The Wanderer","compatibility":99,"releases":[{"id":"0100AEC014C92000","region":null}]},{"id":"d99aa492-9a86-4cde-a2d1-76b2fb985866","directory":"alteric","title":"Alteric","compatibility":0,"releases":[{"id":"01004DB00935A000","region":null}]},{"id":"d9a29dc6-4b61-49c8-9b99-cd8f304e8c1d","directory":"fire-unghs-quest","title":"Fire: Ungh’s Quest","compatibility":99,"releases":[{"id":"010025C014798000","region":null}]},{"id":"d9ab34ff-9bf1-4c0d-ad9d-8767aa63cfdb","directory":"for-the-king","title":"For The King","compatibility":2,"releases":[{"id":"010069400B6BE000","region":null}]},{"id":"d9ac0026-c5e0-4cf0-9b9c-e45fe250d92f","directory":"aca-neogeo-art-of-fighting-2","title":"ACA NEOGEO ART OF FIGHTING 2","compatibility":4,"releases":[{"id":"010066600877E000","region":null}]},{"id":"d9b07875-7c0c-4a77-be7c-0b080588758b","directory":"the-great-ace-attorney-chronicles","title":"The Great Ace Attorney Chronicles","compatibility":0,"releases":[{"id":"010036E00FB20000","region":null}]},{"id":"d9c9e9c3-c5c3-41d2-8e89-d9f121676af9","directory":"dragon-quest-builders-2","title":"DRAGON QUEST BUILDERS 2","compatibility":2,"releases":[{"id":"010042000A986000","region":null}]},{"id":"d9ce454c-fe54-455f-8055-34fbe999e4dc","directory":"heart-chain-kitty","title":"Heart Chain Kitty","compatibility":99,"releases":[{"id":"010053C014E1A000","region":null}]},{"id":"d9dbef04-c3b9-4837-9a06-a192a999cac9","directory":"troubledays","title":"TroubleDays","compatibility":99,"releases":[{"id":"01005EA012430000","region":null}]},{"id":"d9e2fefe-9811-431a-83ea-60454d54a2ea","directory":"stealth","title":"Stealth","compatibility":99,"releases":[{"id":"01002BB013BF8000","region":null}]},{"id":"d9e9b661-e27d-4715-9e6d-73a08cb2e2f2","directory":"lumini","title":"Lumini","compatibility":99,"releases":[{"id":"010052B00B194000","region":null}]},{"id":"d9efb07c-f2eb-4060-a13c-4fedc9ca7b3f","directory":"lego-jurassic-world","title":"LEGO Jurassic World","compatibility":1,"releases":[{"id":"01001C100E772000","region":null}]},{"id":"d9f58c2d-3717-4af7-98e3-ca59b703d5fa","directory":"momolu-and-friends","title":"Momolu and Friends","compatibility":99,"releases":[{"id":"0100B6B015730000","region":null}]},{"id":"d9fd8635-f90c-4545-9c94-59189d564f59","directory":"motorsport-manager-for-nintendo-switch","title":"Motorsport Manager for Nintendo Switch","compatibility":1,"releases":[{"id":"01002A900D6D6000","region":null}]},{"id":"da0ac767-588d-485d-9a01-b9c11becce6e","directory":"paint-the-town-red","title":"Paint the Town Red","compatibility":99,"releases":[{"id":"010026E013EFC000","region":null}]},{"id":"da1add1b-4eec-4b87-9d6f-13c97275dfd1","directory":"parasomnia-verum","title":"Parasomnia Verum","compatibility":99,"releases":[{"id":"010055A015CE6000","region":null}]},{"id":"da1b224f-ade1-4945-97f4-9ad674e13834","directory":"die-for-valhalla","title":"Die for Valhalla!","compatibility":2,"releases":[{"id":"0100D98005E8C000","region":null}]},{"id":"da1d3b01-0136-48ce-bf47-c767adc61449","directory":"going-under","title":"Going Under","compatibility":1,"releases":[{"id":"01004D501113C000","region":null}]},{"id":"da385653-5743-48b0-bc11-c090634717d6","directory":"smash-reversi","title":"Smash Reversi","compatibility":99,"releases":[{"id":"01003C800CB9E000","region":null}]},{"id":"da3d011a-a65f-4087-99a4-a59d474a8f31","directory":"the-jackbox-party-pack-5","title":"The Jackbox Party Pack 5","compatibility":99,"releases":[{"id":"01006FE0096AC000","region":null}]},{"id":"da421095-f526-4b44-9ce8-5372f6ed7671","directory":"cotton-2-saturn-tribute","title":"COTTOn 2 - Saturn Tribute","compatibility":99,"releases":[{"id":"0100A18015268000","region":null}]},{"id":"da47bebd-8614-41c4-a1e9-c68ef285e670","directory":"inertial-drift","title":"Inertial Drift","compatibility":1,"releases":[{"id":"01002BD00F626000","region":null}]},{"id":"da492f06-5cf7-4d12-8919-d0039b3a094b","directory":"savage-halloween","title":"Savage Halloween","compatibility":1,"releases":[{"id":"01007130135E2000","region":null}]},{"id":"da518150-eeec-4374-adda-0e78a499cd36","directory":"gang-beasts","title":"Gang Beasts","compatibility":4,"releases":[{"id":"0100D58012E12000","region":null}]},{"id":"da571ffd-10d6-4742-8863-9b76d1423444","directory":"rush-rally-origins","title":"Rush Rally Origins","compatibility":5,"releases":[{"id":"0100EA00147A8000","region":null}]},{"id":"da60dc86-d21f-4e1b-ac3d-01b5bdda7d3d","directory":"the-dealer-simulator","title":"The Dealer Simulator","compatibility":99,"releases":[{"id":"01002FB013B8E000","region":null}]},{"id":"da6d87c2-16e7-4167-b32e-d48b7bcaf1d0","directory":"nicky-the-home-alone-golf-ball","title":"Nicky - The Home Alone Golf Ball","compatibility":99,"releases":[{"id":"010058800F860000","region":null}]},{"id":"da8aeb4f-e221-476e-98b9-e1791346d155","directory":"wytchwood","title":"Wytchwood","compatibility":99,"releases":[{"id":"01003750154D6000","region":null}]},{"id":"da8bae1a-6371-4c76-bb0f-045b977707e4","directory":"ace-invaders","title":"Ace Invaders","compatibility":2,"releases":[{"id":"0100189013E9C000","region":null}]},{"id":"da916662-5d0f-4b54-ab14-cf5853ce6a01","directory":"bit-trip-fate","title":"BIT.TRIP FATE","compatibility":99,"releases":[{"id":"0100744012D3E000","region":null}]},{"id":"dab9bdd8-50c5-494d-9d51-a730e2572387","directory":"shalnor-legends-sacred-lands","title":"Shalnor Legends: Sacred Lands","compatibility":99,"releases":[{"id":"0100B4900E008000","region":null}]},{"id":"dabd8a77-05fb-446d-89c6-f7a30c4a4c8b","directory":"titan-glory","title":"Titan Glory","compatibility":99,"releases":[{"id":"0100FE801185E000","region":null}]},{"id":"dac74b56-32dc-443a-b3d8-5dcbb57c1836","directory":"aca-neogeo-gururin","title":"ACA NEOGEO Gururin","compatibility":3,"releases":[{"id":"0100CE400A2FA000","region":null}]},{"id":"dadc95b7-16d7-44c3-a182-4e5a36aa4d8e","directory":"chess-knights-viking-lands","title":"Chess Knights: Viking Lands","compatibility":99,"releases":[{"id":"0100C51013902000","region":null}]},{"id":"dae411e3-69e2-4eac-a311-c34ba76f1cc6","directory":"guts-n-goals","title":"Guts 'N Goals","compatibility":99,"releases":[{"id":"01005930137AE000","region":null}]},{"id":"daefed59-5829-4f98-ada6-6aa48df7dadf","directory":"stab-stab-stab","title":"STAB STAB STAB!","compatibility":99,"releases":[{"id":"010095600F1A8000","region":null}]},{"id":"db0ad32b-1172-4711-9f2e-9543e6d7c40b","directory":"family-mysteries-2-echoes-of-tomorrow","title":"Family Mysteries 2: Echoes of Tomorrow","compatibility":99,"releases":[{"id":"0100335012D08000","region":null}]},{"id":"db336f39-2bf0-4f9f-9e6f-71dc20f968a6","directory":"rolling-sky-2","title":"Rolling Sky 2","compatibility":1,"releases":[{"id":"01007C900FD96000","region":null}]},{"id":"db34c34d-56a6-4b4e-83c1-f78c68304751","directory":"climbros","title":"Climbros","compatibility":0,"releases":[{"id":"01003FF011856000","region":null}]},{"id":"db477d45-923f-4384-9110-ff248601f665","directory":"rpg-maker-mv-player","title":"RPG Maker MV Player","compatibility":99,"releases":[{"id":"01008A900CB90000","region":null}]},{"id":"db7483b0-7014-4f9c-a156-c0ad701ffac0","directory":"sweets-swap","title":"Sweets Swap","compatibility":99,"releases":[{"id":"0100B280148F2000","region":null}]},{"id":"db77ef6f-3226-4a17-9fc7-337b8f3ac750","directory":"centipede-recharged","title":"Centipede: Recharged","compatibility":0,"releases":[{"id":"0100EA501521A000","region":null}]},{"id":"db82e6c5-02e4-497b-9ddf-1810f1672aea","directory":"active-soccer-2019","title":"Active Soccer 2019","compatibility":99,"releases":[{"id":"0100BEB00AAF8000","region":null}]},{"id":"dba0801c-4552-4dfb-b962-67a94032bb21","directory":"control-ultimate-edition-cloud-version","title":"Control Ultimate Edition - Cloud Version","compatibility":99,"releases":[{"id":"0100041013360000","region":null}]},{"id":"dbb67627-747f-44b5-b368-8efeac496145","directory":"teratopia","title":"Teratopia","compatibility":99,"releases":[{"id":"01001CC012CC4000","region":null}]},{"id":"dbc041ec-17b5-4c90-9965-0d535836c781","directory":"heaven-dust","title":"Heaven Dust","compatibility":1,"releases":[{"id":"010059100D928000","region":null}]},{"id":"dbc59aed-5347-443f-80a0-d0ad2a52ae7a","directory":"brawlout","title":"Brawlout","compatibility":2,"releases":[{"id":"01001FD0040F4000","region":null}]},{"id":"dbcd6318-fcc9-45ae-8753-de923ef56109","directory":"enchanted-path","title":"Enchanted Path","compatibility":99,"releases":[{"id":"0100C20015ED8000","region":null}]},{"id":"dbcf5f36-fdea-4cd6-bd2c-1b3359e21177","directory":"kissed-by-the-baddest-bidder","title":"Kissed by the Baddest Bidder","compatibility":3,"releases":[{"id":"0100F3A00F4CA000","region":null}]},{"id":"dbd4ebca-66ca-4b31-b4a2-444602e9a164","directory":"shovel-knight-specter-of-torment","title":"Shovel Knight: Specter of Torment","compatibility":1,"releases":[{"id":"01001180021FA000","region":null}]},{"id":"dbd8564d-4968-4021-b659-f89be5f79936","directory":"wildfire","title":"Wildfire","compatibility":99,"releases":[{"id":"0100D9D011E3C000","region":null}]},{"id":"dbd862a9-9da8-4f6f-861f-a9f35d00d1de","directory":"hopiko","title":"HoPiKo","compatibility":99,"releases":[{"id":"010071B00C904000","region":null}]},{"id":"dbda8252-26ad-4b3e-a3c9-08fbc63fd57b","directory":"one-deck-dungeon","title":"One Deck Dungeon","compatibility":99,"releases":[{"id":"0100B5D012F38000","region":null}]},{"id":"dbf5455f-3091-4825-ad4b-1b1639133788","directory":"balthazars-dream","title":"Balthazar's Dream","compatibility":99,"releases":[{"id":"0100BC400FB64000","region":null}]},{"id":"dbfd4c12-f014-4626-b76f-0e4d6c3e259e","directory":"sinless","title":"Sinless","compatibility":99,"releases":[{"id":"0100B8800F858000","region":null}]},{"id":"dc04ed01-0da9-4ddc-8c8b-42b348c722ba","directory":"puppies-and-kittens","title":"PUPPIES AND KITTENS","compatibility":99,"releases":[{"id":"0100A0E014C6C000","region":null}]},{"id":"dc1438f6-a98f-4058-b3fa-115a1087680e","directory":"estranged-the-departure","title":"Estranged: The Departure","compatibility":99,"releases":[{"id":"01004F9012FD8000","region":null}]},{"id":"dc1eef19-3da2-46ab-8167-58976d8026b8","directory":"pyre-on-fire-ten-pages","title":"Pyre on Fire: Ten Pages","compatibility":99,"releases":[{"id":"0100375013B56000","region":null}]},{"id":"dc2a3201-74bf-4dbd-8aeb-03952ec19faf","directory":"haven-park","title":"Haven Park","compatibility":99,"releases":[{"id":"0100E390155E4000","region":null}]},{"id":"dc2add31-bdc3-4e5e-9bc4-920f3636383a","directory":"kowloon-high-school-chronicle","title":"Kowloon High-School Chronicle","compatibility":1,"releases":[{"id":"0100FF70134BA000","region":null}]},{"id":"dc391bac-5d74-4a3c-a6df-d578a02b5f8e","directory":"crown-trick","title":"Crown Trick","compatibility":0,"releases":[{"id":"0100059012BAE000","region":null}]},{"id":"dc3e4cdf-2e6d-4cc4-acfd-c6f641481874","directory":"pathway","title":"Pathway","compatibility":99,"releases":[{"id":"0100114014724000","region":null}]},{"id":"dc50e778-ab1b-496e-a4f6-8187c31e8c8b","directory":"deadly-premonition-origins","title":"Deadly Premonition Origins","compatibility":0,"releases":[{"id":"0100EBE00F22E000","region":null}]},{"id":"dc5a9821-1b56-4538-8d51-70ed8ad1fa31","directory":"super-shape-shooter","title":"Super Shape Shooter","compatibility":99,"releases":[{"id":"0100C2201475C000","region":null}]},{"id":"dc5ba2ad-747b-4128-ba56-a477093bff72","directory":"zeus-quests-remastered","title":"Zeus Quests Remastered","compatibility":99,"releases":[{"id":"0100EE200B764000","region":null}]},{"id":"dc69a363-c648-42c3-a3a9-17dc858834cd","directory":"containment","title":"Containment","compatibility":99,"releases":[{"id":"0100589010EFE000","region":null}]},{"id":"dc73cdf7-0640-4a65-a282-8ebf4179d9bc","directory":"discmaster","title":"Discmaster","compatibility":99,"releases":[{"id":"0100D7800C4DC000","region":null}]},{"id":"dc742099-201d-4ed4-9d49-19f3cfaa5bc0","directory":"yoga-master","title":"YOGA MASTER","compatibility":4,"releases":[{"id":"01001B6010D58000","region":null}]},{"id":"dc807ac8-ad9b-412e-840d-bba4bebe1da0","directory":"burger-master","title":"Burger Master","compatibility":99,"releases":[{"id":"0100AC30143E6000","region":null}]},{"id":"dc813496-a802-4924-b86d-9f824a43e725","directory":"spell-casting-purrfectly-portable-edition","title":"Spell Casting: Purrfectly Portable Edition","compatibility":99,"releases":[{"id":"0100C3300C3F2000","region":null}]},{"id":"dc8a5aee-d03a-4e6e-a8fe-bd0a949b7ee9","directory":"dogworld","title":"Dogworld","compatibility":99,"releases":[{"id":"01001BB014EB6000","region":null}]},{"id":"dc8cb034-2bfa-493e-8a01-f77700aa6fc2","directory":"never-give-up","title":"Never Give Up","compatibility":99,"releases":[{"id":"01005AD00B91A000","region":null}]},{"id":"dca24cf6-1b76-407c-a20b-04197d552e35","directory":"i-saw-black-clouds","title":"I Saw Black Clouds","compatibility":1,"releases":[{"id":"01001860140B0000","region":null}]},{"id":"dcbd38d9-8e11-459d-a4c4-5b36f5a799e5","directory":"passpartout-the-starving-artist","title":"Passpartout: The Starving Artist","compatibility":99,"releases":[{"id":"0100CE600B7B4000","region":null}]},{"id":"dccd9a55-9329-4a58-b6b1-aefb58e6eac8","directory":"lost-phone-stories","title":"Lost Phone Stories","compatibility":99,"releases":[{"id":"010046600B76A000","region":null}]},{"id":"dccdb533-3bc0-41db-ac80-33565a7dee54","directory":"shapeshooter","title":"Shapeshooter","compatibility":99,"releases":[{"id":"01003E20153E2000","region":null}]},{"id":"dcd8f573-1ae3-4f78-b236-360115201392","directory":"blue-fire","title":"Blue Fire","compatibility":3,"releases":[{"id":"010073B010F6E000","region":null}]},{"id":"dce55542-618e-4b4d-9950-d732d1f82f62","directory":"ultrawings","title":"Ultrawings","compatibility":0,"releases":[{"id":"0100DAF00B620000","region":null}]},{"id":"dced43a6-312f-4a27-812d-7eea7133fefd","directory":"pokemon-lets-go-eevee","title":"Pokémon: Let’s Go, Eevee!","compatibility":0,"releases":[{"id":"0100187003A36000","region":null}]},{"id":"dd076fb9-9d68-45ff-b242-1b942c56de78","directory":"rising-hell","title":"Rising Hell","compatibility":0,"releases":[{"id":"010020C012F48000","region":null}]},{"id":"dd18a428-de08-40ef-9f0d-4d056725f338","directory":"king-lucas","title":"King Lucas","compatibility":99,"releases":[{"id":"0100E6B00FFBA000","region":null}]},{"id":"dd1d8e40-77e3-46f9-bc3c-70fe7c6fa5db","directory":"crime-opera-the-butterfly-effect","title":"Crime Opera: The Butterfly Effect","compatibility":99,"releases":[{"id":"01009B00144FC000","region":null}]},{"id":"dd2400d3-9550-450e-8718-bda2e2ae6547","directory":"joe-devers-lone-wolf","title":"Joe Dever's Lone Wolf","compatibility":0,"releases":[{"id":"0100D49008748000","region":null}]},{"id":"dd2fd8e2-7451-40ad-a710-8438a840c285","directory":"collidalot-demo","title":"Collidalot Demo","compatibility":99,"releases":[{"id":"010075100D450000","region":null}]},{"id":"dd32b64b-4557-4d57-9c79-0b07c89a2d05","directory":"toon-shooters-2","title":"Toon Shooters 2","compatibility":99,"releases":[{"id":"0100D31013F24000","region":null}]},{"id":"dd3cd1f0-108c-43ef-86f3-6f21f9857434","directory":"river-city-ransom","title":"River City Ransom","compatibility":1,"releases":[{"id":"0100CE300E48C000","region":null}]},{"id":"dd3d4b87-c573-4c6a-97de-a49aa61e850b","directory":"color-zen-kids","title":"Color Zen Kids","compatibility":99,"releases":[{"id":"0100DDA00C0BC000","region":null}]},{"id":"dd499a3d-348b-4aab-bbb8-c089fa59c33f","directory":"super-meat-boy-forever","title":"Super Meat Boy Forever","compatibility":4,"releases":[{"id":"01009C200D60E000","region":null}]},{"id":"dd4e0167-408b-48dc-8a64-d0b3b8a64ff9","directory":"tick-tock-a-tale-for-two","title":"Tick Tock: A Tale for Two","compatibility":99,"releases":[{"id":"0100E9000C42C000","region":null}]},{"id":"dd4e8642-258d-486e-928c-de2b99ded1f2","directory":"touchbattletanksp","title":"TouchBattleTankSP","compatibility":1,"releases":[{"id":"01000EC007C22000","region":null}]},{"id":"dd5b36f2-d14a-40af-b17d-b8105dfb0afe","directory":"funny-farm-animal-jigsaw-puzzle-game-for-kids-and-toddlers","title":"Funny Farm Animal Jigsaw Puzzle Game for Kids and Toddlers","compatibility":99,"releases":[{"id":"0100CB40153AE000","region":null}]},{"id":"dd5ddf2f-1651-494a-b284-332690a21fb5","directory":"shisen-sho-nikakudori","title":"Shisen-Sho NIKAKUdori","compatibility":99,"releases":[{"id":"0100FEE01316E000","region":null}]},{"id":"dd6f1b4d-f4db-40f7-8db9-e0fd3d68d5bc","directory":"my-little-icecream-booth","title":"My little IceCream Booth","compatibility":99,"releases":[{"id":"0100386013F8A000","region":null}]},{"id":"dd78bf8d-00e6-43cd-988f-75a449f0c0d1","directory":"america-wild-hunting","title":"America Wild Hunting","compatibility":99,"releases":[{"id":"010090B014218000","region":null}]},{"id":"dd7d5009-6afe-4636-8fda-8e5673518ca4","directory":"nurse-love-addiction","title":"Nurse Love Addiction","compatibility":0,"releases":[{"id":"01009F401002E000","region":null}]},{"id":"dd7dc035-4713-4da4-8a14-a2f0d23f4321","directory":"one-person-story","title":"One Person Story","compatibility":99,"releases":[{"id":"010076600FD64000","region":null}]},{"id":"dd80d851-bbba-49b3-9b45-34c462f8913f","directory":"mechanika","title":"MechaNika","compatibility":99,"releases":[{"id":"0100A7900BADA000","region":null}]},{"id":"dd829ae1-fdf8-4714-9f4c-0b98dc9ea5ae","directory":"911-operator-deluxe-edition","title":"911 Operator Deluxe Edition","compatibility":99,"releases":[{"id":"01000360107BC000","region":null}]},{"id":"dd91c81b-9184-4945-8451-bb858830e6b2","directory":"boxing-champs","title":"Boxing Champs","compatibility":99,"releases":[{"id":"0100AAB00E524000","region":null}]},{"id":"dd9e8fde-e849-429c-89af-bc1824871f45","directory":"crystal-ortha","title":"Crystal Ortha","compatibility":99,"releases":[{"id":"01008FA012FC0000","region":null}]},{"id":"ddac21d3-298a-4738-b411-bd3240fe6175","directory":"deltarune-chapter-1","title":"DELTARUNE Chapter 1","compatibility":1,"releases":[{"id":"010023800D64A000","region":null}]},{"id":"ddafe4df-1c97-4e47-acc3-14fbcfc91693","directory":"prinny-r-2-dawn-of-operation-panties-dood","title":"Prinny® 2: Dawn of Operation Panties, Dood!","compatibility":99,"releases":[{"id":"01008FA01187A000","region":null}]},{"id":"ddb09f34-4eb6-421d-8ccb-8e58a1ba545d","directory":"aca-neogeo-pleasure-goal-5-on-5-mini-soccer","title":"ACA NEOGEO PLEASURE GOAL: 5 ON 5 MINI SOCCER","compatibility":4,"releases":[{"id":"0100C2400AFCC000","region":null}]},{"id":"ddb3d37c-abf3-494d-9fad-287debe30a32","directory":"life-of-boris-super-slav","title":"Life of Boris: Super Slav","compatibility":99,"releases":[{"id":"01003AB012F00000","region":null}]},{"id":"ddbd0ebb-710a-4f00-a785-8124048a6fe9","directory":"legend-of-the-skyfish","title":"Legend of the Skyfish","compatibility":0,"releases":[{"id":"0100ECC00EF3C000","region":null}]},{"id":"ddc745a4-95a1-4b2c-b9a8-0d94c5d1a61b","directory":"this-war-of-mine-complete-edition","title":"This War of Mine: Complete Edition","compatibility":5,"releases":[{"id":"0100A8700BC2A000","region":null}]},{"id":"ddd170db-a9ff-422b-af80-d59709d1665e","directory":"skybolt-zack","title":"Skybolt Zack","compatibility":0,"releases":[{"id":"010041C01014E000","region":null}]},{"id":"ddd19536-127e-40fc-b1da-2f89f7598300","directory":"solitaire-spider-minimal","title":"Solitaire Spider Minimal","compatibility":99,"releases":[{"id":"0100A73012A74000","region":null}]},{"id":"ddd7f510-6ad5-4773-9ac3-78d1850eb61f","directory":"hollow-2","title":"Hollow 2","compatibility":99,"releases":[{"id":"01007DE016E9E000","region":null}]},{"id":"ddd90bcb-510a-4d59-92ab-49bb6faeb13a","directory":"9-monkeys-of-shaolin","title":"9 Monkeys of Shaolin","compatibility":99,"releases":[{"id":"010005E00E2BC000","region":null}]},{"id":"dde06d13-615d-4a17-9f07-cb9969deb9b6","directory":"ittle-dew","title":"Ittle Dew","compatibility":0,"releases":[{"id":"01005070088E0000","region":null}]},{"id":"dde93dea-a89d-45f6-9b9a-3d29868dabc0","directory":"a-hat-in-time","title":"A Hat in Time","compatibility":2,"releases":[{"id":"010056E00853A000","region":null}]},{"id":"ddf03c65-2c18-44a8-ae34-ce6dfa6f6d63","directory":"dreamo","title":"DREAMO","compatibility":5,"releases":[{"id":"0100D24013466000","region":null}]},{"id":"ddf2e573-e141-49ed-9b4c-b27ab115424f","directory":"dragon-pinball","title":"Dragon Pinball","compatibility":99,"releases":[{"id":"010026400DE10000","region":null}]},{"id":"ddf306b6-c0da-4734-a882-43f98eb89f7c","directory":"onimusha-warlords","title":"Onimusha: Warlords","compatibility":1,"releases":[{"id":"0100416008A12000","region":null}]},{"id":"ddffb260-eb1f-4f4a-9255-7296744ff114","directory":"where-angels-cry","title":"Where Angels Cry","compatibility":99,"releases":[{"id":"010027D011C9C000","region":null}]},{"id":"de021930-fa99-4395-ae43-7157e32a830b","directory":"vitamin-connection","title":"Vitamin Connection","compatibility":0,"releases":[{"id":"010088900E330000","region":null}]},{"id":"de100759-8d9f-4e46-b6e1-e4ce0ca6b976","directory":"pixel-game-maker-series-shiba-mekuri","title":"Pixel Game Maker Series Shiba Mekuri","compatibility":99,"releases":[{"id":"0100B3901642C000","region":null}]},{"id":"de16b03c-4b64-4179-b6d5-c554656d92ca","directory":"20-ladies","title":"20 Ladies","compatibility":99,"releases":[{"id":"0100DB6015A80000","region":null}]},{"id":"de1a3c4c-32a1-4e89-8204-4646e83e1181","directory":"mary-skelter-finale","title":"Mary Skelter Finale","compatibility":0,"releases":[{"id":"0100530014438000","region":null}]},{"id":"de1e393c-bfa7-4e7e-8160-ac400d1639dc","directory":"arcade-archives-bomb-jack","title":"Arcade Archives BOMB JACK","compatibility":5,"releases":[{"id":"0100192009824000","region":null}]},{"id":"de205856-a8f7-4898-ab48-895f9eda477f","directory":"jin-conception","title":"Jin Conception","compatibility":99,"releases":[{"id":"01005E3014C3E000","region":null}]},{"id":"de266e3c-992e-46d6-97b4-d9fab4601424","directory":"being-stronger-while-playing-silverstar-go-dx","title":"Being Stronger While Playing! SilverStar Go DX","compatibility":3,"releases":[{"id":"0100092011764000","region":null}]},{"id":"de2b19a4-41eb-47a0-8037-3ca8d378f752","directory":"mad-games-tycoon","title":"Mad Games Tycoon","compatibility":0,"releases":[{"id":"010061E00EB1E000","region":null}]},{"id":"de2e1ab8-6a72-4533-a524-f2523ae15869","directory":"disgaea-5-complete","title":"Disgaea 5 Complete","compatibility":2,"releases":[{"id":"01005700031AE000","region":null}]},{"id":"de311e13-a6e9-4ab0-bd6e-d5f1868cf4f3","directory":"pen-and-paper-games-bundle","title":"Pen and Paper Games Bundle","compatibility":99,"releases":[{"id":"01005B9011830000","region":null}]},{"id":"de324337-e934-458c-bc0d-9e311a715f68","directory":"spectacular-sparky","title":"Spectacular Sparky","compatibility":99,"releases":[{"id":"010009F011FB2000","region":null}]},{"id":"de5079c3-d709-4ce5-b09e-e5814ca4cbca","directory":"arcade-archives-formation-z","title":"Arcade Archives FORMATION Z","compatibility":99,"releases":[{"id":"0100045010A28000","region":null}]},{"id":"de595f46-4317-455c-80e0-efb07a7a1265","directory":"satazius-next","title":"Satazius NEXT","compatibility":1,"releases":[{"id":"01009580113A4000","region":null}]},{"id":"de5b5cb9-0303-4881-a1c6-8c0c261ba848","directory":"oddworld-strangers-wrath","title":"Oddworld: Stranger's Wrath","compatibility":3,"releases":[{"id":"01002EA00ABBA000","region":null}]},{"id":"de72bace-25aa-41dd-8c64-333be7834a0f","directory":"hide-dance","title":"Hide & Dance!","compatibility":99,"releases":[{"id":"0100CA7012CD6000","region":null}]},{"id":"de74feeb-5c7e-4c3b-8570-e89a47156cf7","directory":"dragon-hills","title":"Dragon Hills","compatibility":99,"releases":[{"id":"0100A6B016248000","region":null}]},{"id":"de755c27-d0d3-461d-aaf8-9ae51a6958ce","directory":"holy-potatoes-a-weapon-shop","title":"Holy Potatoes! A Weapon Shop?!","compatibility":0,"releases":[{"id":"0100FC5009E10000","region":null}]},{"id":"de77cabc-287d-4ab7-9643-9ef223a99cad","directory":"space-robinson","title":"Space Robinson","compatibility":0,"releases":[{"id":"0100795011D68000","region":null}]},{"id":"de7f1704-5dca-401b-b05c-80301e02a203","directory":"rangerdog","title":"Rangerdog","compatibility":99,"releases":[{"id":"0100341015246000","region":null}]},{"id":"de890c60-066c-44ee-ade0-7013e78784f5","directory":"deuces-wild-video-poker","title":"Deuces Wild - Video Poker","compatibility":99,"releases":[{"id":"0100B3501283E000","region":null}]},{"id":"de8bdad0-e51c-4d62-a830-cff44372ff69","directory":"rugby-challenge-4","title":"Rugby Challenge 4","compatibility":99,"releases":[{"id":"010009B00D33C000","region":null}]},{"id":"deb09593-d69c-459b-a92e-fbb93fba4356","directory":"fracter","title":"FRACTER","compatibility":0,"releases":[{"id":"010018F010CD2000","region":null}]},{"id":"ded05c93-46b5-45a1-b095-ac6158d44e6f","directory":"warborn","title":"WARBORN","compatibility":99,"releases":[{"id":"010054900F51A000","region":null}]},{"id":"defe3a6b-aaea-47b9-83c0-ae3ad59af1c1","directory":"dungeon-munchies","title":"Dungeon Munchies","compatibility":99,"releases":[{"id":"0100A610167C4000","region":null}]},{"id":"df0247ae-1b73-4790-9113-fd810933fda9","directory":"world-splitter","title":"World Splitter","compatibility":99,"releases":[{"id":"010095D014950000","region":null}]},{"id":"df1823c8-f8cc-4def-9305-039174612e1d","directory":"moonlighter","title":"Moonlighter","compatibility":0,"releases":[{"id":"0100F4700B2E0000","region":null}]},{"id":"df196b62-a491-462b-86c9-f4b132468c00","directory":"the-long-gate","title":"The Long Gate","compatibility":99,"releases":[{"id":"0100E3A013DB2000","region":null}]},{"id":"df1cf2b6-28dd-460b-8749-a3edfa8e257c","directory":"american-man","title":"American Man","compatibility":99,"releases":[{"id":"01004280160C0000","region":null}]},{"id":"df23606e-f4f4-4336-82b3-749f65064a33","directory":"persephone","title":"Persephone","compatibility":99,"releases":[{"id":"01005EB013FBA000","region":null}]},{"id":"df4043f9-3ce3-44c0-8992-9a1b1a8a1aea","directory":"ultra-foodmess","title":"Ultra Foodmess","compatibility":99,"releases":[{"id":"0100C4801223C000","region":null}]},{"id":"df489554-e3bb-4f05-8713-27ae81ddc9db","directory":"yuppie-psycho-executive-edition","title":"Yuppie Psycho: Executive Edition","compatibility":99,"releases":[{"id":"0100307011C44000","region":null}]},{"id":"df7efe92-560d-48f1-9e66-e26e9d3ccd10","directory":"warparty","title":"Warparty","compatibility":99,"releases":[{"id":"010035A00D4E6000","region":null}]},{"id":"df88b0fe-e669-4def-ae37-5f677fa15fd6","directory":"super-monkey-ball-banana-mania","title":"Super Monkey Ball Banana Mania","compatibility":1,"releases":[{"id":"010001701248C000","region":null}]},{"id":"df964e81-c068-41e5-99a1-8b28922f74a3","directory":"muse-dash","title":"Muse Dash","compatibility":0,"releases":[{"id":"01008E200C5C2000","region":null}]},{"id":"df9ae8a6-b9e9-4d8d-a1ac-8243976cfe9e","directory":"arcade-archives-black-heart","title":"Arcade Archives BLACK HEART","compatibility":99,"releases":[{"id":"010015E015676000","region":null}]},{"id":"df9f947e-c4af-4ae4-9f0a-359852e5c1b9","directory":"closer","title":"CLOSER","compatibility":99,"releases":[{"id":"0100358015762000","region":null}]},{"id":"dfa6abb4-4f0c-43f7-bf22-18af62be8963","directory":"melbits-world","title":"Melbits World","compatibility":99,"releases":[{"id":"01000FA010340000","region":null}]},{"id":"dfadaed0-7ec2-49e0-b730-b19aa64b9b2c","directory":"amnesia-collection","title":"Amnesia: Collection","compatibility":3,"releases":[{"id":"01003CC00D0BE000","region":null}]},{"id":"dfb92790-5b45-4627-bb2b-ec7ef623f09d","directory":"ace-strike","title":"Ace Strike","compatibility":99,"releases":[{"id":"010052E0146C0000","region":null}]},{"id":"dfc51c13-9d75-4a53-a05d-177d97f65704","directory":"amazing-princess-sarah","title":"Amazing Princess Sarah","compatibility":0,"releases":[{"id":"01006720150DA000","region":null}]},{"id":"dfd212b3-88eb-46b0-bf5f-d3a9ac15404a","directory":"vasara-collection","title":"VASARA Collection","compatibility":99,"releases":[{"id":"0100FE200AF48000","region":null}]},{"id":"dfdea820-6d2b-4a9c-96be-fe1a7af22fd5","directory":"summer-paws","title":"Summer Paws","compatibility":99,"releases":[{"id":"0100BD401493A000","region":null}]},{"id":"dffb9d5a-f9ce-4acf-a827-c2a40ef53d66","directory":"arcade-archives-ninja-kid","title":"Arcade Archives Ninja-Kid","compatibility":99,"releases":[{"id":"0100369001DDC000","region":null}]},{"id":"dffe1ba0-3ebe-4ebd-92c0-2d94516c0daf","directory":"colorfall","title":"Colorfall","compatibility":0,"releases":[{"id":"0100C8A014BB0000","region":null}]},{"id":"e003cc87-4bb7-46eb-bdd8-ab323a3870cd","directory":"legend-of-the-tetrarchs","title":"Legend of the Tetrarchs","compatibility":99,"releases":[{"id":"01007E900DFB6000","region":null}]},{"id":"e00bc067-188a-4d51-bbe9-0e2c0d6f8a7e","directory":"car-driving-school-simulator","title":"Car Driving School Simulator","compatibility":99,"releases":[{"id":"01001B7012A3E000","region":null}]},{"id":"e0140c5f-1e37-45af-b429-96932abf8617","directory":"retro-classix-2-in-1-pack-heavy-barrel-super-burger-time","title":"Retro Classix 2-in-1 Pack: Heavy Barrel & Super Burger Time","compatibility":99,"releases":[{"id":"0100254012184000","region":null}]},{"id":"e015a033-0318-40eb-b975-2c4285effe61","directory":"arcade-archives-p-o-w-prisoners-of-war","title":"Arcade Archives P.O.W. -PRISONERS OF WAR-","compatibility":99,"releases":[{"id":"0100547010920000","region":null}]},{"id":"e01c27c7-ce1a-4d50-8a0c-f979353470eb","directory":"this-is-the-police","title":"This Is the Police","compatibility":1,"releases":[{"id":"0100066004D68000","region":null}]},{"id":"e01fbd74-b0b3-46f0-b25b-4862b5afe16a","directory":"arena-of-valor","title":"Arena of Valor","compatibility":99,"releases":[{"id":"01008D8006A6A000","region":null}]},{"id":"e02e0d3f-cfbb-48d6-8de3-1fa23f007d82","directory":"mars-chaos-menace","title":"Mars: Chaos Menace","compatibility":99,"releases":[{"id":"0100B2400C67E000","region":null}]},{"id":"e02e9014-bc0f-446e-ab5f-0bec6a8738c3","directory":"serious-sam-collection","title":"Serious Sam Collection","compatibility":5,"releases":[{"id":"010007D00D43A000","region":null}]},{"id":"e02ff5ee-cd00-4087-a22d-0af03bb3df76","directory":"overwatch-legendary-edition","title":"Overwatch: Legendary Edition","compatibility":5,"releases":[{"id":"0100F8600E21E000","region":null}]},{"id":"e037e780-2f4b-43be-953e-ac35afda12e2","directory":"party-hard","title":"Party Hard","compatibility":0,"releases":[{"id":"010076E009C5E000","region":null}]},{"id":"e040ce79-11b5-43bb-a328-371d473ebcec","directory":"shelter-generations","title":"Shelter Generations","compatibility":99,"releases":[{"id":"01009EB004CB0000","region":null}]},{"id":"e04875e4-032b-4434-aef2-c29535444f09","directory":"capcom-beat-em-up-bundle","title":"Capcom Beat 'Em Up Bundle","compatibility":1,"releases":[{"id":"010094E00B52E000","region":null}]},{"id":"e05bab6f-e4ea-460a-bd72-306f144457ed","directory":"together","title":"Together","compatibility":99,"releases":[{"id":"010041C013C94000","region":null}]},{"id":"e06514bd-d7c3-4ec6-ae55-2fe23582dabe","directory":"project-highrise-architects-edition","title":"Project Highrise: Architect's Edition","compatibility":99,"releases":[{"id":"0100BBD00976C000","region":null}]},{"id":"e071ea75-8582-45f9-b997-556377f0abc7","directory":"arcade-archives-time-pilot-84","title":"Arcade Archives TIME PILOT '84","compatibility":99,"releases":[{"id":"01003200144CA000","region":null}]},{"id":"e0727e89-2cbd-4aae-995a-4bdb34b49133","directory":"body-of-evidence","title":"Body of Evidence","compatibility":99,"releases":[{"id":"0100721013510000","region":null}]},{"id":"e0813105-891a-44de-bdba-10b34f06298c","directory":"job-the-leprechaun","title":"Job the Leprechaun","compatibility":99,"releases":[{"id":"01007CE00C960000","region":null}]},{"id":"e08fe28d-5341-4ffd-ad74-a98cdec2abb3","directory":"picklock","title":"Picklock","compatibility":99,"releases":[{"id":"010059C012966000","region":null}]},{"id":"e0924a6d-caeb-46dd-8c20-72607329c192","directory":"boulder-dash-30th-anniversary","title":"Boulder Dash 30th Anniversary","compatibility":0,"releases":[{"id":"0100DB20107BE000","region":null}]},{"id":"e09631c5-6d89-4b32-85eb-9ee359d311a2","directory":"cabin-fever","title":"Cabin Fever","compatibility":99,"releases":[{"id":"0100680016472000","region":null}]},{"id":"e0bead2c-040a-48b4-8f24-d905e6d7699e","directory":"riptide-gp-renegade","title":"Riptide GP: Renegade","compatibility":0,"releases":[{"id":"01002A6006AA4000","region":null}]},{"id":"e0bf4059-fd46-4e17-8aa6-19eb8762624b","directory":"what-the-golf","title":"WHAT THE GOLF?","compatibility":0,"releases":[{"id":"01002C000E35E000","region":null}]},{"id":"e0c6361d-5fea-4cc3-9ef6-afca52b461f4","directory":"caterpillar-royale","title":"Caterpillar Royale","compatibility":99,"releases":[{"id":"01002B300D8F0000","region":null}]},{"id":"e0cdcab2-b30e-4d05-ab12-8727ea222343","directory":"spyro-reignited-trilogy","title":"Spyro Reignited Trilogy","compatibility":2,"releases":[{"id":"010077B00E046000","region":null}]},{"id":"e0d13172-7eb6-4b10-8a14-b6fc7de7fd49","directory":"arcade-archives-city-connection","title":"Arcade Archives City CONNECTION","compatibility":99,"releases":[{"id":"010007A00980C000","region":null}]},{"id":"e0db6142-6f92-47e3-ab73-78350d2510bb","directory":"teamfight-manager","title":"Teamfight Manager","compatibility":99,"releases":[{"id":"0100FE50169BC000","region":null}]},{"id":"e0dd05c3-0b06-4463-b12f-0b76365455a3","directory":"freecell-solitaire","title":"Freecell Solitaire","compatibility":99,"releases":[{"id":"010060600D894000","region":null}]},{"id":"e0e4acd8-89df-44c4-b832-321ddf724d17","directory":"tennis-world-tour","title":"Tennis World Tour","compatibility":99,"releases":[{"id":"0100092006814000","region":null}]},{"id":"e0ebd565-f648-4ee7-896f-cd5ed5729b11","directory":"nidhogg-2","title":"Nidhogg 2","compatibility":5,"releases":[{"id":"0100C8700B0B6000","region":null}]},{"id":"e0f4bcb6-d715-42f9-85cf-e2ae5764f86b","directory":"arcade-archives-punch-out","title":"Arcade Archives PUNCH-OUT!!","compatibility":1,"releases":[{"id":"01001530097F8000","region":null}]},{"id":"e0f636b9-bd10-4d18-a03a-a5705d3204c1","directory":"knock-em-down-bowling","title":"Knock 'Em Down! Bowling","compatibility":99,"releases":[{"id":"010085000BA5C000","region":null}]},{"id":"e0f6915e-aeae-41f4-914f-d0e92e570ede","directory":"moto-racer-4","title":"Moto Racer 4","compatibility":4,"releases":[{"id":"01002ED00B01C000","region":null}]},{"id":"e0fab6c7-0ff1-46ac-86f6-a3cd727e4432","directory":"super-hyperactive-ninja","title":"Super Hyperactive Ninja","compatibility":99,"releases":[{"id":"010032B00C31E000","region":null}]},{"id":"e0fcc0fa-3e01-4b13-bcfe-0180b4130af1","directory":"dark-grim-mariupolis","title":"Dark Grim Mariupolis","compatibility":99,"releases":[{"id":"010090F013A32000","region":null}]},{"id":"e0fd8921-074e-4ceb-935d-c0bfe5f8f5ba","directory":"kukkorodays","title":"KukkoroDays","compatibility":5,"releases":[{"id":"010022801242C000","region":null}]},{"id":"e11c03f5-dc32-41c9-ac11-e6ec5a71d05f","directory":"cave-bad","title":"Cave Bad","compatibility":99,"releases":[{"id":"0100CC7013F1A000","region":null}]},{"id":"e12f5bc8-2561-45c9-8a50-3348bda1ef78","directory":"pc-building-simulator","title":"PC Building Simulator","compatibility":1,"releases":[{"id":"010072800CBE8000","region":null}]},{"id":"e133d6fb-b8d2-4cb0-badb-b0274f685a10","directory":"horror-tales-the-wine","title":"HORROR TALES: The Wine","compatibility":99,"releases":[{"id":"01009C9014E04000","region":null}]},{"id":"e1383227-95be-44ab-b3a1-2731113ca50f","directory":"touhou-luna-nights","title":"Touhou Luna Nights","compatibility":5,"releases":[{"id":"0100D850131B0000","region":null}]},{"id":"e14c965b-9f0c-4811-8d1c-a02618a7de35","directory":"akane","title":"Akane","compatibility":4,"releases":[{"id":"01007F100DE52000","region":null}]},{"id":"e15337ec-e9c5-449b-bb3f-e1365e61780c","directory":"the-eyes-of-ara","title":"The Eyes of Ara","compatibility":99,"releases":[{"id":"0100B5900DFB2000","region":null}]},{"id":"e15be281-6cb8-4dd0-ac21-601a4d0a488f","directory":"urban-flow","title":"Urban Flow","compatibility":1,"releases":[{"id":"0100B110109F8000","region":null}]},{"id":"e15d7c86-e09b-4765-9750-14d085f70aa0","directory":"ski-sniper","title":"Ski Sniper","compatibility":99,"releases":[{"id":"0100945011246000","region":null}]},{"id":"e1641c1d-16ed-47b3-be64-1e70a309daa8","directory":"crossbow-crusade","title":"Crossbow Crusade","compatibility":99,"releases":[{"id":"0100F890150CE000","region":null}]},{"id":"e16ae725-fe26-4612-8fa7-2125a3d206e8","directory":"blasphemous","title":"Blasphemous","compatibility":1,"releases":[{"id":"0100698009C6E000","region":null}]},{"id":"e174cdce-92c9-4474-9f33-f13ef152310f","directory":"bishoujo-battle-cyber-panic","title":"Bishoujo Battle Cyber Panic!","compatibility":99,"releases":[{"id":"0100F16013F80000","region":null}]},{"id":"e17670d3-7582-438d-b5bc-ebf2db5ed166","directory":"bridge-strike","title":"Bridge Strike","compatibility":1,"releases":[{"id":"0100A6C011B10000","region":null}]},{"id":"e183bb5c-d08d-464a-999d-2cb79869550e","directory":"arcade-archives-raimais","title":"Arcade Archives RAIMAIS","compatibility":99,"releases":[{"id":"010091F015E12000","region":null}]},{"id":"e1baa658-7cf3-4210-9a5b-6670535ff62c","directory":"megabyte-punch","title":"Megabyte Punch","compatibility":99,"releases":[{"id":"0100FC700F942000","region":null}]},{"id":"e1c863e0-a763-4e25-ab30-1f99f8c6ce77","directory":"hitori-logic","title":"Hitori Logic","compatibility":99,"releases":[{"id":"01007BF012AD2000","region":null}]},{"id":"e1cd2372-11ba-4f4b-9073-54313708ca7c","directory":"epic-word-search-collection-2","title":"Epic Word Search Collection 2","compatibility":99,"releases":[{"id":"01001FF01247E000","region":null}]},{"id":"e1ce54c8-9770-47f6-853a-83862c72e690","directory":"archery-blast","title":"Archery Blast","compatibility":99,"releases":[{"id":"01003B8014D6C000","region":null}]},{"id":"e1d669a4-1353-4e9f-830e-aefe48029f2f","directory":"murder-diaries-2","title":"Murder Diaries 2","compatibility":99,"releases":[{"id":"010028F01590A000","region":null}]},{"id":"e1d73c49-785d-46e3-8a69-f1cedc594e8c","directory":"super-toy-cars","title":"Super Toy Cars","compatibility":99,"releases":[{"id":"0100384009344000","region":null}]},{"id":"e1f3919a-aa5c-4ef5-8724-839c6a056278","directory":"dobutsu-shogi-world","title":"DOBUTSU SHOGI WORLD","compatibility":99,"releases":[{"id":"01009BD00E33E000","region":null}]},{"id":"e1f43768-95a8-4bb7-9dfc-9a31ed9b67fd","directory":"the-dark-eye-chains-of-satinav","title":"The Dark Eye: Chains of Satinav","compatibility":2,"releases":[{"id":"010016900EE3A000","region":null}]},{"id":"e2111a4b-7272-4ff4-a5f2-5c8ae5f880c9","directory":"arcade-archives-vs-super-mario-bros","title":"Arcade Archives VS. SUPER MARIO BROS.","compatibility":1,"releases":[{"id":"010021D00812A000","region":null}]},{"id":"e2342361-637d-4c2f-9589-1d83e9ffbc19","directory":"sports-wild-pinball","title":"Sports & Wild Pinball","compatibility":99,"releases":[{"id":"01005E6016836000","region":null}]},{"id":"e2352e05-5c05-44c3-bb3c-11968d28e685","directory":"lost-wing","title":"Lost Wing","compatibility":1,"releases":[{"id":"010064600F1D6000","region":null}]},{"id":"e23ded3a-62f9-4b90-bba2-3bc4a505b4eb","directory":"inferno-2","title":"Inferno 2","compatibility":99,"releases":[{"id":"010063200AB12000","region":null}]},{"id":"e256d17d-7228-4186-a189-c0c8512dbaf7","directory":"mega-man-11-demo-version","title":"Mega Man 11 Demo Version","compatibility":0,"releases":[{"id":"010076800B06E000","region":null}]},{"id":"e25b9c7f-6f14-4894-9e48-516eb22f7662","directory":"cricket-19","title":"Cricket 19","compatibility":99,"releases":[{"id":"010022D00D4F0000","region":null}]},{"id":"e26579ca-3c67-4f02-829c-34e48edf07f6","directory":"quiplash","title":"Quiplash","compatibility":99,"releases":[{"id":"010015A0113E0000","region":null}]},{"id":"e2733532-2ee1-4f60-ba46-e82653db5f71","directory":"ronister-adventure","title":"Ronister Adventure","compatibility":99,"releases":[{"id":"0100E230159DE000","region":null}]},{"id":"e2796f6e-5f74-49be-b17d-903eddb92c5e","directory":"retrace-memories-of-death","title":"Retrace: Memories of Death","compatibility":99,"releases":[{"id":"0100C4C013688000","region":null}]},{"id":"e28321fd-4f07-439f-8270-02216bf8e89f","directory":"starlight-alliance","title":"Starlight Alliance","compatibility":99,"releases":[{"id":"0100478014C30000","region":null}]},{"id":"e2832ba5-9bfc-4691-8256-cc17dfa6b823","directory":"gelly-break-demo","title":"Gelly Break Demo","compatibility":99,"releases":[{"id":"010057D00CF10000","region":null}]},{"id":"e2894d72-b706-4340-af58-a3cde46a94ad","directory":"bohemian-killing","title":"Bohemian Killing","compatibility":99,"releases":[{"id":"0100AD1010CCE000","region":null}]},{"id":"e292c8f9-6d77-46f3-abea-2ca571d9d70d","directory":"rune-lord","title":"Rune Lord","compatibility":1,"releases":[{"id":"01008CD00FB66000","region":null}]},{"id":"e297276a-c229-4aaa-b490-39a1f8e26dd6","directory":"meow-motors","title":"Meow Motors","compatibility":2,"releases":[{"id":"0100EBE00D5B0000","region":null}]},{"id":"e29ae27d-6a5d-4f4d-9e2d-07550e46c62f","directory":"pictoquest","title":"PictoQuest","compatibility":0,"releases":[{"id":"010043B00E1CE000","region":null}]},{"id":"e2a7e278-1dc6-46e1-991b-074f7f747981","directory":"r-type-dimensions-ex","title":"R-Type Dimensions EX","compatibility":0,"releases":[{"id":"0100E5400BE64000","region":null}]},{"id":"e2c83db9-5ed7-4263-87eb-c27fdd9a1f2b","directory":"while-true-learn","title":"while True: learn()","compatibility":99,"releases":[{"id":"010092601020A000","region":null}]},{"id":"e2ca6dea-d4a8-46cb-9327-807b1fdb7de3","directory":"space-avenger-empire-of-nexx","title":"Space Avenger: Empire of Nexx","compatibility":99,"releases":[{"id":"01002C30122F4000","region":null}]},{"id":"e2caf2c5-f19c-484b-b16f-dcf9a0dab12c","directory":"alwas-legacy","title":"Alwa's Legacy","compatibility":0,"releases":[{"id":"01001B7012214000","region":null}]},{"id":"e2ceee7e-7aae-4a75-940e-489ec4828aa8","directory":"thea-the-awakening","title":"Thea: The Awakening","compatibility":99,"releases":[{"id":"010075900CD1C000","region":null}]},{"id":"e2dcabea-b9e1-4120-b05d-5896dd742094","directory":"the-complex","title":"The Complex","compatibility":3,"releases":[{"id":"01004170113D4000","region":null}]},{"id":"e2de5793-895e-4182-81bd-f3aa9a361344","directory":"battle-worlds-kronos","title":"Battle Worlds: Kronos","compatibility":99,"releases":[{"id":"0100DEB00D5A8000","region":null}]},{"id":"e2e49c7a-287c-4594-b102-2b2bf6a3dc70","directory":"neo-atlas-1469","title":"Neo ATLAS 1469","compatibility":99,"releases":[{"id":"0100B78006CCA000","region":null}]},{"id":"e2e79d25-b448-4d4d-8c4b-77332f9cc30f","directory":"atelier-totori-~the-adventurer-of-arland~-dx","title":"Atelier Totori ~The Adventurer of Arland~ DX","compatibility":2,"releases":[{"id":"01009BC00C6F6000","region":null}]},{"id":"e2f911a8-d5f0-426a-8517-17e852df038b","directory":"mind-maze","title":"Mind Maze","compatibility":99,"releases":[{"id":"010023601360A000","region":null}]},{"id":"e2ff94ba-5f56-43a9-bd5b-e57d3d88de96","directory":"dragon-ball-xenoverse-2-for-nintendo-switch","title":"DRAGON BALL Xenoverse 2 for Nintendo Switch","compatibility":4,"releases":[{"id":"010078D000F88000","region":null}]},{"id":"e300e0d1-8c9b-42b4-9d7b-3a4a28725a5b","directory":"must-dash-amigos","title":"Must Dash Amigos","compatibility":99,"releases":[{"id":"0100F6000EAA8000","region":null}]},{"id":"e30a2879-ee4a-43ab-b973-05a13107a2ba","directory":"galaxy-squad","title":"Galaxy Squad","compatibility":99,"releases":[{"id":"0100270015190000","region":null}]},{"id":"e3210b8f-294f-4eca-8fff-7ff0bda2e566","directory":"noir-chronicles-city-of-crime","title":"Noir Chronicles: City of Crime","compatibility":99,"releases":[{"id":"0100DFF00C5E6000","region":null}]},{"id":"e323c5ef-3bb1-4b22-b62b-7660b4e15435","directory":"wand-wars","title":"Wand Wars","compatibility":99,"releases":[{"id":"010059E00BB08000","region":null}]},{"id":"e328bcb9-1ea0-4a74-b90b-b363d073496f","directory":"dragon-lapis","title":"Dragon Lapis","compatibility":99,"releases":[{"id":"010076F012CD8000","region":null}]},{"id":"e32f712a-ea8a-44de-811a-4ae53a810627","directory":"parking-madness","title":"Parking Madness","compatibility":99,"releases":[{"id":"010059801292A000","region":null}]},{"id":"e32f9c07-cb4d-49bb-b390-b4a0243834dd","directory":"ludo-xxl","title":"Ludo XXL","compatibility":99,"releases":[{"id":"01008B5015C8E000","region":null}]},{"id":"e332eb81-40a6-4d04-a699-9cbbec861a34","directory":"yesterday-origins","title":"Yesterday Origins","compatibility":3,"releases":[{"id":"01004F4003FDC000","region":null}]},{"id":"e33c1a42-6c1d-4144-b6fc-ab35508f7818","directory":"waku-waku-sweets","title":"WAKU WAKU SWEETS","compatibility":99,"releases":[{"id":"010058100C80A000","region":null}]},{"id":"e34fcbf8-3f1b-48e5-841f-983bffb1a3de","directory":"superhot","title":"SUPERHOT","compatibility":0,"releases":[{"id":"01001A500E8B4000","region":null}]},{"id":"e374e86e-2872-4768-9967-bb3ed832e756","directory":"grave-keeper","title":"Grave Keeper","compatibility":99,"releases":[{"id":"01000A600EA88000","region":null}]},{"id":"e38c78b8-a8bc-49d9-b99d-62e85e4ca189","directory":"domiverse","title":"Domiverse","compatibility":99,"releases":[{"id":"010033200D232000","region":null}]},{"id":"e38cb2b0-fcfb-4a85-90ad-9837a1f2a194","directory":"oxyjet","title":"Oxyjet","compatibility":99,"releases":[{"id":"010041700A04A000","region":null}]},{"id":"e39e5596-2cfa-4b28-afc8-87e2e459f9dd","directory":"carrion","title":"CARRION","compatibility":1,"releases":[{"id":"0100B1600E9AE000","region":null}]},{"id":"e3af4568-a47f-4768-bf88-e9b3f53a9bae","directory":"lets-cook-together","title":"Let's Cook Together","compatibility":99,"releases":[{"id":"0100448011BC4000","region":null}]},{"id":"e3d09b4f-57cc-4078-8190-51c2b9144764","directory":"football-manager-touch-2018","title":"Football Manager Touch 2018","compatibility":99,"releases":[{"id":"010097F0099B4000","region":null}]},{"id":"e3d2a098-40b4-4fea-a83e-55a58f4fe6f9","directory":"hellbreachers","title":"Hellbreachers","compatibility":99,"releases":[{"id":"01002BF013F0C000","region":null}]},{"id":"e3dfc78c-2fd4-4f0f-a8ef-bfa3919ff489","directory":"wicce","title":"Wicce","compatibility":99,"releases":[{"id":"0100A64014D78000","region":null}]},{"id":"e3e44ca5-5a37-460a-b552-0f974dfd2215","directory":"instant-farmer","title":"Instant Farmer","compatibility":99,"releases":[{"id":"0100D5A01514C000","region":null}]},{"id":"e3e9404f-f553-46a2-81ea-89f1418930d8","directory":"the-walking-dead-season-two","title":"The Walking Dead: Season Two","compatibility":2,"releases":[{"id":"010099100B6AC000","region":null}]},{"id":"e3f1f869-d936-4d70-975b-e11000565d55","directory":"contraptions","title":"Contraptions","compatibility":99,"releases":[{"id":"010004900D976000","region":null}]},{"id":"e40b3985-fdf7-4629-8503-1b0e1c242e7a","directory":"worldend-syndrome","title":"Worldend Syndrome","compatibility":0,"releases":[{"id":"010048900CF64000","region":null}]},{"id":"e424514d-f246-4471-b73a-f073d24bdf61","directory":"worms-rumble","title":"Worms Rumble","compatibility":4,"releases":[{"id":"010016A010396000","region":null}]},{"id":"e42fc0b4-37db-4143-b97e-a29a53eb3e39","directory":"bombslinger","title":"Bombslinger","compatibility":4,"releases":[{"id":"010087300445A000","region":null}]},{"id":"e431f6a7-a59e-475a-a14e-007fda5f6185","directory":"super-impossible-road","title":"Super Impossible Road","compatibility":0,"releases":[{"id":"0100E82015112000","region":null}]},{"id":"e43b9746-93f0-4abf-95b9-7f6319ca4b93","directory":"escape-from-the-universe","title":"Escape from the Universe","compatibility":99,"releases":[{"id":"01005A100ED8A000","region":null}]},{"id":"e43e3cbe-93c2-41f4-a7fb-d1d659a40248","directory":"eggggg-the-platform-puker","title":"Eggggg - The platform puker","compatibility":1,"releases":[{"id":"0100121007308000","region":null}]},{"id":"e45d6006-7a19-4263-99b4-be8e1179e84a","directory":"bouncy-bullets","title":"Bouncy Bullets","compatibility":1,"releases":[{"id":"010016900DF72000","region":null}]},{"id":"e460231d-a425-4137-bda5-12256aae51a9","directory":"pokemon-shining-pearl","title":"Pokémon™ Shining Pearl","compatibility":2,"releases":[{"id":"010018E011D92000","region":null}]},{"id":"e460b232-2717-4506-8df7-8f77995d4652","directory":"zotrix-starglider","title":"Zotrix Starglider","compatibility":99,"releases":[{"id":"0100B22013610000","region":null}]},{"id":"e46febd0-de1a-48a1-adce-bbc2af89b0b9","directory":"spellspire","title":"Spellspire","compatibility":99,"releases":[{"id":"0100E74007EAC000","region":null}]},{"id":"e4719fa3-2335-40f6-b4dd-144da938eefb","directory":"tri6-infinite","title":"Tri6: Infinite","compatibility":1,"releases":[{"id":"0100483011F16000","region":null}]},{"id":"e47b2628-7731-4537-90c6-7af00837fb64","directory":"moving-out","title":"Moving Out","compatibility":1,"releases":[{"id":"0100C4C00E73E000","region":null}]},{"id":"e47d1b94-98ae-4e40-9057-a546dff124b6","directory":"danganronpa-2-goodbye-despair-anniversary-edition","title":"Danganronpa 2: Goodbye Despair Anniversary Edition","compatibility":99,"releases":[{"id":"010083A014174000","region":null}]},{"id":"e487e12a-7c49-4691-bf44-7e8769dadd5b","directory":"air-racers","title":"Air Racers","compatibility":99,"releases":[{"id":"0100E16016A5C000","region":null}]},{"id":"e4957cb4-266b-425e-ad8a-e25be676b2de","directory":"pool-slide-story","title":"Pool Slide Story","compatibility":99,"releases":[{"id":"0100C9200F09A000","region":null}]},{"id":"e4961e44-5c13-472c-9a98-1c5ddb788876","directory":"damn-dolls","title":"Damn Dolls","compatibility":99,"releases":[{"id":"0100A1B01543C000","region":null}]},{"id":"e4a54e60-6858-4319-a3f8-39229da380e0","directory":"super-hero-fight-club-reloaded","title":"Super Hero Fight Club: Reloaded","compatibility":99,"releases":[{"id":"010009000CBB6000","region":null}]},{"id":"e4b86413-c163-4ebc-9e39-66362065ab72","directory":"my-little-riding-champion","title":"My Little Riding Champion","compatibility":99,"releases":[{"id":"01008C600395A000","region":null}]},{"id":"e4c873a7-73ea-4df7-918e-85ea2d7c18e6","directory":"putty-pals","title":"Putty Pals","compatibility":3,"releases":[{"id":"010049E003748000","region":null}]},{"id":"e4d5cdb6-cca4-435e-88ae-11ffb543dfcf","directory":"bingo-for-nintendo-switch","title":"BINGO for Nintendo Switch","compatibility":1,"releases":[{"id":"010087D008D64000","region":null}]},{"id":"e4e41cea-7acf-49da-b66d-e969364e109f","directory":"aca-neogeo-stakes-winner-2","title":"ACA NEOGEO STAKES WINNER 2","compatibility":99,"releases":[{"id":"010047D00AFD4000","region":null}]},{"id":"e503f06c-cea4-478d-87d4-6de0344d18fc","directory":"dark-witch-music-episode-rudymical","title":"Dark Witch Music Episode: Rudymical","compatibility":0,"releases":[{"id":"01001FA0034E2000","region":null}]},{"id":"e504e4f3-0ad9-4528-a10e-3671c78c33d0","directory":"joes-diner","title":"Joe's Diner","compatibility":99,"releases":[{"id":"0100080013E0E000","region":null}]},{"id":"e517306b-517a-4fa9-90e7-8c623fa503f0","directory":"solstice-chronicles-mia","title":"Solstice Chronicles: MIA","compatibility":2,"releases":[{"id":"0100DB500B17C000","region":null}]},{"id":"e5184691-ced0-4e12-83e7-d0f1c0175dd0","directory":"taxi-chaos","title":"Taxi Chaos","compatibility":3,"releases":[{"id":"0100B76011DAA000","region":null}]},{"id":"e5404da7-4c7d-4ff7-a02e-44f27edfe3ff","directory":"anti-hero-bundle","title":"Anti Hero Bundle","compatibility":99,"releases":[{"id":"0100596011E20000","region":null}]},{"id":"e54141b7-4866-4eba-b42f-2f84ea5cada3","directory":"business-tour-deluxe","title":"Business Tour Deluxe","compatibility":99,"releases":[{"id":"0100E61013758000","region":null}]},{"id":"e54e9e26-fa47-4fa4-91fa-e891838c8245","directory":"knight-swap","title":"Knight Swap","compatibility":99,"releases":[{"id":"010060C010B4A000","region":null}]},{"id":"e557c075-3288-49c3-879e-5dceb1de8b0d","directory":"one-piece-pirate-warriors-3-deluxe-edition","title":"ONE PIECE Pirate Warriors 3 Deluxe Edition","compatibility":3,"releases":[{"id":"0100774009CF6000","region":null}]},{"id":"e55c073d-df68-48d9-9d4e-02a83671eb47","directory":"sword-of-the-guardian","title":"Sword of the Guardian","compatibility":99,"releases":[{"id":"01000D70049BE000","region":null}]},{"id":"e55ec1de-1713-418d-afeb-094bb0ffb5a0","directory":"the-long-return","title":"The Long Return","compatibility":99,"releases":[{"id":"01003C3013300000","region":null}]},{"id":"e569f596-d8cd-40d5-926a-e34285f3028f","directory":"othello","title":"Othello","compatibility":0,"releases":[{"id":"0100902001014000","region":null}]},{"id":"e56c2a8c-3b9a-4324-8542-d8e943b21d28","directory":"nickelodeon-all-star-brawl","title":"Nickelodeon All-Star Brawl","compatibility":1,"releases":[{"id":"0100DCF013740000","region":null}]},{"id":"e581c940-ba5e-47d4-936d-943eabbef39e","directory":"story-of-a-gladiator","title":"Story of a Gladiator","compatibility":99,"releases":[{"id":"0100D5D00DAF2000","region":null}]},{"id":"e58a5a38-b154-41c6-affa-24f194cc0ef3","directory":"the-warlock-of-firetop-mountain-goblin-scourge-edition","title":"The Warlock of Firetop Mountain: Goblin Scourge Edition!","compatibility":99,"releases":[{"id":"0100219008678000","region":null}]},{"id":"e58dc885-1350-4a13-875b-7b3898045a8a","directory":"machinarium","title":"Machinarium","compatibility":4,"releases":[{"id":"01002D70049CA000","region":null}]},{"id":"e592281b-8f05-4daa-99c3-1ca0fb72cb87","directory":"door-kickers-action-squad","title":"Door Kickers: Action Squad","compatibility":1,"releases":[{"id":"01005ED00CD70000","region":null}]},{"id":"e59f6b0d-7cf9-49d1-9882-59bc3f4f89e9","directory":"chess-royal","title":"Chess Royal","compatibility":99,"releases":[{"id":"0100DAD0137B0000","region":null}]},{"id":"e5ac959b-81ec-43e6-b627-cd5656b7cc9d","directory":"godstrike","title":"Godstrike","compatibility":99,"releases":[{"id":"0100FA50138A6000","region":null}]},{"id":"e5affd72-857d-492d-9aec-f04bdb1b43e9","directory":"mr-trials","title":"Mr Trials","compatibility":99,"releases":[{"id":"010054501462E000","region":null}]},{"id":"e5b46fed-bd71-4142-8a27-59d7edbbc1a8","directory":"wallachia-reign-of-dracula","title":"Wallachia: Reign of Dracula","compatibility":4,"releases":[{"id":"010017E012888000","region":null}]},{"id":"e5c9a476-ab94-4cf3-a849-cce0ec9503bc","directory":"supermarket-shriek","title":"Supermarket Shriek","compatibility":99,"releases":[{"id":"0100C01012654000","region":null}]},{"id":"e5cbc2c8-3e6f-477d-b460-315529c4dccf","directory":"skeletal-avenger","title":"Skeletal Avenger","compatibility":99,"releases":[{"id":"0100BA5011E16000","region":null}]},{"id":"e5d2dd3b-037f-4104-8cc6-64c4a9f29050","directory":"2weistein-the-curse-of-the-red-dragon-2","title":"2weistein – The Curse of the Red Dragon 2","compatibility":99,"releases":[{"id":"01005E7014C4E000","region":null}]},{"id":"e5da8396-8d7b-48a9-9eb5-1d56dab00454","directory":"starman","title":"Starman","compatibility":99,"releases":[{"id":"010073000C43C000","region":null}]},{"id":"e5dadde2-8350-40b9-ae84-ff67ffc64ef0","directory":"kids-farm-coloring","title":"KIDS: FARM COLORING","compatibility":99,"releases":[{"id":"010000001260E000","region":null}]},{"id":"e5e1684a-3b58-42d4-89f6-45f2477bc13d","directory":"airport-simulator-day-night","title":"Airport Simulator: Day & Night","compatibility":99,"releases":[{"id":"01009AE015CE4000","region":null}]},{"id":"e5fc1ad4-e468-48c3-b80e-1a980f1adffe","directory":"wildbus","title":"Wildbus","compatibility":99,"releases":[{"id":"01009130156BA000","region":null}]},{"id":"e6027b5f-55cf-4397-860a-2a1918e31a44","directory":"bears-restaurant","title":"Bear's Restaurant","compatibility":99,"releases":[{"id":"0100C0E014A4E000","region":null}]},{"id":"e60426fd-c4ce-4f6f-945a-e5ee39bae01b","directory":"gravifire","title":"GraviFire","compatibility":99,"releases":[{"id":"010054A013E0C000","region":null}]},{"id":"e6237dbd-8ff7-492a-a813-8bcbf568a21e","directory":"gun-gun-pixies","title":"Gun Gun Pixies","compatibility":0,"releases":[{"id":"01009EB00DC76000","region":null}]},{"id":"e624f01d-246a-4811-810c-6cc3e279afd5","directory":"touhou-sky-arena-matsuri-climax","title":"TOUHOU SKY ARENA -MATSURI-CLIMAX","compatibility":99,"releases":[{"id":"0100F42007752000","region":null}]},{"id":"e6262310-53ea-45ad-9308-ad59118f2904","directory":"fault-milestone-two-side-above","title":"fault - milestone two side: above","compatibility":99,"releases":[{"id":"010023D012C52000","region":null}]},{"id":"e63df27b-e4d7-499d-925e-470b146ae839","directory":"aca-neogeo-super-sidekicks-3-the-next-glory","title":"ACA NEOGEO SUPER SIDEKICKS 3 : THE NEXT GLORY","compatibility":99,"releases":[{"id":"0100A4D00A308000","region":null}]},{"id":"e6477203-3e7a-4c95-9b57-26b86cbbc6d7","directory":"animal-pairs-matching-concentration-game-for-toddlers-kids","title":"Animal Pairs - Matching & Concentration Game for Toddlers & Kids","compatibility":99,"releases":[{"id":"010033C0121DC000","region":null}]},{"id":"e648f472-bb9a-4a4d-b381-2722a7334054","directory":"negative-nancy","title":"Negative Nancy","compatibility":99,"releases":[{"id":"0100A300147D0000","region":null}]},{"id":"e64ce1ab-72a1-4e90-ad78-5a695fb070a2","directory":"bravely-default-ii","title":"BRAVELY DEFAULT™ II","compatibility":2,"releases":[{"id":"01006DC010326000","region":null}]},{"id":"e650478a-cea3-4e05-b452-94d94077ad88","directory":"demong-hunter","title":"Demong Hunter","compatibility":2,"releases":[{"id":"010000401313A000","region":null}]},{"id":"e65c1824-5bd8-4af7-b505-20fb27cd4bf8","directory":"vosaria-lair-of-the-forgotten","title":"Vosaria: Lair of the Forgotten","compatibility":99,"releases":[{"id":"01000EC00E60E000","region":null}]},{"id":"e66f8cc2-cd8f-4e55-b4eb-7b88a677cb07","directory":"vera-blanc-ghost-in-the-castle","title":"Vera Blanc: Ghost In The Castle","compatibility":99,"releases":[{"id":"0100805013BDA000","region":null}]},{"id":"e672cb11-5e08-4941-afc5-c52747d59eda","directory":"dancing-dreamer","title":"Dancing Dreamer","compatibility":99,"releases":[{"id":"010034C0152A8000","region":null}]},{"id":"e67d86fa-b146-412e-a00c-a6a82878ff45","directory":"romancing-saga-3","title":"Romancing SaGa 3","compatibility":1,"releases":[{"id":"0100D0400D27A000","region":null}]},{"id":"e67dacda-46a7-4b20-ba9d-d6b699815c17","directory":"emergency-hq","title":"EMERGENCY HQ","compatibility":99,"releases":[{"id":"010016B00EBE6000","region":null}]},{"id":"e6954ea3-ecb1-45cf-95e8-26ad80db90a5","directory":"magic-scroll-tactics","title":"Magic Scroll Tactics","compatibility":99,"releases":[{"id":"0100AAA00D404000","region":null}]},{"id":"e69d05f4-4620-4276-9f3b-4845c02c7c45","directory":"sega-ages-puyo-puyo-2","title":"SEGA AGES Puyo Puyo 2","compatibility":1,"releases":[{"id":"010019700D13A000","region":null}]},{"id":"e69d248d-c2a1-4d02-870b-3f9d0aec77a5","directory":"pure-electric-love-what-do-you-want-eri-kitami-","title":"Pure / Electric Love \"What do you want?\" - Eri Kitami -","compatibility":99,"releases":[{"id":"01007B900A508000","region":null}]},{"id":"e6a6d658-e8c9-4132-a76f-b8016e5ac829","directory":"animal-puzzle-preschool-learning-game-for-kids-and-toddlers","title":"Animal Puzzle - Preschool Learning Game for Kids and Toddlers","compatibility":99,"releases":[{"id":"0100F7A015F38000","region":null}]},{"id":"e6a86c34-0893-46bb-b43c-e3ab0640ced1","directory":"monopoly-r-madness","title":"MONOPOLY® Madness","compatibility":99,"releases":[{"id":"01005FF013DC2000","region":null}]},{"id":"e6aa6578-f201-4a89-aaa7-43813d385008","directory":"secret-neighbor","title":"Secret Neighbor","compatibility":99,"releases":[{"id":"0100540013468000","region":null}]},{"id":"e6c48cbf-eeca-403c-9b90-518bda8c8b76","directory":"star-horizon","title":"Star Horizon","compatibility":99,"releases":[{"id":"0100EC2011B9C000","region":null}]},{"id":"e6c658be-2682-40a1-a703-fe53e8ba4d94","directory":"trine-3-the-artifacts-of-power","title":"Trine 3: The Artifacts of Power","compatibility":3,"releases":[{"id":"0100DEC00A934000","region":null}]},{"id":"e6c6681e-5d13-458f-8451-4cf6f9181084","directory":"dungeons-bombs","title":"Dungeons & Bombs","compatibility":99,"releases":[{"id":"0100BE801360E000","region":null}]},{"id":"e6cbab9f-9447-4a57-8f75-a5245bfa6c80","directory":"takeshi-and-hiroshi","title":"Takeshi and Hiroshi","compatibility":99,"releases":[{"id":"0100CFD012908000","region":null}]},{"id":"e6d1202b-6ba1-4401-8772-45cea87a99a2","directory":"frontline-zed","title":"Frontline Zed","compatibility":3,"releases":[{"id":"0100861012474000","region":null}]},{"id":"e6eae8e8-9326-440d-afef-23cff1841d96","directory":"werewolf-the-apocalypse-heart-of-the-forest","title":"Werewolf: The Apocalypse — Heart of the Forest","compatibility":99,"releases":[{"id":"0100379013998000","region":null}]},{"id":"e6f36580-a879-4704-b739-04ecc9f97e11","directory":"gorilla-big-adventure","title":"Gorilla Big Adventure","compatibility":99,"releases":[{"id":"010076F013D5C000","region":null}]},{"id":"e6f7bfe3-790c-4f2b-9c8a-0eb9da19e0f1","directory":"boom-blaster","title":"Boom Blaster","compatibility":99,"releases":[{"id":"01002E6013ED8000","region":null}]},{"id":"e6fabd57-15a3-4251-9bfb-833459431f57","directory":"seek-hearts","title":"Seek Hearts","compatibility":99,"releases":[{"id":"010075D0101FA000","region":null}]},{"id":"e70cfc62-e986-4172-986f-8ab1cfb78eeb","directory":"metachampions","title":"MetaChampions","compatibility":99,"releases":[{"id":"01006DB00FBF6000","region":null}]},{"id":"e71ee723-9e6a-48a6-8619-bb4f4cf6711d","directory":"the-bear-and-the-admiral","title":"The Bear And The Admiral","compatibility":99,"releases":[{"id":"0100B7E0161FC000","region":null}]},{"id":"e71f560c-536e-4f9e-afd3-e5d551a0aa7b","directory":"strike-force-2-terrorist-hunt","title":"Strike Force 2 - Terrorist Hunt","compatibility":99,"releases":[{"id":"01004B500F07C000","region":null}]},{"id":"e73719b2-4567-4b8a-97ef-403bbb0f7a25","directory":"a-robot-named-fight","title":"A Robot Named Fight","compatibility":1,"releases":[{"id":"0100EB600A4DA000","region":null}]},{"id":"e74c286d-a9c4-4b3a-b0f6-ac1acfcb5188","directory":"technosphere","title":"Technosphere","compatibility":99,"releases":[{"id":"01004CD01039A000","region":null}]},{"id":"e74ecf10-72f8-4e52-86a9-9a4c13cccaeb","directory":"rodent-warriors","title":"Rodent Warriors","compatibility":99,"releases":[{"id":"0100CFA013C4C000","region":null}]},{"id":"e754e0b9-05a8-4574-9522-3344a13b7b54","directory":"match","title":"Match","compatibility":99,"releases":[{"id":"0100C61011DEA000","region":null}]},{"id":"e758e916-0c0b-4938-9b11-767f257cd84f","directory":"woodle-tree-2-deluxe","title":"Woodle Tree 2: Deluxe","compatibility":2,"releases":[{"id":"0100E0300EB04000","region":null}]},{"id":"e7604fb9-018e-4ce5-b350-97fac49196f3","directory":"deep-diving-adventures","title":"Deep Diving Adventures","compatibility":99,"releases":[{"id":"010026800FA88000","region":null}]},{"id":"e77b6d07-55d4-42c3-a5a5-80f4ab29a7d5","directory":"psyvariar-delta","title":"Psyvariar Delta","compatibility":1,"releases":[{"id":"01001CF00AD06000","region":null}]},{"id":"e782c3d2-5d4c-4b25-be48-c87ff9def46b","directory":"chop-is-dish","title":"Chop is Dish","compatibility":99,"releases":[{"id":"010031E00F6AE000","region":null}]},{"id":"e7ab0ece-8f64-4d18-93d5-d75ae66e981d","directory":"flux8","title":"Flux8","compatibility":99,"releases":[{"id":"010039C00E2CE000","region":null}]},{"id":"e7b1416b-340d-4f05-8d85-4c90fc04edd0","directory":"classic-pool","title":"Classic Pool","compatibility":1,"releases":[{"id":"01006740157F8000","region":null}]},{"id":"e7b67091-17bf-421e-9ce2-ca4fd073f312","directory":"wonder-boy-asha-in-monster-world","title":"Wonder Boy Asha in Monster World","compatibility":1,"releases":[{"id":"0100EB2012E36000","region":null}]},{"id":"e7c74175-e5d6-4153-85c1-ac3934274a06","directory":"legend-of-mana","title":"Legend of Mana","compatibility":4,"releases":[{"id":"01003570130E2000","region":null}]},{"id":"e7d8a07e-13a1-4006-8a2b-79ef6f86c12e","directory":"guilty-gear-xx-accent-core-plus-r","title":"GUILTY GEAR XX ACCENT CORE PLUS R","compatibility":99,"releases":[{"id":"01006F80082E4000","region":null}]},{"id":"e7d93f80-e40e-4c5e-84fd-4aab5d2091a0","directory":"classic-snake-adventures","title":"Classic Snake Adventures","compatibility":99,"releases":[{"id":"0100E6C00EB12000","region":null}]},{"id":"e7e054e2-9e95-40d2-a67b-96b328aa5b80","directory":"headsnatchers","title":"Headsnatchers","compatibility":3,"releases":[{"id":"0100A8200C372000","region":null}]},{"id":"e805fb78-9351-4a89-89c0-5d2cd0e062ae","directory":"phoenotopia-awakening","title":"Phoenotopia : Awakening","compatibility":99,"releases":[{"id":"01005E100A4F0000","region":null}]},{"id":"e8062c6c-6975-4184-b255-dcd5ba6ff54f","directory":"jettomero-hero-of-the-universe","title":"Jettomero: Hero of the Universe","compatibility":99,"releases":[{"id":"0100A5A00AF26000","region":null}]},{"id":"e80696f9-3c26-4f74-9a48-365d9bb2bc4f","directory":"lost-artifacts","title":"Lost Artifacts","compatibility":99,"releases":[{"id":"01003F500E658000","region":null}]},{"id":"e80ca335-cdfa-4144-9ee0-565924df529b","directory":"epic-word-search-collection","title":"Epic Word Search Collection","compatibility":99,"releases":[{"id":"0100D000111C2000","region":null}]},{"id":"e817f9a4-5d75-44fa-891e-136e4cc80d67","directory":"my-memory-of-us","title":"My Memory of Us","compatibility":0,"releases":[{"id":"0100E7700C284000","region":null}]},{"id":"e830aa92-7159-412c-b7fe-c88ad40c2346","directory":"jigsaw-abundance","title":"JigSaw Abundance","compatibility":99,"releases":[{"id":"0100B440119AA000","region":null}]},{"id":"e8366075-1ab9-4014-9e9a-1b833d922cf9","directory":"love-3","title":"LOVE 3","compatibility":99,"releases":[{"id":"010088A0167A0000","region":null}]},{"id":"e8394bb7-a33f-470a-a761-0370ef631d48","directory":"murder-by-numbers","title":"Murder by Numbers","compatibility":0,"releases":[{"id":"010061700FA8C000","region":null}]},{"id":"e842a1c7-75dd-4bab-afaa-94d0a77443b5","directory":"azure-reflections","title":"Azure Reflections","compatibility":0,"releases":[{"id":"01006FB00990E000","region":null}]},{"id":"e84daa5f-b7b7-4ae3-975e-d9b78060bddd","directory":"physical-contact-2048","title":"Physical Contact: 2048","compatibility":99,"releases":[{"id":"0100BF1003B9A000","region":null}]},{"id":"e87581b4-0885-4a7e-b125-8aca625b9170","directory":"capes-escape-game-3rd-room","title":"Cape’s Escape Game 3rd Room","compatibility":1,"releases":[{"id":"0100AA5015B96000","region":null}]},{"id":"e8783bc8-f84c-4da7-8b3f-bad1ac05651b","directory":"knights-of-pen-and-paper-bundle","title":"Knights of Pen and Paper Bundle","compatibility":99,"releases":[{"id":"01009A300C836000","region":null}]},{"id":"e879617c-c753-4a8b-84fe-ad80dbb09cbb","directory":"a-magical-high-school-girl","title":"A Magical High School Girl","compatibility":1,"releases":[{"id":"01008DD006C52000","region":null}]},{"id":"e886ddb8-1b88-4f63-9c9f-1ea2c156f5fc","directory":"orn-the-tiny-forest-sprite","title":"Orn: The Tiny Forest Sprite","compatibility":99,"releases":[{"id":"01006C70102EA000","region":null}]},{"id":"e88766d1-f3db-407f-a5d3-d4da0393a0b8","directory":"pool-8-ball-billiards","title":"Pool: 8 Ball Billiards","compatibility":99,"releases":[{"id":"01003FF015E54000","region":null}]},{"id":"e89c02c4-aab8-4ee2-b78f-07593528f870","directory":"the-darkside-detective-a-fumble-in-the-dark","title":"The Darkside Detective: A Fumble in the Dark","compatibility":99,"releases":[{"id":"0100576012B44000","region":null}]},{"id":"e8b5ac05-120d-4924-8032-2b7fbf4b642f","directory":"kosmokrats","title":"Kosmokrats","compatibility":99,"releases":[{"id":"0100C2B013B70000","region":null}]},{"id":"e8c7d542-1126-4ac6-b44f-29fc2bdfae1c","directory":"skyhill","title":"SKYHILL","compatibility":1,"releases":[{"id":"0100A0A00D1AA000","region":null}]},{"id":"e8cafc9c-5856-4404-a026-2d3a3356b178","directory":"nurse-love-syndrome","title":"Nurse Love Syndrome","compatibility":99,"releases":[{"id":"010003701002C000","region":null}]},{"id":"e8f97029-3d6b-4b88-a5b3-d66fe7a3de8b","directory":"forward-to-the-sky","title":"Forward To The Sky","compatibility":2,"releases":[{"id":"0100DBA011136000","region":null}]},{"id":"e8fe6720-ab41-4db8-9aed-9aa52b3b507d","directory":"secrets-of-me","title":"Secrets of Me","compatibility":99,"releases":[{"id":"01008DF01290C000","region":null}]},{"id":"e8ff7c5d-55d2-432b-88be-2c8074395e96","directory":"om-nom-run","title":"Om Nom: Run","compatibility":99,"releases":[{"id":"010032D01641E000","region":null}]},{"id":"e906f233-424b-42f8-bf90-a07418f939ef","directory":"pumped-bmx-pro","title":"Pumped BMX Pro","compatibility":99,"releases":[{"id":"01009AE00B788000","region":null}]},{"id":"e90d49b8-56f9-4b7e-8164-69ddf8d69e7c","directory":"squidgies-takeover","title":"Squidgies Takeover","compatibility":99,"releases":[{"id":"010009300D31C000","region":null}]},{"id":"e925ffb6-a2ad-48ca-a27f-119eca176316","directory":"arcade-archives-plus-alpha","title":"Arcade Archives PLUS ALPHA","compatibility":99,"releases":[{"id":"01007F8010C66000","region":null}]},{"id":"e9264c11-7784-48c6-a1d9-7002295e27c8","directory":"super-mario-bros-35","title":"Super Mario Bros.™ 35","compatibility":4,"releases":[{"id":"0100277011F1A000","region":null}]},{"id":"e9289207-dd26-4b80-b717-8bcf9febff4a","directory":"caladrius-blaze","title":"Caladrius Blaze","compatibility":1,"releases":[{"id":"01004FD00D66A000","region":null}]},{"id":"e9299e96-2399-401f-b62f-059bf292428f","directory":"pocket-league-story","title":"Pocket League Story","compatibility":99,"releases":[{"id":"010016D00D2C2000","region":null}]},{"id":"e940c0d7-e002-4ddf-8601-5d0061687d35","directory":"five-nights-at-freddys-help-wanted","title":"Five Nights at Freddy's: Help Wanted","compatibility":5,"releases":[{"id":"0100F7901118C000","region":null}]},{"id":"e94b180f-3154-4c32-86c8-b6acacfd5831","directory":"neo-the-world-ends-with-you","title":"NEO: The World Ends with You","compatibility":1,"releases":[{"id":"010043B013C5C000","region":null}]},{"id":"e94fb01f-59f3-4e91-86df-7dedbd7f1858","directory":"ding-dong-xl","title":"Ding Dong XL","compatibility":1,"releases":[{"id":"0100B6D00DA6E000","region":null}]},{"id":"e9526b4a-ae70-4ce2-8f32-db3bdbc2a7eb","directory":"robot-squad-simulator","title":"Robot Squad Simulator","compatibility":99,"releases":[{"id":"01001B800D742000","region":null}]},{"id":"e9702fde-9255-4a9a-bc4b-82c0f48fc900","directory":"star-sky","title":"Star Sky","compatibility":99,"releases":[{"id":"0100ACD00E27E000","region":null}]},{"id":"e97b76ca-2bb2-4ba1-bcba-6acfd9b3be81","directory":"strange-telephone","title":"Strange Telephone","compatibility":99,"releases":[{"id":"01002F800FD12000","region":null}]},{"id":"e98260e9-74eb-462f-9e46-842dbb4399af","directory":"pack-master","title":"Pack Master","compatibility":99,"releases":[{"id":"0100BEE011402000","region":null}]},{"id":"e989212c-d853-4e5f-9119-45544c443a34","directory":"star99","title":"Star99","compatibility":1,"releases":[{"id":"0100E6B0115FC000","region":null}]},{"id":"e995f747-24ab-4c61-b531-c530d0f9c063","directory":"corpse-killer-25th-anniversary-edition","title":"Corpse Killer - 25th Anniversary Edition","compatibility":99,"releases":[{"id":"0100D36013BDC000","region":null}]},{"id":"e9a33552-8141-4152-a90e-cfe6e39a4a2f","directory":"cruel-bands-career","title":"Cruel Bands Career","compatibility":99,"releases":[{"id":"0100F7900D8A4000","region":null}]},{"id":"e9acfe54-b692-4acb-abec-2991ac8aa4ab","directory":"immortal-planet","title":"Immortal Planet","compatibility":4,"releases":[{"id":"01007BC00E55A000","region":null}]},{"id":"e9ae9e60-3c06-4ab0-a2b4-df5632127237","directory":"jacks-or-better-video-poker","title":"Jacks or Better - Video Poker","compatibility":0,"releases":[{"id":"0100DD901201A000","region":null}]},{"id":"e9af6b32-162e-49a9-9683-e9cbd11eb99c","directory":"g-darius-hd","title":"G-DARIUS HD","compatibility":3,"releases":[{"id":"0100BCE013042000","region":null}]},{"id":"e9b2581c-b478-4cbd-889b-6b74412d5178","directory":"real-drift-racing","title":"Real Drift Racing","compatibility":99,"releases":[{"id":"0100A8A00E462000","region":null}]},{"id":"e9b6fbb0-fcf5-4171-9f0d-6f1118e81143","directory":"mable-and-the-wood","title":"Mable & The Wood","compatibility":99,"releases":[{"id":"01000B400E53A000","region":null}]},{"id":"e9bd487a-cb6a-468c-b8cd-0eb3a9750c00","directory":"my-arctic-farm-2018","title":"My Arctic Farm 2018","compatibility":99,"releases":[{"id":"01009A400C868000","region":null}]},{"id":"e9be1466-df80-4127-a737-279dc54d42ab","directory":"soccer-pinball","title":"Soccer Pinball","compatibility":99,"releases":[{"id":"0100B5000E05C000","region":null}]},{"id":"e9cbad53-53b9-40df-bb24-02d1fba3110a","directory":"alien-isolation","title":"Alien: Isolation","compatibility":3,"releases":[{"id":"010075D00E8BA000","region":null}]},{"id":"e9dac2f8-0bf5-4b20-a548-a5af579fd5a6","directory":"thief-of-thieves-season-one","title":"Thief of Thieves: Season One","compatibility":2,"releases":[{"id":"0100CE700F62A000","region":null}]},{"id":"e9df6c02-53f2-4af0-9e23-040b83cf6fac","directory":"neogeo-pocket-color-selection-vol-1","title":"NEOGEO POCKET COLOR SELECTION Vol.1","compatibility":0,"releases":[{"id":"010006D0128B4000","region":null}]},{"id":"e9e20555-697a-46a4-8053-2ff3588d9cdc","directory":"battlestar-galactica-deadlock","title":"Battlestar Galactica Deadlock","compatibility":99,"releases":[{"id":"010059C00E39C000","region":null}]},{"id":"e9ef4845-b6f6-43ee-bc6d-d642237e58ba","directory":"sniper-elite-4","title":"Sniper Elite 4","compatibility":4,"releases":[{"id":"010007B010FCC000","region":null}]},{"id":"e9f69bed-2059-4e58-851c-b89c2204aa99","directory":"the-explorer-of-night","title":"The Explorer of Night","compatibility":99,"releases":[{"id":"0100308013768000","region":null}]},{"id":"e9f88c7c-9dfe-4381-8e62-632061a57609","directory":"dwarf-journey","title":"Dwarf Journey","compatibility":99,"releases":[{"id":"01009E8013FCE000","region":null}]},{"id":"e9f9f510-1168-49bc-b0eb-dd2442480516","directory":"underhero","title":"Underhero","compatibility":99,"releases":[{"id":"01005CD00F85A000","region":null}]},{"id":"ea0a142c-7cf8-4aa2-9242-db654f687acb","directory":"beasts-of-maravilla-island","title":"Beasts of Maravilla Island","compatibility":99,"releases":[{"id":"01008FF014670000","region":null}]},{"id":"ea1fcc02-7409-444c-853d-61de28b3eff1","directory":"ancestors-legacy","title":"Ancestors Legacy","compatibility":99,"releases":[{"id":"01009EE0111CC000","region":null}]},{"id":"ea27fb31-6e60-4260-bd68-2c76027f5a8b","directory":"super-jumpy-ball","title":"Super Jumpy Ball","compatibility":1,"releases":[{"id":"010015700D5DC000","region":null}]},{"id":"ea2d515b-a5d9-4cde-9c12-c2dc712db878","directory":"pinball-jam","title":"Pinball Jam","compatibility":99,"releases":[{"id":"0100AD50167EC000","region":null}]},{"id":"ea345728-8524-4f72-8ed5-12d4b5d4c55e","directory":"steven-universe-unleash-the-light","title":"Steven Universe: Unleash the Light","compatibility":1,"releases":[{"id":"0100599012F08000","region":null}]},{"id":"ea3941b1-f994-42d1-89d4-a876180fb740","directory":"super-box-land-demake","title":"Super Box Land Demake","compatibility":99,"releases":[{"id":"0100D6A00F802000","region":null}]},{"id":"ea6222b9-bcbc-49ec-8114-a4e73802d116","directory":"diabolic","title":"Diabolic","compatibility":99,"releases":[{"id":"0100F73011456000","region":null}]},{"id":"ea73641f-35d9-4cec-9675-8b3298b1cc77","directory":"mahjong-solitaire-refresh","title":"Mahjong Solitaire Refresh","compatibility":99,"releases":[{"id":"01008C300B624000","region":null}]},{"id":"ea815de3-fca1-45ea-b495-4d1c7f9045a8","directory":"pinstripe","title":"Pinstripe","compatibility":0,"releases":[{"id":"010041100B148000","region":null}]},{"id":"ea94352f-0227-4f08-a69b-45ef63ce992e","directory":"lunch-a-palooza","title":"Lunch A Palooza","compatibility":99,"releases":[{"id":"0100E0C011D52000","region":null}]},{"id":"ea97ff20-8bf1-432a-9bc7-a3152969b7d7","directory":"axs","title":"AXS","compatibility":99,"releases":[{"id":"0100C55014592000","region":null}]},{"id":"eaa590e8-9725-4811-bf24-c362e89e0ff9","directory":"captain-tsubasa-rise-of-new-champions","title":"Captain Tsubasa: Rise of New Champions","compatibility":0,"releases":[{"id":"0100EAE010560000","region":null}]},{"id":"eaa6bda8-a467-4ef7-9fde-39e01131ccfa","directory":"grey-skies-a-war-of-the-worlds-story","title":"Grey Skies: A War of the Worlds Story","compatibility":99,"releases":[{"id":"0100DA7013792000","region":null}]},{"id":"eaa87f6c-1021-41c2-823c-b6f72af4bf33","directory":"state-of-mind","title":"State of Mind","compatibility":99,"releases":[{"id":"0100844004CB6000","region":null}]},{"id":"eab0b7fa-fa18-4b0e-a1db-5032bf1cc401","directory":"island","title":"ISLAND","compatibility":3,"releases":[{"id":"0100F06013710000","region":null}]},{"id":"eab4414a-0365-4da7-bbf9-9ad377a2db2a","directory":"arcade-archives-penguin-kun-wars","title":"Arcade Archives Penguin-Kun Wars","compatibility":99,"releases":[{"id":"0100B0A00C8D8000","region":null}]},{"id":"eab5eecb-a14e-41be-8e08-5c9093eececd","directory":"skatebird","title":"SkateBIRD","compatibility":99,"releases":[{"id":"0100FA400FF78000","region":null}]},{"id":"eabb9635-8112-448e-8a3f-33d89f3f6068","directory":"dungeon-shooting","title":"Dungeon Shooting","compatibility":99,"releases":[{"id":"010049D010A42000","region":null}]},{"id":"ead11e47-38d2-4bdc-a3ec-dc4c0e035b9a","directory":"magic-potion-millionaire","title":"Magic Potion Millionaire","compatibility":99,"releases":[{"id":"0100672015B72000","region":null}]},{"id":"ead240cc-a0c5-408b-8bd1-d98d7ab7f046","directory":"simulacra","title":"SIMULACRA","compatibility":99,"releases":[{"id":"0100E3D00EA82000","region":null}]},{"id":"ead604ac-9cb4-4c57-ac67-6c0c4a0b9394","directory":"motif","title":"Motif","compatibility":99,"releases":[{"id":"0100A76014BC0000","region":null}]},{"id":"ead9e331-9e14-4863-9d62-0a4db1ee0374","directory":"legendary-fishing","title":"Legendary Fishing","compatibility":1,"releases":[{"id":"0100A7700B46C000","region":null}]},{"id":"eada11ec-7b91-4758-862f-87cfa449fd9c","directory":"gem-miner","title":"Gem Miner","compatibility":99,"releases":[{"id":"01006EA01451E000","region":null}]},{"id":"eadfa995-68e1-4475-b089-4a729f3ca519","directory":"manifold-garden","title":"Manifold Garden","compatibility":1,"releases":[{"id":"0100361009B1A000","region":null}]},{"id":"eadff797-075a-4074-bbf5-6d63177270c6","directory":"two-point-hospital","title":"Two Point Hospital","compatibility":1,"releases":[{"id":"010031200E044000","region":null}]},{"id":"eae5d05a-9d14-4d78-884e-857f27cbc0ef","directory":"happy-words","title":"Happy Words","compatibility":99,"releases":[{"id":"010094F00D626000","region":null}]},{"id":"eae8b3ca-6664-46a6-8f5e-d749322d1649","directory":"yoshis-crafted-world","title":"Yoshi’s Crafted World","compatibility":1,"releases":[{"id":"01006000040C2000","region":null}]},{"id":"eaeb1686-5773-4458-af82-3c5965e0cb70","directory":"child-of-light-r-ultimate-edition-valiant-hearts-the-great-war-r","title":"Child of Light® Ultimate Edition + Valiant Hearts: The Great War®","compatibility":0,"releases":[{"id":"01006C70146A2000","region":null}]},{"id":"eaef3d40-db61-44d0-aa36-176087341aa7","directory":"knight-squad","title":"Knight Squad","compatibility":1,"releases":[{"id":"0100A6800DE70000","region":null}]},{"id":"eaf5fcad-cdd5-4ef6-a7f4-1e1bc851c95f","directory":"barbearian","title":"Barbearian","compatibility":2,"releases":[{"id":"0100F7E01308C000","region":null}]},{"id":"eafdf5f1-e47f-4aa0-b8b5-3ed4d2fcef28","directory":"bitlogic-a-cyberpunk-arcade-adventure","title":"Bitlogic - A Cyberpunk Arcade Adventure","compatibility":99,"releases":[{"id":"0100DD100DE16000","region":null}]},{"id":"eb02acc8-5de7-4401-9712-88af4617e66b","directory":"roof-rage","title":"Roof Rage","compatibility":4,"releases":[{"id":"010088100DD42000","region":null}]},{"id":"eb23a371-e4d1-4663-bef5-5f83e74d7ec4","directory":"liege-dragon","title":"Liege Dragon","compatibility":99,"releases":[{"id":"010041F0128AE000","region":null}]},{"id":"eb3033b0-5e77-4be5-8757-deea75a3345f","directory":"the-storytale","title":"the StoryTale","compatibility":99,"releases":[{"id":"0100858010DC4000","region":null}]},{"id":"eb42e6b9-b96a-440e-9124-1786e17101b8","directory":"tiny-lands","title":"Tiny Lands","compatibility":3,"releases":[{"id":"0100F18014AC2000","region":null}]},{"id":"eb4601ba-4715-4dbe-a71c-08a49d6394f3","directory":"doughlings-arcade","title":"Doughlings: Arcade","compatibility":4,"releases":[{"id":"010040E00B636000","region":null}]},{"id":"eb5bb0ed-7151-4736-974e-82e9eb417e7b","directory":"hair-mower-3d","title":"Hair Mower 3D","compatibility":99,"releases":[{"id":"0100679010FEE000","region":null}]},{"id":"eb5fe610-2446-49df-830f-ec42a7762ba5","directory":"lost-lands-dark-overlord","title":"Lost Lands: Dark Overlord","compatibility":99,"releases":[{"id":"0100BDD010AC8000","region":null}]},{"id":"eb78f1d2-31ba-4c0b-8727-461eb2c6dc17","directory":"guacamelee-2","title":"Guacamelee! 2","compatibility":1,"releases":[{"id":"01007E100456C000","region":null}]},{"id":"eb8bac71-e364-4e60-afe0-9a3384a13475","directory":"dodge-these-balls","title":"Dodge These Balls","compatibility":99,"releases":[{"id":"010019A0134E2000","region":null}]},{"id":"eb8e7ab4-9196-4c92-842a-6e734c0be53f","directory":"all-in-casino-girls","title":"All in Casino Girls","compatibility":99,"releases":[{"id":"0100689013A92000","region":null}]},{"id":"eb9bca23-823d-44de-829d-a62e5c276651","directory":"giraffe-and-annika","title":"Giraffe and Annika","compatibility":99,"releases":[{"id":"01007E90116CE000","region":null}]},{"id":"eb9c3e65-dd12-4de0-ab8d-26cd98502e8a","directory":"rover-wars","title":"Rover Wars","compatibility":99,"releases":[{"id":"010000E011176000","region":null}]},{"id":"eba5598d-4b7a-45dc-9d94-894e2c8116ff","directory":"aery-sky-castle","title":"Aery - Sky Castle","compatibility":99,"releases":[{"id":"010018E012914000","region":null}]},{"id":"ebaa533c-3011-48fb-9862-fe170ef17e04","directory":"chickens-madness","title":"Chickens Madness","compatibility":99,"releases":[{"id":"0100669011C36000","region":null}]},{"id":"ebbf0013-877f-435b-8d65-00524689da17","directory":"calculation-castle-grecos-ghostly-challenge-multiplication","title":"Calculation Castle : Greco's Ghostly Challenge \"Multiplication \"","compatibility":99,"releases":[{"id":"0100ECE00B210000","region":null}]},{"id":"ebbffc58-cd95-4ade-927b-68cfdcc6de00","directory":"barbero","title":"Barbero","compatibility":99,"releases":[{"id":"010017E015636000","region":null}]},{"id":"ebeda982-0796-4861-a9bc-97a7a198ee66","directory":"devious-dungeon","title":"Devious Dungeon","compatibility":1,"releases":[{"id":"01009EA00A320000","region":null}]},{"id":"ebef297b-9942-4f17-bc8c-d242b85c5130","directory":"spellkeeper","title":"SpellKeeper","compatibility":99,"releases":[{"id":"010045800C80C000","region":null}]},{"id":"ebff6290-9e08-4619-8e28-13c499e6520d","directory":"bloody-zombies","title":"Bloody Zombies","compatibility":1,"releases":[{"id":"0100875008000000","region":null}]},{"id":"ec107f65-1471-480d-b625-9a6473dbefcc","directory":"glitchs-trip","title":"Glitch's Trip","compatibility":1,"releases":[{"id":"0100B6F01227C000","region":null}]},{"id":"ec1ae12c-5a2c-4f8b-bea1-c05e303d71eb","directory":"titans-black-ops","title":"Titans Black Ops","compatibility":99,"releases":[{"id":"0100D1D015956000","region":null}]},{"id":"ec25237c-f581-4c5b-9c9e-b8e9a0ab777d","directory":"four-in-a-row","title":"Four in a Row","compatibility":99,"releases":[{"id":"010058A01302A000","region":null}]},{"id":"ec2bc9c2-f39e-4f0f-9865-0f9d77ba5d1f","directory":"old-school-racer-2","title":"Old School Racer 2","compatibility":99,"releases":[{"id":"010099000BA48000","region":null}]},{"id":"ec2fafd0-44e2-442f-bc33-03d0bb97f2b8","directory":"dont-give-up-a-cynical-tale","title":"DON'T GIVE UP: A Cynical Tale","compatibility":99,"releases":[{"id":"0100224013C7E000","region":null}]},{"id":"ec386500-c590-4eb5-9aed-d559b4c37f23","directory":"furi","title":"Furi","compatibility":3,"releases":[{"id":"01009D3008D20000","region":null}]},{"id":"ec47f676-3a40-4c7a-aadd-df09ff37569c","directory":"football-cup-2021","title":"Football Cup 2021","compatibility":99,"releases":[{"id":"0100D43013BC6000","region":null}]},{"id":"ec4d86e1-f8ba-4ff1-9945-acdd0f964ecb","directory":"star-wars-episode-i-racer","title":"STAR WARS™ Episode I Racer","compatibility":2,"releases":[{"id":"0100BD100FFBE000","region":null}]},{"id":"ec4f1cc5-972f-4ae5-adae-a3753e9bef35","directory":"prison-princess","title":"Prison Princess","compatibility":1,"releases":[{"id":"0100F4800F872000","region":null}]},{"id":"ec6b6c4c-13b8-4cc9-b135-aeb99a8771bb","directory":"street-fighter-30th-anniversary-collection","title":"Street Fighter 30th Anniversary Collection","compatibility":1,"releases":[{"id":"0100024008310000","region":null}]},{"id":"ec73a992-34e6-4f63-8f91-7983ca0c9662","directory":"super-tennis-blast","title":"Super Tennis Blast","compatibility":1,"releases":[{"id":"010000500DB50000","region":null}]},{"id":"ec7cc9a3-4d47-4ce7-83e5-ce548b0ed0f1","directory":"case-2-animatronics-survival","title":"CASE 2: Animatronics Survival","compatibility":99,"releases":[{"id":"0100C4C0132F8000","region":null}]},{"id":"ec80934d-b5dc-407e-a06c-670543362d55","directory":"pixeljunk-eden-2","title":"PixelJunk Eden 2","compatibility":99,"releases":[{"id":"0100382011002000","region":null}]},{"id":"ec906309-aa4a-47fb-94dd-0dba7132a973","directory":"ayakashi-romance-reborn-dawn-chapter-twilight-chapter","title":"Ayakashi: Romance Reborn Dawn Chapter & Twilight Chapter","compatibility":99,"releases":[{"id":"0100EED013184000","region":null}]},{"id":"eca32618-f598-4a29-9e8f-8bb5c244239c","directory":"splatoon-2-special-demo-2020","title":"Splatoon™ 2 Special Demo 2020","compatibility":99,"releases":[{"id":"01002120116C4000","region":null}]},{"id":"eca4ac36-11bc-4a94-82c1-fa2bdf1b5791","directory":"solar-blast","title":"Solar Blast","compatibility":99,"releases":[{"id":"0100694013B7E000","region":null}]},{"id":"ecc02a30-3279-42a1-9b55-724d6c93ff86","directory":"tiger-trios-tasty-travels","title":"Tiger Trio's Tasty Travels","compatibility":99,"releases":[{"id":"0100679014BDC000","region":null}]},{"id":"ecd664c0-0563-4e0c-b6e2-fa32c9e68091","directory":"aca-neogeo-the-super-spy","title":"ACA NEOGEO THE SUPER SPY","compatibility":99,"releases":[{"id":"0100F7F00AFA2000","region":null}]},{"id":"ecdff992-2001-4c72-bc12-e4f73f4e7d99","directory":"endless-fables-dark-moor","title":"Endless Fables: Dark Moor","compatibility":99,"releases":[{"id":"01004F3011F92000","region":null}]},{"id":"ece1b6b6-5c1b-4eb5-9a24-1e6d1d57caed","directory":"shift-quantum","title":"Shift Quantum","compatibility":0,"releases":[{"id":"01000E8009E1C000","region":null}]},{"id":"ecedd270-6d14-487a-8009-84b4996129c5","directory":"one-eyed-lee-and-the-dinner-party","title":"One-Eyed Lee and the Dinner Party","compatibility":99,"releases":[{"id":"0100F3E0157CE000","region":null}]},{"id":"ecf339ed-d676-4c08-b21b-2026d80690db","directory":"speed-limit","title":"Speed Limit","compatibility":3,"releases":[{"id":"01000540139F6000","region":null}]},{"id":"ed003aa8-7be9-4248-b056-6390ac18e806","directory":"rogue-trooper-redux","title":"Rogue Trooper Redux","compatibility":1,"releases":[{"id":"01001CC00416C000","region":null}]},{"id":"ed07fe72-4e93-4334-8706-f38b44492932","directory":"smoots-summer-games","title":"Smoots Summer Games","compatibility":99,"releases":[{"id":"01006FC00E6C4000","region":null}]},{"id":"ed0e5fc5-cb02-44d7-99c5-daaa6d580a47","directory":"save-the-ninja-clan","title":"Save the Ninja Clan","compatibility":99,"releases":[{"id":"0100D6E008700000","region":null}]},{"id":"ed0f252e-9225-43c7-a9f7-7fd0810d9105","directory":"space-pioneer","title":"Space Pioneer","compatibility":99,"releases":[{"id":"010047B010260000","region":null}]},{"id":"ed14e22f-f8cd-486f-8fe4-8809ad598689","directory":"endless-puzzle-fun-collection","title":"Endless Puzzle Fun Collection","compatibility":1,"releases":[{"id":"0100D6A015B12000","region":null}]},{"id":"ed1a692a-3ed5-411c-a2f2-97f667914c98","directory":"the-next-penelope","title":"The Next Penelope","compatibility":1,"releases":[{"id":"01000CF0084BC000","region":null}]},{"id":"ed1b876e-c522-472f-bf70-9b20e4bd862f","directory":"active-neurons-2","title":"Active Neurons 2","compatibility":99,"releases":[{"id":"01000D1011EF0000","region":null}]},{"id":"ed29070f-73a2-422d-993f-ecba2449f441","directory":"celeste","title":"Celeste","compatibility":0,"releases":[{"id":"01002B30028F6000","region":null}]},{"id":"ed376620-a10d-489a-970b-7565b1eb14e4","directory":"39-days-to-mars","title":"39 Days to Mars","compatibility":99,"releases":[{"id":"0100AF400C4CE000","region":null}]},{"id":"ed4261a8-6999-4b4c-acc0-46af1935e8a3","directory":"golf-peaks","title":"Golf Peaks","compatibility":99,"releases":[{"id":"0100E3500D342000","region":null}]},{"id":"ed49eaf5-66a2-4400-a032-545197c672b4","directory":"eternal-card-game","title":"Eternal Card Game","compatibility":99,"releases":[{"id":"0100F0B00A214000","region":null}]},{"id":"ed599889-d73d-43ef-ac12-c058003751c7","directory":"tic-tac-letters-by-powgi","title":"Tic-Tac-Letters by POWGI","compatibility":99,"releases":[{"id":"01001ED00F384000","region":null}]},{"id":"ed5a71ea-efe0-43a1-99b7-d0c696701f51","directory":"abbies-farm-for-kids-and-toddlers","title":"Abbie's Farm for kids and toddlers","compatibility":99,"releases":[{"id":"0100A6B014926000","region":null}]},{"id":"ed5b48de-1243-4f22-a0f6-a83dd6155cf4","directory":"nba-2k-playgrounds-2","title":"NBA 2K Playgrounds 2","compatibility":4,"releases":[{"id":"01001AE00C1B2000","region":null}]},{"id":"ed64463e-a816-426c-8d5d-e61e2449ee17","directory":"uni","title":"UNI","compatibility":99,"releases":[{"id":"0100A0F00BC24000","region":null}]},{"id":"ed6d5a37-bd3c-4d6e-bd30-eed531d66c6c","directory":"my-friend-pedro","title":"My Friend Pedro","compatibility":1,"releases":[{"id":"010031200B94C000","region":null}]},{"id":"ed73f9fb-098b-4c65-82b9-0b0188bbe750","directory":"snk-40th-anniversary-collection","title":"SNK 40th ANNIVERSARY COLLECTION","compatibility":1,"releases":[{"id":"01004AB00AEF8000","region":null}]},{"id":"ed842ece-280b-429a-9112-3874c13afa65","directory":"dustoff-heli-rescue-2","title":"Dustoff Heli Rescue 2","compatibility":99,"releases":[{"id":"0100C00005E38000","region":null}]},{"id":"ed89283c-f190-43d3-aa47-a243ca7ea02f","directory":"splatoon-2","title":"Splatoon 2","compatibility":2,"releases":[{"id":"01003BC0000A0000","region":null}]},{"id":"ed948a7f-e408-484e-af25-cef01c54b037","directory":"disc-room","title":"Disc Room","compatibility":3,"releases":[{"id":"010015B012E0C000","region":null}]},{"id":"edc597f0-50bd-44ce-9c93-3fb8de7d10b7","directory":"strike-force-war-on-terror","title":"Strike Force - War on Terror","compatibility":99,"releases":[{"id":"010039100DACC000","region":null}]},{"id":"edca6981-6bf0-43c7-bd35-7f3aede30e16","directory":"drift-racing-madness","title":"Drift Racing Madness","compatibility":99,"releases":[{"id":"0100850011FDA000","region":null}]},{"id":"edf3064a-30b7-406d-8230-01023521c334","directory":"implosion","title":"IMPLOSION","compatibility":1,"releases":[{"id":"0100737003190000","region":null}]},{"id":"edf34146-3143-437d-82b5-a19397c3ebdd","directory":"wizodd","title":"Wizodd","compatibility":99,"releases":[{"id":"01003970146E6000","region":null}]},{"id":"edf9e025-3d15-4192-8a7d-fd5aa65bb5fa","directory":"kemono-friends-picross","title":"KEMONO FRIENDS PICROSS","compatibility":2,"releases":[{"id":"01004B100BDA2000","region":null}]},{"id":"ee06672d-607a-4e18-bdac-b458f563e4fb","directory":"arcade-archives-gemini-wing","title":"Arcade Archives Gemini Wing","compatibility":99,"releases":[{"id":"0100938012A2E000","region":null}]},{"id":"ee0ba630-4378-4ef2-8a4c-f50661d484f6","directory":"cobra-kai-the-karate-kid-saga-continues","title":"Cobra Kai: The Karate Kid Saga Continues","compatibility":1,"releases":[{"id":"01005790110F0000","region":null}]},{"id":"ee0cc7e0-9031-44de-b1d5-217112fdf4b0","directory":"naruto-shippuden-ultimate-ninja-r-storm-4-road-to-boruto","title":"NARUTO SHIPPUDEN™: Ultimate Ninja® STORM 4 ROAD TO BORUTO","compatibility":5,"releases":[{"id":"010084D00CF5E000","region":null}]},{"id":"ee12c048-8323-4e0c-b570-abf248c33579","directory":"summer-catchers","title":"Summer Catchers","compatibility":99,"releases":[{"id":"0100853013824000","region":null}]},{"id":"ee138101-c325-43c0-99dc-dc91d327fc33","directory":"the-flower-collectors","title":"The Flower Collectors","compatibility":99,"releases":[{"id":"01005860122C4000","region":null}]},{"id":"ee1477da-a669-417b-a58a-61e005ee7b10","directory":"beauty-bounce","title":"Beauty Bounce","compatibility":99,"releases":[{"id":"0100CFB0145C2000","region":null}]},{"id":"ee187093-1b9f-4d92-b1da-2b60eca95bcf","directory":"magical-girls-second-magic","title":"Magical Girls Second Magic","compatibility":99,"releases":[{"id":"0100969015B04000","region":null}]},{"id":"ee263509-1918-48e6-a1db-80022791f65c","directory":"aca-neogeo-metal-slug","title":"ACA NEOGEO METAL SLUG","compatibility":3,"releases":[{"id":"0100EBE002B3E000","region":null}]},{"id":"ee275362-2131-4fac-b493-ff24f96cee81","directory":"sega-ages-lightening-force-quest-for-the-darkstar","title":"SEGA AGES Lightening Force: Quest for the Darkstar","compatibility":1,"releases":[{"id":"01006AB00BEE4000","region":null}]},{"id":"ee29c81b-b31e-4b30-bf5a-98c1d0150275","directory":"palm-reading-premium","title":"Palm Reading Premium","compatibility":99,"releases":[{"id":"010002900B75A000","region":null}]},{"id":"ee2a8662-a285-4bcd-8567-ded1f8b3c7ad","directory":"the-ambassador-fractured-timelines","title":"The Ambassador: Fractured Timelines","compatibility":99,"releases":[{"id":"0100F0C00FE6E000","region":null}]},{"id":"ee2b2521-9da7-4564-98f6-dde95de8576a","directory":"house-of-golf","title":"House of Golf","compatibility":3,"releases":[{"id":"0100C3A00B97E000","region":null}]},{"id":"ee30cc2f-925a-41fe-95b0-022121d1c430","directory":"the-card-battle-eternal-destiny","title":"THE Card Battle: Eternal Destiny","compatibility":99,"releases":[{"id":"0100FBE0151DC000","region":null}]},{"id":"ee32a889-49a9-4f61-90eb-9bcc171514ca","directory":"stubbs-the-zombie-in-rebel-without-a-pulse","title":"Stubbs the Zombie in Rebel Without a Pulse","compatibility":99,"releases":[{"id":"0100964012528000","region":null}]},{"id":"ee35323d-62db-474d-a318-ec7df946b2eb","directory":"adventures-of-pip","title":"Adventures of Pip","compatibility":1,"releases":[{"id":"01002B5012004000","region":null}]},{"id":"ee3a207a-0a56-4772-9da4-f83c6bd9ce09","directory":"way-of-the-passive-fist","title":"Way of the Passive Fist","compatibility":99,"releases":[{"id":"0100BA200C378000","region":null}]},{"id":"ee444b95-c2ef-488b-8862-3db1462ba5a0","directory":"jetboard-joust","title":"Jetboard Joust","compatibility":99,"releases":[{"id":"0100AEB0138A4000","region":null}]},{"id":"ee52b86d-6479-487b-8135-b43668fb04dc","directory":"world-end-economica-complete","title":"WORLD END ECONOMiCA ~complete~","compatibility":99,"releases":[{"id":"01001F801458C000","region":null}]},{"id":"ee5315a2-18cf-40c6-b34c-7cf5b1e5c9d7","directory":"my-jurassic-farm-2018","title":"My Jurassic Farm 2018","compatibility":99,"releases":[{"id":"0100BCD00C86A000","region":null}]},{"id":"ee5352d1-e15a-4b32-9244-24f7b7c166d5","directory":"neko-navy-daydream-edition","title":"Neko Navy - Daydream Edition","compatibility":99,"releases":[{"id":"0100E5500B020000","region":null}]},{"id":"ee555114-e7fc-47aa-ad8c-6a9f952571c9","directory":"nelke-and-the-legendary-alchemists-~ateliers-of-the-new-world~","title":"Nelke & the Legendary Alchemists ~Ateliers of the New World~","compatibility":3,"releases":[{"id":"01006ED00BC76000","region":null}]},{"id":"ee56dd02-f8bf-47fe-94ee-8de81d80748b","directory":"what-remains-of-edith-finch","title":"What Remains of Edith Finch","compatibility":4,"releases":[{"id":"010038900DFE0000","region":null}]},{"id":"ee5aa4e8-d2e8-495e-8e67-5ecd9fd19594","directory":"s-u-m-slay-uncool-monsters","title":"S.U.M. - Slay Uncool Monsters","compatibility":99,"releases":[{"id":"010060A0138FC000","region":null}]},{"id":"ee62bbd5-0cd7-4856-b268-f49229334c14","directory":"metaloid-origin","title":"Metaloid: Origin","compatibility":0,"releases":[{"id":"01002DE00E5D0000","region":null}]},{"id":"ee844b38-fc39-4fbc-8929-d530c68416bc","directory":"of-mice-and-sand-revised-","title":"OF MICE AND SAND -REVISED-","compatibility":99,"releases":[{"id":"01002310064B4000","region":null}]},{"id":"ee8505be-907e-492e-be62-707fcd1deb01","directory":"poopdie-chapter-one","title":"Poopdie - Chapter One","compatibility":0,"releases":[{"id":"010051A011AD8000","region":null}]},{"id":"ee87f7c1-cba0-405d-b123-46e0bfaff710","directory":"super-dodgeball-beats","title":"Super Dodgeball Beats","compatibility":99,"releases":[{"id":"010003900E46A000","region":null}]},{"id":"ee96bc2f-eee6-45ef-b7b6-7e327af1690e","directory":"byakko-tai-samurai-boys","title":"Byakko-tai Samurai Boys","compatibility":99,"releases":[{"id":"0100BBA013CAC000","region":null}]},{"id":"ee9f7384-3600-4c24-8f2a-077b81920765","directory":"ghost-parade","title":"Ghost Parade","compatibility":0,"releases":[{"id":"010094C00E180000","region":null}]},{"id":"eead0e12-be88-440c-aa16-144840c65541","directory":"jigsaw-fun-greatest-cities","title":"Jigsaw Fun: Greatest Cities","compatibility":99,"releases":[{"id":"0100696015DBE000","region":null}]},{"id":"eeb3dbcd-1100-4512-80b6-5d10b07d6c7d","directory":"puyo-puyo-tetris-r-2","title":"Puyo Puyo™ Tetris® 2","compatibility":0,"releases":[{"id":"010038E011940000","region":null}]},{"id":"eebda8eb-868b-47f6-a1a9-d371cbe8b840","directory":"roombo-first-blood","title":"Roombo: First Blood","compatibility":2,"releases":[{"id":"0100F3000FA58000","region":null}]},{"id":"eebee0c3-0192-4fed-a494-1d5d3f45c43d","directory":"night-book","title":"Night Book","compatibility":3,"releases":[{"id":"0100B5E0140B2000","region":null}]},{"id":"eec0794a-463e-4a53-9e9d-723f765f649c","directory":"aca-neogeo-stakes-winner","title":"ACA NEOGEO STAKES WINNER","compatibility":2,"releases":[{"id":"01004B600A2FC000","region":null}]},{"id":"eec94039-7aa1-4015-9014-9d628aebd7d9","directory":"indie-gems-bundle-nonograms-edition","title":"Indie Gems Bundle - Nonograms edition","compatibility":99,"releases":[{"id":"0100510011BC0000","region":null}]},{"id":"eed5009f-745a-45e9-bafd-a2958e16865a","directory":"akuto-showdown","title":"Akuto: Showdown","compatibility":99,"releases":[{"id":"010026E00FEBE000","region":null}]},{"id":"eedc2b4a-ea7d-4d9b-b99d-4e3dc6a84da5","directory":"puzzle-box-3-in-1","title":"Puzzle Box 3 in 1","compatibility":99,"releases":[{"id":"0100E710153BA000","region":null}]},{"id":"eee2185a-b348-4dbb-8a1f-374ef9c61f0b","directory":"panmorphia-enchanted","title":"Panmorphia: Enchanted","compatibility":99,"releases":[{"id":"0100042016884000","region":null}]},{"id":"ef0076c1-4ad1-48b7-869e-8e7b59a1bd8c","directory":"love-colors","title":"Love Colors","compatibility":99,"releases":[{"id":"0100121012BB6000","region":null}]},{"id":"ef0a9be0-765a-49b2-9279-df172485bbaa","directory":"super-arcade-football","title":"Super Arcade Football","compatibility":99,"releases":[{"id":"0100B26016078000","region":null}]},{"id":"ef149a82-3694-4f5b-a93e-a26c3ac01d68","directory":"shadows","title":"Shadows","compatibility":99,"releases":[{"id":"0100045010EB6000","region":null}]},{"id":"ef202326-b7c8-4ca6-b6c3-a492df7205ec","directory":"toast-time-smash-up","title":"Toast Time: Smash Up!","compatibility":99,"releases":[{"id":"010014900865A000","region":null}]},{"id":"ef2caf5b-4984-4949-9cee-c8bda0c262d6","directory":"headland","title":"Headland","compatibility":99,"releases":[{"id":"0100A8F0165F2000","region":null}]},{"id":"ef308b77-606c-4e5a-97ee-1e465a45de7f","directory":"wood-block-escape-puzzles","title":"Wood Block Escape Puzzles","compatibility":99,"releases":[{"id":"0100963014D92000","region":null}]},{"id":"ef31eec3-c003-4d97-b5c9-a34c680d831f","directory":"esports-legend","title":"eSports Legend","compatibility":99,"releases":[{"id":"0100B4F00FC4E000","region":null}]},{"id":"ef55bdeb-8572-401e-b5c5-a6fe8436ec6a","directory":"yuso","title":"Yuso","compatibility":99,"releases":[{"id":"01004D800AAAC000","region":null}]},{"id":"ef69cebd-176d-470c-b8c0-c0ee259a56f1","directory":"kraken-academy","title":"Kraken Academy!!","compatibility":99,"releases":[{"id":"0100D1301367A000","region":null}]},{"id":"ef72f056-047a-4e9c-bb9c-d1c29fe80a22","directory":"unitied","title":"Unitied","compatibility":99,"releases":[{"id":"01003900122A6000","region":null}]},{"id":"ef734df8-1b45-4ed6-8428-7cde1376c315","directory":"tetragon","title":"Tetragon","compatibility":1,"releases":[{"id":"01001BB013EAA000","region":null}]},{"id":"ef781323-7977-4921-8e2e-7d4f7240751f","directory":"awakening-of-cthulhu","title":"Awakening of Cthulhu","compatibility":99,"releases":[{"id":"0100085012D64000","region":null}]},{"id":"ef898738-6145-4131-aedc-4060772383ce","directory":"the-ninja-saviors-return-of-the-warriors","title":"The Ninja Saviors: Return of the Warriors","compatibility":2,"releases":[{"id":"0100AD100E8B2000","region":null}]},{"id":"ef8b51c7-a9b8-4580-881c-4d389ac1224a","directory":"dragon-ball-z-kakarot-a-new-power-awakens-set","title":"DRAGON BALL Z: KAKAROT + A NEW POWER AWAKENS SET","compatibility":2,"releases":[{"id":"010051C0134F8000","region":null}]},{"id":"ef8c3a82-b3a5-4724-9dbb-b7d4131fa5d8","directory":"destrobots","title":"Destrobots","compatibility":4,"releases":[{"id":"01008BB0113D6000","region":null}]},{"id":"ef9a47e7-f7b1-4398-a189-db0a807015e4","directory":"graveyard-keeper","title":"Graveyard Keeper","compatibility":2,"releases":[{"id":"0100B6800B5C8000","region":null}]},{"id":"efae2518-fa04-48e7-a2c6-8eeba4f4d4ca","directory":"doraemon-story-of-seasons","title":"DORAEMON STORY OF SEASONS","compatibility":3,"releases":[{"id":"010073700E412000","region":null}]},{"id":"efd70e93-699e-4120-9e79-08562ad4fdca","directory":"kingdom-of-arcadia","title":"Kingdom of Arcadia","compatibility":0,"releases":[{"id":"0100B4E012CAC000","region":null}]},{"id":"efe0a9f2-4d9c-489f-898d-7f8f92a82dce","directory":"dark-fantasy-jigsaw-puzzle-2","title":"Dark Fantasy: Jigsaw Puzzle 2","compatibility":99,"releases":[{"id":"010047C0157AA000","region":null}]},{"id":"efe61778-ab2d-4ba3-af8a-d88f9cae2133","directory":"ice-cream-surfer","title":"Ice Cream Surfer","compatibility":1,"releases":[{"id":"010053700A25A000","region":null}]},{"id":"efef4f54-d2b7-4087-b0fc-db3647c99537","directory":"infinite-minigolf","title":"Infinite Minigolf","compatibility":2,"releases":[{"id":"010039C001296000","region":null}]},{"id":"efefbeb3-69f0-459d-9dc9-cf7062256a10","directory":"lego-ninjago-movie-video-game","title":"LEGO NINJAGO Movie Video Game","compatibility":3,"releases":[{"id":"01007FC00206E000","region":null}]},{"id":"eff2e343-2f0a-40ad-affd-e0e9ab114878","directory":"mahjong-adventure","title":"Mahjong Adventure","compatibility":99,"releases":[{"id":"01007C6013A3A000","region":null}]},{"id":"effe4595-a3ff-4020-9992-9c4cd33c4e71","directory":"double-pug-switch","title":"Double Pug Switch","compatibility":99,"releases":[{"id":"0100A5D00C7C0000","region":null}]},{"id":"f000ba9a-62bc-4e51-b1b8-97883a844fbf","directory":"talisman-digital-edition","title":"Talisman: Digital Edition","compatibility":5,"releases":[{"id":"0100BE300F6AA000","region":null}]},{"id":"f01ecf29-40ec-4b19-9a99-e211cc13d051","directory":"demons-of-asteborg","title":"Demons of Asteborg","compatibility":5,"releases":[{"id":"0100B92015538000","region":null}]},{"id":"f0232524-037e-4514-a1cc-2ec31daa9597","directory":"alex-kidd-in-miracle-world-dx","title":"Alex Kidd in Miracle World DX","compatibility":0,"releases":[{"id":"010025D01221A000","region":null}]},{"id":"f02b668e-66c2-4c72-bff8-7eb0c8aaf09f","directory":"treasure-stack","title":"Treasure Stack","compatibility":4,"releases":[{"id":"0100B3900B766000","region":null}]},{"id":"f037f085-2d74-4485-a8a3-951e971e25d4","directory":"trail-boss-bmx","title":"Trail Boss BMX","compatibility":99,"releases":[{"id":"010004901194A000","region":null}]},{"id":"f05165e2-7a4f-426a-b6e6-796854bf6882","directory":"perils-of-baking","title":"Perils of Baking","compatibility":99,"releases":[{"id":"01008CA00F7E0000","region":null}]},{"id":"f055e9f7-00a1-46db-9140-31e042bc09f5","directory":"commandos-2-hd-remaster","title":"Commandos 2 - HD Remaster","compatibility":1,"releases":[{"id":"010065A01158E000","region":null}]},{"id":"f0569d72-2f55-415e-84c7-8253366693ea","directory":"soccerdie-cosmic-cup","title":"SoccerDie: Cosmic Cup","compatibility":99,"releases":[{"id":"010074E00C872000","region":null}]},{"id":"f05b6eec-96a9-4995-8281-5a7eac04f6e6","directory":"dc-super-hero-girls-teen-power","title":"DC Super Hero Girls™: Teen Power","compatibility":2,"releases":[{"id":"0100F8F00C4F2000","region":null}]},{"id":"f05b7b27-8403-4359-8850-0c341271c447","directory":"arcade-archives-argus","title":"Arcade Archives ARGUS","compatibility":99,"releases":[{"id":"0100A5700AF32000","region":null}]},{"id":"f061d92f-52c9-4079-8a36-0894481fe78d","directory":"tauronos","title":"TAURONOS","compatibility":99,"releases":[{"id":"010076001311E000","region":null}]},{"id":"f070c47e-6873-4c51-889e-6bee05ef224e","directory":"katamari-damacy-reroll-demo","title":"Katamari Damacy REROLL Demo","compatibility":99,"releases":[{"id":"010065900CB3A000","region":null}]},{"id":"f0808d58-0eef-45ee-a420-9d3bf556b16c","directory":"go-vacation","title":"Go Vacation","compatibility":2,"releases":[{"id":"0100C1800A9B6000","region":null}]},{"id":"f081a10d-8f3d-455a-b347-42e7121bb52a","directory":"night-vision","title":"Night Vision","compatibility":99,"releases":[{"id":"0100C3801458A000","region":null}]},{"id":"f0976eef-30dd-436d-8364-53c03ae4725c","directory":"mo-astray","title":"MO:Astray","compatibility":99,"releases":[{"id":"010011300F74C000","region":null}]},{"id":"f098e5ec-6467-4551-867c-4de3d7f9bd0d","directory":"quake","title":"QUAKE","compatibility":5,"releases":[{"id":"0100BA5012E54000","region":null}]},{"id":"f09af212-1492-4011-ad89-f8651126941e","directory":"even-the-ocean","title":"Even the Ocean","compatibility":99,"releases":[{"id":"010061000D82C000","region":null}]},{"id":"f0a102b9-dfa3-4d7f-b727-b90891e47617","directory":"balloon-pop-for-toddlers-kids-learn-numbers-letters-colors-animals","title":"Balloon Pop for Toddlers & Kids - Learn Numbers, Letters, Colors & Animals","compatibility":99,"releases":[{"id":"0100C9301248E000","region":null}]},{"id":"f0af8179-b4a1-4051-8794-bc4b32c1e218","directory":"hashihime-of-the-old-book-town-append","title":"Hashihime of the Old Book Town append","compatibility":2,"releases":[{"id":"0100EA9015126000","region":null}]},{"id":"f0b3ac43-a759-4a0f-baa5-0aa3bcd64641","directory":"hitchhiker-a-mystery-game","title":"Hitchhiker - A Mystery Game","compatibility":99,"releases":[{"id":"010081400DB00000","region":null}]},{"id":"f0c8bcd6-5fa4-46d6-9519-ae11395db1ed","directory":"petal-crash","title":"Petal Crash","compatibility":99,"releases":[{"id":"010094100A55A000","region":null}]},{"id":"f0cc6a47-7173-478e-903d-8cc650368a9d","directory":"astrologaster","title":"Astrologaster","compatibility":99,"releases":[{"id":"0100B80010C48000","region":null}]},{"id":"f0d3ffd0-c3ce-4d80-b2bb-c6d779fa387d","directory":"maze-with-cube","title":"Maze with cube","compatibility":99,"releases":[{"id":"01008F8013BD0000","region":null}]},{"id":"f0e8532a-19c1-4533-a677-5481eef99bfb","directory":"rally-racer-offroad-racing-car-game","title":"Rally Racer: Offroad Racing Car Game","compatibility":99,"releases":[{"id":"010000A014E5A000","region":null}]},{"id":"f0f92e69-cb57-4b3b-9518-a7d60f022964","directory":"sega-ages-out-run","title":"SEGA AGES Out Run","compatibility":2,"releases":[{"id":"0100D4D00AC62000","region":null}]},{"id":"f0ff65dd-0c4b-4d24-8b6d-8472d7692a07","directory":"road-racing-highway-car-chase","title":"Road Racing: Highway Car Chase","compatibility":99,"releases":[{"id":"0100ED40162C4000","region":null}]},{"id":"f103d703-fc7b-4bca-a43c-00f22bb799cf","directory":"the-way-remastered","title":"The Way Remastered","compatibility":1,"releases":[{"id":"0100F8900A5B0000","region":null}]},{"id":"f10ea96b-d3ca-44c2-8e7e-24be17eb2e86","directory":"baobabs-mausoleum-demo","title":"Baobabs Mausoleum: DEMO","compatibility":99,"releases":[{"id":"0100D3000AEC2000","region":null}]},{"id":"f1111314-7ca8-4f23-9250-d1a87964d2fd","directory":"kirby-star-allies","title":"Kirby Star Allies","compatibility":1,"releases":[{"id":"01007E3006DDA000","region":null}]},{"id":"f1134512-9efe-4101-8b1a-e7943c2fa055","directory":"aqua-kitty-udx","title":"AQUA KITTY UDX","compatibility":1,"releases":[{"id":"0100AC10085CE000","region":null}]},{"id":"f11d1bea-2549-49dd-a881-ca09fd0f3ea3","directory":"sundered-eldritch-edition","title":"Sundered: Eldritch Edition","compatibility":1,"releases":[{"id":"01002D3007962000","region":null}]},{"id":"f132b3aa-2869-45e0-831a-51d4941ff1f0","directory":"pato-box","title":"Pato Box","compatibility":99,"releases":[{"id":"010031F006E76000","region":null}]},{"id":"f1337364-bac9-41de-9daa-f6f8da90a216","directory":"bustafellows","title":"BUSTAFELLOWS","compatibility":0,"releases":[{"id":"0100A9101418C000","region":null}]},{"id":"f142a456-7918-4ce2-8119-795ffd04afe6","directory":"pets-no-more","title":"Pets No More","compatibility":99,"releases":[{"id":"010084F0157AE000","region":null}]},{"id":"f1500e37-c58c-44e2-8bda-37096e5b65b1","directory":"balan-wonderworld","title":"BALAN WONDERWORLD","compatibility":4,"releases":[{"id":"0100438012EC8000","region":null}]},{"id":"f1540061-4f6d-477d-8ac0-c6cc48e14c0d","directory":"sega-ages-sonic-the-hedgehog","title":"SEGA AGES Sonic The Hedgehog","compatibility":1,"releases":[{"id":"010051F00AC5E000","region":null}]},{"id":"f1641591-2106-41b3-b2e3-d3fa0d4de2a7","directory":"simple-dominoes","title":"Simple Dominoes","compatibility":99,"releases":[{"id":"0100F5601653C000","region":null}]},{"id":"f1687838-362c-414a-aa40-a86b190b6da5","directory":"teacup","title":"Teacup","compatibility":99,"releases":[{"id":"0100172012F88000","region":null}]},{"id":"f1734cfa-19aa-47d2-bc19-c499dc3b6f2d","directory":"arcade-archives-64th-street","title":"Arcade Archives 64th. STREET","compatibility":0,"releases":[{"id":"01008CE0123CC000","region":null}]},{"id":"f17e3043-f7ec-4126-b750-f24775b30833","directory":"tetraminos","title":"Tetraminos","compatibility":99,"releases":[{"id":"010037A00BB02000","region":null}]},{"id":"f19ccc86-e1c3-4fda-97e8-1dcbf2409a00","directory":"starlight-shores","title":"Starlight Shores","compatibility":99,"releases":[{"id":"010014F01539E000","region":null}]},{"id":"f19e11e5-2777-4ec9-a460-e9e4b7462083","directory":"speedway-racing","title":"Speedway Racing","compatibility":99,"releases":[{"id":"0100AC00107B8000","region":null}]},{"id":"f1a0e985-e306-4c16-a26c-63bbf6c4c694","directory":"valentina","title":"Valentina","compatibility":99,"releases":[{"id":"0100A59012070000","region":null}]},{"id":"f1a300ae-4b5f-41f3-ba18-4d7bdd2ac583","directory":"paper-mario-the-origami-king","title":"Paper Mario™: The Origami King","compatibility":1,"releases":[{"id":"0100A3900C3E2000","region":null}]},{"id":"f1a60ad4-65fb-400b-8026-5eb6146975a0","directory":"azure-saga-pathfinder-deluxe-edition","title":"Azure Saga: Pathfinder DELUXE Edition","compatibility":1,"releases":[{"id":"010029E00C780000","region":null}]},{"id":"f1a783e0-7c52-4e75-9444-00e3cae008f9","directory":"tanuki-justice","title":"Tanuki Justice","compatibility":3,"releases":[{"id":"01007A601318C000","region":null}]},{"id":"f1ae6cf5-38ff-4d7b-8710-ebec2b45ec5e","directory":"naruto-shippuden-ultimate-ninja-storm-3-full-burst","title":"NARUTO SHIPPUDEN: Ultimate Ninja STORM 3 Full Burst","compatibility":1,"releases":[{"id":"01006BB00800A000","region":null}]},{"id":"f1e8bf58-9643-48a6-bd0b-b084edbfc01c","directory":"rally-road","title":"Rally Road","compatibility":99,"releases":[{"id":"010031900F66E000","region":null}]},{"id":"f1e922a2-34fd-427c-bb24-48d1505563c0","directory":"detective-gallo","title":"Detective Gallo","compatibility":1,"releases":[{"id":"01009C0009842000","region":null}]},{"id":"f1ec463e-0e3c-426e-94dd-2dfbc5e95413","directory":"bird-game","title":"Bird Game +","compatibility":99,"releases":[{"id":"01001B700B278000","region":null}]},{"id":"f1ec803a-e648-4d74-bf95-584bca3f1bad","directory":"nowhere-girl","title":"Nowhere Girl","compatibility":99,"releases":[{"id":"010041B014EC0000","region":null}]},{"id":"f1f75540-bbe8-4533-a4d5-a25cc41a6e6a","directory":"super-arcade-soccer","title":"Super Arcade Soccer","compatibility":99,"releases":[{"id":"01002EC009AEE000","region":null}]},{"id":"f1fe36f4-ec88-43fd-85cd-19cd03c42019","directory":"dead-fun-pack-penguins-and-aliens-strike-again","title":"Dead Fun Pack: Penguins and Aliens Strike Again","compatibility":99,"releases":[{"id":"01008D800A162000","region":null}]},{"id":"f20081bc-cd7c-48a2-830d-6c081c085c96","directory":"pikmin-3-deluxe","title":"Pikmin™ 3 Deluxe","compatibility":1,"releases":[{"id":"0100F4C009322000","region":null}]},{"id":"f21855db-d702-4d18-afe2-20cfbeebba86","directory":"aca-neogeo-aero-fighters-2","title":"ACA NEOGEO AERO FIGHTERS 2","compatibility":1,"releases":[{"id":"0100AC40038F4000","region":null}]},{"id":"f227486f-d7d9-402d-b663-b46003fd2621","directory":"energy-invasion","title":"Energy Invasion","compatibility":99,"releases":[{"id":"0100A8E0090B0000","region":null}]},{"id":"f22a0bd7-54e4-4c6b-8a9d-b3797cd13eae","directory":"strikers1945-for-nintendo-switch","title":"STRIKERS1945 for Nintendo Switch","compatibility":99,"releases":[{"id":"0100FF5005B76000","region":null}]},{"id":"f239c109-12de-4bef-a070-daaecdd7a437","directory":"johnny-turbos-arcade-shoot-out","title":"Johnny Turbo's Arcade: Shoot Out","compatibility":99,"releases":[{"id":"010007F00B9F0000","region":null}]},{"id":"f240ddd1-3237-4d5e-aa54-aa062a3beac7","directory":"farm-mystery","title":"Farm Mystery","compatibility":99,"releases":[{"id":"01000E400ED98000","region":null}]},{"id":"f241bcad-e3d9-4fdd-a157-06207ec63770","directory":"circle-of-sumo-online-rumble","title":"Circle of Sumo: Online Rumble!","compatibility":99,"releases":[{"id":"01009BB00F850000","region":null}]},{"id":"f2426cac-5fa3-495b-8ff3-234216c3fed6","directory":"arcade-archives-double-dragon","title":"Arcade Archives DOUBLE DRAGON","compatibility":4,"releases":[{"id":"0100F25001DD0000","region":null}]},{"id":"f2433fe6-7636-4feb-baa1-caec0bae5e86","directory":"gigantosaurus-the-game","title":"Gigantosaurus The Game","compatibility":3,"releases":[{"id":"01002C400E526000","region":null}]},{"id":"f248154d-5235-4edf-b576-653c2c99710c","directory":"kingdom-rush","title":"Kingdom Rush","compatibility":1,"releases":[{"id":"0100A280121F6000","region":null}]},{"id":"f24db6b2-99c6-4804-aec4-4ec02428b56d","directory":"space-invaders-invincible-collection","title":"Space Invaders Invincible Collection","compatibility":1,"releases":[{"id":"0100424012C94000","region":null}]},{"id":"f2706fe6-91b0-48a3-9a94-fb008470264f","directory":"who-wants-to-be-a-millionaire","title":"Who Wants to Be a Millionaire?","compatibility":1,"releases":[{"id":"010027F0128EA000","region":null}]},{"id":"f27387c4-5a68-44e0-a450-6fade3d13855","directory":"bdsm-big-drunk-satanic-massacre","title":"BDSM: Big Drunk Satanic Massacre","compatibility":1,"releases":[{"id":"01002FA00DE72000","region":null}]},{"id":"f27ea59f-91f8-4a7d-b22b-7a60cdf04fa8","directory":"arcade-archives-liquid-kids","title":"Arcade Archives Liquid Kids","compatibility":99,"releases":[{"id":"01009E7013B2A000","region":null}]},{"id":"f27ee8eb-0206-4b7c-bb02-ae2986e31dd8","directory":"human-fall-flat","title":"Human: Fall Flat","compatibility":1,"releases":[{"id":"01000CA004DCA000","region":null}]},{"id":"f2856fe5-e6d6-4529-bc47-a5651557eb49","directory":"artifact-adventure-gaiden-dx","title":"Artifact Adventure Gaiden DX","compatibility":99,"releases":[{"id":"0100CDD00DA70000","region":null}]},{"id":"f2880e12-5903-4603-b46e-6743ef1e58a2","directory":"panty-party","title":"Panty Party","compatibility":1,"releases":[{"id":"01002BD00CB86000","region":null}]},{"id":"f289d00d-3fc1-4d3c-8f7e-02ae7b6b144d","directory":"ihugu","title":"IHUGU","compatibility":99,"releases":[{"id":"0100C0F00CA9C000","region":null}]},{"id":"f293dac5-3a3c-4083-a3df-c3c44c8d03f7","directory":"valley","title":"Valley","compatibility":99,"releases":[{"id":"0100E0E00B108000","region":null}]},{"id":"f2ad6ac5-2424-4d2c-9a0e-8a6214200928","directory":"alpha","title":"ALPHA","compatibility":0,"releases":[{"id":"01000A800B998000","region":null}]},{"id":"f2c75850-2d4d-4642-9aac-352c622bc6db","directory":"spiral-splatter","title":"Spiral Splatter","compatibility":99,"releases":[{"id":"010023E008702000","region":null}]},{"id":"f2c7fff2-e7d2-462a-bc11-ff0f8993a7cb","directory":"flinthook","title":"Flinthook","compatibility":4,"releases":[{"id":"0100307004B4C000","region":null}]},{"id":"f2cd9d98-61a7-4d4a-affe-df7005281567","directory":"sky-roll","title":"Sky Roll!","compatibility":99,"releases":[{"id":"0100225014F64000","region":null}]},{"id":"f2cdc8a0-efb7-43b0-ae89-87f1d181e7bb","directory":"yomawari-the-long-night-collection","title":"Yomawari: The Long Night Collection","compatibility":0,"releases":[{"id":"010012F00B6F2000","region":null}]},{"id":"f2ce03b6-bed5-4dcf-8dac-9b59197dad71","directory":"wwe-2k18","title":"WWE 2K18","compatibility":5,"releases":[{"id":"010009800203E000","region":null}]},{"id":"f2d54780-8f61-4f7a-82c3-43f4729a33da","directory":"golf","title":"Golf","compatibility":1,"releases":[{"id":"01007D8010018000","region":null}]},{"id":"f2d5f9f4-63e1-4d6b-899f-5505470ebc49","directory":"lost-sphear-demo","title":"LOST SPHEAR Demo","compatibility":99,"releases":[{"id":"0100F5E008AA0000","region":null}]},{"id":"f2df3f9e-0fb6-4094-bc36-8ed9fda33e3d","directory":"skydrift-infinity","title":"Skydrift Infinity","compatibility":1,"releases":[{"id":"0100DE000BBDA000","region":null}]},{"id":"f2f6ceba-eb16-4c54-a95e-a8dc32facba3","directory":"lovechoice","title":"LoveChoice","compatibility":99,"releases":[{"id":"0100807015FF4000","region":null}]},{"id":"f30ed098-1601-43d1-a528-85accd296d16","directory":"paradise-lost","title":"Paradise Lost","compatibility":99,"releases":[{"id":"010077A012A5C000","region":null}]},{"id":"f32186fa-3bf0-42d1-b0f8-e200d026cb1c","directory":"pixel-game-maker-series-oumuamua","title":"Pixel Game Maker Series OUMUAMUA","compatibility":99,"releases":[{"id":"01006D90168A4000","region":null}]},{"id":"f326ac71-d297-406b-beed-34a045a93b86","directory":"in-celebration-of-violence","title":"In Celebration of Violence","compatibility":1,"releases":[{"id":"01004780112B6000","region":null}]},{"id":"f33757ba-892b-4526-b934-a2c4d0611be4","directory":"fun-fun-animal-park","title":"FUN! FUN! Animal Park","compatibility":1,"releases":[{"id":"010002F00CC20000","region":null}]},{"id":"f3379897-bb64-4d96-b156-ba8ebad4a5fd","directory":"little-nightmares-ii","title":"Little Nightmares II","compatibility":2,"releases":[{"id":"010097100EDD6000","region":null}]},{"id":"f339fb89-e574-45ee-8b8d-a20ac8a65632","directory":"powertris","title":"Powertris","compatibility":99,"releases":[{"id":"01001CA012F30000","region":null}]},{"id":"f36c5e5e-640e-45eb-baf1-fa9a4861a8ac","directory":"frane-dragons-odyssey","title":"Frane: Dragons' Odyssey","compatibility":99,"releases":[{"id":"0100C0C00DD0E000","region":null}]},{"id":"f372d540-352e-4c8d-b172-dfff81a8d9a8","directory":"get-10-quest","title":"Get 10 quest","compatibility":99,"releases":[{"id":"01006F30129F8000","region":null}]},{"id":"f3765d78-467e-4bda-b75e-b23d6391afce","directory":"autumns-journey","title":"Autumn's Journey","compatibility":99,"releases":[{"id":"01001EC013576000","region":null}]},{"id":"f378e1ed-383d-4225-b8d4-d537839752b0","directory":"escape-first-3","title":"Escape First 3","compatibility":1,"releases":[{"id":"010057801486C000","region":null}]},{"id":"f37cc649-020d-4a42-b1dc-2b4e098772da","directory":"juiced","title":"Juiced!","compatibility":99,"releases":[{"id":"0100F7C012D68000","region":null}]},{"id":"f3859922-d162-4d7b-acfd-f5403987c6dd","directory":"two-parsecs-from-earth","title":"Two Parsecs From Earth","compatibility":99,"releases":[{"id":"0100BCE012894000","region":null}]},{"id":"f39f1bc3-573c-44dc-ad5f-d2cdecde6621","directory":"drawful-2","title":"Drawful 2","compatibility":5,"releases":[{"id":"0100F7800A434000","region":null}]},{"id":"f3a51815-b81b-4936-b782-22ace2a72a07","directory":"blast-brawl-2","title":"Blast Brawl 2","compatibility":99,"releases":[{"id":"01001E900EC04000","region":null}]},{"id":"f3affad9-9552-4d2e-a8c9-4885a6757fbd","directory":"zumania-magic-casual-puzzle","title":"Zumania - Magic Casual Puzzle","compatibility":99,"releases":[{"id":"0100D6E015CFC000","region":null}]},{"id":"f3ba1aca-83f7-446a-80c2-ae2f6ad1276c","directory":"grip","title":"GRIP","compatibility":2,"releases":[{"id":"0100459009A2A000","region":null}]},{"id":"f3bd21e1-0ac6-47ec-be45-cfdc234bfdbb","directory":"street-basketball","title":"Street Basketball","compatibility":99,"releases":[{"id":"0100E7A00DAC2000","region":null}]},{"id":"f3c76348-235d-486c-a001-2cf1dd12fe88","directory":"my-riding-stables-life-with-horses","title":"My Riding Stables - Life with Horses","compatibility":99,"releases":[{"id":"010034300BFC4000","region":null}]},{"id":"f3d0ff93-e5d5-48e5-a2ed-3d33c1f4d401","directory":"brief-battles","title":"Brief Battles","compatibility":99,"releases":[{"id":"0100F4500BBCC000","region":null}]},{"id":"f3dbc93b-faf9-4995-a08d-5e8f0901ad5e","directory":"a-chti-bundle","title":"A Ch'ti Bundle","compatibility":99,"releases":[{"id":"010096A00CC80000","region":null}]},{"id":"f3e76cc4-07b6-46f0-a2d5-690a6c16a700","directory":"pool-pro-gold","title":"Pool Pro GOLD","compatibility":99,"releases":[{"id":"010070B01260C000","region":null}]},{"id":"f3f142c9-fd8e-48e2-890c-c34d5895a16e","directory":"miniature-the-story-puzzle","title":"Miniature - The Story Puzzle","compatibility":99,"releases":[{"id":"010039200EC66000","region":null}]},{"id":"f3f36a74-5148-4266-ab29-a2294df82749","directory":"picross-s-genesis-master-system-edition","title":"PICROSS S GENESIS & Master System edition","compatibility":0,"releases":[{"id":"010089701567A000","region":null}]},{"id":"f3f63766-cae4-4a32-a8a7-86be128d2d10","directory":"persian-nights-sands-of-wonders","title":"Persian Nights: Sands of Wonders","compatibility":1,"releases":[{"id":"010023100B96E000","region":null}]},{"id":"f41ba445-0e9a-4598-9eb7-c4cad7d15e65","directory":"99seconds","title":"99Seconds","compatibility":5,"releases":[{"id":"0100BA800CA6A000","region":null}]},{"id":"f4205221-b981-4916-a351-58e7f68307e8","directory":"arcade-archives-wiz","title":"Arcade Archives Wiz","compatibility":99,"releases":[{"id":"0100ABB00E352000","region":null}]},{"id":"f4420d76-62ef-4492-acd2-768ef6e66700","directory":"tiny-racer","title":"Tiny Racer","compatibility":99,"releases":[{"id":"01005D0011A40000","region":null}]},{"id":"f44c4ab1-c686-4bb9-a623-f19e64c6f6ce","directory":"knights-guns","title":"Knights & Guns","compatibility":99,"releases":[{"id":"010060A011ECC000","region":null}]},{"id":"f44db9f0-2129-473c-bd82-a33d3be87f38","directory":"go-birdie","title":"Go! Birdie","compatibility":99,"releases":[{"id":"010073E014BAE000","region":null}]},{"id":"f45994aa-0249-4bf5-b810-89b42a4649cc","directory":"my-last-first-kiss","title":"My Last First Kiss","compatibility":99,"releases":[{"id":"01004800160C8000","region":null}]},{"id":"f460f3f8-5ac6-404b-99d1-caa76de600fa","directory":"billion-road","title":"Billion Road","compatibility":99,"releases":[{"id":"010057700FF7C000","region":null}]},{"id":"f469b8ab-dd8e-4570-824d-c7cdecb1cd3c","directory":"asterix-obelix-xxl-romastered","title":"Asterix & Obelix XXL: Romastered","compatibility":3,"releases":[{"id":"0100F46011B50000","region":null}]},{"id":"f46eb660-f84b-444b-be9c-bf1c9d412368","directory":"starship-avenger-operation-take-back-earth","title":"STARSHIP AVENGER Operation: Take Back Earth","compatibility":1,"releases":[{"id":"01001BB00AC26000","region":null}]},{"id":"f483a0b3-307a-435b-addd-6ce0a94f0175","directory":"aca-neogeo-art-of-fighting-3","title":"ACA NEOGEO ART OF FIGHTING 3","compatibility":99,"releases":[{"id":"01004AC002B40000","region":null}]},{"id":"f4888402-2c66-4fef-a008-cd3410cbf104","directory":"radio-squid","title":"Radio Squid","compatibility":99,"releases":[{"id":"0100655012064000","region":null}]},{"id":"f4890921-2a07-43e4-b35e-be9b02dc2405","directory":"super-destronaut-land-wars","title":"Super Destronaut: Land Wars","compatibility":99,"releases":[{"id":"0100575011092000","region":null}]},{"id":"f4949e96-0a9f-4ded-83d5-34ead8e9172a","directory":"dungeon-adventure","title":"Dungeon Adventure","compatibility":99,"releases":[{"id":"0100610016C82000","region":null}]},{"id":"f49b94f9-f7cb-4b06-a594-8371504afeb7","directory":"dig-dog","title":"Dig Dog","compatibility":3,"releases":[{"id":"0100A5A00DBB0000","region":null}]},{"id":"f49ccb4c-1bf0-4654-8e72-9f8fb2c0ccb7","directory":"wordify","title":"Wordify","compatibility":99,"releases":[{"id":"010083E011BC8000","region":null}]},{"id":"f4a142af-77a5-45e2-aa9f-381fbcc5cd2b","directory":"basketball","title":"Basketball","compatibility":99,"releases":[{"id":"01008F600CA1A000","region":null}]},{"id":"f4aa1a68-1d6a-44a4-bfca-6785f9888e81","directory":"fibbage-xl","title":"Fibbage XL","compatibility":99,"releases":[{"id":"01002AC0113DE000","region":null}]},{"id":"f4bd3a8e-2dc1-428f-ac30-059406b27647","directory":"aca-neogeo-savage-reign","title":"ACA NEOGEO SAVAGE REIGN","compatibility":99,"releases":[{"id":"0100E5400AFC8000","region":null}]},{"id":"f4c1d231-1173-42eb-a1e9-7143f58a5981","directory":"a-little-lily-princess","title":"A Little Lily Princess","compatibility":99,"releases":[{"id":"01004E0014FC6000","region":null}]},{"id":"f4cd22c2-bf56-49ae-8f0b-94debf546d45","directory":"taninani","title":"TaniNani","compatibility":99,"releases":[{"id":"01007DB010D2C000","region":null}]},{"id":"f4d32079-455d-410e-a74a-97f899ba2fe0","directory":"georifters","title":"Georifters","compatibility":99,"releases":[{"id":"0100C11010298000","region":null}]},{"id":"f4de6480-7a86-4729-a8a4-3cda52845911","directory":"thunderflash","title":"Thunderflash","compatibility":99,"releases":[{"id":"0100EF5013140000","region":null}]},{"id":"f4e332a8-4fd3-462a-8795-2f7988e8b5bb","directory":"push-ups-workout","title":"Push-Ups Workout","compatibility":99,"releases":[{"id":"01002F2014984000","region":null}]},{"id":"f4f2f50f-3676-4f8b-bbc7-f30299f16346","directory":"aca-neogeo-samurai-shodown-v","title":"ACA NEOGEO SAMURAI SHODOWN V","compatibility":99,"releases":[{"id":"01000C800AFD6000","region":null}]},{"id":"f4f65943-c779-41ca-a5f5-2ed58e4368f4","directory":"moto-rider-go-highway-traffic","title":"Moto Rider GO: Highway Traffic","compatibility":99,"releases":[{"id":"0100953015526000","region":null}]},{"id":"f4f8587d-a510-4300-a4f0-3de7151eead6","directory":"street-racing-tokyo-rush","title":"Street Racing: Tokyo Rush","compatibility":99,"releases":[{"id":"01001E901482A000","region":null}]},{"id":"f50761a1-d198-4e00-8896-b317af178106","directory":"swords-and-sandals-spartacus","title":"Swords and Sandals: Spartacus","compatibility":0,"releases":[{"id":"0100241012432000","region":null}]},{"id":"f50c55b7-29f7-48c5-ad3c-e83d90bb35df","directory":"reaper-tale-of-a-pale-swordsman","title":"Reaper: Tale of a Pale Swordsman","compatibility":0,"releases":[{"id":"01000F300F082000","region":null}]},{"id":"f5259adc-ff7b-428e-9b2a-c827dcd395ba","directory":"next-up-hero","title":"Next Up Hero","compatibility":0,"releases":[{"id":"0100271004570000","region":null}]},{"id":"f5322a63-7a33-407a-b3a2-e0a101582a95","directory":"atomik-rungunjumpgun","title":"ATOMIK: RunGunJumpGun","compatibility":0,"releases":[{"id":"01000D1006CEC000","region":null}]},{"id":"f532c28c-5300-46b5-b064-16042e8c3499","directory":"agartha-s","title":"AGARTHA-S","compatibility":99,"releases":[{"id":"010076700CA18000","region":null}]},{"id":"f538c7c0-d78c-468f-ab59-fa00391920ad","directory":"calculation-castle-grecos-ghostly-challenge-division","title":"Calculation Castle : Greco's Ghostly Challenge \"Division \"","compatibility":99,"releases":[{"id":"010045500B212000","region":null}]},{"id":"f53db1cc-2d5e-4fe4-897f-36f7ecbf3b16","directory":"purrs-in-heaven","title":"Purrs In Heaven","compatibility":1,"releases":[{"id":"0100A71010B9C000","region":null}]},{"id":"f5401e9f-ac8a-4c69-9e83-92bfc4b3581e","directory":"neon-drive","title":"Neon Drive","compatibility":99,"releases":[{"id":"010032000EAC6000","region":null}]},{"id":"f54817b8-c08d-4a3d-9c01-be8bd0287788","directory":"counter-recon-the-first-mission","title":"Counter Recon: The First Mission","compatibility":99,"releases":[{"id":"010005A0143CC000","region":null}]},{"id":"f54dc608-026b-46b9-9754-b2f189c122d9","directory":"infinite-beyond-the-mind","title":"Infinite - Beyond the Mind","compatibility":99,"releases":[{"id":"010085D0101A4000","region":null}]},{"id":"f55176a6-5f56-4e48-85d8-0c2da278a1a2","directory":"galacide","title":"Galacide","compatibility":99,"releases":[{"id":"0100E9100F244000","region":null}]},{"id":"f55177dd-b9fc-449e-8590-0267d110d31f","directory":"super-street-racer","title":"Super Street: Racer","compatibility":3,"releases":[{"id":"010074200E910000","region":null}]},{"id":"f560165b-73cd-49a6-843d-8c5eb221f760","directory":"johnny-turbos-arcade-fighters-history","title":"Johnny Turbo's Arcade: Fighter's History","compatibility":4,"releases":[{"id":"0100B3F00B9F2000","region":null}]},{"id":"f564b7c9-e3aa-45de-9146-ee19233116d2","directory":"speedrunners","title":"SpeedRunners","compatibility":99,"releases":[{"id":"0100C8B00C4AE000","region":null}]},{"id":"f567c83a-a549-42a3-a406-464f8234d838","directory":"girabox","title":"Girabox","compatibility":99,"releases":[{"id":"01006BA013990000","region":null}]},{"id":"f56d1a68-1097-434e-b09d-b183af4073c0","directory":"mechstermination-force","title":"Mechstermination Force","compatibility":3,"releases":[{"id":"0100E4600D31A000","region":null}]},{"id":"f59b8462-c17a-4926-bb04-aeefcae22641","directory":"the-game-of-life-2","title":"THE GAME OF LIFE 2","compatibility":0,"releases":[{"id":"0100B620139D8000","region":null}]},{"id":"f5ba1e08-f2f7-4690-b12e-2e8a57042346","directory":"commander-keen-in-keen-dreams","title":"Commander Keen in Keen Dreams","compatibility":99,"releases":[{"id":"0100C4D00D16A000","region":null}]},{"id":"f5be271b-01cb-4c05-b08f-b36326affbf6","directory":"birds-and-blocks","title":"Birds and Blocks","compatibility":99,"releases":[{"id":"010084B012FF0000","region":null}]},{"id":"f5c6b1e4-91af-46db-a8f5-c415f189bee9","directory":"arcade-archives-the-ninja-warriors","title":"Arcade Archives THE NINJA WARRIORS","compatibility":4,"releases":[{"id":"0100DC000983A000","region":null}]},{"id":"f5cbe983-f07c-4bf7-8bc0-14e203d1b94c","directory":"within-the-blade","title":"Within the Blade","compatibility":99,"releases":[{"id":"0100BE5011486000","region":null}]},{"id":"f5cd6279-9416-48f6-942a-fc16344d82b4","directory":"my-farm","title":"My Farm","compatibility":99,"releases":[{"id":"010021F00AD76000","region":null}]},{"id":"f5e9d60b-2956-4692-9c0b-89e0aba9117e","directory":"frederic-resurrection-of-music","title":"Frederic: Resurrection of Music","compatibility":5,"releases":[{"id":"01005B1006988000","region":null}]},{"id":"f5f0fca5-c640-4e0f-a86e-d08e81858e9a","directory":"doodle-god-evolution","title":"Doodle God: Evolution","compatibility":3,"releases":[{"id":"0100D3200AF74000","region":null}]},{"id":"f5f2c651-82fa-44aa-a9ff-97a37825e41a","directory":"metro-2033-redux","title":"Metro 2033 Redux","compatibility":3,"releases":[{"id":"0100D4900E82C000","region":null}]},{"id":"f5f9afcb-d19c-4907-a40c-3ed407dd3a0e","directory":"shape-of-the-world","title":"Shape of the World","compatibility":3,"releases":[{"id":"0100B25009B96000","region":null}]},{"id":"f60c2502-f211-4c27-a79c-64be87bd04c0","directory":"tennis-go","title":"Tennis Go","compatibility":99,"releases":[{"id":"010029F00FCC4000","region":null}]},{"id":"f624d8f7-8c24-40e5-92d6-c0319623c129","directory":"super-cable-boy","title":"Super Cable Boy","compatibility":0,"releases":[{"id":"01008260145F2000","region":null}]},{"id":"f625cee2-8fce-4457-b950-64e112b3ef5b","directory":"infection-board-game","title":"Infection - Board Game","compatibility":99,"releases":[{"id":"0100A7F01283C000","region":null}]},{"id":"f626856e-210d-4c66-933a-764891545f15","directory":"jessika","title":"Jessika","compatibility":99,"releases":[{"id":"0100457015902000","region":null}]},{"id":"f6291ae3-c7d7-4984-a2cc-da0bcfc9e32f","directory":"skies-of-fury-dx","title":"Skies of Fury DX","compatibility":1,"releases":[{"id":"0100D67006F14000","region":null}]},{"id":"f6313eb0-2612-4e65-a70c-fce2d5a4e17b","directory":"art-of-rally","title":"art of rally","compatibility":1,"releases":[{"id":"0100A88012504000","region":null}]},{"id":"f64f82dd-efd8-4f73-878b-f6aafc7161f4","directory":"heave-ho","title":"Heave Ho","compatibility":1,"releases":[{"id":"0100ADD00E17E000","region":null}]},{"id":"f65f2639-c959-40a2-b955-2f09bc48130b","directory":"qbics-paint","title":"Qbics Paint","compatibility":99,"releases":[{"id":"0100A8D003BAE000","region":null}]},{"id":"f66095ed-28a1-4f84-9ee2-af2d6f969788","directory":"ultra-age","title":"Ultra Age","compatibility":0,"releases":[{"id":"01008D4015904000","region":null}]},{"id":"f66ddc9e-f436-4cfd-a4c6-e2df3e3ba479","directory":"speed-3-grand-prix","title":"Speed 3: Grand Prix","compatibility":99,"releases":[{"id":"0100F18010BA0000","region":null}]},{"id":"f66e4139-ec83-4517-96a7-e8e5f48a1e7d","directory":"car-mayhem","title":"Car Mayhem","compatibility":99,"releases":[{"id":"010021200E062000","region":null}]},{"id":"f6747554-c66d-4add-97e9-7bc3da2d7dfb","directory":"sakura-succubus-4","title":"Sakura Succubus 4","compatibility":0,"releases":[{"id":"010029D015BD2000","region":null}]},{"id":"f6748c07-73c3-43c6-ab6b-ee1a96621fb8","directory":"quench","title":"Quench","compatibility":99,"releases":[{"id":"010005300EDCC000","region":null}]},{"id":"f6860cd9-fe3c-4ecc-9491-f3b0cb6e76b0","directory":"underland","title":"Underland","compatibility":99,"releases":[{"id":"0100C94015CBA000","region":null}]},{"id":"f68a11e0-92ab-48ec-a62e-0d4810b76c22","directory":"arc-of-alchemist","title":"Arc of Alchemist","compatibility":99,"releases":[{"id":"0100C7D00E6A0000","region":null}]},{"id":"f6989962-fdf8-4288-99aa-d9d8e380e40a","directory":"jump-gunners","title":"Jump Gunners","compatibility":99,"releases":[{"id":"0100EBE00FDC0000","region":null}]},{"id":"f698e37e-062a-456c-a7f2-1b4dbed5bf0f","directory":"sudoku-relax-4-winter-snow","title":"Sudoku Relax 4 Winter Snow","compatibility":99,"releases":[{"id":"010010E010AAA000","region":null}]},{"id":"f6a477ba-3c76-4620-8141-79a49bc3342e","directory":"arcade-archives-mx5000","title":"Arcade Archives MX5000","compatibility":99,"releases":[{"id":"0100ACB010ED2000","region":null}]},{"id":"f6aa72e5-0fff-4917-9100-bb08d5e37b43","directory":"divinity-original-sin-2-definitive-edition","title":"Divinity: Original Sin 2 - Definitive Edition","compatibility":3,"releases":[{"id":"010027400CDC6000","region":null}]},{"id":"f6baeeea-e6f5-42b2-aaef-09b89fc2b144","directory":"mario-tennis-aces-special-online-demo","title":"Mario Tennis™ Aces Special Online Demo","compatibility":99,"releases":[{"id":"0100A4200DA76000","region":null}]},{"id":"f6c2e98b-03f5-4f5d-9e54-70eaded85ede","directory":"crocs-world","title":"Croc's World","compatibility":3,"releases":[{"id":"01004F800C4DA000","region":null}]},{"id":"f6c6314e-2d42-4e48-a57b-f25ddc726ac2","directory":"tactical-mind-2","title":"Tactical Mind 2","compatibility":99,"releases":[{"id":"0100BD700F5F0000","region":null}]},{"id":"f6ca6345-ef46-46d3-844e-b45ea8329c27","directory":"electronic-super-joy","title":"Electronic Super Joy","compatibility":99,"releases":[{"id":"0100A3000F070000","region":null}]},{"id":"f6cee2bc-488e-42db-b35e-e1693df80edd","directory":"starcrossed","title":"StarCrossed","compatibility":99,"releases":[{"id":"010022500C964000","region":null}]},{"id":"f6d14e57-3179-4e5d-bfe6-76fdaccbf470","directory":"zotrix-solar-division","title":"Zotrix: Solar Division","compatibility":99,"releases":[{"id":"01001EE00A6B0000","region":null}]},{"id":"f6dad735-6bee-4f97-93c7-b41a6724d08b","directory":"mimic-hunter","title":"Mimic Hunter","compatibility":99,"releases":[{"id":"010024A00C854000","region":null}]},{"id":"f6dc7427-502f-4ae0-8d3a-d9d2179ae996","directory":"panmorphia","title":"Panmorphia","compatibility":99,"releases":[{"id":"01004E6016370000","region":null}]},{"id":"f6e264e4-ec96-4ae9-9612-dd384650325e","directory":"treachery-in-beatdown-city","title":"Treachery in Beatdown City","compatibility":0,"releases":[{"id":"0100B0600ABE6000","region":null}]},{"id":"f6e38620-27b3-449a-b50d-e8f4d02c7e0f","directory":"black-and-white-bushido","title":"Black and White Bushido","compatibility":99,"releases":[{"id":"010000F00BF68000","region":null}]},{"id":"f6e8cd75-9736-4256-ad86-2c8fdb9dcc3a","directory":"in-between","title":"In Between","compatibility":99,"releases":[{"id":"010038200A98E000","region":null}]},{"id":"f6eaf063-57e6-4c46-9ca4-8b19ea3f0431","directory":"hello-neighbor-hide-and-seek","title":"Hello Neighbor Hide and Seek","compatibility":3,"releases":[{"id":"010092B00C4F0000","region":null}]},{"id":"f6f0f3db-7e3d-4e9e-92b9-055600a8059f","directory":"wildtrax-racing","title":"WildTrax Racing","compatibility":2,"releases":[{"id":"0100A0501185A000","region":null}]},{"id":"f70137ac-9257-4e7d-b874-99a91ac1e179","directory":"the-escapists-complete-edition","title":"The Escapists: Complete Edition","compatibility":1,"releases":[{"id":"01001B700BA7C000","region":null}]},{"id":"f70332a2-68f0-4ad9-9254-e81c2257ccb7","directory":"uurnog-uurnlimited","title":"Uurnog Uurnlimited","compatibility":1,"releases":[{"id":"0100F55004AB8000","region":null}]},{"id":"f70c5f9a-40d8-432b-9259-c5ac8c58e595","directory":"world-of-final-fantasy-maxima","title":"WORLD OF FINAL FANTASY MAXIMA","compatibility":1,"releases":[{"id":"010072000BD32000","region":null}]},{"id":"f714a07b-e7a0-48c7-9ee6-5f3fb940318f","directory":"toki-tori","title":"Toki Tori","compatibility":2,"releases":[{"id":"0100EE80098E6000","region":null}]},{"id":"f71c7de0-5aee-4340-ad1b-87cd8f34e4b6","directory":"solitaire-battle-royal","title":"SOLITAIRE BATTLE ROYAL","compatibility":99,"releases":[{"id":"0100B4700BDBA000","region":null}]},{"id":"f7213688-622d-41e9-baed-be9c7dd6443d","directory":"ninja-epic-adventure","title":"Ninja Epic Adventure","compatibility":99,"releases":[{"id":"0100FA6014264000","region":null}]},{"id":"f7233cf2-7dcb-4fb0-be7d-e27f91abba84","directory":"piczle-lines-dx-500-more-puzzles","title":"Piczle Lines DX 500 More Puzzles!","compatibility":99,"releases":[{"id":"010017600B532000","region":null}]},{"id":"f7234f8b-3459-43f1-be1b-9eecd4b700e6","directory":"hyperide","title":"Hyperide","compatibility":99,"releases":[{"id":"010091000CC0E000","region":null}]},{"id":"f726526f-fc6d-44b2-9018-bdde2cb484a4","directory":"mahjong","title":"Mahjong","compatibility":99,"releases":[{"id":"010014B00BB04000","region":null}]},{"id":"f72a7eb7-f9ac-4ef1-9be4-b260f717d351","directory":"arcade-archives-zero-team","title":"Arcade Archives ZERO TEAM","compatibility":0,"releases":[{"id":"0100EFF0137DA000","region":null}]},{"id":"f73dbbbc-9837-4678-9c13-5ebd6879777e","directory":"otherworldly","title":"Otherworldly","compatibility":99,"releases":[{"id":"0100DBB010EB8000","region":null}]},{"id":"f73f2052-4031-4567-bd48-335099fdd6ce","directory":"harvest-moon-mad-dash","title":"Harvest Moon: Mad Dash","compatibility":0,"releases":[{"id":"010022400E71C000","region":null}]},{"id":"f73fb744-9e3e-4311-8c52-8b5a7e178480","directory":"loopindex","title":"Loopindex","compatibility":99,"releases":[{"id":"0100AD90153C8000","region":null}]},{"id":"f744cea2-e96f-4f81-9afe-adfaf05c5cca","directory":"white-girl","title":"White Girl","compatibility":99,"releases":[{"id":"0100102014B16000","region":null}]},{"id":"f7460a42-9c0e-4983-aa8c-fe663df4249b","directory":"tandem-a-tale-of-shadows","title":"Tandem : A Tale of Shadows","compatibility":99,"releases":[{"id":"0100B7A015362000","region":null}]},{"id":"f750db63-ab8e-4ed6-8c50-24692e3c4ee3","directory":"super-chariot-demo","title":"Super Chariot Demo","compatibility":99,"releases":[{"id":"0100B7B009532000","region":null}]},{"id":"f75da884-064f-4315-9ce0-4f04b4cca71d","directory":"senran-kagura-peach-ball","title":"SENRAN KAGURA Peach Ball","compatibility":0,"releases":[{"id":"0100D1800D902000","region":null}]},{"id":"f75fa583-e7b2-47da-b18f-e6f86c26f461","directory":"oniria-crimes","title":"Oniria Crimes","compatibility":99,"releases":[{"id":"0100A290131BA000","region":null}]},{"id":"f76259ad-b0e8-4805-a2ff-5063ddc9d2e6","directory":"ghost-grab-3000","title":"Ghost Grab 3000","compatibility":99,"releases":[{"id":"010057500E744000","region":null}]},{"id":"f768e414-97b3-44a8-96ba-327ff8f81e65","directory":"sushiparty","title":"SushiParty","compatibility":99,"releases":[{"id":"01005FC013414000","region":null}]},{"id":"f7825cd3-0bc2-423e-b02e-3731e0a628a1","directory":"elliot","title":"Elliot","compatibility":99,"releases":[{"id":"0100D85013754000","region":null}]},{"id":"f783d214-e411-4da2-a468-9a6e5f9a0980","directory":"gas-station-highway-services","title":"Gas Station: Highway Services","compatibility":99,"releases":[{"id":"010032D012602000","region":null}]},{"id":"f78944be-7bb2-415a-8dee-9b0e324d119e","directory":"doodle-games-bundle","title":"Doodle Games Bundle","compatibility":99,"releases":[{"id":"010002B013452000","region":null}]},{"id":"f78ba72b-8c11-4b63-8a4b-f42c32633822","directory":"devious-dungeon-2","title":"Devious Dungeon 2","compatibility":99,"releases":[{"id":"0100F1800DD4E000","region":null}]},{"id":"f79f5d82-c287-4191-91c1-1adf54082fb7","directory":"sky-force-reloaded","title":"Sky Force Reloaded","compatibility":1,"releases":[{"id":"01006FE005B6E000","region":null}]},{"id":"f7ac967a-e96a-4ca1-a7e6-f3b8f3d924aa","directory":"evergate","title":"Evergate","compatibility":99,"releases":[{"id":"01009C4012284000","region":null}]},{"id":"f7bcd1a9-7c56-4a36-b749-52d63db9caa2","directory":"aca-neogeo-over-top","title":"ACA NEOGEO OVER TOP","compatibility":4,"releases":[{"id":"01003A5001DBA000","region":null}]},{"id":"f7c81f12-b6a3-4301-a5ef-1accf4157a40","directory":"bargain-hunter","title":"Bargain Hunter","compatibility":0,"releases":[{"id":"01005F600D2D8000","region":null}]},{"id":"f7dac82c-8a2a-433c-9650-3b513687d3d0","directory":"wood-block-escape-puzzles-2","title":"Wood Block Escape Puzzles 2","compatibility":99,"releases":[{"id":"01001F2014CCC000","region":null}]},{"id":"f7e71524-840e-4409-8bb0-83a4be8e3fb4","directory":"arcade-archives-rod-land","title":"Arcade Archives Rod Land","compatibility":99,"releases":[{"id":"01000C2013972000","region":null}]},{"id":"f7ed597e-be4a-4167-a408-c9fa9db3e442","directory":"grisaia-phantom-trigger-05","title":"GRISAIA PHANTOM TRIGGER 05","compatibility":99,"releases":[{"id":"01002330123BC000","region":null}]},{"id":"f7f39298-ef2a-4d4a-a575-c0d349fd3a8d","directory":"swords-and-soldiers","title":"Swords & Soldiers","compatibility":99,"releases":[{"id":"010019500B69A000","region":null}]},{"id":"f7f6d869-ead7-4a0a-9854-1985d635b376","directory":"warriorb","title":"WarriOrb","compatibility":99,"releases":[{"id":"010032700EAC4000","region":null}]},{"id":"f804d592-795e-4505-9266-057164e343dd","directory":"mahjong-stories-vampire-romance","title":"Mahjong Stories: Vampire Romance","compatibility":0,"releases":[{"id":"0100BAA00CDFA000","region":null}]},{"id":"f805a325-6396-4cc1-a224-bc2b7ea6d47a","directory":"ghoulboy","title":"Ghoulboy","compatibility":0,"releases":[{"id":"0100A9500C606000","region":null}]},{"id":"f80739d5-f2ff-4984-bb51-9781b4cbe85b","directory":"aca-neogeo-metal-slug-5","title":"ACA NEOGEO METAL SLUG 5","compatibility":5,"releases":[{"id":"01004C000AFDC000","region":null}]},{"id":"f8181daa-1873-4e2c-a54d-5dd3fbada0d1","directory":"outbreak-epidemic","title":"Outbreak: Epidemic","compatibility":99,"releases":[{"id":"0100C850130FE000","region":null}]},{"id":"f81a3dcc-aca9-4b6b-89a5-b8971ac63ad5","directory":"tiny-gladiators","title":"Tiny Gladiators","compatibility":99,"releases":[{"id":"0100DF900FC52000","region":null}]},{"id":"f8311a6c-5ad6-4e71-a24d-25825f9ce592","directory":"where-angels-cry-tears-of-the-fallen-collectors-edition","title":"Where Angels Cry: Tears of the Fallen Collector's Edition","compatibility":99,"releases":[{"id":"01008F30107F8000","region":null}]},{"id":"f8369515-3bba-46a3-bf2f-8faba455d650","directory":"habroxia","title":"Habroxia","compatibility":99,"releases":[{"id":"01007E100EFA8000","region":null}]},{"id":"f8394654-c12e-4340-b9b4-da6433bad3f5","directory":"modern-tales-age-of-invention","title":"Modern Tales: Age of Invention","compatibility":99,"releases":[{"id":"010004900D772000","region":null}]},{"id":"f83ada34-f86a-4117-98f4-93ff5e405fa9","directory":"real-driving-sim","title":"Real Driving Sim","compatibility":0,"releases":[{"id":"0100748012ABE000","region":null}]},{"id":"f8445d7b-1bb1-45a3-9990-1c992eacc809","directory":"bass-pro-shops-the-strike-championship-edition","title":"Bass Pro Shops: The Strike - Championship Edition","compatibility":4,"releases":[{"id":"0100E3100450E000","region":null}]},{"id":"f8483da0-922d-4812-bb51-7377db922e7b","directory":"couch-co-op-bundle-vol-2","title":"Couch Co-Op Bundle Vol. 2","compatibility":99,"releases":[{"id":"01000E301107A000","region":null}]},{"id":"f851f346-c484-4471-b7e7-9239c47e2bdc","directory":"legend-of-numbers","title":"Legend of Numbers","compatibility":99,"releases":[{"id":"0100EDA013C08000","region":null}]},{"id":"f85aca9b-0337-4700-a3f0-f7bf5a7c1826","directory":"video-poker-collection","title":"Video Poker Collection","compatibility":99,"releases":[{"id":"0100FFE012842000","region":null}]},{"id":"f863671e-b5b3-41a3-b18e-b9657e821e4c","directory":"collide-a-ball-2","title":"Collide-a-Ball 2","compatibility":99,"releases":[{"id":"01009E700EEA6000","region":null}]},{"id":"f8636966-6596-43e1-849d-6a2c1d51eb36","directory":"wanba-warriors","title":"Wanba Warriors","compatibility":99,"releases":[{"id":"0100E29010A4A000","region":null}]},{"id":"f8737ad8-e0ef-4132-9a82-7a8f4e8a2d6e","directory":"friday-the-13th-killer-puzzle","title":"Friday the 13th: Killer Puzzle","compatibility":4,"releases":[{"id":"010003F00BD48000","region":null}]},{"id":"f875921a-ade0-41c2-85a9-920270d500a1","directory":"monomals","title":"Monomals","compatibility":99,"releases":[{"id":"01003030161DC000","region":null}]},{"id":"f88339c7-6528-4427-9339-446856c87526","directory":"sakuna-of-rice-and-ruin","title":"Sakuna: Of Rice and Ruin","compatibility":2,"releases":[{"id":"0100B1400E8FE000","region":null}]},{"id":"f8843017-a4e8-49b7-9fd3-5076c6be7d38","directory":"dead-by-daylight","title":"Dead by Daylight","compatibility":99,"releases":[{"id":"01004C400CF96000","region":null}]},{"id":"f89eb06b-491b-4c8a-a9c1-6ae06cd08ae2","directory":"deep-space-rush","title":"Deep Space Rush","compatibility":99,"releases":[{"id":"01000A700F956000","region":null}]},{"id":"f8ab9d8b-189f-4448-a6ae-e2cbd94d4bf3","directory":"green-game-timeswapper","title":"Green Game: TimeSwapper","compatibility":4,"releases":[{"id":"0100CBB0070EE000","region":null}]},{"id":"f8af1d4e-0b7f-4f79-b856-4bf1dd6ea22d","directory":"slime-tactics","title":"Slime Tactics","compatibility":99,"releases":[{"id":"010016600DBFC000","region":null}]},{"id":"f8b414fe-cac7-4fd0-8dc5-41a77a483be7","directory":"azur-lane-crosswave","title":"Azur Lane: Crosswave","compatibility":2,"releases":[{"id":"010065D012FA0000","region":null}]},{"id":"f8b7a9b3-332d-4e0a-af25-eebcf1c01e41","directory":"aery-calm-mind","title":"Aery - Calm Mind","compatibility":99,"releases":[{"id":"01000A8015390000","region":null}]},{"id":"f8d234bb-b225-42f6-bf9e-d8daf711b9e9","directory":"nolimitfantasy-super-puzzles-dream","title":"#NoLimitFantasy, Super Puzzles Dream","compatibility":99,"releases":[{"id":"0100325012C12000","region":null}]},{"id":"f8d3d36e-540d-45d9-9d84-358bdd25b80c","directory":"critadel","title":"Critadel","compatibility":99,"releases":[{"id":"0100602014212000","region":null}]},{"id":"f8d542c3-583b-444e-8d84-6a65d9c32ee5","directory":"rainswept","title":"Rainswept","compatibility":99,"releases":[{"id":"01007EC010B48000","region":null}]},{"id":"f8d55a60-c0d8-4181-b645-773722389225","directory":"arcade-archives-buta-san","title":"Arcade Archives Buta san","compatibility":99,"releases":[{"id":"0100A47009818000","region":null}]},{"id":"f8db3e53-7ebe-43c1-96fc-fc0031714268","directory":"the-forgotten-land","title":"The Forgotten Land","compatibility":99,"releases":[{"id":"0100F780103E6000","region":null}]},{"id":"f8ea7891-a7b9-4a3e-ab2f-f69fae9862b6","directory":"card-game-bundle-vol-1","title":"Card Game Bundle Vol. 1","compatibility":99,"releases":[{"id":"01005BC01145A000","region":null}]},{"id":"f8eaa3f0-bd1a-468c-89f2-e8ac16895e00","directory":"syberia-2","title":"Syberia 2","compatibility":5,"releases":[{"id":"010028C003FD6000","region":null}]},{"id":"f8f41aec-08a6-4768-aee2-fc1455dbb710","directory":"curved-space","title":"Curved Space","compatibility":0,"releases":[{"id":"0100CE5014026000","region":null}]},{"id":"f8f74c72-f7ed-446a-b714-a8d72c6a2e32","directory":"ayakashi-koi-gikyoku-trial-version","title":"Ayakashi Koi Gikyoku《Trial version》","compatibility":99,"releases":[{"id":"010075400DEC6000","region":null}]},{"id":"f909f115-c64f-45c7-b138-7d6573a56e49","directory":"the-vanishing-of-ethan-carter","title":"The Vanishing of Ethan Carter","compatibility":99,"releases":[{"id":"0100BCF00E970000","region":null}]},{"id":"f90a3ecc-1878-4f15-a752-de9dd57e9a97","directory":"hopes-farm","title":"Hope's Farm","compatibility":99,"releases":[{"id":"01005C0015594000","region":null}]},{"id":"f90f9631-90bc-4bc1-a859-f282e52b4cc1","directory":"freedom-planet","title":"Freedom Planet","compatibility":1,"releases":[{"id":"0100EB800B614000","region":null}]},{"id":"f91028ab-3e2b-45e6-99b6-3c2ce4f89ce9","directory":"tails-of-iron","title":"Tails Of Iron","compatibility":99,"releases":[{"id":"0100EF3013F60000","region":null}]},{"id":"f9177c0c-0010-4777-9b1a-b34f33ca3d14","directory":"paw-patrol-on-a-roll","title":"PAW Patrol: On a Roll!","compatibility":0,"releases":[{"id":"0100CEC003A4A000","region":null}]},{"id":"f921f40f-774b-41c6-80a4-b40b15b343bd","directory":"revenge-of-the-bird-king","title":"Revenge of the Bird King","compatibility":99,"releases":[{"id":"01004EB00C2E6000","region":null}]},{"id":"f93607af-fb1d-4895-bfd8-d072f6106dec","directory":"johnny-turbos-arcade-night-slashers","title":"Johnny Turbo's Arcade: Night Slashers","compatibility":99,"releases":[{"id":"0100F7300C90E000","region":null}]},{"id":"f9364590-8f0a-4eee-9859-60c0a539b2ce","directory":"aca-neogeo-fatal-fury","title":"ACA NEOGEO FATAL FURY","compatibility":4,"releases":[{"id":"0100EE6002B48000","region":null}]},{"id":"f93bd721-1fce-4857-bf51-1663dd6e6c03","directory":"prinny-r-can-i-really-be-the-hero","title":"Prinny®: Can I Really Be the Hero?","compatibility":99,"releases":[{"id":"01007A0011878000","region":null}]},{"id":"f946fc0e-2553-4bf8-85b4-47ffc3ef3cba","directory":"spirits-of-xanadu","title":"Spirits of Xanadu","compatibility":99,"releases":[{"id":"0100CC3014C74000","region":null}]},{"id":"f94701f3-2fd8-4984-b52e-2b04bb03897b","directory":"burger-chef-tycoon","title":"Burger Chef Tycoon","compatibility":1,"releases":[{"id":"0100DF900EA8E000","region":null}]},{"id":"f94f6c2e-23f4-4f72-b72b-542e9884627c","directory":"project-aether-first-contact","title":"Project AETHER: First Contact","compatibility":99,"releases":[{"id":"010046D013EB6000","region":null}]},{"id":"f953997b-fc3d-4787-8c03-5a6b28ff18b1","directory":"operation-pig","title":"Operation Pig","compatibility":99,"releases":[{"id":"010038B00BFD4000","region":null}]},{"id":"f95505ba-ae54-4406-8b21-d1e55eb9f427","directory":"spacebase-startopia","title":"Spacebase Startopia","compatibility":99,"releases":[{"id":"0100BF4013D70000","region":null}]},{"id":"f95b8a04-4bed-43cc-b429-b47de80e77b5","directory":"operencia-the-stolen-sun","title":"Operencia: The Stolen Sun","compatibility":4,"releases":[{"id":"01006CF00CFA4000","region":null}]},{"id":"f95bb3ad-ed1a-4be1-b270-b54276f493e4","directory":"the-adventures-of-00-dilly-r","title":"The Adventures of 00 Dilly®","compatibility":99,"releases":[{"id":"0100137010152000","region":null}]},{"id":"f9664f01-2186-43c5-abeb-634b1d3b2367","directory":"chess-minimal","title":"Chess Minimal","compatibility":99,"releases":[{"id":"010030D010D66000","region":null}]},{"id":"f96c5622-555e-44b0-8366-000cfcdb17cf","directory":"ball-physics-draw-puzzles-2","title":"Ball Physics Draw Puzzles 2","compatibility":99,"releases":[{"id":"0100F5F0165F4000","region":null}]},{"id":"f97c3da4-9e6e-4e32-ad9a-40d0f41eb15c","directory":"steel-rain","title":"Steel Rain","compatibility":99,"releases":[{"id":"0100D51010D5E000","region":null}]},{"id":"f98226aa-59f7-41bc-8f71-4b53dc425893","directory":"drawn-to-life-two-realms","title":"Drawn to Life: Two Realms","compatibility":1,"releases":[{"id":"0100FF1012C1C000","region":null}]},{"id":"f9b526e8-8e95-4337-9928-45d510865372","directory":"marblelous-animals","title":"Marblelous Animals","compatibility":99,"releases":[{"id":"0100A6F00F364000","region":null}]},{"id":"f9cbba28-19cd-4787-9a46-3391b834ccbc","directory":"kitaria-fables","title":"Kitaria Fables","compatibility":99,"releases":[{"id":"0100F30013BFC000","region":null}]},{"id":"f9d1f07a-6cca-43b5-990d-2a587c945946","directory":"if-found","title":"If Found...","compatibility":0,"releases":[{"id":"01006550129C6000","region":null}]},{"id":"f9d761b5-3fc1-4a69-a893-5735025fe004","directory":"truck-simulator-2","title":"Truck Simulator 2","compatibility":99,"releases":[{"id":"01001730159E8000","region":null}]},{"id":"f9db30dd-38b3-4d20-a478-488a9063254d","directory":"carnival-games","title":"Carnival Games","compatibility":2,"releases":[{"id":"010088C0092FE000","region":null}]},{"id":"f9e45d9e-fb7d-4ad5-9e4d-7e6740296a40","directory":"the-last-blade-beyond-the-destiny","title":"THE LAST BLADE: Beyond the Destiny","compatibility":99,"releases":[{"id":"0100A35012908000","region":null}]},{"id":"f9ed0cc3-8884-4e50-ba8a-52d56f42a359","directory":"virus-the-outbreak","title":"VIRUS: The Outbreak","compatibility":99,"releases":[{"id":"0100489013A3C000","region":null}]},{"id":"f9f5281c-6061-4068-b321-f3cf592d6fde","directory":"trollhunters-defenders-of-arcadia","title":"Trollhunters: Defenders of Arcadia","compatibility":3,"releases":[{"id":"0100145011008000","region":null}]},{"id":"f9f8e2f8-1c8a-4d39-a09f-ab1529cfc70e","directory":"roulette","title":"Roulette","compatibility":99,"releases":[{"id":"0100BAB011DEC000","region":null}]},{"id":"fa09cc53-240b-44c1-8c1e-dec51524fea7","directory":"battle-for-blood","title":"Battle for Blood","compatibility":99,"releases":[{"id":"01007AB013E9E000","region":null}]},{"id":"fa1a66ea-7a92-4bbe-8824-4f96ad9025e7","directory":"indie-darling-bundle-vol-1","title":"Indie Darling Bundle Vol. 1","compatibility":99,"releases":[{"id":"0100BAE011072000","region":null}]},{"id":"fa1d83e3-dc84-4c98-a9fe-a5df750186c7","directory":"rhythm-fighter","title":"Rhythm Fighter","compatibility":99,"releases":[{"id":"0100729012D18000","region":null}]},{"id":"fa4c92cf-765b-42f2-90b4-13e36ed9c1b4","directory":"love","title":"LOVE","compatibility":99,"releases":[{"id":"0100B6200D204000","region":null}]},{"id":"fa4e7ceb-6ba0-4012-bc80-dd47b5575962","directory":"toby-the-secret-mine","title":"Toby: The Secret Mine","compatibility":2,"releases":[{"id":"0100A4A00B2E8000","region":null}]},{"id":"fa642e98-0957-4bdc-bc8c-62ef3ff6e1b4","directory":"kuukiyomi-3-consider-it-more-and-more-father-to-son","title":"KUUKIYOMI 3: Consider It More and More!! - Father to Son","compatibility":99,"releases":[{"id":"01001AC013DEC000","region":null}]},{"id":"fa6deb7a-7161-446a-8420-a2720131b5a1","directory":"dodo-peak","title":"Dodo Peak","compatibility":4,"releases":[{"id":"01001770115C8000","region":null}]},{"id":"fa6f456f-28b8-46f1-be46-3b0358e18e18","directory":"idle-inventor-factory-tycoon","title":"Idle Inventor - Factory Tycoon","compatibility":99,"releases":[{"id":"0100FBA01588C000","region":null}]},{"id":"fa6f5310-9d6e-4be2-9a1c-e23db71fb81a","directory":"angels-with-scaly-wings","title":"Angels with Scaly Wings","compatibility":0,"releases":[{"id":"0100FC90122CC000","region":null}]},{"id":"fa74b482-2d49-4e40-b892-57181372e37c","directory":"beat-me","title":"Beat Me!","compatibility":99,"releases":[{"id":"01002D20129FC000","region":null}]},{"id":"fa78c4ee-61cb-46c9-b723-d49fb8374df3","directory":"clay-skeet-shooting","title":"Clay Skeet Shooting","compatibility":99,"releases":[{"id":"0100D36013DF6000","region":null}]},{"id":"fa7ae349-52a0-4c66-8289-dc0288f77c37","directory":"give-it-up-bouncy","title":"Give It Up! Bouncy","compatibility":99,"releases":[{"id":"0100CC001369E000","region":null}]},{"id":"fa89f0b2-782c-4678-a671-c0021c64f45d","directory":"pokemon-home","title":"Pokémon HOME","compatibility":4,"releases":[{"id":"010015F008C54000","region":null}]},{"id":"fa955193-bf9e-426c-891f-73515bb5590d","directory":"wild-park-manager","title":"Wild Park Manager","compatibility":99,"releases":[{"id":"0100CFF010202000","region":null}]},{"id":"faabbd13-0166-4f78-82b4-44bac956ce39","directory":"arcade-archives-thunder-cross","title":"Arcade Archives THUNDER CROSS","compatibility":99,"releases":[{"id":"01004E4013E62000","region":null}]},{"id":"fab175a7-2daa-460c-ba6d-97dafd0ad12c","directory":"hardcore-mecha","title":"HARDCORE MECHA","compatibility":0,"releases":[{"id":"01002F0011DD4000","region":null}]},{"id":"fabddce0-cdf8-4a2e-8f2f-c52ad66e5998","directory":"under-night-in-birth-exelatecl-r","title":"Under Night In-Birth Exe:Late[cl-r]","compatibility":1,"releases":[{"id":"010038C00EC34000","region":null}]},{"id":"fabe141b-e355-42d5-9dcd-ab5c9c4e2ed0","directory":"my-secret-pets","title":"My Secret Pets!","compatibility":99,"releases":[{"id":"01009070118B4000","region":null}]},{"id":"facdbe14-e6ae-4a11-adcc-85e6e7a18867","directory":"the-last-remnant-remastered","title":"THE LAST REMNANT Remastered","compatibility":2,"releases":[{"id":"0100AC800D022000","region":null}]},{"id":"fad48de8-f079-47ce-a4a9-16de94fd6cae","directory":"pool-puzzles","title":"Pool Puzzles","compatibility":99,"releases":[{"id":"0100300016400000","region":null}]},{"id":"fadfea90-6ff6-4532-8419-dba69b908dd8","directory":"raining-blobs","title":"Raining Blobs","compatibility":99,"releases":[{"id":"0100F3F00B86A000","region":null}]},{"id":"fae396c1-0ab7-441c-9ce8-60d432018ae3","directory":"arrest-of-a-stone-buddha","title":"Arrest of a stone Buddha","compatibility":5,"releases":[{"id":"0100184011B32000","region":null}]},{"id":"fae40a0a-b108-4ba3-9c9a-9e3897645424","directory":"car-mechanic-simulator","title":"Car Mechanic Simulator","compatibility":99,"releases":[{"id":"0100F2D00C97E000","region":null}]},{"id":"faea8e79-f984-4d40-bb50-6b1870d94aaa","directory":"life-goes-on","title":"Life Goes On","compatibility":99,"releases":[{"id":"010006300AFFE000","region":null}]},{"id":"faeef2d9-e6ff-46bc-b03d-4f7e4acaae86","directory":"warhammer-age-of-sigmar-storm-ground","title":"Warhammer Age of Sigmar: Storm Ground","compatibility":1,"releases":[{"id":"010031201307A000","region":null}]},{"id":"faf17261-5295-4803-9734-e7612b55be82","directory":"super-fowlst","title":"Super Fowlst","compatibility":99,"releases":[{"id":"0100D22016872000","region":null}]},{"id":"faf80d9f-9198-4195-844b-839f2c4d9e9a","directory":"bury-me-my-love","title":"Bury me, my Love","compatibility":99,"releases":[{"id":"010066F00C76A000","region":null}]},{"id":"fb0dc983-427a-4b30-8b3f-a0954d0c4abd","directory":"another-world","title":"Another World","compatibility":2,"releases":[{"id":"01003C300AAAE000","region":null}]},{"id":"fb1196cb-b1df-42f4-bba2-115fdb579859","directory":"event-horizon-space-defense","title":"Event Horizon: Space Defense","compatibility":99,"releases":[{"id":"010072C010002000","region":null}]},{"id":"fb1d8a9a-d0a1-4796-b8fe-c38746a2d181","directory":"pan-pan-a-tiny-big-adventure","title":"PAN-PAN A tiny big adventure","compatibility":1,"releases":[{"id":"0100F0D004CAE000","region":null}]},{"id":"fb375514-3cc7-4e11-aa81-d2976477b071","directory":"2in1-application-driver-and-serial-killer-sniper","title":"2in1 - Application Driver and Serial Killer / Sniper","compatibility":99,"releases":[{"id":"0100C3701429C000","region":null}]},{"id":"fb395e9a-4157-4d91-8763-455ae5c5bd3f","directory":"rain-on-your-parade","title":"Rain on Your Parade","compatibility":99,"releases":[{"id":"0100BDD014232000","region":null}]},{"id":"fb39fde7-f26c-4627-81b6-bba1adf39467","directory":"arcade-archives-raiders5","title":"Arcade Archives RAIDERS5","compatibility":99,"releases":[{"id":"0100DC4009828000","region":null}]},{"id":"fb4d6cb4-8fb3-45c3-a8ba-a449930a4024","directory":"ayakashi-koi-gikyoku-forbidden-romance-with-mysterious-spirit-","title":"Ayakashi Koi Gikyoku -Forbidden Romance with Mysterious Spirit-","compatibility":1,"releases":[{"id":"010042E00AC80000","region":null}]},{"id":"fb5cc263-5703-4f99-ab0c-cd0b23e7e792","directory":"crystal-crisis","title":"Crystal Crisis","compatibility":2,"releases":[{"id":"0100972008234000","region":null}]},{"id":"fb5ce9c1-92b3-46ff-a071-043fad3b1626","directory":"dojoran","title":"Dojoran","compatibility":99,"releases":[{"id":"0100B44015F1C000","region":null}]},{"id":"fb60ad9d-da79-46ba-93d5-c91b60ba8ca3","directory":"zombie-apocalypse","title":"Zombie Apocalypse","compatibility":99,"releases":[{"id":"0100F65013E84000","region":null}]},{"id":"fb69b9aa-0e4a-42e6-a722-c2790d49a90f","directory":"a-little-golf-journey","title":"A Little Golf Journey","compatibility":0,"releases":[{"id":"0100DBD01543A000","region":null}]},{"id":"fb851701-7709-4651-9fce-0b1b4f7d6cf4","directory":"mafia-slots","title":"Mafia Slots","compatibility":99,"releases":[{"id":"0100E15014C5A000","region":null}]},{"id":"fb8f5e43-5a66-40f0-9c70-d2dfae48581d","directory":"trivial-pursuit-live-demo","title":"Trivial Pursuit LIVE - DEMO","compatibility":99,"releases":[{"id":"01005BA00BEE6000","region":null}]},{"id":"fb90cc82-3509-4472-84e2-0afe82997421","directory":"monster-hunter-rise","title":"MONSTER HUNTER RISE","compatibility":4,"releases":[{"id":"0100B04011742000","region":null}]},{"id":"fba48c59-5f8b-4f23-b09b-e0a8e0cb2272","directory":"box-that-ball","title":"Box That Ball","compatibility":99,"releases":[{"id":"010053B016690000","region":null}]},{"id":"fba8f653-dac7-4e30-b408-2c1891a5e37d","directory":"max-reloaded-ii","title":"Max Reloaded II","compatibility":99,"releases":[{"id":"01000D60132D0000","region":null}]},{"id":"fbade9cb-9874-414e-9626-803721a5dfae","directory":"speaking-simulator","title":"Speaking Simulator","compatibility":99,"releases":[{"id":"010020500E7A6000","region":null}]},{"id":"fbafb25a-2ce0-45fd-8a09-f6430c1a995c","directory":"lego-marvel-super-heroes-2","title":"LEGO Marvel Super Heroes 2","compatibility":2,"releases":[{"id":"0100D3A00409E000","region":null}]},{"id":"fbb3f637-502d-40bc-b30d-0c56966471d0","directory":"lawnmower-game-next-generation","title":"Lawnmower Game: Next Generation","compatibility":99,"releases":[{"id":"01009AA013DD4000","region":null}]},{"id":"fbbc0e73-6c72-46a7-b488-126ed1aa52ac","directory":"xenoblade-chronicles-2-torna-~-the-golden-country","title":"Xenoblade Chronicles 2: Torna ~ The Golden Country","compatibility":2,"releases":[{"id":"0100C9F009F7A000","region":null}]},{"id":"fbdd1029-94b4-4d06-87ec-8691dd52f566","directory":"rescue-tale","title":"Rescue Tale","compatibility":99,"releases":[{"id":"01003C400AD42000","region":null}]},{"id":"fbe8a1e1-fe23-4ccd-8f10-b2b2f0270d43","directory":"random-heroes-gold-edition","title":"Random Heroes: Gold Edition","compatibility":99,"releases":[{"id":"0100EA4011484000","region":null}]},{"id":"fbe8a74f-69a2-41bd-8073-9061d0da5620","directory":"electronic-super-joy-2","title":"Electronic Super Joy 2","compatibility":99,"releases":[{"id":"01002450112D4000","region":null}]},{"id":"fbf215b6-6b7a-4996-8c18-8bfcf2b65522","directory":"samurai-shodown","title":"SAMURAI SHODOWN","compatibility":1,"releases":[{"id":"01002DF00F76C000","region":null}]},{"id":"fbf2c61f-425f-4b72-92a7-9b232dfe3262","directory":"framed-collection","title":"FRAMED Collection","compatibility":5,"releases":[{"id":"0100F1A00A5DC000","region":null}]},{"id":"fbf8974d-17ef-43aa-a7f3-d88b1d0750f0","directory":"haven","title":"Haven","compatibility":4,"releases":[{"id":"0100E2600DBAA000","region":null}]},{"id":"fbf94d0a-9a82-421f-9c8a-9b5f4629fb43","directory":"prinny-presents-nis-classics-volume-1-phantom-brave-the-hermuda-triangle-remastered-soul-nomad-the-world-eaters","title":"Prinny Presents NIS Classics Volume 1: Phantom Brave: The Hermuda Triangle Remastered / Soul Nomad & the World Eaters","compatibility":99,"releases":[{"id":"01001FA01451C000","region":null}]},{"id":"fbfbb962-4226-459f-82d1-d27bf417f301","directory":"animals-for-toddlers","title":"Animals for Toddlers","compatibility":99,"releases":[{"id":"0100451012492000","region":null}]},{"id":"fc152151-01a4-4602-85ec-22589d306cc7","directory":"spot-the-difference","title":"Spot The Difference","compatibility":99,"releases":[{"id":"0100E04009BD4000","region":null}]},{"id":"fc244da5-6b32-45af-bc2c-6267dbdeb7d2","directory":"selma-and-the-wisp","title":"Selma and the Wisp","compatibility":1,"releases":[{"id":"0100DF300DE6A000","region":null}]},{"id":"fc25c6dc-3ebd-4fb5-98d9-f011c81b4322","directory":"depixtion","title":"Depixtion","compatibility":99,"releases":[{"id":"0100C9100FAE2000","region":null}]},{"id":"fc2c5598-fc8f-49d5-8bb2-42e03dee15f0","directory":"towerfall","title":"TowerFall","compatibility":2,"releases":[{"id":"0100A1C00359C000","region":null}]},{"id":"fc37855f-afc5-4caa-8035-b7cdefa15243","directory":"power-rangers-battle-for-the-grid","title":"Power Rangers: Battle for the Grid","compatibility":1,"releases":[{"id":"0100E1E00CF1A000","region":null}]},{"id":"fc3c34ef-ae12-44ed-bfa5-52d6aba41d54","directory":"south-park-the-stick-of-truth","title":"South Park: The Stick of Truth","compatibility":1,"releases":[{"id":"010095300B6A4000","region":null}]},{"id":"fc4747f0-7ff1-42b9-a649-c90b8f066e53","directory":"munchkin-quacked-quest","title":"Munchkin: Quacked Quest","compatibility":3,"releases":[{"id":"0100AD600C5EA000","region":null}]},{"id":"fc598a0a-cfc4-4f4a-9566-0f9f5800584a","directory":"rampage-knights","title":"Rampage Knights","compatibility":99,"releases":[{"id":"0100D2E00C4CC000","region":null}]},{"id":"fc7fbead-a9ac-4243-bbc5-0fa7b12f2441","directory":"16-bit-soccer","title":"16-Bit Soccer","compatibility":99,"releases":[{"id":"0100E98013C90000","region":null}]},{"id":"fc8232f0-8e81-4780-8c04-0b2e5dec9a1b","directory":"a-duel-hand-disaster-trackher","title":"A Duel Hand Disaster: Trackher","compatibility":99,"releases":[{"id":"010026B006802000","region":null}]},{"id":"fc85191e-8673-44f8-ba20-787a65391f44","directory":"lost-words-beyond-the-page","title":"Lost Words: Beyond the Page","compatibility":99,"releases":[{"id":"0100018013124000","region":null}]},{"id":"fc8ab562-4c89-49c2-8ed1-0ca4a5ec6cec","directory":"alfonzos-arctic-adventure","title":"Alfonzo's Arctic Adventure","compatibility":99,"releases":[{"id":"01003E0012F5A000","region":null}]},{"id":"fc8c17be-66e6-4905-a77f-65ec45317480","directory":"disco-elysium-the-final-cut","title":"Disco Elysium - The Final Cut","compatibility":99,"releases":[{"id":"01006C5015E84000","region":null}]},{"id":"fc8e1a3c-d397-4ede-a31a-15a6c8e46ce9","directory":"aca-neogeo-the-ultimate-11-snk-football-championship","title":"ACA NEOGEO THE ULTIMATE 11: SNK FOOTBALL CHAMPIONSHIP","compatibility":5,"releases":[{"id":"0100591008790000","region":null}]},{"id":"fc971c13-0544-42bf-915b-158a4179251c","directory":"pool","title":"POOL","compatibility":99,"releases":[{"id":"0100161009A52000","region":null}]},{"id":"fc9b7090-3a73-4abc-8c24-319a319effde","directory":"spartan","title":"Spartan","compatibility":3,"releases":[{"id":"0100E6A009A26000","region":null}]},{"id":"fca07452-98fd-49fb-b971-bdfec6977f49","directory":"darksiders-genesis","title":"Darksiders Genesis","compatibility":3,"releases":[{"id":"0100F2300D4BA000","region":null}]},{"id":"fca4ef5d-71ef-45dc-9e37-cd8cb691f004","directory":"brunswick-pro-billiards","title":"Brunswick Pro Billiards","compatibility":1,"releases":[{"id":"01002E700F958000","region":null}]},{"id":"fca6651a-0e87-4f6d-b650-ba238605629c","directory":"axes","title":"AXES","compatibility":99,"releases":[{"id":"0100DA3011174000","region":null}]},{"id":"fcac357a-af57-4ddb-a57e-1e1834cca57a","directory":"arcade-archives-omega-fighter","title":"Arcade Archives OMEGA FIGHTER","compatibility":99,"releases":[{"id":"01004A200BB48000","region":null}]},{"id":"fcb665b1-1a80-47b6-bd99-9097efbf8166","directory":"cave-digger","title":"Cave Digger","compatibility":1,"releases":[{"id":"0100D30012B38000","region":null}]},{"id":"fcbc7de6-a7b1-402b-a4cd-03e03c5b9850","directory":"vsr-void-space-racing","title":"VSR: Void Space Racing","compatibility":4,"releases":[{"id":"0100C7C00AE6C000","region":null}]},{"id":"fcc17f11-6402-4292-8578-1e07ba773cfe","directory":"arcade-archives-excitebike","title":"Arcade Archives EXCITEBIKE","compatibility":1,"releases":[{"id":"0100328009800000","region":null}]},{"id":"fcc4b086-dd78-444f-a30b-9d1e63da5342","directory":"aca-neogeo-super-sidekicks","title":"ACA NEOGEO SUPER SIDEKICKS","compatibility":99,"releases":[{"id":"0100A0E004DB2000","region":null}]},{"id":"fcc9ef7e-7776-45f3-a182-3bf8c16169df","directory":"mountain-bike-hill-climb-race-real-2d-arcade-dirt-racing-games","title":"Mountain Bike Hill Climb Race: Real 2D Arcade Dirt Racing Games","compatibility":99,"releases":[{"id":"010003C01491A000","region":null}]},{"id":"fcd27188-ed93-4344-a6c7-decac9adc733","directory":"lost-artifacts-soulstone","title":"Lost Artifacts: Soulstone","compatibility":99,"releases":[{"id":"010075E00D8C6000","region":null}]},{"id":"fcd60880-04c0-48f7-9256-310a771bc20f","directory":"meanders","title":"MEANDERS","compatibility":99,"releases":[{"id":"0100EEF00CBC0000","region":null}]},{"id":"fcdd62ec-9424-48b2-9a41-1c1c0075591a","directory":"sunblaze","title":"Sunblaze","compatibility":99,"releases":[{"id":"0100BFE014476000","region":null}]},{"id":"fce52cd2-784d-44dc-96be-fbb7f59f89e5","directory":"caves-and-castles-underworld","title":"Caves and Castles: Underworld","compatibility":1,"releases":[{"id":"0100CEC013C56000","region":null}]},{"id":"fce583a3-bf74-4fd9-b5df-ff1fbc6c50ad","directory":"little-triangle","title":"Little Triangle","compatibility":99,"releases":[{"id":"01000690085BE000","region":null}]},{"id":"fce7f143-8724-4fd7-b023-9a53c44a931a","directory":"lichtspeer-double-speer-edition","title":"Lichtspeer: Double Speer Edition","compatibility":2,"releases":[{"id":"01004360045C8000","region":null}]},{"id":"fcf459a2-91a3-4c6f-b1fc-9d28e20605b0","directory":"shakedown-hawaii","title":"Shakedown: Hawaii","compatibility":1,"releases":[{"id":"0100B10002904000","region":null}]},{"id":"fcf9fb29-5ac6-4984-ae3a-dc0af0e5cfcd","directory":"classic-games-collection-vol1","title":"Classic Games Collection Vol.1","compatibility":0,"releases":[{"id":"010031D00EA96000","region":null}]},{"id":"fd0ae51a-6e8d-40da-82c8-58732a54bba0","directory":"pirates-all-aboard","title":"Pirates: All Aboard!","compatibility":99,"releases":[{"id":"0100FC5009952000","region":null}]},{"id":"fd0b6796-c082-47b7-9b9b-b122bb160fe2","directory":"rebel-galaxy-outlaw","title":"Rebel Galaxy Outlaw","compatibility":1,"releases":[{"id":"0100CAA01084A000","region":null}]},{"id":"fd0cdc0b-3910-4c36-b080-1caad5fe850d","directory":"cafe-enchante","title":"Café Enchanté","compatibility":0,"releases":[{"id":"01005C00117A8000","region":null}]},{"id":"fd24b7e3-0d77-46b6-96f5-4a7e979ed90d","directory":"ephemeral-fantasy-on-dark","title":"EPHEMERAL -FANTASY ON DARK-","compatibility":99,"releases":[{"id":"0100B4D01303C000","region":null}]},{"id":"fd3b898e-698e-4b85-ae81-ae1e88596858","directory":"urban-trial-tricky","title":"Urban Trial Tricky","compatibility":1,"releases":[{"id":"0100A2500EB92000","region":null}]},{"id":"fd4068e3-1686-4448-97ca-517ff2ccf210","directory":"joojees-journey","title":"Joojee's Journey","compatibility":99,"releases":[{"id":"0100DBB013444000","region":null}]},{"id":"fd637db0-c494-4281-8f6c-f905c3eef698","directory":"boris-the-rocket","title":"BORIS THE ROCKET","compatibility":99,"releases":[{"id":"010092C013FB8000","region":null}]},{"id":"fd6d7482-e72a-42c8-9c84-f7b3be2f80bf","directory":"demons-rise-lords-of-chaos","title":"Demon's Rise - Lords of Chaos","compatibility":1,"releases":[{"id":"0100E29013818000","region":null}]},{"id":"fd7b63f4-4b34-472c-a6f8-b524fc9061ad","directory":"lastfight","title":"LASTFIGHT","compatibility":99,"releases":[{"id":"01009E100BDD6000","region":null}]},{"id":"fd82065c-3ee2-4c66-9a46-987748e8def0","directory":"razerwire-nanowars","title":"RazerWire: Nanowars","compatibility":99,"releases":[{"id":"01004FC01688A000","region":null}]},{"id":"fd840635-bd1b-468d-8310-6ebf26669f0d","directory":"cotton-boomerang-saturn-tribute","title":"COTTOn Boomerang - Saturn Tribute","compatibility":99,"releases":[{"id":"010077001526E000","region":null}]},{"id":"fd88225a-4d5e-44c7-b130-183ee0edc493","directory":"dezatopia","title":"Dezatopia","compatibility":5,"releases":[{"id":"0100AFC00E06A000","region":null}]},{"id":"fd8a06d7-8e04-41b5-b1c2-dbd0b59e373b","directory":"subdivision-infinity-dx","title":"Subdivision Infinity DX","compatibility":1,"releases":[{"id":"010001400E474000","region":null}]},{"id":"fd9eb5d7-ae2c-4c93-9eab-6c6265c7848e","directory":"violett","title":"Violett","compatibility":2,"releases":[{"id":"01005880063AA000","region":null}]},{"id":"fdc29bf8-ffa9-44a6-8dc1-cbdc5475eaf0","directory":"colors-live","title":"Colors Live","compatibility":5,"releases":[{"id":"010020500BD86000","region":null}]},{"id":"fdcb51f9-861f-4b83-9dbd-34fdee0a1f5c","directory":"pixel-game-maker-series-puzzle-pedestrians","title":"Pixel Game Maker Series Puzzle Pedestrians","compatibility":99,"releases":[{"id":"0100EA2013BCC000","region":null}]},{"id":"fdd79f35-157b-4f32-9d4e-8358a385a26a","directory":"distraint-2","title":"DISTRAINT 2","compatibility":99,"releases":[{"id":"01009740120FE000","region":null}]},{"id":"fddd42a1-5499-4428-812f-fc4ad9c44630","directory":"synaptic-drive","title":"SYNAPTIC DRIVE","compatibility":99,"releases":[{"id":"0100D8400DAF0000","region":null}]},{"id":"fde2122e-0c50-415b-bcce-29d61d05e63d","directory":"project-starship","title":"Project Starship","compatibility":99,"releases":[{"id":"0100AD9010596000","region":null}]},{"id":"fde27268-f0ad-4e2f-a82a-25aec7a055b7","directory":"wild-pinball-bundle","title":"Wild Pinball Bundle","compatibility":2,"releases":[{"id":"0100DA7015C02000","region":null}]},{"id":"fde2ee7f-f811-4738-a7a8-45389357c817","directory":"laws-of-machine","title":"Laws of Machine","compatibility":99,"releases":[{"id":"0100CF90147B6000","region":null}]},{"id":"fde696b2-0271-4d70-9caf-f1f2e2f73b7e","directory":"space-revenge","title":"Space Revenge","compatibility":99,"releases":[{"id":"0100E0D014C4C000","region":null}]},{"id":"fde8abf6-7a49-44ed-9494-dedfd11e0698","directory":"pumpkin-jack","title":"Pumpkin Jack","compatibility":3,"releases":[{"id":"01006C10131F6000","region":null}]},{"id":"fdf66d36-9091-4aac-a670-c2558b14f49b","directory":"sniper-elite-v2-remastered","title":"Sniper Elite V2 Remastered","compatibility":2,"releases":[{"id":"0100BB000A3AA000","region":null}]},{"id":"fdfd2430-60ec-4ce5-904f-f514f8e6b550","directory":"cultist-simulator-initiate-edition","title":"Cultist Simulator: Initiate Edition","compatibility":99,"releases":[{"id":"01006F40119B6000","region":null}]},{"id":"fdfdfcf0-815c-4eac-bb76-161f091010f0","directory":"bouncy-bullets-2","title":"Bouncy Bullets 2","compatibility":99,"releases":[{"id":"01000000160F6000","region":null}]},{"id":"fdfe2107-707b-48f8-9ce7-cc7a427d35db","directory":"go-fish-go","title":"Go! Fish Go!","compatibility":1,"releases":[{"id":"0100E6300F854000","region":null}]},{"id":"fe0803c2-e093-4a0e-b59e-8af9cfefb69f","directory":"darq-complete-edition","title":"DARQ Complete Edition","compatibility":99,"releases":[{"id":"0100440012FFA000","region":null}]},{"id":"fe0a8790-8801-4030-b4a8-91c5214f59ed","directory":"otti-the-house-keeper","title":"Otti: The House Keeper","compatibility":99,"releases":[{"id":"01006AF013A9E000","region":null}]},{"id":"fe18c0d4-af83-4c61-a120-2997fe486dfa","directory":"arcade-archives-crime-fighters","title":"Arcade Archives CRIME FIGHTERS","compatibility":99,"releases":[{"id":"01002620141B6000","region":null}]},{"id":"fe2234b6-7229-458a-aac6-e7166acea490","directory":"goodbye-deponia","title":"Goodbye Deponia","compatibility":2,"releases":[{"id":"0100CA500C90C000","region":null}]},{"id":"fe241c96-c568-452e-aa7f-da3c24a15f60","directory":"splasher","title":"Splasher","compatibility":1,"releases":[{"id":"0100FF9003F10000","region":null}]},{"id":"fe281668-25c8-4e18-94b8-e5ffbeb4b008","directory":"octafight","title":"OctaFight","compatibility":99,"releases":[{"id":"0100C20013196000","region":null}]},{"id":"fe330624-5fee-41bd-a4b5-859e54bcfa6a","directory":"minit","title":"Minit","compatibility":1,"releases":[{"id":"0100ED600A87A000","region":null}]},{"id":"fe37e82b-9e71-4a8d-917c-800039ee6a59","directory":"lets-sing-2022","title":"Let's Sing 2022","compatibility":99,"releases":[{"id":"0100CC30149B8000","region":null}]},{"id":"fe53cf13-ed2b-4c45-a7d3-961aff71f387","directory":"mega-man-legacy-collection-2","title":"Mega Man Legacy Collection 2","compatibility":0,"releases":[{"id":"0100842008EC4000","region":null}]},{"id":"fe56325e-62a8-4863-af52-999c89fe524f","directory":"escape-from-mirrorland-the-adventures-of-nyanzou-kumakichi-escape-game-series","title":"Escape from Mirrorland\n~The Adventures of Nyanzou&Kumakichi: Escape Game Series~","compatibility":99,"releases":[{"id":"010049F016CA0000","region":null}]},{"id":"fe5a9ab5-ba6d-4f1c-be55-066eacb97d5f","directory":"thief-simulator","title":"Thief Simulator","compatibility":1,"releases":[{"id":"0100CE400E34E000","region":null}]},{"id":"fe5c3459-5250-46fa-96b3-9def61710376","directory":"shovel-knight-pocket-dungeon","title":"Shovel Knight Pocket Dungeon","compatibility":0,"releases":[{"id":"01006B00126EC000","region":null}]},{"id":"fe5cb57a-7940-46d8-aaa6-777f1e2cc62b","directory":"defunct","title":"Defunct","compatibility":99,"releases":[{"id":"010039300BDB2000","region":null}]},{"id":"fe61869e-0690-4b37-af7d-39a8f4739265","directory":"new-york-mysteries-the-outbreak","title":"New York Mysteries: The Outbreak","compatibility":99,"releases":[{"id":"01001320168F6000","region":null}]},{"id":"fe6bc772-6c72-4163-a281-8f322d429fc5","directory":"one-more-dungeon","title":"One More Dungeon","compatibility":1,"releases":[{"id":"0100BD3006A02000","region":null}]},{"id":"fe71fed3-6474-4c85-89ad-a95766ce1d19","directory":"hades","title":"Hades","compatibility":5,"releases":[{"id":"0100535012974000","region":null}]},{"id":"fe7fdfb9-8aef-4e51-b89d-547ca49bdf2c","directory":"dariusburst-another-chronicle-ex","title":"Dariusburst: Another Chronicle EX+","compatibility":99,"releases":[{"id":"010043F013044000","region":null}]},{"id":"fe81f817-9ca7-49fd-8643-8b905309057f","directory":"truck-racing-championship","title":"Truck Racing Championship","compatibility":99,"releases":[{"id":"010018800D1FC000","region":null}]},{"id":"fe850dab-4d8d-4099-b607-43f6c56a17d5","directory":"bff-or-die","title":"BFF or Die","compatibility":99,"releases":[{"id":"0100EFB01272E000","region":null}]},{"id":"fe8abfe6-3403-408a-a578-555524840970","directory":"duck-game","title":"Duck Game","compatibility":1,"releases":[{"id":"0100750001C70000","region":null}]},{"id":"fe8b6dc0-d9f6-4d35-8757-c2207fbbfe19","directory":"sword-of-the-necromancer","title":"Sword of the Necromancer","compatibility":4,"releases":[{"id":"0100E4701355C000","region":null}]},{"id":"fe99e110-e2e7-47d7-8afc-a0e3cbca797f","directory":"dude-stop","title":"Dude, Stop","compatibility":99,"releases":[{"id":"01002C100FBB6000","region":null}]},{"id":"fe9a14c9-4d47-4e3a-8a0b-676bf9484d2e","directory":"rims-racing","title":"RiMS Racing","compatibility":2,"releases":[{"id":"01003CD01299E000","region":null}]},{"id":"fe9df3ba-e2f2-4cf5-b7a1-13ebf31d2c03","directory":"castle-on-the-coast","title":"Castle on the Coast","compatibility":99,"releases":[{"id":"01009A3015CA4000","region":null}]},{"id":"fea44348-2e40-4bc0-8019-171658af46a4","directory":"flowing-lights","title":"Flowing Lights","compatibility":99,"releases":[{"id":"0100DDD0131D6000","region":null}]},{"id":"fea5f239-85cf-4091-ba28-fa8cb0dc8e24","directory":"reversi-lets-go","title":"Reversi Let's Go","compatibility":99,"releases":[{"id":"0100FCD0142E2000","region":null}]},{"id":"feb55770-16b2-4674-8604-49dc777fadad","directory":"pelican-and-medjed","title":"Pelican and Medjed","compatibility":99,"releases":[{"id":"010056900E89C000","region":null}]},{"id":"fed558a0-99b0-4f65-a7ca-919baadc41be","directory":"outbreak-endless-nightmares","title":"Outbreak: Endless Nightmares","compatibility":1,"releases":[{"id":"0100A0D013464000","region":null}]},{"id":"fee6a07c-c336-4148-9dd4-8c0738beda71","directory":"ink","title":"INK","compatibility":99,"releases":[{"id":"010060300A67C000","region":null}]},{"id":"fef3186c-f881-4a97-8f4b-5b1351fdf2bc","directory":"edna-and-harvey-harveys-new-eyes","title":"Edna & Harvey: Harvey's New Eyes","compatibility":5,"releases":[{"id":"0100ABE00DB4E000","region":null}]},{"id":"fefbddee-5c9c-4696-99c7-f6169aa83508","directory":"void-gore","title":"Void Gore","compatibility":2,"releases":[{"id":"01006D9013842000","region":null}]},{"id":"ff033ba7-6c0b-4aa2-a9ee-fc56a95f86d9","directory":"tiny-metal","title":"TINY METAL","compatibility":4,"releases":[{"id":"010074800741A000","region":null}]},{"id":"ff040e6c-e707-48b4-990c-cc751b214bab","directory":"ultimate-chicken-horse","title":"Ultimate Chicken Horse","compatibility":1,"releases":[{"id":"0100FCF002A58000","region":null}]},{"id":"ff085fef-1c5a-4b2f-8daf-8a65d3d43c9c","directory":"qubyte-classics-the-immortal-by-piko","title":"QUByte Classics - The Immortal by PIKO","compatibility":99,"releases":[{"id":"010064F016294000","region":null}]},{"id":"ff1355e7-b509-4585-92d3-582b616b1504","directory":"qube-2","title":"Q.U.B.E. 2","compatibility":4,"releases":[{"id":"010023600AA34000","region":null}]},{"id":"ff1446e6-0ae1-42e5-be42-06bc3e0f1e24","directory":"beat-them-all","title":"Beat Them All","compatibility":99,"releases":[{"id":"0100A52016056000","region":null}]},{"id":"ff167930-cfc7-4d18-952d-4999a4a7dc73","directory":"warhammer-40-000-mechanicus","title":"Warhammer 40,000: Mechanicus","compatibility":3,"releases":[{"id":"0100C6000EEA8000","region":null}]},{"id":"ff1fa561-0df8-4652-a43f-baeadd5e9bf4","directory":"cotton-reboot","title":"Cotton Reboot!","compatibility":4,"releases":[{"id":"01005E8013CD8000","region":null}]},{"id":"ff2026b9-505f-4417-a135-ef0df220272d","directory":"the-little-acre","title":"The Little Acre","compatibility":0,"releases":[{"id":"0100A5000D590000","region":null}]},{"id":"ff23e5e0-db35-433e-a373-f060f20ce7c2","directory":"grimvalor","title":"Grimvalor","compatibility":0,"releases":[{"id":"01001C700F518000","region":null}]},{"id":"ff290e72-7668-49a0-aa9f-1ecdd41726ee","directory":"omvorm","title":"Omvorm","compatibility":99,"releases":[{"id":"0100EFB00B7B8000","region":null}]},{"id":"ff361a74-a09f-4386-b245-3fe821607970","directory":"car-driving-simulator","title":"Car Driving Simulator","compatibility":99,"releases":[{"id":"010003401564E000","region":null}]},{"id":"ff3882fe-ae81-48e2-bd8d-0ca843da22bf","directory":"block-a-pix-deluxe","title":"Block-a-Pix Deluxe","compatibility":99,"releases":[{"id":"0100D1100D1A8000","region":null}]},{"id":"ff3eb840-6c9a-4ffe-a83e-c58765371525","directory":"hill-climbing-mania","title":"Hill Climbing Mania","compatibility":1,"releases":[{"id":"0100147011F4E000","region":null}]},{"id":"ff419f5f-a6a4-4913-b3fc-4ffee6f8961b","directory":"mays-mysteries-the-secret-of-dragonville","title":"May's Mysteries: The Secret of Dragonville","compatibility":99,"releases":[{"id":"010099F015372000","region":null}]},{"id":"ff4768f1-6bec-40f1-bfbe-d44c3a8ce86b","directory":"crocs-world-2-demo","title":"Croc's World 2 Demo","compatibility":99,"releases":[{"id":"01003DD00DE14000","region":null}]},{"id":"ff52a484-b5a0-4b84-a2ac-ace5a1fb7a6d","directory":"syder-reloaded","title":"Syder Reloaded","compatibility":99,"releases":[{"id":"0100A2500E232000","region":null}]},{"id":"ff5305d8-9b84-4454-bddc-09c5a0c34069","directory":"outlast-2","title":"Outlast 2","compatibility":3,"releases":[{"id":"0100DE70085E8000","region":null}]},{"id":"ff53d7e8-7a40-4e75-a4a1-39372536defe","directory":"arcade-archives-rally-x","title":"Arcade Archives RALLY-X","compatibility":99,"releases":[{"id":"010026A015ACC000","region":null}]},{"id":"ff612d27-47e0-42ab-a8c9-3b160933f954","directory":"arcade-archives-in-the-hunt","title":"Arcade Archives IN THE HUNT","compatibility":99,"releases":[{"id":"01002B800F2B8000","region":null}]},{"id":"ff7fadca-abb1-4807-93d0-e01f0ea6f0ba","directory":"rad-rodgers-radical-edition","title":"Rad Rodgers Radical Edition","compatibility":3,"releases":[{"id":"010000600CD54000","region":null}]},{"id":"ff8d8434-e68a-476a-bf52-769c23575dd9","directory":"milos-quest","title":"Milo's Quest","compatibility":2,"releases":[{"id":"0100B770104D6000","region":null}]},{"id":"ff963ece-7464-4bc4-bf71-21fd9030eede","directory":"gekido-kintaros-revenge","title":"Gekido Kintaro's Revenge","compatibility":1,"releases":[{"id":"010052A00942A000","region":null}]},{"id":"ffa1ffd0-2236-4234-9781-6ff0bf20c485","directory":"the-tenth-line-special-edition","title":"The Tenth Line Special Edition","compatibility":99,"releases":[{"id":"010090E00ECF4000","region":null}]},{"id":"ffa3cb04-27e4-4757-84d8-721507433690","directory":"spelunker-hd-deluxe","title":"Spelunker HD Deluxe","compatibility":0,"releases":[{"id":"010042B015582000","region":null}]},{"id":"ffaa3afe-31f6-46ef-a8a3-e9a202349df4","directory":"pancake-bar-tycoon","title":"Pancake Bar Tycoon","compatibility":99,"releases":[{"id":"0100D150132FA000","region":null}]},{"id":"ffae1efb-7dc8-49c5-a7f8-8f521de65604","directory":"tales-from-space-mutant-blobs-attack","title":"Tales From Space: Mutant Blobs Attack","compatibility":99,"releases":[{"id":"0100CB100D17A000","region":null}]},{"id":"ffb180f7-3f55-48dc-8355-f41e571232cc","directory":"biz-builder-delux","title":"Biz Builder Delux","compatibility":99,"releases":[{"id":"010061D00FD26000","region":null}]},{"id":"ffb793fc-8cf2-479e-a067-2eaa866c9238","directory":"super-animal-royale","title":"Super Animal Royale","compatibility":99,"releases":[{"id":"0100DB3011E8C000","region":null}]},{"id":"ffbc64dd-3e96-470e-b541-cd720b405b0a","directory":"grandia-hd-collection","title":"GRANDIA HD Collection","compatibility":4,"releases":[{"id":"0100E0600BBC8000","region":null}]},{"id":"ffc56cb6-ec52-4ffc-b3f4-286fdfe7a673","directory":"saboteur-ii-avenging-angel","title":"Saboteur II: Avenging Angel","compatibility":0,"releases":[{"id":"010007700CFA2000","region":null}]},{"id":"fff7647f-4e37-49b3-966c-c0c8e8c25825","directory":"from-shadows","title":"From Shadows","compatibility":99,"releases":[{"id":"0100901014412000","region":null}]},{"id":"fffb3851-5dab-4374-9820-5524eb26bf5e","directory":"assassins-creed-the-rebel-collection","title":"Assassin’s Creed: The Rebel Collection","compatibility":4,"releases":[{"id":"010044700DEB0000","region":null}]}] diff --git a/pkgs/applications/emulators/yuzu/default.nix b/pkgs/applications/emulators/yuzu/default.nix index f212abb448a6e..5f2df651f845b 100644 --- a/pkgs/applications/emulators/yuzu/default.nix +++ b/pkgs/applications/emulators/yuzu/default.nix @@ -1,28 +1,40 @@ -{ branch ? "mainline", libsForQt5, fetchFromGitHub }: +{ branch ? "mainline" +, libsForQt5 +, fetchFromGitHub +}: + let - inherit libsForQt5 fetchFromGitHub; + # Fetched from https://api.yuzu-emu.org/gamedb, last updated 2022-03-23. + # Please make sure to update this when updating yuzu! + compat-list = ./compatibility-list.json; in { - mainline = libsForQt5.callPackage ./base.nix rec { + mainline = libsForQt5.callPackage ./generic.nix rec { pname = "yuzu-mainline"; - version = "953"; - branchName = branch; + version = "992"; + src = fetchFromGitHub { owner = "yuzu-emu"; repo = "yuzu-mainline"; rev = "mainline-0-${version}"; - sha256 = "0p07gybyhr6flzmhz92qlrwcq7l37c2wmcxw8sbrvhj2pgaaw9ic"; + sha256 = "1x3fwwdw86jvygbzy9k99j6avfsd867ywm2x25izw10jznpsaixs"; fetchSubmodules = true; }; + + inherit branch compat-list; }; - early-access = libsForQt5.callPackage ./base.nix rec { + + early-access = libsForQt5.callPackage ./generic.nix rec { pname = "yuzu-ea"; - version = "2557"; - branchName = branch; + version = "2690"; + src = fetchFromGitHub { owner = "pineappleEA"; repo = "pineapple-src"; rev = "EA-${version}"; - sha256 = "013xxgyn8y5fv0xbrm0zfl9xmi0gx4hpflrbjskg1hcvb2bjqyvj"; + sha256 = "0zm06clbdh9cccq9932q9v976q7sjknynkdvvp04h1wcskmrxi3c"; + fetchSubmodules = true; }; + + inherit branch compat-list; }; }.${branch} diff --git a/pkgs/applications/emulators/yuzu/generic.nix b/pkgs/applications/emulators/yuzu/generic.nix new file mode 100644 index 0000000000000..0429d1fb0ee78 --- /dev/null +++ b/pkgs/applications/emulators/yuzu/generic.nix @@ -0,0 +1,157 @@ +{ pname +, version +, src +, branch +, compat-list + +, lib +, stdenv +, runCommandLocal +, substituteAll +, wrapQtAppsHook +, alsa-lib +, boost +, catch2 +, cmake +, doxygen +, ffmpeg +, fmt_8 +, glslang +, libjack2 +, libopus +, libpulseaudio +, libusb1 +, libva +, libzip +, lz4 +, nlohmann_json +, perl +, pkg-config +, python3 +, qtbase +, qttools +, qtwebengine +, rapidjson +, SDL2 +, sndio +, speexdsp +, udev +, vulkan-headers +, vulkan-loader +, zlib +, zstd +}: + +stdenv.mkDerivation rec { + inherit pname version src; + + nativeBuildInputs = [ + cmake + doxygen + perl + pkg-config + python3 + wrapQtAppsHook + ]; + + buildInputs = [ + alsa-lib + boost + catch2 + ffmpeg + fmt_8 + glslang + libjack2 + libopus + libpulseaudio + libusb1 + libva + libzip + lz4 + nlohmann_json + qtbase + qttools + qtwebengine + rapidjson + SDL2 + sndio + speexdsp + udev + zlib + zstd + ]; + + doCheck = true; + + # This changes `ir/opt` to `ir/var/empty` in `externals/dynarmic/src/dynarmic/CMakeLists.txt` + # making the build fail, as that path does not exist + dontFixCmake = true; + + cmakeFlags = [ + "-DYUZU_USE_BUNDLED_QT=OFF" + "-DYUZU_USE_BUNDLED_FFMPEG=OFF" + "-DYUZU_USE_BUNDLED_OPUS=OFF" + "-DYUZU_USE_EXTERNAL_SDL2=OFF" + + "-DENABLE_QT_TRANSLATION=ON" + "-DYUZU_USE_QT_WEB_ENGINE=ON" + "-DUSE_DISCORD_PRESENCE=ON" + + # We dont want to bother upstream with potentially outdated compat reports + "-DYUZU_ENABLE_COMPATIBILITY_REPORTING=OFF" + "-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF" # We provide this deterministically + ]; + + preConfigure = '' + # This prevents a check for submodule directories. + rm -f .gitmodules + + # see https://github.com/NixOS/nixpkgs/issues/114044, setting this through cmakeFlags does not work. + cmakeFlagsArray+=( + "-DTITLE_BAR_FORMAT_IDLE=yuzu ${branch} ${version}" + "-DTITLE_BAR_FORMAT_RUNNING=yuzu ${branch} ${version} | {3}" + ) + ''; + + # This must be done after cmake finishes as it overwrites the file + postConfigure = '' + ln -sf ${compat-list} ./dist/compatibility_list/compatibility_list.json + ''; + + # Fix vulkan detection + postFixup = '' + for bin in $out/bin/yuzu $out/bin/yuzu-cmd; do + wrapProgram $bin --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib + done + ''; + + passthru.updateScript = runCommandLocal "yuzu-${branch}-updateScript" { + script = substituteAll { + src = ./update.sh; + inherit branch; + }; + } "install -Dm755 $script $out"; + + meta = with lib; { + homepage = "https://yuzu-emu.org"; + changelog = "https://yuzu-emu.org/entry"; + description = "The ${branch} branch of an experimental Nintendo Switch emulator written in C++"; + longDescription = '' + An experimental Nintendo Switch emulator written in C++. + Using the mainline branch is recommanded for general usage. + Using the early-access branch is recommanded if you would like to try out experimental features, with a cost of stability. + ''; + mainProgram = "yuzu"; + platforms = [ "x86_64-linux" ]; + license = with licenses; [ + gpl3Plus + # Icons + cc-by-nd-30 cc0 + ]; + maintainers = with maintainers; [ + ivar + joshuafern + sbruder + ]; + }; +} diff --git a/pkgs/applications/emulators/yuzu/update.sh b/pkgs/applications/emulators/yuzu/update.sh new file mode 100755 index 0000000000000..270164902c115 --- /dev/null +++ b/pkgs/applications/emulators/yuzu/update.sh @@ -0,0 +1,102 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i bash -p nix nix-prefetch-git coreutils curl jq gnused + +set -e + +# Will be replaced with the actual branch when running this from passthru.updateScript +BRANCH="@branch@" + +if [[ ! "$(basename $PWD)" = "yuzu" ]]; then + echo "error: Script must be ran from yuzu's directory!" + exit 1 +fi + +getLocalVersion() { + pushd ../../../.. >/dev/null + nix eval --raw -f default.nix "$1".version + popd >/dev/null +} + +getLocalHash() { + pushd ../../../.. >/dev/null + nix eval --raw -f default.nix "$1".src.drvAttrs.outputHash + popd >/dev/null +} + +updateCompatList() { + NEW_COMPAT_LIST="$(curl -s "https://api.yuzu-emu.org/gamedb")" + + if [[ "$(cat ./compatibility-list.json)" = "${NEW_COMPAT_LIST}" ]]; then + echo "Compatibility list is already up to date!" + else + local TODAY="$(date +"%Y-%m-%d")" + + echo "Compatibility list: updated to $TODAY" + echo "${NEW_COMPAT_LIST}" > ./compatibility-list.json + + sed -i -e "s/last updated .*/last updated $TODAY./" ./default.nix + fi +} + +updateMainline() { + OLD_MAINLINE_VERSION="$(getLocalVersion "yuzu-mainline")" + OLD_MAINLINE_HASH="$(getLocalHash "yuzu-mainline")" + + NEW_MAINLINE_VERSION="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ + "https://api.github.com/repos/yuzu-emu/yuzu-mainline/releases?per_page=1" | jq -r '.[0].name' | cut -d" " -f2)" + + if [[ "${OLD_MAINLINE_VERSION}" = "${NEW_MAINLINE_VERSION}" ]]; then + echo "yuzu-mainline is already up to date!" + + [ "$KEEP_GOING" ] && return || exit + else + echo "yuzu-mainline: ${OLD_MAINLINE_VERSION} -> ${NEW_MAINLINE_VERSION}" + fi + + echo " Fetching source code..." + + NEW_MAINLINE_HASH="$(nix-prefetch-git --quiet --fetch-submodules --rev "mainline-0-${NEW_MAINLINE_VERSION}" "https://github.com/yuzu-emu/yuzu-mainline" | jq -r '.sha256')" + + echo " Succesfully fetched. hash: ${NEW_MAINLINE_HASH}" + + sed -i "s/${OLD_MAINLINE_VERSION}/${NEW_MAINLINE_VERSION}/" ./default.nix + sed -i "s/${OLD_MAINLINE_HASH}/${NEW_MAINLINE_HASH}/" ./default.nix +} + +updateEarlyAccess() { + OLD_EA_VERSION="$(getLocalVersion "yuzu-ea")" + OLD_EA_HASH="$(getLocalHash "yuzu-ea")" + + NEW_EA_VERSION="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ + "https://api.github.com/repos/pineappleEA/pineapple-src/releases?per_page=1" | jq -r '.[0].name' | cut -d"-" -f2 | cut -d" " -f1)" + + if [[ "${OLD_EA_VERSION}" = "${NEW_EA_VERSION}" ]]; then + echo "yuzu-ea is already up to date!" + + [ "$KEEP_GOING" ] && return || exit + else + echo "yuzu-ea: ${OLD_EA_VERSION} -> ${NEW_EA_VERSION}" + fi + + echo " Fetching source code..." + + NEW_EA_HASH="$(nix-prefetch-git --quiet --fetch-submodules --rev "EA-${NEW_EA_VERSION}" "https://github.com/pineappleEA/pineapple-src" | jq -r '.sha256')" + + echo " Succesfully fetched. hash: ${NEW_EA_HASH}" + + sed -i "s/${OLD_EA_VERSION}/${NEW_EA_VERSION}/" ./default.nix + sed -i "s/${OLD_EA_HASH}/${NEW_EA_HASH}/" ./default.nix +} + +if [[ "$BRANCH" = "mainline" ]]; then + updateMainline + updateCompatList +elif [[ "$BRANCH" = "early-access" ]]; then + updateEarlyAccess + updateCompatList +else + KEEP_GOING=1 + updateMainline + updateEarlyAccess + updateCompatList +fi diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix index 13a40cee5edfb..b4c06ae77192e 100644 --- a/pkgs/applications/graphics/ImageMagick/7.0.nix +++ b/pkgs/applications/graphics/ImageMagick/7.0.nix @@ -29,7 +29,7 @@ , curl , ApplicationServices , Foundation -, testVersion +, testers , imagemagick }: @@ -45,13 +45,13 @@ in stdenv.mkDerivation rec { pname = "imagemagick"; - version = "7.1.0-29"; + version = "7.1.0-31"; src = fetchFromGitHub { owner = "ImageMagick"; repo = "ImageMagick"; rev = version; - hash = "sha256-46fJMOIGnK5aNIcG7+8mJdZDcSFyFmhmkLcuVlnupSU="; + hash = "sha256-Pf+x3TnmvKTCDL3dGLyAr6JUl5E3BRi/XW/dkuCr2YA="; }; outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big @@ -120,7 +120,7 @@ stdenv.mkDerivation rec { ''; passthru.tests.version = - testVersion { package = imagemagick; }; + testers.testVersion { package = imagemagick; }; meta = with lib; { homepage = "http://www.imagemagick.org/"; diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix index e950d5e36f5ca..0fe5a0b183e8c 100644 --- a/pkgs/applications/graphics/darktable/default.nix +++ b/pkgs/applications/graphics/darktable/default.nix @@ -14,6 +14,7 @@ , desktop-file-utils , exiv2 , glib +, glib-networking , ilmbase , gtk3 , intltool @@ -71,6 +72,7 @@ stdenv.mkDerivation rec { curl exiv2 glib + glib-networking gtk3 ilmbase lcms2 diff --git a/pkgs/applications/graphics/hydrus/default.nix b/pkgs/applications/graphics/hydrus/default.nix index ef9bc61d57ca7..5a25ad3998f71 100644 --- a/pkgs/applications/graphics/hydrus/default.nix +++ b/pkgs/applications/graphics/hydrus/default.nix @@ -10,14 +10,14 @@ python3Packages.buildPythonPackage rec { pname = "hydrus"; - version = "481"; + version = "482"; format = "other"; src = fetchFromGitHub { owner = "hydrusnetwork"; repo = "hydrus"; rev = "refs/tags/v${version}"; - sha256 = "sha256-6I4vLJj5WzC2bCtQYnoLGOL6N6pKFU+PZQqaOqhZhWU="; + sha256 = "sha256-b7zMHwsyZv4dCn4Gd/2a+MHhT3IHISJup/zm95pEcQ4="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/graphics/rawtherapee/default.nix b/pkgs/applications/graphics/rawtherapee/default.nix index 7d1acc1dcd69a..494180fdb598d 100644 --- a/pkgs/applications/graphics/rawtherapee/default.nix +++ b/pkgs/applications/graphics/rawtherapee/default.nix @@ -16,6 +16,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkg-config wrapGAppsHook ]; + # This patch is upstream; remove it in 5.9. + patches = [ ./fix-6324.patch ]; + buildInputs = [ pixman libpthreadstubs gtkmm3 libXau libXdmcp lcms2 libiptcdata libcanberra-gtk3 fftw expat pcre libsigcxx lensfun librsvg diff --git a/pkgs/applications/graphics/rawtherapee/fix-6324.patch b/pkgs/applications/graphics/rawtherapee/fix-6324.patch new file mode 100644 index 0000000000000..fa324c2c9389b --- /dev/null +++ b/pkgs/applications/graphics/rawtherapee/fix-6324.patch @@ -0,0 +1,356 @@ +See: + https://github.com/Beep6581/RawTherapee/issues/6324 + https://github.com/Beep6581/RawTherapee/commit/2e0137d54243eb729d4a5f939c4320ec8f8f415d + +diff --git a/rtengine/canon_cr3_decoder.cc b/rtengine/canon_cr3_decoder.cc +index 6274154cb..98c743dad 100644 +--- a/rtengine/canon_cr3_decoder.cc ++++ b/rtengine/canon_cr3_decoder.cc +@@ -662,7 +662,7 @@ std::uint32_t _byteswap_ulong(std::uint32_t x) + #endif + + struct LibRaw_abstract_datastream { +- IMFILE* ifp; ++ rtengine::IMFILE* ifp; + + void lock() + { +diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc +index 812f122b3..5da696af2 100644 +--- a/rtengine/dcraw.cc ++++ b/rtengine/dcraw.cc +@@ -2025,7 +2025,7 @@ void CLASS phase_one_load_raw_c() + #endif + { + int len[2], pred[2]; +- IMFILE ifpthr = *ifp; ++ rtengine::IMFILE ifpthr = *ifp; + ifpthr.plistener = nullptr; + + #ifdef _OPENMP +@@ -3380,7 +3380,7 @@ void CLASS sony_arw2_load_raw() + { + uchar *data = new (std::nothrow) uchar[raw_width + 1]; + merror(data, "sony_arw2_load_raw()"); +- IMFILE ifpthr = *ifp; ++ rtengine::IMFILE ifpthr = *ifp; + int pos = ifpthr.pos; + ushort pix[16]; + +@@ -6394,7 +6394,7 @@ int CLASS parse_tiff_ifd (int base) + unsigned sony_curve[] = { 0,0,0,0,0,4095 }; + unsigned *buf, sony_offset=0, sony_length=0, sony_key=0; + struct jhead jh; +-/*RT*/ IMFILE *sfp; ++/*RT*/ rtengine::IMFILE *sfp; + /*RT*/ int pana_raw = 0; + + if (tiff_nifds >= sizeof tiff_ifd / sizeof tiff_ifd[0]) +@@ -6958,7 +6958,7 @@ it under the terms of the one of two licenses as you choose: + fread (buf, sony_length, 1, ifp); + sony_decrypt (buf, sony_length/4, 1, sony_key); + sfp = ifp; +-/*RT*/ ifp = fopen (buf, sony_length); ++/*RT*/ ifp = rtengine::fopen (buf, sony_length); + // if ((ifp = tmpfile())) { + // fwrite (buf, sony_length, 1, ifp); + // fseek (ifp, 0, SEEK_SET); +@@ -7264,7 +7264,7 @@ void CLASS parse_external_jpeg() + { + const char *file, *ext; + char *jname, *jfile, *jext; +-/*RT*/ IMFILE *save=ifp; ++/*RT*/ rtengine::IMFILE *save=ifp; + + ext = strrchr (ifname, '.'); + file = strrchr (ifname, '/'); +@@ -7292,7 +7292,7 @@ void CLASS parse_external_jpeg() + *jext = '0'; + } + if (strcmp (jname, ifname)) { +-/*RT*/ if ((ifp = fopen (jname))) { ++/*RT*/ if ((ifp = rtengine::fopen (jname))) { + // if ((ifp = fopen (jname, "rb"))) { + if (verbose) + fprintf (stderr,_("Reading metadata from %s ...\n"), jname); +diff --git a/rtengine/dcraw.h b/rtengine/dcraw.h +index 89c1fcaff..f25157088 100644 +--- a/rtengine/dcraw.h ++++ b/rtengine/dcraw.h +@@ -73,7 +73,7 @@ public: + + protected: + int exif_base, ciff_base, ciff_len; +- IMFILE *ifp; ++ rtengine::IMFILE *ifp; + FILE *ofp; + short order; + const char *ifname; +@@ -125,7 +125,7 @@ protected: + int cur_buf_size; // buffer size + uchar *cur_buf; // currently read block + int fillbytes; // Counter to add extra byte for block size N*16 +- IMFILE *input; ++ rtengine::IMFILE *input; + struct int_pair grad_even[3][41]; // tables of gradients + struct int_pair grad_odd[3][41]; + ushort *linealloc; +@@ -278,7 +278,7 @@ void parse_redcine(); + class getbithuff_t + { + public: +- getbithuff_t(DCraw *p,IMFILE *&i, unsigned &z):parent(p),bitbuf(0),vbits(0),reset(0),ifp(i),zero_after_ff(z){} ++ getbithuff_t(DCraw *p,rtengine::IMFILE *&i, unsigned &z):parent(p),bitbuf(0),vbits(0),reset(0),ifp(i),zero_after_ff(z){} + unsigned operator()(int nbits, ushort *huff); + + private: +@@ -288,7 +288,7 @@ private: + DCraw *parent; + unsigned bitbuf; + int vbits, reset; +- IMFILE *&ifp; ++ rtengine::IMFILE *&ifp; + unsigned &zero_after_ff; + }; + getbithuff_t getbithuff; +@@ -296,7 +296,7 @@ getbithuff_t getbithuff; + class nikbithuff_t + { + public: +- explicit nikbithuff_t(IMFILE *&i):bitbuf(0),errors(0),vbits(0),ifp(i){} ++ explicit nikbithuff_t(rtengine::IMFILE *&i):bitbuf(0),errors(0),vbits(0),ifp(i){} + void operator()() {bitbuf = vbits = 0;}; + unsigned operator()(int nbits, ushort *huff); + unsigned errorCount() { return errors; } +@@ -309,7 +309,7 @@ private: + } + unsigned bitbuf, errors; + int vbits; +- IMFILE *&ifp; ++ rtengine::IMFILE *&ifp; + }; + nikbithuff_t nikbithuff; + +@@ -378,7 +378,7 @@ void parse_qt (int end); + // ph1_bithuff(int nbits, ushort *huff); + class ph1_bithuff_t { + public: +- ph1_bithuff_t(DCraw *p, IMFILE *i, short &o):order(o),ifp(i),bitbuf(0),vbits(0){} ++ ph1_bithuff_t(DCraw *p, rtengine::IMFILE *i, short &o):order(o),ifp(i),bitbuf(0),vbits(0){} + unsigned operator()(int nbits, ushort *huff); + unsigned operator()(int nbits); + unsigned operator()(); +@@ -412,7 +412,7 @@ private: + } + + short ℴ +- IMFILE* const ifp; ++ rtengine::IMFILE* const ifp; + UINT64 bitbuf; + int vbits; + }; +@@ -430,11 +430,11 @@ void nokia_load_raw(); + + class pana_bits_t{ + public: +- pana_bits_t(IMFILE *i, unsigned &u, unsigned enc): ++ pana_bits_t(rtengine::IMFILE *i, unsigned &u, unsigned enc): + ifp(i), load_flags(u), vbits(0), encoding(enc) {} + unsigned operator()(int nbits, unsigned *bytes=nullptr); + private: +- IMFILE *ifp; ++ rtengine::IMFILE *ifp; + unsigned &load_flags; + uchar buf[0x4000]; + int vbits; +diff --git a/rtengine/dfmanager.cc b/rtengine/dfmanager.cc +index 1fb1d2e1b..951df2248 100644 +--- a/rtengine/dfmanager.cc ++++ b/rtengine/dfmanager.cc +@@ -540,7 +540,7 @@ std::vector<badPix> *DFManager::getHotPixels ( const std::string &mak, const std + + int DFManager::scanBadPixelsFile( Glib::ustring filename ) + { +- FILE *file = fopen( filename.c_str(), "r" ); ++ FILE *file = ::fopen( filename.c_str(), "r" ); + + if( !file ) { + return false; +diff --git a/rtengine/myfile.cc b/rtengine/myfile.cc +index 842766dcf..2321d18bb 100644 +--- a/rtengine/myfile.cc ++++ b/rtengine/myfile.cc +@@ -70,7 +70,7 @@ int munmap(void *start, size_t length) + + #ifdef MYFILE_MMAP + +-IMFILE* fopen (const char* fname) ++rtengine::IMFILE* rtengine::fopen (const char* fname) + { + int fd; + +@@ -123,13 +123,13 @@ IMFILE* fopen (const char* fname) + return mf; + } + +-IMFILE* gfopen (const char* fname) ++rtengine::IMFILE* rtengine::gfopen (const char* fname) + { + return fopen(fname); + } + #else + +-IMFILE* fopen (const char* fname) ++rtengine::IMFILE* rtengine::fopen (const char* fname) + { + + FILE* f = g_fopen (fname, "rb"); +@@ -152,7 +152,7 @@ IMFILE* fopen (const char* fname) + return mf; + } + +-IMFILE* gfopen (const char* fname) ++rtengine::IMFILE* rtengine::gfopen (const char* fname) + { + + FILE* f = g_fopen (fname, "rb"); +@@ -176,7 +176,7 @@ IMFILE* gfopen (const char* fname) + } + #endif //MYFILE_MMAP + +-IMFILE* fopen (unsigned* buf, int size) ++rtengine::IMFILE* rtengine::fopen (unsigned* buf, int size) + { + + IMFILE* mf = new IMFILE; +@@ -190,7 +190,7 @@ IMFILE* fopen (unsigned* buf, int size) + return mf; + } + +-void fclose (IMFILE* f) ++void rtengine::fclose (IMFILE* f) + { + #ifdef MYFILE_MMAP + +@@ -207,7 +207,7 @@ void fclose (IMFILE* f) + delete f; + } + +-int fscanf (IMFILE* f, const char* s ...) ++int rtengine::fscanf (IMFILE* f, const char* s ...) + { + // fscanf not easily wrapped since we have no terminating \0 at end + // of file data and vsscanf() won't tell us how many characters that +@@ -253,7 +253,7 @@ int fscanf (IMFILE* f, const char* s ...) + } + + +-char* fgets (char* s, int n, IMFILE* f) ++char* rtengine::fgets (char* s, int n, IMFILE* f) + { + + if (f->pos >= f->size) { +@@ -270,7 +270,7 @@ char* fgets (char* s, int n, IMFILE* f) + return s; + } + +-void imfile_set_plistener(IMFILE *f, rtengine::ProgressListener *plistener, double progress_range) ++void rtengine::imfile_set_plistener(IMFILE *f, rtengine::ProgressListener *plistener, double progress_range) + { + f->plistener = plistener; + f->progress_range = progress_range; +@@ -278,7 +278,7 @@ void imfile_set_plistener(IMFILE *f, rtengine::ProgressListener *plistener, doub + f->progress_current = 0; + } + +-void imfile_update_progress(IMFILE *f) ++void rtengine::imfile_update_progress(IMFILE *f) + { + if (!f->plistener || f->progress_current < f->progress_next) { + return; +diff --git a/rtengine/myfile.h b/rtengine/myfile.h +index 423edea9a..c655696e6 100644 +--- a/rtengine/myfile.h ++++ b/rtengine/myfile.h +@@ -30,8 +30,6 @@ namespace rtengine + + class ProgressListener; + +-} +- + struct IMFILE { + int fd; + ssize_t pos; +@@ -141,3 +139,5 @@ inline unsigned char* fdata(int offset, IMFILE* f) + + int fscanf (IMFILE* f, const char* s ...); + char* fgets (char* s, int n, IMFILE* f); ++ ++} +diff --git a/rtengine/rtthumbnail.cc b/rtengine/rtthumbnail.cc +index 9da601e2a..097b9e711 100644 +--- a/rtengine/rtthumbnail.cc ++++ b/rtengine/rtthumbnail.cc +@@ -1922,7 +1922,7 @@ bool Thumbnail::writeImage (const Glib::ustring& fname) + + Glib::ustring fullFName = fname + ".rtti"; + +- FILE* f = g_fopen (fullFName.c_str (), "wb"); ++ FILE* f = ::g_fopen (fullFName.c_str (), "wb"); + + if (!f) { + return false; +@@ -1965,7 +1965,7 @@ bool Thumbnail::readImage (const Glib::ustring& fname) + return false; + } + +- FILE* f = g_fopen(fullFName.c_str (), "rb"); ++ FILE* f = ::g_fopen(fullFName.c_str (), "rb"); + + if (!f) { + return false; +@@ -2191,7 +2191,7 @@ bool Thumbnail::writeData (const Glib::ustring& fname) + return false; + } + +- FILE *f = g_fopen (fname.c_str (), "wt"); ++ FILE *f = ::g_fopen (fname.c_str (), "wt"); + + if (!f) { + if (settings->verbose) { +@@ -2214,7 +2214,7 @@ bool Thumbnail::readEmbProfile (const Glib::ustring& fname) + embProfile = nullptr; + embProfileLength = 0; + +- FILE* f = g_fopen (fname.c_str (), "rb"); ++ FILE* f = ::g_fopen (fname.c_str (), "rb"); + + if (f) { + if (!fseek (f, 0, SEEK_END)) { +@@ -2242,7 +2242,7 @@ bool Thumbnail::writeEmbProfile (const Glib::ustring& fname) + { + + if (embProfileData) { +- FILE* f = g_fopen (fname.c_str (), "wb"); ++ FILE* f = ::g_fopen (fname.c_str (), "wb"); + + if (f) { + fwrite (embProfileData, 1, embProfileLength, f); +@@ -2257,7 +2257,7 @@ bool Thumbnail::writeEmbProfile (const Glib::ustring& fname) + bool Thumbnail::readAEHistogram (const Glib::ustring& fname) + { + +- FILE* f = g_fopen(fname.c_str(), "rb"); ++ FILE* f = ::g_fopen(fname.c_str(), "rb"); + + if (!f) { + aeHistogram.reset(); +@@ -2280,7 +2280,7 @@ bool Thumbnail::writeAEHistogram (const Glib::ustring& fname) + { + + if (aeHistogram) { +- FILE* f = g_fopen (fname.c_str (), "wb"); ++ FILE* f = ::g_fopen (fname.c_str (), "wb"); + + if (f) { + fwrite (&aeHistogram[0], 1, (65536 >> aeHistCompression)*sizeof (aeHistogram[0]), f); diff --git a/pkgs/applications/graphics/unigine-valley/default.nix b/pkgs/applications/graphics/unigine-valley/default.nix index 81ed98f9ad44f..9b51373178e44 100644 --- a/pkgs/applications/graphics/unigine-valley/default.nix +++ b/pkgs/applications/graphics/unigine-valley/default.nix @@ -1,10 +1,15 @@ -{ lib, stdenv, fetchurl +{ lib +, stdenv +, fetchurl -# Build-time dependencies + # Build-time dependencies , makeWrapper , file +, makeDesktopItem +, imagemagick +, copyDesktopItems -# Runtime dependencies + # Runtime dependencies , fontconfig , freetype , libX11 @@ -12,104 +17,120 @@ , libXinerama , libXrandr , libXrender -, libGL -, openal}: +, libglvnd +, openal +}: let version = "1.0"; - arch = if stdenv.hostPlatform.system == "x86_64-linux" then - "x64" - else if stdenv.hostPlatform.system == "i686-linux" then - "x86" - else - throw "Unsupported platform ${stdenv.hostPlatform.system}"; - + arch = + if stdenv.hostPlatform.system == "x86_64-linux" then + "x64" + else if stdenv.hostPlatform.system == "i686-linux" then + "x86" + else + throw "Unsupported platform ${stdenv.hostPlatform.system}"; in - stdenv.mkDerivation rec { - pname = "unigine-valley"; - inherit version; - - src = fetchurl { - url = "http://assets.unigine.com/d/Unigine_Valley-${version}.run"; - sha256 = "5f0c8bd2431118551182babbf5f1c20fb14e7a40789697240dcaf546443660f4"; - }; - - sourceRoot = "Unigine_Valley-${version}"; - instPath = "lib/unigine/valley"; - - nativeBuildInputs = [file makeWrapper]; - - libPath = lib.makeLibraryPath [ - stdenv.cc.cc # libstdc++.so.6 - fontconfig - freetype - libX11 - libXext - libXinerama - libXrandr - libXrender - libGL - openal - ]; - - unpackPhase = '' - runHook preUnpack - - cp $src extractor.run - chmod +x extractor.run - ./extractor.run --target $sourceRoot - - runHook postUnpack - ''; - - patchPhase = '' - runHook prePatch - - # Patch ELF files. - elfs=$(find bin -type f | xargs file | grep ELF | cut -d ':' -f 1) - for elf in $elfs; do - patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 $elf || true - done - - runHook postPatch - ''; - - installPhase = '' - runHook preInstall - - instdir=$out/${instPath} - - # Install executables and libraries - mkdir -p $instdir/bin - install -m 0755 bin/browser_${arch} $instdir/bin - install -m 0755 bin/libApp{Stereo,Surround,Wall}_${arch}.so $instdir/bin - install -m 0755 bin/libGPUMonitor_${arch}.so $instdir/bin - install -m 0755 bin/libQt{Core,Gui,Network,WebKit,Xml}Unigine_${arch}.so.4 $instdir/bin - install -m 0755 bin/libUnigine_${arch}.so $instdir/bin - install -m 0755 bin/valley_${arch} $instdir/bin - install -m 0755 valley $instdir - - # Install other files - cp -R data documentation $instdir - - # Install and wrap executable - mkdir -p $out/bin - install -m 0755 valley $out/bin/valley - wrapProgram $out/bin/valley \ - --chdir "$instdir" \ - --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$instdir/bin:$libPath - - runHook postInstall - ''; - - stripDebugList = ["${instPath}/bin"]; - - meta = { - description = "The Unigine Valley GPU benchmarking tool"; - homepage = "https://unigine.com/products/benchmarks/valley/"; - license = lib.licenses.unfree; # see also: $out/$instPath/documentation/License.pdf - maintainers = [ lib.maintainers.kierdavis ]; - platforms = ["x86_64-linux" "i686-linux"]; - }; - } + +stdenv.mkDerivation rec { + pname = "unigine-valley"; + inherit version; + + src = fetchurl { + url = "https://m11-assets.unigine.com/d/Unigine_Valley-${version}.run"; + sha256 = "5f0c8bd2431118551182babbf5f1c20fb14e7a40789697240dcaf546443660f4"; + }; + + sourceRoot = "Unigine_Valley-${version}"; + instPath = "lib/unigine/valley"; + + nativeBuildInputs = [ file makeWrapper imagemagick copyDesktopItems ]; + + libPath = lib.makeLibraryPath [ + stdenv.cc.cc # libstdc++.so.6 + fontconfig + freetype + libX11 + libXext + libXinerama + libXrandr + libXrender + libglvnd + openal + ]; + + unpackPhase = '' + runHook preUnpack + + cp $src extractor.run + chmod +x extractor.run + ./extractor.run --target $sourceRoot + + runHook postUnpack + ''; + + postPatch = '' + # Patch ELF files. + elfs=$(find bin -type f | xargs file | grep ELF | cut -d ':' -f 1) + for elf in $elfs; do + patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 $elf || true + done + ''; + + installPhase = '' + runHook preInstall + + instdir=$out/${instPath} + mkdir -p $out/share/icons/hicolor $out/share/applications $out/bin $instdir/bin + + # Install executables and libraries + install -m 0755 bin/browser_${arch} $instdir/bin + install -m 0755 bin/libApp{Stereo,Surround,Wall}_${arch}.so $instdir/bin + install -m 0755 bin/libGPUMonitor_${arch}.so $instdir/bin + install -m 0755 bin/libQt{Core,Gui,Network,WebKit,Xml}Unigine_${arch}.so.4 $instdir/bin + install -m 0755 bin/libUnigine_${arch}.so $instdir/bin + install -m 0755 bin/valley_${arch} $instdir/bin + install -m 0755 valley $instdir + install -m 0755 valley $out/bin/valley + + # Install other files + cp -R data documentation $instdir + + # Install and wrap executable + wrapProgram $out/bin/valley \ + --chdir "$instdir" \ + --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$instdir/bin:$libPath + + # Make desktop Icon + convert $out/lib/unigine/valley/data/launcher/icon.png -resize 128x128 $out/share/icons/Valley.png + for RES in 16 24 32 48 64 128 256 + do + mkdir -p $out/share/icons/hicolor/"$RES"x"$RES"/apps + convert $out/lib/unigine/valley/data/launcher/icon.png -resize "$RES"x"$RES" $out/share/icons/hicolor/"$RES"x"$RES"/apps/Valley.png + done + + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + name = "Valley"; + exec = "valley"; + genericName = "A GPU Stress test tool from the UNIGINE"; + icon = "Valley"; + desktopName = "Valley Benchmark"; + }) + ]; + + stripDebugList = [ "${instPath}/bin" ]; + + meta = { + description = "The Unigine Valley GPU benchmarking tool"; + homepage = "https://unigine.com/products/benchmarks/valley/"; + license = lib.licenses.unfree; # see also: $out/$instPath/documentation/License.pdf + maintainers = [ lib.maintainers.kierdavis ]; + platforms = [ "x86_64-linux" "i686-linux" ]; + }; +} + diff --git a/pkgs/applications/misc/1password/default.nix b/pkgs/applications/misc/1password/default.nix index 9d7a4fcd94ca4..62b2b1fefddf7 100644 --- a/pkgs/applications/misc/1password/default.nix +++ b/pkgs/applications/misc/1password/default.nix @@ -12,12 +12,12 @@ let if extension == "zip" then fetchzip args else fetchurl args; pname = "1password-cli"; - version = "2.0.0"; + version = "2.0.2"; sources = rec { - aarch64-linux = fetch "linux_arm64" "sha256-NhCs68on8LzoeOmM5eP8LwmFaVWz6aghqtHzfUlACiA=" "zip"; - i686-linux = fetch "linux_386" "sha256-vCxgEBq4YVfljq2zUpvBdZUbIiam4z64P1m9OMWq1f4=" "zip"; - x86_64-linux = fetch "linux_amd64" "sha256-CDwrJ5ksXf9kwHobw4jvRUi1hLQzq4/yRlk+kHPN7UE=" "zip"; - aarch64-darwin = fetch "apple_universal" "sha256-DC9hdzRjQ9iNjbe6PfRpMXzDeInq4rYSAa2nDHQMTRo=" "pkg"; + aarch64-linux = fetch "linux_arm64" "sha256-DhKxY4Ry1IpT16UC3HbbUSKWzhGm/0R7rYrvqupg/Zo=" "zip"; + i686-linux = fetch "linux_386" "sha256-ANoOYjG4+mci6TdF4HC9fP8e5eAckrbZITRuA1fqtCA=" "zip"; + x86_64-linux = fetch "linux_amd64" "sha256-uPudElKu30smsupSIvGAmrF/f9TXoTzyUfSrUAvTDWw=" "zip"; + aarch64-darwin = fetch "apple_universal" "sha256-P5qsy4kiE/DMJnJr3EUHMcb0KoUZyO2BQ5PIosPbnI8=" "pkg"; x86_64-darwin = aarch64-darwin; }; platforms = builtins.attrNames sources; diff --git a/pkgs/applications/misc/calcurse/default.nix b/pkgs/applications/misc/calcurse/default.nix index 837fcc5c27d63..740c463038c8d 100644 --- a/pkgs/applications/misc/calcurse/default.nix +++ b/pkgs/applications/misc/calcurse/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "calcurse"; - version = "4.7.1"; + version = "4.8.0"; src = fetchurl { url = "https://calcurse.org/files/${pname}-${version}.tar.gz"; - sha256 = "sha256-CnxV0HZ0Vp0WbAsOdYeyly09qBYM231gsdvSiVgDr7A="; + sha256 = "sha256-SKc2ZmzEtrUwEtc7OqcBUsGLQebHtIB/qw8WjWRa4yw="; }; buildInputs = [ ncurses gettext python3 python3Packages.wrapPython ]; @@ -28,7 +28,8 @@ stdenv.mkDerivation rec { be used to filter and format appointments, making it suitable for use in scripts. ''; homepage = "https://calcurse.org/"; + changelog = "https://git.calcurse.org/calcurse.git/plain/CHANGES.md?h=v${version}"; license = licenses.bsd2; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix index 116d5430c2a81..6afd9ee624208 100644 --- a/pkgs/applications/misc/dunst/default.nix +++ b/pkgs/applications/misc/dunst/default.nix @@ -3,7 +3,7 @@ , cairo, dbus, systemd, gdk-pixbuf, glib, libX11, libXScrnSaver , wayland, wayland-protocols , libXinerama, libnotify, pango, xorgproto, librsvg -, testVersion, dunst +, testers, dunst }: stdenv.mkDerivation rec { @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" ''; - passthru.tests.version = testVersion { package = dunst; }; + passthru.tests.version = testers.testVersion { package = dunst; }; meta = with lib; { description = "Lightweight and customizable notification daemon"; diff --git a/pkgs/applications/misc/fluidd/default.nix b/pkgs/applications/misc/fluidd/default.nix index 766b05b2e1458..5d709235741a4 100644 --- a/pkgs/applications/misc/fluidd/default.nix +++ b/pkgs/applications/misc/fluidd/default.nix @@ -2,12 +2,12 @@ stdenvNoCC.mkDerivation rec { pname = "fluidd"; - version = "1.17.1"; + version = "1.17.2"; src = fetchurl { name = "fluidd-v${version}.zip"; url = "https://github.com/cadriel/fluidd/releases/download/v${version}/fluidd.zip"; - sha256 = "sha256-F4hAFLsZmRg/zeTHo9eYoT0BasorynGaSzNSbKr2/JE="; + sha256 = "sha256-kb7t3H2gpiN6/N/LxyG/Vu5Cp/zytAePsXmacxVyWCk="; }; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/applications/misc/hello/default.nix b/pkgs/applications/misc/hello/default.nix index ecb7892821733..60482a84c9b43 100644 --- a/pkgs/applications/misc/hello/default.nix +++ b/pkgs/applications/misc/hello/default.nix @@ -2,7 +2,6 @@ , stdenv , fetchurl , nixos -, testVersion , testers , hello }: @@ -19,7 +18,7 @@ stdenv.mkDerivation rec { doCheck = true; passthru.tests = { - version = testVersion { package = hello; }; + version = testers.testVersion { package = hello; }; invariant-under-noXlibs = testers.testEqualDerivation diff --git a/pkgs/applications/misc/hubstaff/default.nix b/pkgs/applications/misc/hubstaff/default.nix index a164654b1a67e..44169f6a539e2 100644 --- a/pkgs/applications/misc/hubstaff/default.nix +++ b/pkgs/applications/misc/hubstaff/default.nix @@ -55,7 +55,7 @@ stdenv.mkDerivation { ln -s $opt/data/resources $opt/x86_64/resources ''; - updateScript = writeShellScript "hubstaff-updater" '' + passthru.updateScript = writeShellScript "hubstaff-updater" '' set -eu -o pipefail installation_script_url=$(curl --fail --head --location --silent --output /dev/null --write-out %{url_effective} https://app.hubstaff.com/download/linux) diff --git a/pkgs/applications/misc/ipmiview/default.nix b/pkgs/applications/misc/ipmiview/default.nix index 4c01e52aa5dbe..a25806533ef86 100644 --- a/pkgs/applications/misc/ipmiview/default.nix +++ b/pkgs/applications/misc/ipmiview/default.nix @@ -13,12 +13,12 @@ stdenv.mkDerivation rec { pname = "IPMIView"; - version = "2.19.0"; - buildVersion = "210401"; + version = "2.20.0"; + buildVersion = "220309"; src = fetchurl { url = "https://www.supermicro.com/wftp/utility/IPMIView/Linux/IPMIView_${version}_build.${buildVersion}_bundleJRE_Linux_x64.tar.gz"; - sha256 = "sha256-6hxOu/Wkcrp9MaMYlxOR2DZW21Wi3BIFZp3Vm8NRBWs="; + hash = "sha256-qtklBMuK0jb9Ye0IkYM2WYFRMAfZg9tk08a1JQ64cjA="; }; nativeBuildInputs = [ patchelf makeWrapper ]; diff --git a/pkgs/applications/misc/k4dirstat/default.nix b/pkgs/applications/misc/k4dirstat/default.nix index e2e43ae099715..552a63240d513 100644 --- a/pkgs/applications/misc/k4dirstat/default.nix +++ b/pkgs/applications/misc/k4dirstat/default.nix @@ -7,7 +7,7 @@ , kjobwidgets , kxmlgui , lib -, testVersion +, testers , k4dirstat }: @@ -26,7 +26,7 @@ mkDerivation rec { buildInputs = [ kiconthemes kio kjobwidgets kxmlgui ]; passthru.tests.version = - testVersion { + testers.testVersion { package = k4dirstat; command = "k4dirstat -platform offscreen --version &>/dev/stdout"; }; diff --git a/pkgs/applications/misc/lutris/default.nix b/pkgs/applications/misc/lutris/default.nix index c8490f0d80acf..e48065e6d9a08 100644 --- a/pkgs/applications/misc/lutris/default.nix +++ b/pkgs/applications/misc/lutris/default.nix @@ -84,13 +84,13 @@ let in buildPythonApplication rec { pname = "lutris-original"; - version = "0.5.10"; + version = "0.5.10.1"; src = fetchFromGitHub { owner = "lutris"; repo = "lutris"; - rev = "v${version}"; - sha256 = "sha256-PrnULCdQXNZ9OTa00NVyqiTdKRRkAYBcDj7lMwEqkw4="; + rev = "refs/tags/v${version}"; + sha256 = "sha256-Bf8UEGEM6M4PKoX/qKQNb9XxrxLcjKZD1vR3R2/PykI="; }; nativeBuildInputs = [ wrapGAppsHook ]; diff --git a/pkgs/applications/misc/megasync/default.nix b/pkgs/applications/misc/megasync/default.nix index 15b7060ff2641..98622ae404ce5 100644 --- a/pkgs/applications/misc/megasync/default.nix +++ b/pkgs/applications/misc/megasync/default.nix @@ -28,13 +28,13 @@ }: mkDerivation rec { pname = "megasync"; - version = "4.6.3.0"; + version = "4.6.5.0"; src = fetchFromGitHub { owner = "meganz"; repo = "MEGAsync"; rev = "v${version}_Linux"; - sha256 = "1j86vr8n2a17my61vkmx83cay1ibllzjprl5bfwaby5ibh4zclz4"; + sha256 = "sha256-2gsJmMnt0+4vknd2HgOtCYCjVWT7eD0WBimmtsFEhvY="; fetchSubmodules = true; }; diff --git a/pkgs/applications/misc/metadata-cleaner/default.nix b/pkgs/applications/misc/metadata-cleaner/default.nix index a92f79845134c..ee7703987eaa4 100644 --- a/pkgs/applications/misc/metadata-cleaner/default.nix +++ b/pkgs/applications/misc/metadata-cleaner/default.nix @@ -18,7 +18,7 @@ python3.pkgs.buildPythonApplication rec { pname = "metadata-cleaner"; - version = "2.2.1"; + version = "2.2.2"; format = "other"; @@ -26,7 +26,7 @@ python3.pkgs.buildPythonApplication rec { owner = "rmnvgr"; repo = "metadata-cleaner"; rev = "v${version}"; - hash = "sha256-clCCVOoiInaxg9++GiHMLaD+k0gAvt3oOmqQ/a+WgCE="; + hash = "sha256-V3qcQQwc2ykVTVgUJuNnVQ9iSPD0tv4C2hSILLxuE70="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/misc/minigalaxy/default.nix b/pkgs/applications/misc/minigalaxy/default.nix index 2786492d47a52..2be567f2a149a 100644 --- a/pkgs/applications/misc/minigalaxy/default.nix +++ b/pkgs/applications/misc/minigalaxy/default.nix @@ -31,6 +31,10 @@ python3Packages.buildPythonApplication rec { runHook postCheck ''; + # Cannot find GSettings schemas when opening settings, + # probably https://github.com/NixOS/nixpkgs/issues/56943 + strictDeps = false; + nativeBuildInputs = [ gettext wrapGAppsHook diff --git a/pkgs/applications/misc/mob/default.nix b/pkgs/applications/misc/mob/default.nix index 2b9c847bac8ff..e83ed045b0dc5 100644 --- a/pkgs/applications/misc/mob/default.nix +++ b/pkgs/applications/misc/mob/default.nix @@ -9,13 +9,13 @@ buildGoPackage rec { pname = "mob"; - version = "2.6.0"; + version = "3.0.0"; src = fetchFromGitHub { rev = "v${version}"; owner = "remotemobprogramming"; repo = pname; - sha256 = "sha256-GJ4V4GQRUoXelk0ksHPoFL4iB1W7pe2UydK2AhYjysg="; + sha256 = "sha256-silAgScvhl388Uf6HkWqEkNmr/K6aUt/lj/rxzkk/f0="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/misc/notejot/default.nix b/pkgs/applications/misc/notejot/default.nix index deda8b07f475b..24877241f91ef 100644 --- a/pkgs/applications/misc/notejot/default.nix +++ b/pkgs/applications/misc/notejot/default.nix @@ -2,52 +2,45 @@ , stdenv , fetchFromGitHub , gtk4 -, hicolor-icon-theme , json-glib , libadwaita , libgee +, desktop-file-utils , meson , ninja , nix-update-script , pkg-config -, python3 , vala , wrapGAppsHook4 }: stdenv.mkDerivation rec { pname = "notejot"; - version = "3.4.9"; + version = "3.5.1"; src = fetchFromGitHub { owner = "lainsce"; repo = pname; rev = version; - hash = "sha256-42k9CAnXAb7Ic580SIa95MDCkCWtso1F+0eD69HX8WI="; + hash = "sha256-p5F0OITgfZyvHwndI5r5BE524+nft7A2XfR3BJZFamU="; }; nativeBuildInputs = [ + desktop-file-utils meson ninja pkg-config - python3 vala wrapGAppsHook4 ]; buildInputs = [ gtk4 - hicolor-icon-theme json-glib libadwaita libgee ]; - postPatch = '' - chmod +x build-aux/post_install.py - patchShebangs build-aux/post_install.py - ''; - passthru.updateScript = nix-update-script { attrPath = pname; }; diff --git a/pkgs/applications/misc/portfolio-filemanager/default.nix b/pkgs/applications/misc/portfolio-filemanager/default.nix index b7cd7c0e1170d..48039b64fb60a 100644 --- a/pkgs/applications/misc/portfolio-filemanager/default.nix +++ b/pkgs/applications/misc/portfolio-filemanager/default.nix @@ -17,7 +17,7 @@ python3.pkgs.buildPythonApplication rec { pname = "portfolio"; - version = "0.9.12"; + version = "0.9.14"; format = "other"; @@ -25,7 +25,7 @@ python3.pkgs.buildPythonApplication rec { owner = "tchx84"; repo = "Portfolio"; rev = "v${version}"; - sha256 = "sha256-P+XQRIL2DepoOSVElxVxMihqxdxwLVnvXuraZN8L7z8="; + hash = "sha256-mrb202ON0B6VlY+U+jN0jJmbT36jQ8krNnuODynaCUA="; }; postPatch = '' @@ -56,6 +56,10 @@ python3.pkgs.buildPythonApplication rec { pygobject3 ]; + checkPhase = '' + meson test + ''; + postInstall = '' ln -s dev.tchx84.Portfolio "$out/bin/portfolio" ''; diff --git a/pkgs/applications/misc/sigi/default.nix b/pkgs/applications/misc/sigi/default.nix index 62b8dd576591f..ff74d8b098f3a 100644 --- a/pkgs/applications/misc/sigi/default.nix +++ b/pkgs/applications/misc/sigi/default.nix @@ -1,28 +1,25 @@ -{ lib, rustPlatform, fetchCrate, installShellFiles, testVersion, sigi }: +{ lib, rustPlatform, fetchCrate, installShellFiles, testers, sigi }: rustPlatform.buildRustPackage rec { pname = "sigi"; - version = "3.0.3"; + version = "3.2.1"; src = fetchCrate { inherit pname version; - sha256 = "sha256-tjhNE20GE1L8kvhdI5Mc90I75q8szOIV40vq2CBt98U="; + sha256 = "sha256-1eZ6i0CvjNyYlWb7c0OPlGtvVSFpi8hiOl/7qeeE9wA="; }; + cargoSha256 = "sha256-Tyrcu/BYt9k4igiEIiZ2I7VIGiBZ3D2i6XfT/XGlU+U="; nativeBuildInputs = [ installShellFiles ]; - # As part of its tests, sigi hard-codes a location to BATS based on git - # submodules. The tests are recommeded to skip for Linux packaging. They'll - # move to Rust after this issue: https://github.com/hiljusti/sigi/issues/19 - checkFlags = [ "SKIP_BATS_TESTS=1" ]; + # In case anything goes wrong. + checkFlags = [ "RUST_BACKTRACE=1" ]; postInstall = '' installManPage sigi.1 ''; - cargoSha256 = "sha256-0e0r6hfXGJmrc6tgCqq2dQXu2MhkThViZwdG3r3g028="; - - passthru.tests.version = testVersion { package = sigi; }; + passthru.tests.version = testers.testVersion { package = sigi; }; meta = with lib; { description = "Organizing CLI for people who don't love organizing."; diff --git a/pkgs/applications/misc/veracrypt/default.nix b/pkgs/applications/misc/veracrypt/default.nix index 33d0da5c93a4f..2897bb996c84f 100644 --- a/pkgs/applications/misc/veracrypt/default.nix +++ b/pkgs/applications/misc/veracrypt/default.nix @@ -18,11 +18,11 @@ with lib; stdenv.mkDerivation rec { pname = "veracrypt"; - version = "1.24-Update7"; + version = "1.25.9"; src = fetchurl { url = "https://launchpad.net/${pname}/trunk/${toLower version}/+download/VeraCrypt_${version}_Source.tar.bz2"; - sha256 = "0i7h44zn2mjzgh416l7kfs0dk6qc7b1bxsaxqqqcvgrpl453n7bc"; + sha256 = "sha256-drbhgYS8IaQdKUn/Y9ch1JBUpxbO/zpL13tcNRC3lK8="; }; patches = [ diff --git a/pkgs/applications/misc/zola/default.nix b/pkgs/applications/misc/zola/default.nix index f6ed2daf8ec7c..24511096f1d4c 100644 --- a/pkgs/applications/misc/zola/default.nix +++ b/pkgs/applications/misc/zola/default.nix @@ -10,7 +10,7 @@ , installShellFiles , libsass , zola -, testVersion +, testers }: rustPlatform.buildRustPackage rec { @@ -48,7 +48,7 @@ rustPlatform.buildRustPackage rec { --bash completions/zola.bash ''; - passthru.tests.version = testVersion { package = zola; }; + passthru.tests.version = testers.testVersion { package = zola; }; meta = with lib; { description = "A fast static site generator with everything built-in"; diff --git a/pkgs/applications/networking/alpnpass/default.nix b/pkgs/applications/networking/alpnpass/default.nix new file mode 100644 index 0000000000000..5cc0ac1cf05cf --- /dev/null +++ b/pkgs/applications/networking/alpnpass/default.nix @@ -0,0 +1,34 @@ +{ buildGoModule +, fetchFromGitHub +, lib +}: + +buildGoModule rec { + pname = "alpnpass"; + version = "0.1"; + + src = fetchFromGitHub { + owner = "VerSprite"; + repo = "alpnpass"; + rev = version; + hash = "sha256-hNZqGTV17rFSKLhZzNqH2E4SSb6Jhk7YQ4TN0HnE+9g="; + }; + + vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo="; + + meta = with lib; { + description = "Inspect the plaintext payload inside of proxied TLS connections"; + longDescription = '' + This tool will listen on a given port, strip SSL encryption, + forward traffic through a plain TCP proxy, + then encrypt the returning traffic again + and send it to the target of your choice. + + Unlike most SSL stripping solutions this tool will negotiate ALPN and + preserve the negotiated protocol all the way to the target. + ''; + homepage = "https://github.com/VerSprite/alpnpass"; + license = licenses.unlicense; + maintainers = [ maintainers.raboof ]; + }; +} diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 3d27f5b2f4cc0..8abd8fbdad5a8 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -19,9 +19,9 @@ } }, "beta": { - "version": "101.0.4951.34", - "sha256": "1pqglzc8k31a4x06jn9pd6y8m4nmmb7rv5b3zancmh0d3z0nz3v5", - "sha256bin64": "1zhif47j8nqglaj1z3ism3dl6z8n5ilyyr835an32mf6igkfj217", + "version": "101.0.4951.41", + "sha256": "0dzsbr309n70jg7fpq2qfnrgcm4553akvdmnzhss1fc85s467609", + "sha256bin64": "1jbj5cykxamf32c1s4gsid1wxcsdf4hng2d19q9h7b2ashkvvrbi", "deps": { "gn": { "version": "2022-03-14", @@ -32,15 +32,15 @@ } }, "dev": { - "version": "102.0.4997.0", - "sha256": "05y9b426wcarq18faw5i79qrfqy158dinvba5d7lwrcjnbqyfr1f", - "sha256bin64": "0846y3dbs7vghrb8s2s57a2lk7a0x2dha5q0d915qrn29g5x9c6p", + "version": "102.0.5005.12", + "sha256": "11n03hz3g8h7srywxrjwrdrxybdjvmdjrnigjlrwjkydprg1l7ab", + "sha256bin64": "0hc56a98ikkbgdw36dpz9k6r15jmjmnm7faml8z59vixxlvkrw7y", "deps": { "gn": { - "version": "2022-04-07", + "version": "2022-04-14", "url": "https://gn.googlesource.com/gn", - "rev": "ae110f8b525009255ba1f9ae96982176d3bfad3d", - "sha256": "131y1v2m59hn7s00zc9p7rhfi956p744mp96g2i80f0i020dyl6w" + "rev": "fd9f2036f26d83f9fcfe93042fb952e5a7fe2167", + "sha256": "0b5xs0chcv3hfhy71rycsmgxnqbm375a333hwav8929k9cbi5p9h" } } }, diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix index e744f2a31c657..681de76dda3b0 100644 --- a/pkgs/applications/networking/browsers/lagrange/default.nix +++ b/pkgs/applications/networking/browsers/lagrange/default.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "lagrange"; - version = "1.12.1"; + version = "1.12.2"; src = fetchFromGitHub { owner = "skyjake"; repo = "lagrange"; rev = "v${version}"; - sha256 = "sha256-CpvoovTn++RTQjyeOlHTG+cjn32F+9qP32+YHpoLB8M="; + sha256 = "sha256-AVitXfHIJmCBBkhg+DLkHeCSoyH6YMaTMaa4REDXEFg="; fetchSubmodules = true; }; diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix index 70442e47e66b4..eacc66271d5a8 100644 --- a/pkgs/applications/networking/browsers/palemoon/default.nix +++ b/pkgs/applications/networking/browsers/palemoon/default.nix @@ -31,7 +31,7 @@ , zip , zlib , withGTK3 ? true, gtk3, gtk2 -, testVersion +, testers , palemoon }: @@ -211,7 +211,7 @@ stdenv.mkDerivation rec { )" update-source-version ${pname} "$version" ''; - tests.version = testVersion { + tests.version = testers.testVersion { package = palemoon; }; }; diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix index de1310f55d740..1881009f3e2c5 100644 --- a/pkgs/applications/networking/cluster/argo/default.nix +++ b/pkgs/applications/networking/cluster/argo/default.nix @@ -19,16 +19,16 @@ let in buildGoModule rec { pname = "argo"; - version = "3.3.1"; + version = "3.3.2"; src = fetchFromGitHub { owner = "argoproj"; repo = "argo"; rev = "v${version}"; - sha256 = "sha256-IcKueb/bxPNwJ9bZWwmz4ywCtZGk0PSuH3KYDMp6Qd4="; + sha256 = "sha256-tl1UpoXBuIyJyMLHeIhQ6EHG1XqAGE6Tw5jU6rW+DXc="; }; - vendorSha256 = "sha256-YeSeaYOkNRjQgxsK9G7iPbVpfrPs4HRRFwfoUDxoCm0="; + vendorSha256 = "sha256-cq452XEGMVbLvfJ/UiVyOvnUSJr196owB3SyBYnAmZ0="; doCheck = false; diff --git a/pkgs/applications/networking/cluster/argocd-autopilot/default.nix b/pkgs/applications/networking/cluster/argocd-autopilot/default.nix index 4bc1d2d1c20c4..c56f937223c97 100644 --- a/pkgs/applications/networking/cluster/argocd-autopilot/default.nix +++ b/pkgs/applications/networking/cluster/argocd-autopilot/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "argocd-autopilot"; - version = "0.3.2"; + version = "0.3.5"; src = fetchFromGitHub { owner = "argoproj-labs"; repo = "argocd-autopilot"; rev = "v${version}"; - sha256 = "sha256-9si2zqYhmAqzhdUWMkfQ/yLeyNcZSAWypvZTbDDrPvA="; + sha256 = "sha256-YqnmtDVtprQQFbL++X9rUJFGj+fMD+fvDRWsQ+uOxxo="; }; - vendorSha256 = "sha256-UfZCGG24JjPoc5nbX9vPeFCP8YGMNF5oUrdwTC6RpKI="; + vendorSha256 = "sha256-r8RTwMzFS/BkxW08+wfAovuFLpIOReDsuHi/Hx9cVPc="; proxyVendor = true; diff --git a/pkgs/applications/networking/cluster/cilium/default.nix b/pkgs/applications/networking/cluster/cilium/default.nix index cf1ada47189f2..bde7a21b33ef1 100644 --- a/pkgs/applications/networking/cluster/cilium/default.nix +++ b/pkgs/applications/networking/cluster/cilium/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "cilium-cli"; - version = "0.10.4"; + version = "0.11.1"; src = fetchFromGitHub { owner = "cilium"; repo = pname; rev = "v${version}"; - sha256 = "sha256-1/WXpXZ6f4p4IZ/yropCjH3hHt+t5HGw0aq0HFk04mo="; + sha256 = "sha256-8twqA8aUuk5+LzjxMRbRA3m6qiEbk60A0q3nw9uzCvU="; }; vendorSha256 = null; diff --git a/pkgs/applications/networking/cluster/fluxcd/default.nix b/pkgs/applications/networking/cluster/fluxcd/default.nix index 5dc3422474213..586272b184611 100644 --- a/pkgs/applications/networking/cluster/fluxcd/default.nix +++ b/pkgs/applications/networking/cluster/fluxcd/default.nix @@ -1,9 +1,9 @@ { lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }: let - version = "0.29.1"; - sha256 = "0sqavlylkbcgk9yfblh85rfi3lxv23rlcrq8cw1ikn832gncg7dk"; - manifestsSha256 = "1ph0qbjc1l3h5n0myza3dw71x30iva34nx6f7vfiy8fpapcf1qbi"; + version = "0.29.3"; + sha256 = "02qdczd8x6dl6gsyjyrmga9i67shm54xixckxvva1lhl33zz5wwm"; + manifestsSha256 = "0ar73dwz5j19qwcp85cd87gx0kwm7ys4xcyk91gj88s5i3djd9sl"; manifests = fetchzip { url = @@ -23,7 +23,7 @@ in buildGoModule rec { inherit sha256; }; - vendorSha256 = "sha256-v208yuWWPzLxrbkgXikE2PiFv9NXNEG4K1zrLHyaleI="; + vendorSha256 = "sha256-VWTtHquq/8/nKBGLuIdg2xkpGz1ofhPlQf3NTaQaHBI="; postUnpack = '' cp -r ${manifests} source/cmd/flux/manifests diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix index da8e14d1f3074..69eafdddf93f9 100644 --- a/pkgs/applications/networking/cluster/kops/default.nix +++ b/pkgs/applications/networking/cluster/kops/default.nix @@ -65,8 +65,8 @@ rec { }; kops_1_23 = mkKops rec { - version = "1.23.0"; - sha256 = "sha256-tiVNUaW0an6C8M9bxEX5pvB/W5IjZ/S24RdPikzm3bc="; + version = "1.23.1"; + sha256 = "sha256-SiseHs5cMj8DR1f6z9PTbtF/h3Bn9riiLWW5KMYwVUg="; rev = "v${version}"; }; } diff --git a/pkgs/applications/networking/cluster/kubernetes/kubectl.nix b/pkgs/applications/networking/cluster/kubernetes/kubectl.nix index b1c15458543d3..ae8db695b9fe0 100644 --- a/pkgs/applications/networking/cluster/kubernetes/kubectl.nix +++ b/pkgs/applications/networking/cluster/kubernetes/kubectl.nix @@ -25,6 +25,7 @@ stdenv.mkDerivation rec { installShellCompletion --cmd kubectl \ --bash <($out/bin/kubectl completion bash) \ + --fish <($out/bin/kubectl completion fish) \ --zsh <($out/bin/kubectl completion zsh) runHook postInstall ''; diff --git a/pkgs/applications/networking/cluster/ocm/default.nix b/pkgs/applications/networking/cluster/ocm/default.nix index 1bacd8510dc40..73a5d964f34bb 100644 --- a/pkgs/applications/networking/cluster/ocm/default.nix +++ b/pkgs/applications/networking/cluster/ocm/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub, testVersion, ocm }: +{ lib, buildGoModule, fetchFromGitHub, testers, ocm }: buildGoModule rec { pname = "ocm"; @@ -18,7 +18,7 @@ buildGoModule rec { ln -s $GOPATH/bin/ocm ocm ''; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = ocm; command = "ocm version"; }; diff --git a/pkgs/applications/networking/cluster/odo/default.nix b/pkgs/applications/networking/cluster/odo/default.nix index be85981f7bf4a..fb1888d62358f 100644 --- a/pkgs/applications/networking/cluster/odo/default.nix +++ b/pkgs/applications/networking/cluster/odo/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub, testVersion, odo }: +{ lib, buildGoModule, fetchFromGitHub, testers, odo }: buildGoModule rec { pname = "odo"; @@ -22,7 +22,7 @@ buildGoModule rec { cp -a odo $out/bin ''; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = odo; command = "odo version"; version = "v${version}"; diff --git a/pkgs/applications/networking/cluster/openshift/default.nix b/pkgs/applications/networking/cluster/openshift/default.nix index aade6c549f31c..bab73c41f5f59 100644 --- a/pkgs/applications/networking/cluster/openshift/default.nix +++ b/pkgs/applications/networking/cluster/openshift/default.nix @@ -4,7 +4,7 @@ , libkrb5 , git , installShellFiles -, testVersion +, testers , openshift }: @@ -52,7 +52,7 @@ buildGoModule rec { installShellCompletion --zsh contrib/completions/zsh/* ''; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = openshift; command = "oc version"; version = "v${version}"; diff --git a/pkgs/applications/networking/cluster/terraform-providers/default.nix b/pkgs/applications/networking/cluster/terraform-providers/default.nix index 01c7a0a919837..0be97ceb9b14f 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/default.nix +++ b/pkgs/applications/networking/cluster/terraform-providers/default.nix @@ -32,6 +32,7 @@ let CGO_ENABLED = 0; ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${rev}" ]; src = fetchFromGitHub { + name = "source-${rev}"; inherit owner repo rev sha256; }; diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix index 9d6e91fd0a6b8..6ff362bb0e086 100644 --- a/pkgs/applications/networking/cluster/werf/default.nix +++ b/pkgs/applications/networking/cluster/werf/default.nix @@ -12,15 +12,15 @@ buildGoModule rec { pname = "werf"; - version = "1.2.87"; + version = "1.2.91"; src = fetchFromGitHub { owner = "werf"; repo = "werf"; rev = "v${version}"; - sha256 = "sha256-DMP//gh79WuQ8VY4sV6lQlwR+k+rwqODf/pagOBP+4U="; + sha256 = "sha256-ZafIG4D5TvAbXbo07gFajt8orTsju1GfF9a1OR0t1Oo="; }; - vendorSha256 = "sha256-OrvGDNj48W1tVAs3tdtAuesHnh8fHRsGd6KL0Uaf9Zg="; + vendorSha256 = "sha256-U4eVQR/ExAENOg2XEYM+mFXANk+basdMLEcqSHuTsh4="; proxyVendor = true; nativeBuildInputs = [ installShellFiles pkg-config ]; diff --git a/pkgs/applications/networking/ids/zeek/default.nix b/pkgs/applications/networking/ids/zeek/default.nix index e91b517e81584..adbda434b422d 100644 --- a/pkgs/applications/networking/ids/zeek/default.nix +++ b/pkgs/applications/networking/ids/zeek/default.nix @@ -21,11 +21,11 @@ stdenv.mkDerivation rec { pname = "zeek"; - version = "4.2.0"; + version = "4.2.1"; src = fetchurl { url = "https://download.zeek.org/zeek-${version}.tar.gz"; - sha256 = "sha256-jZoCjKn+x61KnkinY+KWBSOEz0AupM03FXe/8YPCdFE="; + sha256 = "sha256-axNImzBJTHxd2kU/xQmB5ZQ9ZxW2ybW3qFq7gLvm0RY="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/instant-messengers/alfaview/default.nix b/pkgs/applications/networking/instant-messengers/alfaview/default.nix index a810dbdc3a1f9..eae63701d4d98 100644 --- a/pkgs/applications/networking/instant-messengers/alfaview/default.nix +++ b/pkgs/applications/networking/instant-messengers/alfaview/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "alfaview"; - version = "8.41.0"; + version = "8.42.0"; src = fetchurl { url = "https://production-alfaview-assets.alfaview.com/stable/linux/${pname}_${version}.deb"; - sha256 = "sha256-qW+MB71sylKJQycSX6hiBgxAO4MuhnBaPGFjm+6y4vk="; + sha256 = "sha256-O440sk6OJUsO+5TuzLxkUELnCfxKd5byoxSD+Rs4h1c="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix index ad57e2c6623b2..c902a7e67c57e 100644 --- a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix +++ b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix @@ -44,11 +44,11 @@ in stdenv.mkDerivation rec { pname = "bluejeans"; - version = "2.26.0.136"; + version = "2.27.0.130"; src = fetchurl { url = "https://swdl.bluejeans.com/desktop-app/linux/${getFirst 3 version}/BlueJeans_${version}.rpm"; - sha256 = "sha256-9QiE7CjCepDXQCzduqGzNUGqUgYS+PWBS71ouzHa83o="; + sha256 = "sha256-J0BGL03k1NAJLLEUOfvKjZEsBlupeHJR2Bp3c0ANBwg="; }; nativeBuildInputs = [ rpmextract makeWrapper ]; diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix index 3c56d84db4b50..118a35381a66d 100644 --- a/pkgs/applications/networking/instant-messengers/gajim/default.nix +++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix @@ -63,7 +63,7 @@ python3.pkgs.buildPythonApplication rec { ''; propagatedBuildInputs = with python3.pkgs; [ - nbxmpp pygobject3 dbus-python pillow css-parser precis-i18n keyring setuptools + nbxmpp pygobject3 dbus-python pillow css-parser precis-i18n keyring setuptools packaging ] ++ lib.optionals enableE2E [ pycrypto python-gnupg ] ++ lib.optional enableRST docutils ++ lib.optionals enableOmemoPluginDependencies [ python-axolotl qrcode ] diff --git a/pkgs/applications/networking/instant-messengers/zulip/default.nix b/pkgs/applications/networking/instant-messengers/zulip/default.nix index c15a5377173e4..c2bff0b6b266a 100644 --- a/pkgs/applications/networking/instant-messengers/zulip/default.nix +++ b/pkgs/applications/networking/instant-messengers/zulip/default.nix @@ -5,12 +5,12 @@ let pname = "zulip"; - version = "5.9.1"; + version = "5.9.2"; name = "${pname}-${version}"; src = fetchurl { url = "https://github.com/zulip/zulip-desktop/releases/download/v${version}/Zulip-${version}-x86_64.AppImage"; - hash = "sha256-hUi4t7WdZG6GmNQfUcG4E9qGJDdPIMbglJzwR7tFNVQ="; + hash = "sha256-PJ7/KOtfjH1RHMzAKSr9Y/82Z0vL2wBy3GgI/0JrlpM="; name="${pname}-${version}.AppImage"; }; diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix index e89216802e50f..18e09326f35f2 100644 --- a/pkgs/applications/networking/mailreaders/notmuch/default.nix +++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix @@ -6,7 +6,7 @@ , pythonPackages , emacs , ruby -, testVersion +, testers , which, dtach, openssl, bash, gdb, man , withEmacs ? true , withRuby ? true @@ -102,7 +102,7 @@ stdenv.mkDerivation rec { passthru = { pythonSourceRoot = "notmuch-${version}/bindings/python"; - tests.version = testVersion { package = notmuch; }; + tests.version = testers.testVersion { package = notmuch; }; inherit version; }; diff --git a/pkgs/applications/networking/n8n/node-packages.nix b/pkgs/applications/networking/n8n/node-packages.nix index 54740d7289477..28adba5293ba9 100644 --- a/pkgs/applications/networking/n8n/node-packages.nix +++ b/pkgs/applications/networking/n8n/node-packages.nix @@ -337,6 +337,15 @@ let sha512 = "/5O7Fq6Vnv8L6ucmPjaWbVG1XkP4FO+w5glqfkIsq3Xw4oyNAdJddbnYodNDAfjVUvo/rrSCTom4kAND7T1o5Q=="; }; }; + "@techteamer/ocsp-1.0.0" = { + name = "_at_techteamer_slash_ocsp"; + packageName = "@techteamer/ocsp"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/@techteamer/ocsp/-/ocsp-1.0.0.tgz"; + sha512 = "lNAOoFHaZN+4huo30ukeqVrUmfC+avoEBYQ11QAnAw1PFhnI5oBCg8O/TNiCoEWix7gNGBIEjrQwtPREqKMPog=="; + }; + }; "@tokenizer/token-0.1.1" = { name = "_at_tokenizer_slash_token"; packageName = "@tokenizer/token"; @@ -850,15 +859,6 @@ let sha512 = "ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ=="; }; }; - "asn1.js-4.10.1" = { - name = "asn1.js"; - packageName = "asn1.js"; - version = "4.10.1"; - src = fetchurl { - url = "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz"; - sha512 = "p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw=="; - }; - }; "asn1.js-5.4.1" = { name = "asn1.js"; packageName = "asn1.js"; @@ -868,15 +868,6 @@ let sha512 = "+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA=="; }; }; - "asn1.js-rfc2560-4.0.6" = { - name = "asn1.js-rfc2560"; - packageName = "asn1.js-rfc2560"; - version = "4.0.6"; - src = fetchurl { - url = "https://registry.npmjs.org/asn1.js-rfc2560/-/asn1.js-rfc2560-4.0.6.tgz"; - sha512 = "ysf48ni+f/efNPilq4+ApbifUPcSW/xbDeQAh055I+grr2gXgNRQqHew7kkO70WSMQ2tEOURVwsK+dJqUNjIIg=="; - }; - }; "asn1.js-rfc2560-5.0.1" = { name = "asn1.js-rfc2560"; packageName = "asn1.js-rfc2560"; @@ -886,15 +877,6 @@ let sha512 = "1PrVg6kuBziDN3PGFmRk3QrjpKvP9h/Hv5yMrFZvC1kpzP6dQRzf5BpKstANqHBkaOUmTpakJWhicTATOA/SbA=="; }; }; - "asn1.js-rfc5280-2.0.1" = { - name = "asn1.js-rfc5280"; - packageName = "asn1.js-rfc5280"; - version = "2.0.1"; - src = fetchurl { - url = "https://registry.npmjs.org/asn1.js-rfc5280/-/asn1.js-rfc5280-2.0.1.tgz"; - sha512 = "1e2ypnvTbYD/GdxWK77tdLBahvo1fZUHlQJqAVUuZWdYj0rdjGcf2CWYUtbsyRYpYUMwMWLZFUtLxog8ZXTrcg=="; - }; - }; "asn1.js-rfc5280-3.0.0" = { name = "asn1.js-rfc5280"; packageName = "asn1.js-rfc5280"; @@ -922,15 +904,6 @@ let sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"; }; }; - "async-1.5.2" = { - name = "async"; - packageName = "async"; - version = "1.5.2"; - src = fetchurl { - url = "https://registry.npmjs.org/async/-/async-1.5.2.tgz"; - sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a"; - }; - }; "async-2.6.4" = { name = "async"; packageName = "async"; @@ -976,13 +949,13 @@ let sha512 = "z4oo33lmnvvNRqfUe3YjDGGpqu/L2+wXBIhMtwq6oqZ+exOUAkQYM6zd2VWKF7AIlajOF8ZZuPFfryTG9iLC/w=="; }; }; - "aws-sdk-2.1116.0" = { + "aws-sdk-2.1118.0" = { name = "aws-sdk"; packageName = "aws-sdk"; - version = "2.1116.0"; + version = "2.1118.0"; src = fetchurl { - url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1116.0.tgz"; - sha512 = "36JFrxPPh/fRQWsgGrZZbzTxRu7dq4KyCKKXPxgVMXylEJsG/KEAVMB1f3eq4PiI5eGxYrpt2OkKoMQZQZLjPA=="; + url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1118.0.tgz"; + sha512 = "R3g06c4RC0Gz/lwMA7wgC7+FwYf5vaO30sPIigoX5m6Tfb7tdzfCYD7pnpvkPRNUvWJ3f5kQk+pEeW25DstRrQ=="; }; }; "aws-sign2-0.7.0" = { @@ -1840,13 +1813,13 @@ let sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c"; }; }; - "core-js-3.22.0" = { + "core-js-3.22.1" = { name = "core-js"; packageName = "core-js"; - version = "3.22.0"; + version = "3.22.1"; src = fetchurl { - url = "https://registry.npmjs.org/core-js/-/core-js-3.22.0.tgz"; - sha512 = "8h9jBweRjMiY+ORO7bdWSeWfHhLPO7whobj7Z2Bl0IDo00C228EdGgH7FE4jGumbEjzcFfkfW8bXgdkEDhnwHQ=="; + url = "https://registry.npmjs.org/core-js/-/core-js-3.22.1.tgz"; + sha512 = "l6CwCLq7XgITOQGhv1dIUmwCFoqFjyQ6zQHUCQlS0xKmb9d6OHIg8jDiEoswhaettT21BSF5qKr6kbvE+aKwxw=="; }; }; "core-util-is-1.0.2" = { @@ -2965,13 +2938,13 @@ let sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91"; }; }; - "has-bigints-1.0.1" = { + "has-bigints-1.0.2" = { name = "has-bigints"; packageName = "has-bigints"; - version = "1.0.1"; + version = "1.0.2"; src = fetchurl { - url = "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz"; - sha512 = "LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA=="; + url = "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz"; + sha512 = "tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ=="; }; }; "has-flag-4.0.0" = { @@ -3127,15 +3100,6 @@ let sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1"; }; }; - "http-signature-1.3.6" = { - name = "http-signature"; - packageName = "http-signature"; - version = "1.3.6"; - src = fetchurl { - url = "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz"; - sha512 = "3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw=="; - }; - }; "https-proxy-agent-5.0.1" = { name = "https-proxy-agent"; packageName = "https-proxy-agent"; @@ -3766,15 +3730,6 @@ let sha512 = "P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw=="; }; }; - "jsprim-2.0.2" = { - name = "jsprim"; - packageName = "jsprim"; - version = "2.0.2"; - src = fetchurl { - url = "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz"; - sha512 = "gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ=="; - }; - }; "jwa-1.4.1" = { name = "jwa"; packageName = "jwa"; @@ -4540,13 +4495,13 @@ let sha512 = "FzJhsid5OxdUvL5R4IYA6iflrGdpuwJUwe1SqeP5OQJVHw345PJ+MeJ7I5+viDF2nJ8rZRQ9boFSW+N/YHh+ZQ=="; }; }; - "n8n-nodes-base-0.171.0" = { + "n8n-nodes-base-0.171.1" = { name = "n8n-nodes-base"; packageName = "n8n-nodes-base"; - version = "0.171.0"; + version = "0.171.1"; src = fetchurl { - url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.171.0.tgz"; - sha512 = "qYOjGs95rNItY+65pXoSJWkXQIKh2CxDTOBmx4LPKrWUJ1oLNQBxhFakmlJOQ37+J4nwkwe/wE5WfwHzs2BfdA=="; + url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.171.1.tgz"; + sha512 = "VPdyYKAbBfCITznwVEH8hmrdtp23C1W0Ci8u/963UfQrPh2mYmqbNsnxAGlAOLvdPUap4YFwsoegUjq8/qDvFg=="; }; }; "n8n-workflow-0.96.0" = { @@ -4657,22 +4612,22 @@ let sha512 = "ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ=="; }; }; - "node-html-markdown-1.1.3" = { + "node-html-markdown-1.2.0" = { name = "node-html-markdown"; packageName = "node-html-markdown"; - version = "1.1.3"; + version = "1.2.0"; src = fetchurl { - url = "https://registry.npmjs.org/node-html-markdown/-/node-html-markdown-1.1.3.tgz"; - sha512 = "iB5Nb8eQjeKHr1k9ot0FkVo5uah6IvYzSbOiNPbmtMt8OWf8os9TCsGEg1Xf51xwYLW461AvKl74HVjiMxvblg=="; + url = "https://registry.npmjs.org/node-html-markdown/-/node-html-markdown-1.2.0.tgz"; + sha512 = "mGA53bSqo7j62PjmMuFPdO0efNT9pqiGYhQTNVCWkY7PdduRIECJF7n7NOrr5cb+d/js1GdYRLpoTYDwawRk6A=="; }; }; - "node-html-parser-4.1.5" = { + "node-html-parser-5.3.3" = { name = "node-html-parser"; packageName = "node-html-parser"; - version = "4.1.5"; + version = "5.3.3"; src = fetchurl { - url = "https://registry.npmjs.org/node-html-parser/-/node-html-parser-4.1.5.tgz"; - sha512 = "NLgqUXtftqnBqIjlRjYSaApaqE7TTxfTiH4VqKCjdUJKFOtUzRwney83EHz2qYc0XoxXAkYdmLjENCuZHvsIFg=="; + url = "https://registry.npmjs.org/node-html-parser/-/node-html-parser-5.3.3.tgz"; + sha512 = "ncg1033CaX9UexbyA7e1N0aAoAYRDiV8jkTvzEnfd1GDvzFdrsXLzR4p4ik8mwLgnaKP/jyUFWDy9q3jvRT2Jw=="; }; }; "node-ssh-12.0.4" = { @@ -4819,15 +4774,6 @@ let sha512 = "VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw=="; }; }; - "ocsp-1.2.0" = { - name = "ocsp"; - packageName = "ocsp"; - version = "1.2.0"; - src = fetchurl { - url = "https://registry.npmjs.org/ocsp/-/ocsp-1.2.0.tgz"; - sha1 = "469a1776b457dee67eb0201408c1946bac4076cc"; - }; - }; "on-finished-2.3.0" = { name = "on-finished"; packageName = "on-finished"; @@ -6205,13 +6151,13 @@ let sha1 = "68fd025eb0490b4f567a027f0bf22480b5f84133"; }; }; - "showdown-2.0.3" = { + "showdown-2.1.0" = { name = "showdown"; packageName = "showdown"; - version = "2.0.3"; + version = "2.1.0"; src = fetchurl { - url = "https://registry.npmjs.org/showdown/-/showdown-2.0.3.tgz"; - sha512 = "jHytkv5c5YFTAOYIIaTT1zLL/aC+7C1FiP0CIGQozhHnnFSbor1oYkaNqWFL6CpB3zJNPPSxJrAlsHgzN14knQ=="; + url = "https://registry.npmjs.org/showdown/-/showdown-2.1.0.tgz"; + sha512 = "/6NVYu4U819R2pUIk79n67SYgJHWCce0a5xTP979WbNp0FL9MN1I1QK662IDU1b6JzKTvmhgI7T7JYIxBi3kMQ=="; }; }; "side-channel-1.0.4" = { @@ -6232,13 +6178,13 @@ let sha512 = "wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="; }; }; - "simple-git-3.6.0" = { + "simple-git-3.7.0" = { name = "simple-git"; packageName = "simple-git"; - version = "3.6.0"; + version = "3.7.0"; src = fetchurl { - url = "https://registry.npmjs.org/simple-git/-/simple-git-3.6.0.tgz"; - sha512 = "2e+4QhOVO59GeLsHgwSMKNrSKCnuACeA/gMNrLCYR8ID9qwm4hViVt4WsODcUGjx//KDv6GMLC6Hs/MeosgXxg=="; + url = "https://registry.npmjs.org/simple-git/-/simple-git-3.7.0.tgz"; + sha512 = "O9HlI83ywqkYqnr7Wh3CqKNNrMkfjzpKQSGtJAhk7+H5P+lAxHBTIPgu/eO/0D9pMciepgs433p0d5S+NYv5Jg=="; }; }; "simple-lru-cache-0.0.2" = { @@ -6277,13 +6223,13 @@ let sha512 = "LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg=="; }; }; - "snowflake-sdk-1.6.8" = { + "snowflake-sdk-1.6.9" = { name = "snowflake-sdk"; packageName = "snowflake-sdk"; - version = "1.6.8"; + version = "1.6.9"; src = fetchurl { - url = "https://registry.npmjs.org/snowflake-sdk/-/snowflake-sdk-1.6.8.tgz"; - sha512 = "ZmzeR2W4mQVri546mUxUW+jBxTn0JRKm06EtndO7MUFLcS8YChf60tXTa+s7A0hO8FxQkSQAFonCmtz4nzPoSA=="; + url = "https://registry.npmjs.org/snowflake-sdk/-/snowflake-sdk-1.6.9.tgz"; + sha512 = "Rt16zh5t++mZH+CXUBq3sYUUaEQnEMKT86mFtzfgIUk8MnZFJ4qBOwdheSWYU7OI9QnLqLmy8nZN40o9CFgm5A=="; }; }; "source-map-0.6.1" = { @@ -7507,10 +7453,10 @@ in n8n = nodeEnv.buildNodePackage { name = "n8n"; packageName = "n8n"; - version = "0.173.0"; + version = "0.173.1"; src = fetchurl { - url = "https://registry.npmjs.org/n8n/-/n8n-0.173.0.tgz"; - sha512 = "V4VPLLYpTWoSs3RE5s6IunrKlEdQEEpwXYYdLqZld4/nTyFrJkFcrTa7LlbmpYUSrLAL7VAPfjJLz/8gUxKTRw=="; + url = "https://registry.npmjs.org/n8n/-/n8n-0.173.1.tgz"; + sha512 = "p6sfFQBAvLH4AK9x4E1n00B9F+jVxf/bQiHMzNkGDHvBv+b3OMXnJ1SpLG6hK1vZvXbwvEhZWqH+PrPJHR2eNQ=="; }; dependencies = [ (sources."@azure/abort-controller-1.0.5" // { @@ -7608,6 +7554,11 @@ in sources."@selderee/plugin-htmlparser2-0.6.0" sources."@servie/events-1.0.0" sources."@sqltools/formatter-1.2.2" + (sources."@techteamer/ocsp-1.0.0" // { + dependencies = [ + sources."async-3.2.3" + ]; + }) sources."@tokenizer/token-0.3.0" sources."@tootallnate/once-1.1.2" sources."@types/bluebird-3.5.36" @@ -7690,7 +7641,7 @@ in ]; }) sources."avsc-5.7.4" - (sources."aws-sdk-2.1116.0" // { + (sources."aws-sdk-2.1118.0" // { dependencies = [ sources."buffer-4.9.2" sources."events-1.1.1" @@ -7860,7 +7811,7 @@ in sources."cookie-0.4.1" sources."cookie-parser-1.4.6" sources."cookie-signature-1.0.6" - sources."core-js-3.22.0" + sources."core-js-3.22.1" sources."core-util-is-1.0.2" sources."crc-32-1.2.2" sources."cron-1.7.2" @@ -8028,7 +7979,7 @@ in sources."ansi-regex-2.1.1" ]; }) - sources."has-bigints-1.0.1" + sources."has-bigints-1.0.2" sources."has-flag-4.0.0" sources."has-property-descriptors-1.0.0" sources."has-symbols-1.0.3" @@ -8244,7 +8195,7 @@ in sources."n8n-core-0.114.0" sources."n8n-design-system-0.17.0" sources."n8n-editor-ui-0.140.0" - (sources."n8n-nodes-base-0.171.0" // { + (sources."n8n-nodes-base-0.171.1" // { dependencies = [ sources."iconv-lite-0.6.3" ]; @@ -8274,8 +8225,8 @@ in sources."node-addon-api-4.3.0" sources."node-ensure-0.0.0" sources."node-fetch-2.6.7" - sources."node-html-markdown-1.1.3" - sources."node-html-parser-4.1.5" + sources."node-html-markdown-1.2.0" + sources."node-html-parser-5.3.3" sources."node-ssh-12.0.4" sources."nodeify-1.0.1" sources."nodemailer-6.7.3" @@ -8290,14 +8241,6 @@ in sources."object-keys-1.1.1" sources."object.assign-4.1.2" sources."object.getownpropertydescriptors-2.1.3" - (sources."ocsp-1.2.0" // { - dependencies = [ - sources."asn1.js-4.10.1" - sources."asn1.js-rfc2560-4.0.6" - sources."asn1.js-rfc5280-2.0.1" - sources."async-1.5.2" - ]; - }) sources."on-finished-2.4.1" sources."on-headers-1.0.2" sources."once-1.4.0" @@ -8508,14 +8451,14 @@ in sources."setprototypeof-1.2.0" sources."sha.js-2.4.11" sources."shell-escape-0.2.0" - (sources."showdown-2.0.3" // { + (sources."showdown-2.1.0" // { dependencies = [ sources."commander-9.2.0" ]; }) sources."side-channel-1.0.4" sources."signal-exit-3.0.7" - sources."simple-git-3.6.0" + sources."simple-git-3.7.0" sources."simple-lru-cache-0.0.2" sources."simple-swizzle-0.2.2" sources."slash-3.0.0" @@ -8524,11 +8467,9 @@ in sources."tslib-2.3.1" ]; }) - (sources."snowflake-sdk-1.6.8" // { + (sources."snowflake-sdk-1.6.9" // { dependencies = [ sources."debug-3.2.7" - sources."http-signature-1.3.6" - sources."jsprim-2.0.2" sources."tmp-0.2.1" sources."uuid-3.4.0" ]; diff --git a/pkgs/applications/networking/owncloud-client/default.nix b/pkgs/applications/networking/owncloud-client/default.nix index 006310e912b2f..992058bdb3052 100644 --- a/pkgs/applications/networking/owncloud-client/default.nix +++ b/pkgs/applications/networking/owncloud-client/default.nix @@ -2,11 +2,11 @@ mkDerivation rec { pname = "owncloud-client"; - version = "2.10.0.6519"; + version = "2.10.1.7187"; src = fetchurl { url = "https://download.owncloud.com/desktop/ownCloud/stable/${version}/source/ownCloud-${version}.tar.xz"; - sha256 = "sha256-HDH8s/VPeOAbkyrfE7hbhePhtWcx1IUdlhDCnodomh8="; + sha256 = "sha256-SNabKv5z7viDI3XDQ2mWjEgFKAGSR5K9sI3Tu5eZbwU="; }; nativeBuildInputs = [ pkg-config cmake extra-cmake-modules ]; diff --git a/pkgs/tools/networking/p2p/jesec-rtorrent/rtorrent.nix b/pkgs/applications/networking/p2p/jesec-rtorrent/default.nix index 7fe444228d374..a760a0f96c35c 100644 --- a/pkgs/tools/networking/p2p/jesec-rtorrent/rtorrent.nix +++ b/pkgs/applications/networking/p2p/jesec-rtorrent/default.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "jesec-rtorrent"; - version = "0.9.8-r15"; + version = "0.9.8-r16"; src = fetchFromGitHub { owner = "jesec"; repo = "rtorrent"; rev = "v${version}"; - hash = "sha256-yYOw8wsiQd478JijLgPtEWsw2/ewd46re+t9D705rmk="; + hash = "sha256-i7c1jSawHshj1kaXl8tdpelIKU24okeg9K5/+ht6t2k="; }; nativeBuildInputs = [ @@ -39,8 +39,8 @@ stdenv.mkDerivation rec { ++ lib.optional (!jsonRpcSupport) "-DUSE_JSONRPC=NO" ++ lib.optional (!xmlRpcSupport) "-DUSE_XMLRPC=NO"; - doCheck = true; + checkInputs = [ gtest ]; diff --git a/pkgs/tools/networking/p2p/jesec-rtorrent/libtorrent.nix b/pkgs/applications/networking/p2p/jesec-rtorrent/libtorrent.nix index d46e4a159399a..ac7e15b6a2e5b 100644 --- a/pkgs/tools/networking/p2p/jesec-rtorrent/libtorrent.nix +++ b/pkgs/applications/networking/p2p/jesec-rtorrent/libtorrent.nix @@ -9,27 +9,31 @@ stdenv.mkDerivation rec { pname = "jesec-libtorrent"; - version = "0.13.8-r3"; + version = "0.13.8-r4"; src = fetchFromGitHub { owner = "jesec"; repo = "libtorrent"; rev = "v${version}"; - hash = "sha256-S3DOKzXkvU+ZJxfrxwLXCVBnepzmiZ+3iiQqz084BEk="; + hash = "sha256-jC/hgGSi2qy+ToZgdxl1PhASLYbUL0O8trX0th2v5H0="; }; nativeBuildInputs = [ cmake ]; + buildInputs = [ openssl zlib ]; - doCheck = true; + # Disabled because a test is flaky; see https://github.com/jesec/libtorrent/issues/4. + # doCheck = true; + preCheck = '' export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD ''; + checkInputs = [ gtest ]; diff --git a/pkgs/tools/networking/p2p/rakshasa-rtorrent/rtorrent.nix b/pkgs/applications/networking/p2p/rakshasa-rtorrent/default.nix index f166f6d0e29f2..f166f6d0e29f2 100644 --- a/pkgs/tools/networking/p2p/rakshasa-rtorrent/rtorrent.nix +++ b/pkgs/applications/networking/p2p/rakshasa-rtorrent/default.nix diff --git a/pkgs/tools/networking/p2p/rakshasa-rtorrent/libtorrent.nix b/pkgs/applications/networking/p2p/rakshasa-rtorrent/libtorrent.nix index fff4cbb36cf62..fff4cbb36cf62 100644 --- a/pkgs/tools/networking/p2p/rakshasa-rtorrent/libtorrent.nix +++ b/pkgs/applications/networking/p2p/rakshasa-rtorrent/libtorrent.nix diff --git a/pkgs/applications/networking/seaweedfs/default.nix b/pkgs/applications/networking/seaweedfs/default.nix index cbabc6b10c72c..bd6df5ef6bee6 100644 --- a/pkgs/applications/networking/seaweedfs/default.nix +++ b/pkgs/applications/networking/seaweedfs/default.nix @@ -1,7 +1,7 @@ { lib , fetchFromGitHub , buildGoModule -, testVersion +, testers , seaweedfs }: @@ -21,7 +21,7 @@ buildGoModule rec { subPackages = [ "weed" ]; passthru.tests.version = - testVersion { package = seaweedfs; command = "weed version"; }; + testers.testVersion { package = seaweedfs; command = "weed version"; }; meta = with lib; { description = "Simple and highly scalable distributed file system"; diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix index 13b0c84cfaa59..c9b4ef1391265 100644 --- a/pkgs/applications/office/gnumeric/default.nix +++ b/pkgs/applications/office/gnumeric/default.nix @@ -7,11 +7,11 @@ let inherit (python3Packages) python pygobject3; in stdenv.mkDerivation rec { pname = "gnumeric"; - version = "1.12.51"; + version = "1.12.52"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "oA5sbk7N2tq9mwrhgBPXsFk3/cuPmq1ac7lZI8eusd0="; + sha256 = "c89zBJoiodgoUGJ1ssk3jsN8X/N7aLsfL0lPDWQAgjs="; }; configureFlags = [ "--disable-component" ]; @@ -38,6 +38,7 @@ in stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; homepage = "http://projects.gnome.org/gnumeric/"; platforms = platforms.unix; + broken = with stdenv; isDarwin && isAarch64; maintainers = [ maintainers.vcunat ]; }; } diff --git a/pkgs/applications/office/khronos/default.nix b/pkgs/applications/office/khronos/default.nix index 668b36324f62f..55c672a1dc0d6 100644 --- a/pkgs/applications/office/khronos/default.nix +++ b/pkgs/applications/office/khronos/default.nix @@ -7,7 +7,6 @@ , vala , pkg-config , desktop-file-utils -, python3 , glib , gtk4 , json-glib @@ -18,13 +17,13 @@ stdenv.mkDerivation rec { pname = "khronos"; - version = "3.6.6"; + version = "3.7.0"; src = fetchFromGitHub { owner = "lainsce"; repo = pname; rev = version; - sha256 = "sha256-EFoW/2IZuCo6sg7q87XRrJJ7dmYtVZr2bJQUEiiMiVI="; + sha256 = "sha256-k3U8ICnwMbR6vN+gELWytI2Etri5lvbE6AX6lUpr7dQ="; }; nativeBuildInputs = [ @@ -33,7 +32,6 @@ stdenv.mkDerivation rec { ninja vala pkg-config - python3 wrapGAppsHook4 ]; @@ -45,11 +43,6 @@ stdenv.mkDerivation rec { libgee ]; - postPatch = '' - chmod +x build-aux/post_install.py - patchShebangs build-aux/post_install.py - ''; - passthru = { updateScript = nix-update-script { attrPath = pname; diff --git a/pkgs/applications/office/ledger/default.nix b/pkgs/applications/office/ledger/default.nix index 5478382cbd83d..0ea9b908ada63 100644 --- a/pkgs/applications/office/ledger/default.nix +++ b/pkgs/applications/office/ledger/default.nix @@ -16,8 +16,8 @@ stdenv.mkDerivation rec { buildInputs = [ (boost.override { enablePython = usePython; python = python3; }) - gmp mpfr libedit python3 gnused - ]; + gmp mpfr libedit gnused + ] ++ lib.optional usePython python3; nativeBuildInputs = [ cmake texinfo ]; diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix index b40085e852932..8617d62335602 100644 --- a/pkgs/applications/office/qownnotes/default.nix +++ b/pkgs/applications/office/qownnotes/default.nix @@ -5,13 +5,13 @@ mkDerivation rec { pname = "qownnotes"; - version = "22.3.4"; + version = "22.4.1"; src = fetchurl { url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz"; # Fetch the checksum of current version with curl: # curl https://download.tuxfamily.org/qownnotes/src/qownnotes-<version>.tar.xz.sha256 - sha256 = "bec1ee9735821a7c4556c00790e3acfef06f21490ec8b7d99d9e002c9c0a1207"; + sha256 = "b9ce77ecd5bb48bd6534068b0582dfaa3b828f800b19ddec80387a84e00766da"; }; nativeBuildInputs = [ qmake qttools ]; diff --git a/pkgs/applications/radio/flrig/default.nix b/pkgs/applications/radio/flrig/default.nix index c927d77bef44b..43f223980178d 100644 --- a/pkgs/applications/radio/flrig/default.nix +++ b/pkgs/applications/radio/flrig/default.nix @@ -3,21 +3,23 @@ , fetchurl , fltk13 , libjpeg +, eudev , pkg-config }: stdenv.mkDerivation rec { - version = "1.3.54"; + version = "1.4.5"; pname = "flrig"; src = fetchurl { url = "mirror://sourceforge/fldigi/${pname}-${version}.tar.gz"; - sha256 = "sha256-zw0xi4AVnm8Vi/oWkh13C9BjabOKUtZaVmLN++zKGug="; + sha256 = "sha256-Zj/LkP1nSm1zLKLxuGfaKuVuP8jaVlvK/TzX504VKHk="; }; buildInputs = [ fltk13 libjpeg + eudev ]; nativeBuildInputs = [ diff --git a/pkgs/applications/science/logic/key/default.nix b/pkgs/applications/science/logic/key/default.nix index 85a7ecb08c396..aee1a9c63f8fe 100644 --- a/pkgs/applications/science/logic/key/default.nix +++ b/pkgs/applications/science/logic/key/default.nix @@ -7,7 +7,7 @@ , makeWrapper , makeDesktopItem , copyDesktopItems -, testVersion +, testers , key }: @@ -98,7 +98,7 @@ in stdenv.mkDerivation rec { ''; passthru.tests.version = - testVersion { + testers.testVersion { package = key; command = "KeY --help"; }; @@ -118,4 +118,3 @@ in stdenv.mkDerivation rec { platforms = platforms.all; }; } - diff --git a/pkgs/applications/science/math/giac/default.nix b/pkgs/applications/science/math/giac/default.nix index 4700402ff21e2..d684865432d5c 100644 --- a/pkgs/applications/science/math/giac/default.nix +++ b/pkgs/applications/science/math/giac/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchurl, fetchpatch, texlive, bison, flex, lapack, blas -, gmp, mpfr, pari, ntl, gsl, mpfi, ecm, glpk, nauty -, readline, gettext, libpng, libao, gfortran, perl +, autoreconfHook, gmp, mpfr, pari, ntl, gsl, mpfi, ecm, glpk, nauty +, buildPackages, readline, gettext, libpng, libao, gfortran, perl , enableGUI ? false, libGL, libGLU, xorg, fltk , enableMicroPy ? false, python3 }: @@ -9,11 +9,11 @@ assert (!blas.isILP64) && (!lapack.isILP64); stdenv.mkDerivation rec { pname = "giac${lib.optionalString enableGUI "-with-xcas"}"; - version = "1.6.0-47"; # TODO try to remove preCheck phase on upgrade + version = "1.9.0-5"; # TODO try to remove preCheck phase on upgrade src = fetchurl { url = "https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac_${version}.tar.gz"; - sha256 = "sha256-c5A9/I6L/o3Y3dxEPoTKpw/fJqYMr6euLldaQ1HWT5c="; + sha256 = "sha256-EP8wRi8QZPrr1lfKN6da87s1FCy8AuDYbzcvsJCWyLE="; }; patches = [ @@ -32,18 +32,21 @@ stdenv.mkDerivation rec { }) ]; + # 1.9.0-5's tarball contains a binary (src/mkjs) which is executed + # at build time. we will delete and rebuild it. + depsBuildBuild = [ buildPackages.stdenv.cc ]; + postPatch = '' for i in doc/*/Makefile* micropython*/xcas/Makefile*; do substituteInPlace "$i" --replace "/bin/cp" "cp"; done; - '' + - # workaround for 1.6.0-47, should not be necessary in future versions - lib.optionalString (!enableMicroPy) '' - sed -i -e 's/micropython-[0-9.]* //' Makefile* + rm src/mkjs + substituteInPlace src/Makefile.am --replace "g++ mkjs.cc" \ + "${buildPackages.stdenv.cc.targetPrefix}c++ mkjs.cc" ''; nativeBuildInputs = [ - texlive.combined.scheme-small bison flex + autoreconfHook texlive.combined.scheme-small bison flex ]; # perl is only needed for patchShebangs fixup. @@ -58,13 +61,6 @@ stdenv.mkDerivation rec { libGL libGLU fltk xorg.libX11 ] ++ lib.optional enableMicroPy python3; - /* fixes: - configure:16211: checking for main in -lntl - configure:16230: g++ -o conftest -g -O2 conftest.cpp -lntl -llapack -lblas -lgfortran -ldl -lpng16 -lm -lmpfi -lmpfr -lgmp >&5 - /nix/store/y9c1v4x7y39j2rfbg17agjwqdzxpsn18-ntl-11.3.2/lib/libntl.so: undefined reference to `pthread_key_create' - */ - NIX_CFLAGS_LINK="-lpthread"; - # xcas Phys and Turtle menus are broken with split outputs # and interactive use is likely to need docs outputs = [ "out" ] ++ lib.optional (!enableGUI) "doc"; diff --git a/pkgs/applications/science/math/sage/patches/docutils-0.18.1-deprecation.patch b/pkgs/applications/science/math/sage/patches/docutils-0.18.1-deprecation.patch new file mode 100644 index 0000000000000..94e0488e21e77 --- /dev/null +++ b/pkgs/applications/science/math/sage/patches/docutils-0.18.1-deprecation.patch @@ -0,0 +1,13 @@ +diff --git a/src/sage/misc/sagedoc.py b/src/sage/misc/sagedoc.py +index 4c56aea078..e51a77ae8a 100644 +--- a/src/sage/misc/sagedoc.py ++++ b/src/sage/misc/sagedoc.py +@@ -1402,6 +1402,8 @@ class _sage_doc: + sage: identity_matrix.__doc__ in browse_sage_doc(identity_matrix, 'rst') + True + sage: browse_sage_doc(identity_matrix, 'html', False) # optional - sphinx ++ ... ++ FutureWarning: The configuration setting "embed_images" will be removed in Docutils 1.2. Use "image_loading: link". + '...div...File:...Type:...Definition:...identity_matrix...' + + In the 'text' version, double colons have been replaced with diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index 04c2355d26aa4..b230b0d42a03a 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -13,9 +13,14 @@ let # Fetch a diff between `base` and `rev` on sage's git server. # Used to fetch trac tickets by setting the `base` to the last release and the # `rev` to the last commit of the ticket. - fetchSageDiff = { base, name, rev, sha256, squashed ? false, ...}@args: ( + # + # We don't use sage's own build system (which builds all its + # dependencies), so we exclude changes to "build/" from patches by + # default to avoid conflicts. + fetchSageDiff = { base, name, rev, sha256, squashed ? false, excludes ? [ "build/*" ] + , ...}@args: ( fetchpatch ({ - inherit name sha256; + inherit name sha256 excludes; # There are three places to get changes from: # @@ -49,11 +54,7 @@ let "https://github.com/sagemath/sagetrac-mirror/compare/${base}...${rev}.diff" ] else [ "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}" ]; - - # We don't care about sage's own build system (which builds all its dependencies). - # Exclude build system changes to avoid conflicts. - excludes = [ "build/*" ]; - } // builtins.removeAttrs args [ "rev" "base" "sha256" "squashed" ]) + } // builtins.removeAttrs args [ "rev" "base" "sha256" "squashed" "excludes" ]) ); in stdenv.mkDerivation rec { @@ -172,6 +173,29 @@ stdenv.mkDerivation rec { rev = "8452003846a7303100847d8d0ed642fc642c11d6"; sha256 = "sha256-A/XMouPlc2sjFp30L+56fBGJXydS2EtzfPOV98FCDqI="; }) + + # https://trac.sagemath.org/ticket/33226 + (fetchSageDiff { + base = "9.6.beta0"; + name = "giac-1.7.0-45-update.patch"; + rev = "33ea2adf01e9e2ce9f1e33779f0b1ac0d9d1989c"; + sha256 = "sha256-DOyxahf3+IaYdkgmAReNDCorRzMgO8+yiVrJ5TW1km0="; + }) + + # https://trac.sagemath.org/ticket/33398 + (fetchSageDiff { + base = "9.6.beta4"; + name = "sympy-1.10-update.patch"; + rev = "6b7c3a28656180e42163dc10f7b4a571b93e5f27"; + sha256 = "sha256-fnUyM2yjHkCykKRfzQQ4glcUYmCS/fYzDzmCf0nuebk="; + # The patch contains a whitespace change to a file that didn't exist in Sage 9.5. + excludes = [ "build/*" "src/sage/manifolds/vector_bundle_fiber_element.py" ]; + }) + + # docutils 0.18.1 now triggers Sphinx warnings. tolerate them for + # now, because patching Sphinx is not feasible. + # https://github.com/sphinx-doc/sphinx/issues/9777#issuecomment-1104481271 + ./patches/docutils-0.18.1-deprecation.patch ]; patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches; diff --git a/pkgs/applications/version-management/git-and-tools/ghorg/default.nix b/pkgs/applications/version-management/git-and-tools/ghorg/default.nix index 87d11dd9c1e98..f991bccf0e288 100644 --- a/pkgs/applications/version-management/git-and-tools/ghorg/default.nix +++ b/pkgs/applications/version-management/git-and-tools/ghorg/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "ghorg"; - version = "1.7.12"; + version = "1.7.13"; src = fetchFromGitHub { owner = "gabrie30"; repo = "ghorg"; rev = "v${version}"; - sha256 = "sha256-y5o4yY5M9eDKN9LtbrPR29EafN3X7J51ARCEpFtLxCo="; + sha256 = "sha256-EQCu+2qMKu+e6G5iXAQn5cz0MZqHrF2wnKNO8Fkpp/Y="; }; doCheck = false; diff --git a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix index 2037122bf277a..f0932fde2d5e2 100644 --- a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "git-extras"; - version = "6.3.0"; + version = "6.4.0"; src = fetchFromGitHub { owner = "tj"; repo = "git-extras"; rev = version; - sha256 = "sha256-mmvDsK+SgBXQSKNKuPt+K4sgtdrtqPx9Df2E3kKLdJM="; + sha256 = "sha256-Cn7IXMzgg0QIsNIHz+X14Gkmop0UbsSBlGlGkmg71ek="; }; postPatch = '' diff --git a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix index 573f69fef0074..bed96493e5131 100644 --- a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix @@ -4,7 +4,7 @@ , installShellFiles , git , nix-update-script -, testVersion +, testers , git-machete }: diff --git a/pkgs/applications/version-management/git-and-tools/scmpuff/default.nix b/pkgs/applications/version-management/git-and-tools/scmpuff/default.nix index 3396718edbc27..65ca1b476d4d6 100644 --- a/pkgs/applications/version-management/git-and-tools/scmpuff/default.nix +++ b/pkgs/applications/version-management/git-and-tools/scmpuff/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub, testVersion, scmpuff }: +{ lib, buildGoModule, fetchFromGitHub, testers, scmpuff }: buildGoModule rec { pname = "scmpuff"; @@ -15,7 +15,7 @@ buildGoModule rec { ldflags = [ "-s" "-w" "-X main.VERSION=${version}" ]; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = scmpuff; command = "scmpuff version"; }; diff --git a/pkgs/applications/version-management/git-lfs/default.nix b/pkgs/applications/version-management/git-lfs/default.nix index 9f0126d9ac4c8..8871ac2306efd 100644 --- a/pkgs/applications/version-management/git-lfs/default.nix +++ b/pkgs/applications/version-management/git-lfs/default.nix @@ -2,13 +2,13 @@ buildGoPackage rec { pname = "git-lfs"; - version = "3.1.2"; + version = "3.1.4"; src = fetchFromGitHub { rev = "v${version}"; owner = "git-lfs"; repo = "git-lfs"; - sha256 = "sha256-IEo8poEYPjAbBGk+SQdJqyhwgMYjNLdibI+AktVIg1g="; + sha256 = "sha256-dGqb7gw7l2SPGwhHIFbEq6XqMB9QRw3+3Pfbk2S4kW4="; }; goPackagePath = "github.com/git-lfs/git-lfs"; diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix index eb87a20e3ebe7..58b3fb1d20f1a 100644 --- a/pkgs/applications/version-management/git-repo/default.nix +++ b/pkgs/applications/version-management/git-repo/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "git-repo"; - version = "2.23"; + version = "2.24"; src = fetchFromGitHub { owner = "android"; repo = "tools_repo"; rev = "v${version}"; - sha256 = "sha256-YW6MBX/NGQXuFWvzISWKJZkvxWc0jasxmzy/Zh1TjY0="; + sha256 = "sha256-p5zAehhqOUlKay3/Oy8hbBo5nQRIyE7o4bnaX/TabYc="; }; # Fix 'NameError: name 'ssl' is not defined' diff --git a/pkgs/applications/version-management/git-review/default.nix b/pkgs/applications/version-management/git-review/default.nix index 98c9c5312e610..37053b7f7a0c3 100644 --- a/pkgs/applications/version-management/git-review/default.nix +++ b/pkgs/applications/version-management/git-review/default.nix @@ -9,7 +9,7 @@ buildPythonApplication rec { pname = "git-review"; - version = "2.2.0"; + version = "2.3.0"; # Manually set version because prb wants to get it from the git # upstream repository (and we are installing from tarball instead) @@ -20,7 +20,7 @@ buildPythonApplication rec { owner = "opendev"; repo = pname; rev = version; - sha256 = "sha256-2+X5fPxB2FIp1fwqEUc+W0gH2NjhF/V+La+maE+XEpo="; + sha256 = "sha256-ENrv2jx59iNA/hALFg6+gOz8zxJaoiCwYcAh1xeEOR0="; }; outputs = [ "out" "man" ]; diff --git a/pkgs/applications/version-management/git-sizer/default.nix b/pkgs/applications/version-management/git-sizer/default.nix index daabe71bebb7d..ed7239b80cb33 100644 --- a/pkgs/applications/version-management/git-sizer/default.nix +++ b/pkgs/applications/version-management/git-sizer/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub, testVersion, git-sizer }: +{ lib, buildGoModule, fetchFromGitHub, testers, git-sizer }: buildGoModule rec { pname = "git-sizer"; @@ -17,7 +17,7 @@ buildGoModule rec { doCheck = false; - passthru.tests.vesion = testVersion { + passthru.tests.vesion = testers.testVersion { package = git-sizer; }; diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix index 840937c190f00..57147e360a214 100644 --- a/pkgs/applications/version-management/gitea/default.nix +++ b/pkgs/applications/version-management/gitea/default.nix @@ -16,12 +16,12 @@ with lib; buildGoPackage rec { pname = "gitea"; - version = "1.16.5"; + version = "1.16.6"; # not fetching directly from the git repo, because that lacks several vendor files for the web UI src = fetchurl { url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz"; - sha256 = "sha256-2aqy6DV8oaIur/syg1bk41Wo+FGk3m+05+tUyoDwGHs="; + sha256 = "sha256-LlAnTTFuqbMa7QPf51D6+RalWuYqTKlSlxGXyt4h0aE="; }; unpackPhase = '' diff --git a/pkgs/applications/version-management/gitoxide/default.nix b/pkgs/applications/version-management/gitoxide/default.nix index 570a4c06abf9a..5b1bdeb22b45c 100644 --- a/pkgs/applications/version-management/gitoxide/default.nix +++ b/pkgs/applications/version-management/gitoxide/default.nix @@ -12,16 +12,16 @@ rustPlatform.buildRustPackage rec { pname = "gitoxide"; - version = "0.10.0"; + version = "0.12.0"; src = fetchFromGitHub { owner = "Byron"; repo = "gitoxide"; rev = "v${version}"; - sha256 = "sha256-c29gmmkIOyS+HNq2kv53yq+sdEDmQbSmcvVGcd55/hk="; + sha256 = "sha256-hDNlnNGm9of6Yu9WRVTRH5g4fAXlUxAexdufbZ0vMOo="; }; - cargoSha256 = "sha256-oc7XpiOZj4bfqdwrEHj/CzNtWzYWFkgMJOySJNgxAGQ="; + cargoSha256 = "sha256-026DFEWu7PTvhJZP7YW3KOBOkzFRoxrc+THilit87jU="; nativeBuildInputs = [ cmake pkg-config ]; buildInputs = if stdenv.isDarwin diff --git a/pkgs/applications/version-management/jujutsu/default.nix b/pkgs/applications/version-management/jujutsu/default.nix index 30ea7e1524a91..c99bb409c3e90 100644 --- a/pkgs/applications/version-management/jujutsu/default.nix +++ b/pkgs/applications/version-management/jujutsu/default.nix @@ -9,7 +9,7 @@ , Security , SystemConfiguration , libiconv -, testVersion +, testers , jujutsu }: @@ -44,7 +44,7 @@ rustPlatform.buildRustPackage rec { ]; passthru.tests = { - version = testVersion { + version = testers.testVersion { package = jujutsu; command = "jj --version"; }; diff --git a/pkgs/applications/version-management/monotone/default.nix b/pkgs/applications/version-management/monotone/default.nix index 6ea66b296d747..34c3e611d4059 100644 --- a/pkgs/applications/version-management/monotone/default.nix +++ b/pkgs/applications/version-management/monotone/default.nix @@ -39,6 +39,8 @@ stdenv.mkDerivation rec { sed -e 's@/usr/bin/less@${less}/bin/less@' -i src/unix/terminal.cc ''; + CXXFLAGS=" --std=c++11 "; + nativeBuildInputs = [ pkg-config autoreconfHook texinfo ]; buildInputs = [ boost zlib botan2 libidn lua pcre sqlite expect openssl gmp bzip2 perl ]; diff --git a/pkgs/applications/version-management/rcs/default.nix b/pkgs/applications/version-management/rcs/default.nix index 6982bd43b2632..5f2f9aab2b3c3 100644 --- a/pkgs/applications/version-management/rcs/default.nix +++ b/pkgs/applications/version-management/rcs/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, fetchpatch, buildPackages, diffutils, ed, lzip }: +{ lib, stdenv, fetchurl, buildPackages, diffutils, ed, lzip }: stdenv.mkDerivation rec { pname = "rcs"; @@ -9,14 +9,6 @@ stdenv.mkDerivation rec { sha256 = "sha256-Q93+EHJKi4XiRo9kA7YABzcYbwHmDgvWL95p2EIjTMU="; }; - patches = [ - # glibc 2.34 compat - (fetchpatch { - url = "https://src.fedoraproject.org/rpms/rcs/raw/f8e07cd37f4abfb36e37d41852bb8f9e234d3fb1/f/rcs-5.10.0-SIGSTKSZ.patch"; - sha256 = "sha256-mc6Uye9mdEsLBcOnf1m1TUb1BV0ncNU//iKBpLGBjho="; - }) - ]; - ac_cv_path_ED = "${ed}/bin/ed"; DIFF = "${diffutils}/bin/diff"; DIFF3 = "${diffutils}/bin/diff3"; diff --git a/pkgs/applications/version-management/redmine/default.nix b/pkgs/applications/version-management/redmine/default.nix index 39e46d90b88da..e3fba172a5f11 100644 --- a/pkgs/applications/version-management/redmine/default.nix +++ b/pkgs/applications/version-management/redmine/default.nix @@ -47,7 +47,7 @@ in meta = with lib; { homepage = "https://www.redmine.org/"; platforms = platforms.linux; - maintainers = [ maintainers.aanderse ]; + maintainers = with maintainers; [ aanderse felixsinger ]; license = licenses.gpl2; }; } diff --git a/pkgs/applications/video/ani-cli/default.nix b/pkgs/applications/video/ani-cli/default.nix index 1cd44bd34883b..720df51a34ef5 100644 --- a/pkgs/applications/video/ani-cli/default.nix +++ b/pkgs/applications/video/ani-cli/default.nix @@ -12,13 +12,13 @@ stdenvNoCC.mkDerivation rec { pname = "ani-cli"; - version = "2.0"; + version = "2.1"; src = fetchFromGitHub { owner = "pystardust"; repo = "ani-cli"; rev = "v${version}"; - sha256 = "sha256-cDxb/IcpzR5akWnA8RN+fKQn0+QnpBV8tAbUjjPICsA="; + sha256 = "sha256-A1c7YdBh2VOhw/xTvhNV50j9n+SELyRTHI5w+AeiWDs="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix index 841604399ed36..3c73e7f59944b 100644 --- a/pkgs/applications/video/handbrake/default.nix +++ b/pkgs/applications/video/handbrake/default.nix @@ -11,7 +11,7 @@ , lib , fetchFromGitHub # For tests -, testVersion +, testers , runCommand , fetchurl # Main build tools @@ -230,7 +230,7 @@ let self = stdenv.mkDerivation rec { HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160 test -e test.mkv ''; - version = testVersion { package = self; command = "HandBrakeCLI --version"; }; + version = testers.testVersion { package = self; command = "HandBrakeCLI --version"; }; }; meta = with lib; { diff --git a/pkgs/applications/video/kodi/add-KODI_WEBSERVER_EXTRA_WHITELIST.patch b/pkgs/applications/video/kodi/add-KODI_WEBSERVER_EXTRA_WHITELIST.patch new file mode 100644 index 0000000000000..ae221eff60450 --- /dev/null +++ b/pkgs/applications/video/kodi/add-KODI_WEBSERVER_EXTRA_WHITELIST.patch @@ -0,0 +1,88 @@ +From 620c3eb38f0dbea6e877e37e97508513e87a0732 Mon Sep 17 00:00:00 2001 +From: Jeremy Fleischman <jeremyfleischman@gmail.com> +Date: Sun, 27 Mar 2022 00:44:52 -0700 +Subject: [PATCH] Add new KODI_WEBSERVER_EXTRA_WHITELIST cmake var to allow + access to more directories + +(This is a backport of +https://github.com/xbmc/xbmc/commit/a6dedce7ba1f03bdd83b019941d1e369a06f7888 +to Kodi 19.4 Matrix) + +This is useful for NixOS, which often ends up creating a `KODI_HOME` +with symlinks to other files (including the chorus2 interface). Kodi's +webserver cautiously refuses to follow these symlinks, and you end up +getting 404s rather than the web page. + +See https://forum.kodi.tv/showthread.php?tid=366338&pid=3079493 for a +discussion of this on the Kodi forum. +--- + CMakeLists.txt | 1 + + xbmc/CompileInfo.cpp.in | 5 +++++ + xbmc/CompileInfo.h | 1 + + xbmc/utils/FileUtils.cpp | 6 +++++- + 4 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2d5369798df23..d5ef6d9390ef0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -243,6 +243,7 @@ add_custom_command(OUTPUT ${CORE_BUILD_DIR}/xbmc/CompileInfo.cpp + -DAPP_BUILD_DATE=${APP_BUILD_DATE} + -DAPP_SHARED_LIBRARY_SUFFIX="${APP_SHARED_LIBRARY_SUFFIX}" + -Dprefix=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} ++ -DKODI_WEBSERVER_EXTRA_WHITELIST="${KODI_WEBSERVER_EXTRA_WHITELIST}" + -P ${CMAKE_SOURCE_DIR}/cmake/scripts/common/GenerateVersionedFiles.cmake + DEPENDS ${CMAKE_SOURCE_DIR}/version.txt + export-files +diff --git a/xbmc/CompileInfo.cpp.in b/xbmc/CompileInfo.cpp.in +index f81fe77902236..4f19203a89cde 100644 +--- a/xbmc/CompileInfo.cpp.in ++++ b/xbmc/CompileInfo.cpp.in +@@ -105,3 +105,8 @@ std::vector<std::string> CCompileInfo::GetAvailableWindowSystems() + { + return StringUtils::Split("@CORE_PLATFORM_NAME_LC@", ' '); + } ++ ++const std::vector<std::string> CCompileInfo::GetWebserverExtraWhitelist() ++{ ++ return StringUtils::Split("@KODI_WEBSERVER_EXTRA_WHITELIST@", ','); ++} +diff --git a/xbmc/CompileInfo.h b/xbmc/CompileInfo.h +index 553a0194ee77f..e2521324e6576 100644 +--- a/xbmc/CompileInfo.h ++++ b/xbmc/CompileInfo.h +@@ -32,4 +32,5 @@ class CCompileInfo + static const char* GetVersionCode(); + static std::vector<std::string> GetAvailableWindowSystems(); + static std::vector<ADDON::RepoInfo> LoadOfficialRepoInfos(); ++ static const std::vector<std::string> GetWebserverExtraWhitelist(); + }; +diff --git a/xbmc/utils/FileUtils.cpp b/xbmc/utils/FileUtils.cpp +index e51f3d631c256..fc717c9608098 100644 +--- a/xbmc/utils/FileUtils.cpp ++++ b/xbmc/utils/FileUtils.cpp +@@ -6,6 +6,7 @@ + * See LICENSES/README.md for more information. + */ + ++#include "CompileInfo.h" + #include "FileUtils.h" + #include "ServiceBroker.h" + #include "guilib/GUIKeyboardFactory.h" +@@ -261,12 +262,15 @@ bool CFileUtils::CheckFileAccessAllowed(const std::string &filePath) + "/.ssh/", + }; + // ALLOW kodi paths +- const std::vector<std::string> whitelist = { ++ std::vector<std::string> whitelist = { + CSpecialProtocol::TranslatePath("special://home"), + CSpecialProtocol::TranslatePath("special://xbmc"), + CSpecialProtocol::TranslatePath("special://musicartistsinfo") + }; + ++ auto kodiExtraWhitelist = CCompileInfo::GetWebserverExtraWhitelist(); ++ whitelist.insert(whitelist.end(), kodiExtraWhitelist.begin(), kodiExtraWhitelist.end()); ++ + // image urls come in the form of image://... sometimes with a / appended at the end + // and can be embedded in a music or video file image://music@... + // strip this off to get the real file path diff --git a/pkgs/applications/video/kodi/unwrapped.nix b/pkgs/applications/video/kodi/unwrapped.nix index 18319468eae90..47f3e0a9d996b 100644 --- a/pkgs/applications/video/kodi/unwrapped.nix +++ b/pkgs/applications/video/kodi/unwrapped.nix @@ -107,6 +107,15 @@ in stdenv.mkDerivation { src = kodi_src; + # This is a backport of + # https://github.com/xbmc/xbmc/commit/a6dedce7ba1f03bdd83b019941d1e369a06f7888 + # to Kodi 19.4 Matrix. + # This can be removed once a new release of Kodi comes out and we upgrade + # to it. + patches = [ + ./add-KODI_WEBSERVER_EXTRA_WHITELIST.patch + ]; + buildInputs = [ gnutls libidn libtasn1 nasm p11-kit libxml2 python3Packages.python @@ -185,6 +194,12 @@ in stdenv.mkDerivation { "-DSWIG_EXECUTABLE=${buildPackages.swig}/bin/swig" "-DFLATBUFFERS_FLATC_EXECUTABLE=${buildPackages.flatbuffers}/bin/flatc" "-DPYTHON_EXECUTABLE=${buildPackages.python3Packages.python}/bin/python" + # When wrapped KODI_HOME will likely contain symlinks to static assets + # that Kodi's built in webserver will cautiously refuse to serve up + # (because their realpaths are outside of KODI_HOME and the other + # whitelisted directories). This adds the entire nix store to the Kodi + # webserver whitelist to avoid this problem. + "-DKODI_WEBSERVER_EXTRA_WHITELIST=${builtins.storeDir}" ] ++ lib.optional waylandSupport [ "-DWAYLANDPP_SCANNER=${buildPackages.waylandpp}/bin/wayland-scanner++" ]; diff --git a/pkgs/applications/video/kodi/wrapper.nix b/pkgs/applications/video/kodi/wrapper.nix index 2380d0023d576..52b7679a325ea 100644 --- a/pkgs/applications/video/kodi/wrapper.nix +++ b/pkgs/applications/video/kodi/wrapper.nix @@ -35,11 +35,5 @@ buildEnv { (lib.concatMap (plugin: plugin.extraRuntimeDependencies or []) addons)}" done - - # makeWrapper just created webinterface.default as a symlink. However, - # kodi's webserver carefully refuses to follow symlinks, so we need to copy - # these assets instead. - rm $out/share/kodi/addons/webinterface.default - cp -r ${kodi}/share/kodi/addons/webinterface.default/ $out/share/kodi/addons/webinterface.default ''; } diff --git a/pkgs/applications/video/webcamoid/default.nix b/pkgs/applications/video/webcamoid/default.nix index 63f1e885af309..b9c21b7ad7d17 100644 --- a/pkgs/applications/video/webcamoid/default.nix +++ b/pkgs/applications/video/webcamoid/default.nix @@ -1,13 +1,13 @@ -{ lib, fetchFromGitHub, pkg-config, libxcb, mkDerivation, qmake +{ lib, fetchFromGitHub, pkg-config, libxcb, mkDerivation, cmake , qtbase, qtdeclarative, qtquickcontrols, qtquickcontrols2 , ffmpeg-full, gst_all_1, libpulseaudio, alsa-lib, jack2 , v4l-utils }: mkDerivation rec { pname = "webcamoid"; - version = "8.8.0"; + version = "9.0.0"; src = fetchFromGitHub { - sha256 = "0a8M9GQ6Ea9jBCyfbORVyB6HC/O6jdcIZruQZj9Aai4="; + sha256 = "sha256-NV1BmG+fgy+ZcvHl+05VX5J1BAz8PxKiZ3z9BxjhMU0="; rev = version; repo = "webcamoid"; owner = "webcamoid"; @@ -22,12 +22,7 @@ mkDerivation rec { v4l-utils ]; - nativeBuildInputs = [ pkg-config qmake ]; - - qmakeFlags = [ - "Webcamoid.pro" - "INSTALLQMLDIR=${placeholder "out"}/lib/qt/qml" - ]; + nativeBuildInputs = [ pkg-config cmake ]; meta = with lib; { description = "Webcam Capture Software"; diff --git a/pkgs/applications/virtualization/firectl/default.nix b/pkgs/applications/virtualization/firectl/default.nix index ac531b36dd21a..458e2ffc7e5ee 100644 --- a/pkgs/applications/virtualization/firectl/default.nix +++ b/pkgs/applications/virtualization/firectl/default.nix @@ -2,18 +2,18 @@ buildGoModule rec { pname = "firectl"; - version = "0.1.0"; - - patches = [ ./gomod.patch ]; + # The latest upstream 0.1.0 is incompatible with firecracker + # v0.1.0. See issue: https://github.com/firecracker-microvm/firectl/issues/82 + version = "unstable-2022-03-01"; src = fetchFromGitHub { owner = "firecracker-microvm"; repo = pname; - rev = "v${version}"; - sha256 = "1ni3yx4rjhrkqk2038c6hkb2jwsdj2llx233wd5wgpvb6c57652p"; + rev = "9f1b639a446e8d75f31787a00b9f273c1e68f12c"; + sha256 = "TjzzHY9VYPpWoPt6nHYUerKX94O03sm524wGM9lGzno="; }; - vendorSha256 = "1xbpck1gvzl75xgrajf5yzl199l4f2f6j3mac5586i7b00b9jxqj"; + vendorSha256 = "3SVEvvGNx6ienyJZg0EOofHNHCPSpJUGXwHxokdRG1c="; doCheck = false; diff --git a/pkgs/applications/virtualization/firectl/gomod.patch b/pkgs/applications/virtualization/firectl/gomod.patch deleted file mode 100644 index 96c65e7282211..0000000000000 --- a/pkgs/applications/virtualization/firectl/gomod.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/go.mod b/go.mod -index 1044001..7bafeda 100644 ---- a/go.mod -+++ b/go.mod -@@ -1,7 +1,10 @@ - module github.com/firecracker-microvm/firectl - -+go 1.14 -+ - require ( - github.com/firecracker-microvm/firecracker-go-sdk v0.15.1 -+ github.com/go-openapi/strfmt v0.17.1 - github.com/jessevdk/go-flags v1.4.0 - github.com/pkg/errors v0.8.0 - github.com/sirupsen/logrus v1.1.1 diff --git a/pkgs/applications/virtualization/podman-tui/default.nix b/pkgs/applications/virtualization/podman-tui/default.nix index 17272acd86ebb..6feeb17256a91 100644 --- a/pkgs/applications/virtualization/podman-tui/default.nix +++ b/pkgs/applications/virtualization/podman-tui/default.nix @@ -6,7 +6,7 @@ , gpgme , libassuan , lvm2 -, testVersion +, testers , podman-tui }: buildGoModule rec { @@ -33,7 +33,7 @@ buildGoModule rec { ldflags = [ "-s" "-w" ]; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = podman-tui; command = "podman-tui version"; version = "v${version}"; diff --git a/pkgs/applications/window-managers/sway/lock-effects.nix b/pkgs/applications/window-managers/sway/lock-effects.nix index 25714f1f8a94d..9e919d3f88e15 100644 --- a/pkgs/applications/window-managers/sway/lock-effects.nix +++ b/pkgs/applications/window-managers/sway/lock-effects.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, fetchpatch , meson , ninja , pkg-config @@ -24,6 +25,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-71IX0fC4xCPP6pK63KtvDMb3KoP1rw/Iz3S7BgiLSpg="; }; + patches = [ + (fetchpatch { + url = "https://github.com/mortie/swaylock-effects/commit/dfff235b09b475e79d75a040a0307a359974d360.patch"; + sha256 = "t8Xz2wRSBlwGtkpWZyIGWX7V/y0P1r/50P8MfauMh4c="; + }) + ]; + postPatch = '' sed -iE "s/version: '1\.3',/version: '${version}',/" meson.build ''; diff --git a/pkgs/build-support/emacs/wrapper.nix b/pkgs/build-support/emacs/wrapper.nix index 2bf8eaf2d7ad2..d61f6967c4b81 100644 --- a/pkgs/build-support/emacs/wrapper.nix +++ b/pkgs/build-support/emacs/wrapper.nix @@ -227,6 +227,8 @@ runCommand substitute ${./wrapper.sh} $out/Applications/Emacs.app/Contents/MacOS/Emacs \ --subst-var-by bash ${emacs.stdenv.shell} \ --subst-var-by wrapperSiteLisp "$deps/share/emacs/site-lisp" \ + --subst-var-by wrapperSiteLispNative "$deps/share/emacs/native-lisp:" \ + --subst-var-by autoloadExpression "-l cl-loaddefs -l nix-generated-autoload" \ --subst-var-by prog "$emacs/Applications/Emacs.app/Contents/MacOS/Emacs" chmod +x $out/Applications/Emacs.app/Contents/MacOS/Emacs fi diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix index 23ce992f0d557..9c27a142f4b65 100644 --- a/pkgs/build-support/kernel/make-initrd.nix +++ b/pkgs/build-support/kernel/make-initrd.nix @@ -18,7 +18,7 @@ let # compression type and filename extension. compressorName = fullCommand: builtins.elemAt (builtins.match "([^ ]*/)?([^ ]+).*" fullCommand) 1; in -{ stdenvNoCC, perl, cpio, ubootTools, lib, pkgsBuildHost +{ stdenvNoCC, perl, libarchive, ubootTools, lib, pkgsBuildHost # Name of the derivation (not of the resulting file!) , name ? "initrd" @@ -82,7 +82,7 @@ in stdenvNoCC.mkDerivation rec { builder = ./make-initrd.sh; - nativeBuildInputs = [ perl cpio ] + nativeBuildInputs = [ perl libarchive ] ++ lib.optional makeUInitrd ubootTools; compress = "${_compressorExecutable} ${lib.escapeShellArgs _compressorArgsReal}"; diff --git a/pkgs/build-support/kernel/make-initrd.sh b/pkgs/build-support/kernel/make-initrd.sh index 0a87d643546a5..8f64114d54c3f 100644 --- a/pkgs/build-support/kernel/make-initrd.sh +++ b/pkgs/build-support/kernel/make-initrd.sh @@ -40,7 +40,7 @@ for PREP in $prepend; do cat $PREP >> $out/initrd done (cd root && find * .[^.*] -exec touch -h -d '@1' '{}' +) -(cd root && find * .[^.*] -print0 | sort -z | cpio -o -H newc -R +0:+0 --reproducible --null | eval -- $compress >> "$out/initrd") +(cd root && find * .[^.*] -print0 | sort -z | bsdtar --uid 0 --gid 0 -cnf - -T - | bsdtar --null -cf - --format=newc @- | eval -- $compress >> "$out/initrd") if [ -n "$makeUInitrd" ]; then mkimage -A "$uInitrdArch" -O linux -T ramdisk -C "$uInitrdCompression" -d "$out/initrd" $out/initrd.img diff --git a/pkgs/build-support/make-darwin-bundle/default.nix b/pkgs/build-support/make-darwin-bundle/default.nix index b8f58882fff32..52dd54b0b2c4d 100644 --- a/pkgs/build-support/make-darwin-bundle/default.nix +++ b/pkgs/build-support/make-darwin-bundle/default.nix @@ -12,14 +12,14 @@ writeShellScript "make-darwin-bundle-${name}" ('' function makeDarwinBundlePhase() { - mkdir -p "$out/Applications/${name}.app/Contents/MacOS" - mkdir -p "$out/Applications/${name}.app/Contents/Resources" + mkdir -p "''${!outputBin}/Applications/${name}.app/Contents/MacOS" + mkdir -p "''${!outputBin}/Applications/${name}.app/Contents/Resources" if [ -n "${icon}" ]; then - ln -s "${icon}" "$out/Applications/${name}.app/Contents/Resources" + ln -s "${icon}" "''${!outputBin}/Applications/${name}.app/Contents/Resources" fi - ${writeDarwinBundle}/bin/write-darwin-bundle "$out" "${name}" "${exec}" + ${writeDarwinBundle}/bin/write-darwin-bundle "''${!outputBin}" "${name}" "${exec}" } preDistPhases+=" makeDarwinBundlePhase" diff --git a/pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh b/pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh index 72c1b973666e7..74c8f6d0b3334 100644 --- a/pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh +++ b/pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh @@ -200,12 +200,12 @@ convertDesktopFile() { local -r iconName=$(getDesktopParam "${file}" "^Icon") local -r squircle=$(getDesktopParam "${file}" "X-macOS-SquircleIcon") - mkdir -p "$out/Applications/${name}.app/Contents/MacOS" - mkdir -p "$out/Applications/${name}.app/Contents/Resources" + mkdir -p "${!outputBin}/Applications/${name}.app/Contents/MacOS" + mkdir -p "${!outputBin}/Applications/${name}.app/Contents/Resources" - convertIconTheme "$out/Applications/${name}.app/Contents/Resources" "$sharePath" "$iconName" + convertIconTheme "${!outputBin}/Applications/${name}.app/Contents/Resources" "$sharePath" "$iconName" - write-darwin-bundle "$out" "$name" "$exec" "$iconName" "$squircle" + write-darwin-bundle "${!outputBin}" "$name" "$exec" "$iconName" "$squircle" } convertDesktopFiles() { diff --git a/pkgs/build-support/testers/default.nix b/pkgs/build-support/testers/default.nix index 1d1effa37306f..8b79843b8332f 100644 --- a/pkgs/build-support/testers/default.nix +++ b/pkgs/build-support/testers/default.nix @@ -1,4 +1,18 @@ -{ pkgs, lib, callPackage }: +{ pkgs, lib, callPackage, runCommand }: +# Documentation is in doc/builders/testers.chapter.md { testEqualDerivation = callPackage ./test-equal-derivation.nix { }; + + testVersion = + { package, + command ? "${package.meta.mainProgram or package.pname or package.name} --version", + version ? package.version, + }: runCommand "${package.name}-test-version" { nativeBuildInputs = [ package ]; meta.timeout = 60; } '' + if output=$(${command} 2>&1); then + grep -Fw "${version}" - <<< "$output" + touch $out + else + echo "$output" >&2 && exit 1 + fi + ''; } diff --git a/pkgs/build-support/testers/test-equal-derivation.nix b/pkgs/build-support/testers/test-equal-derivation.nix index 652f3716b2a7f..610d5f5855760 100644 --- a/pkgs/build-support/testers/test-equal-derivation.nix +++ b/pkgs/build-support/testers/test-equal-derivation.nix @@ -1,22 +1,5 @@ { lib, runCommand, emptyFile, nix-diff }: -/* - Checks that two packages produce the exact same build instructions. - - This can be used to make sure that a certain difference of configuration, - such as the presence of an overlay does not cause a cache miss. - - When the derivations are equal, the return value is an empty file. - Otherwise, the build log explains the difference via `nix-diff`. - - Example: - - testEqualDerivation - "The hello package must stay the same when enabling checks." - hello - (hello.overrideAttrs(o: { doCheck = true; })) - -*/ assertion: a: b: let drvA = builtins.unsafeDiscardOutputDependency a.drvPath or (throw "testEqualDerivation second argument must be a package"); diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix index 1f9543f808e6c..bd14971fe78b4 100644 --- a/pkgs/build-support/trivial-builders.nix +++ b/pkgs/build-support/trivial-builders.nix @@ -784,41 +784,4 @@ rec { outputHash = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5"; preferLocalBuild = true; } "mkdir $out"; - - /* Checks the command output contains the specified version - * - * Although simplistic, this test assures that the main program - * can run. While there's no substitute for a real test case, - * it does catch dynamic linking errors and such. It also provides - * some protection against accidentally building the wrong version, - * for example when using an 'old' hash in a fixed-output derivation. - * - * Examples: - * - * passthru.tests.version = testVersion { package = hello; }; - * - * passthru.tests.version = testVersion { - * package = seaweedfs; - * command = "weed version"; - * }; - * - * passthru.tests.version = testVersion { - * package = key; - * command = "KeY --help"; - * # Wrong '2.5' version in the code. Drop on next version. - * version = "2.5"; - * }; - */ - testVersion = - { package, - command ? "${package.meta.mainProgram or package.pname or package.name} --version", - version ? package.version, - }: runCommand "${package.name}-test-version" { nativeBuildInputs = [ package ]; meta.timeout = 60; } '' - if output=$(${command} 2>&1); then - grep -Fw "${version}" - <<< "$output" - touch $out - else - echo "$output" >&2 && exit 1 - fi - ''; } diff --git a/pkgs/data/fonts/comic-mono/comic-mono-weight.conf b/pkgs/data/fonts/comic-mono/comic-mono-weight.conf new file mode 100644 index 0000000000000..97cfa3d83fdfa --- /dev/null +++ b/pkgs/data/fonts/comic-mono/comic-mono-weight.conf @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd"> +<fontconfig> + <!-- Fix missing/incorrect font weight data in Comic Mono. --> + + <match target="scan"> + <test name="fullname"> + <string>Comic Mono</string> + </test> + <edit name="weight"> + <const>book</const> + </edit> + </match> +</fontconfig> diff --git a/pkgs/data/fonts/comic-mono/default.nix b/pkgs/data/fonts/comic-mono/default.nix new file mode 100644 index 0000000000000..0c915f21c132e --- /dev/null +++ b/pkgs/data/fonts/comic-mono/default.nix @@ -0,0 +1,35 @@ +{ lib, fetchFromGitHub }: + +let + version = "2020-12-28"; +in fetchFromGitHub { + name = "comic-mono-font-${version}"; + + owner = "dtinth"; + repo = "comic-mono-font"; + rev = "9a96d04cdd2919964169192e7d9de5012ef66de4"; + + postFetch = '' + mkdir -p $out/share/fonts + tar -z -f $downloadedFile --wildcards -x \*.ttf --one-top-level=$out/share/fonts + + mkdir -p $out/etc/fonts/conf.d + ln -s ${./comic-mono-weight.conf} $out/etc/fonts/conf.d/30-comic-mono.conf + ''; + + hash = "sha256-poMU+WfDZcsyWyFiiXKJ284X22CJlxQIzcJtApnIdAY="; + + meta = with lib; { + description = "A legible monospace font that looks like Comic Sans"; + longDescription = '' + A legible monospace font... the very typeface you’ve been trained to + recognize since childhood. This font is a fork of Shannon Miwa’s Comic + Shanns (version 1). + ''; + homepage = "https://dtinth.github.io/comic-mono-font/"; + + license = licenses.mit; + maintainers = with maintainers; [ an-empty-string totoroot ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/data/fonts/sarasa-gothic/default.nix b/pkgs/data/fonts/sarasa-gothic/default.nix index 57c356136748d..c9bc0aa7922ba 100644 --- a/pkgs/data/fonts/sarasa-gothic/default.nix +++ b/pkgs/data/fonts/sarasa-gothic/default.nix @@ -1,14 +1,14 @@ { lib, fetchurl, libarchive }: let - version = "0.36.1"; + version = "0.36.2"; in fetchurl { name = "sarasa-gothic-${version}"; # Use the 'ttc' files here for a smaller closure size. # (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.) url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z"; - sha256 = "sha256-w8PVDvbnHFZF7/X4EzO0IJsEKMC7c+GPng1sn8Q8G14="; + sha256 = "sha256-hUQi8mbtQC+peslaz+AVINjELVXseuVi44qbDBtJ+fc="; recursiveHash = true; downloadToTemp = true; diff --git a/pkgs/data/misc/nixos-artwork/wallpapers.nix b/pkgs/data/misc/nixos-artwork/wallpapers.nix index f8d22637cf3da..4d5f30e94b915 100644 --- a/pkgs/data/misc/nixos-artwork/wallpapers.nix +++ b/pkgs/data/misc/nixos-artwork/wallpapers.nix @@ -14,6 +14,22 @@ let mkdir -p $out/share/backgrounds/nixos ln -s $src $out/share/backgrounds/nixos/${src.name} + mkdir -p $out/share/gnome-background-properties/ + cat <<EOF > $out/share/gnome-background-properties/${name}.xml +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd"> +<wallpapers> + <wallpaper deleted="false"> + <name>${name}</name> + <filename>${src}</filename> + <options>zoom</options> + <shade_type>solid</shade_type> + <pcolor>#ffffff</pcolor> + <scolor>#000000</scolor> + </wallpaper> +</wallpapers> +EOF + # TODO: is this path still needed? mkdir -p $out/share/artwork/gnome ln -s $src $out/share/artwork/gnome/${src.name} diff --git a/pkgs/data/themes/gnome-breeze/default.nix b/pkgs/data/themes/gnome-breeze/default.nix deleted file mode 100644 index 38733590a34e7..0000000000000 --- a/pkgs/data/themes/gnome-breeze/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ lib, stdenv, fetchFromGitHub }: - -stdenv.mkDerivation { - pname = "gnome-breeze"; - version = "unstable-2016-05-26"; - - src = fetchFromGitHub { - owner = "dirruk1"; - repo = "gnome-breeze"; - rev = "49a5cd67a270e13a4c04a4b904f126ef728e9221"; - sha256 = "sha256-lQYVOhFBDOYT+glUHleuymGTfHEE5bIyqUFnS/EDc0I="; - }; - - installPhase = '' - mkdir -p $out/share/themes - cp -r Breeze* $out/share/themes - ''; - - preferLocalBuild = true; - - meta = with lib; { - description = "A GTK theme built to match KDE's breeze theme"; - homepage = "https://github.com/dirruk1/gnome-breeze"; - license = licenses.lgpl2; - maintainers = with maintainers; [ bennofs ]; - platforms = platforms.all; - hydraPlatforms = []; - }; -} diff --git a/pkgs/desktops/gnome/core/epiphany/default.nix b/pkgs/desktops/gnome/core/epiphany/default.nix index 649cc71cde0ce..2dcd037fa5003 100644 --- a/pkgs/desktops/gnome/core/epiphany/default.nix +++ b/pkgs/desktops/gnome/core/epiphany/default.nix @@ -40,11 +40,11 @@ stdenv.mkDerivation rec { pname = "epiphany"; - version = "42.1"; + version = "42.2"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "aKzDxcYpF/G0ORaltGvsE29bMH8DqtpY23QMeLED8Dg="; + sha256 = "ksAs+IbRDSzP9d5ljhpCDqsx0gu1DnRtQw6VNbSFGS0="; }; patches = lib.optionals withPantheon [ diff --git a/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix b/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix index d2efa4d6e2a6e..07f6274e01c78 100644 --- a/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix +++ b/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix @@ -36,11 +36,11 @@ stdenv.mkDerivation rec { pname = "gnome-initial-setup"; - version = "42.1"; + version = "42.1.1"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "hmE2yjKSL3zEJNOtxrHbp86+B6qWoZ+XyAdw4/Lupxs="; + sha256 = "kRfuQpH2/oX95/Fh4FBEA8PPquX3GxjwHjAmUZY2UtI="; }; patches = [ diff --git a/pkgs/desktops/gnome/core/simple-scan/default.nix b/pkgs/desktops/gnome/core/simple-scan/default.nix index dd96e254109dd..e656624c5c042 100644 --- a/pkgs/desktops/gnome/core/simple-scan/default.nix +++ b/pkgs/desktops/gnome/core/simple-scan/default.nix @@ -25,11 +25,11 @@ stdenv.mkDerivation rec { pname = "simple-scan"; - version = "42.0"; + version = "42.1"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-rB+Fev0LyIl90gRQI618VxPlzu/KVrCzzF6aR5UylYY="; + sha256 = "sha256-hZvAYRwXabW9q6ljne7TWfUEdMLuz1i7v9fOIZEbIiY="; }; nativeBuildInputs = [ @@ -42,6 +42,7 @@ stdenv.mkDerivation rec { wrapGAppsHook libxml2 gobject-introspection # For setup hook + vala ]; buildInputs = [ @@ -49,14 +50,12 @@ stdenv.mkDerivation rec { gdk-pixbuf colord glib - gnome.adwaita-icon-theme gusb gtk3 libhandy libwebp packagekit sane-backends - vala ]; postPatch = '' diff --git a/pkgs/desktops/gnome/extensions/manuallyPackaged.nix b/pkgs/desktops/gnome/extensions/manuallyPackaged.nix index 6e2f1f6f26203..f5087ca3a69af 100644 --- a/pkgs/desktops/gnome/extensions/manuallyPackaged.nix +++ b/pkgs/desktops/gnome/extensions/manuallyPackaged.nix @@ -9,7 +9,6 @@ "gsconnect@andyholmes.github.io" = callPackage ./gsconnect { }; "icon-hider@kalnitsky.org" = callPackage ./icon-hider { }; "impatience@gfxmonk.net" = callPackage ./impatience { }; - "nightthemeswitcher@romainvigier.fr" = callPackage ./night-theme-switcher { }; "no-title-bar@jonaspoehler.de" = callPackage ./no-title-bar { }; "paperwm@hedning:matrix.org" = callPackage ./paperwm { }; "pidgin@muffinmad" = callPackage ./pidgin-im-integration { }; diff --git a/pkgs/desktops/gnome/extensions/night-theme-switcher/default.nix b/pkgs/desktops/gnome/extensions/night-theme-switcher/default.nix deleted file mode 100644 index 8332d0afa4aca..0000000000000 --- a/pkgs/desktops/gnome/extensions/night-theme-switcher/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib, stdenv, fetchFromGitLab, glib, gnome, unzip }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-night-theme-switcher"; - version = "53"; - - src = fetchFromGitLab { - owner = "rmnvgr"; - repo = "nightthemeswitcher-gnome-shell-extension"; - rev = version; - sha256 = "0dgnh1aj0y89jzfkpj8zs4gdbmyc1v8lbki2q30gld17ljv4l6lh"; - }; - - nativeBuildInputs = [ unzip ]; - buildInputs = [ glib gnome.gnome-shell ]; - - passthru = { - extensionUuid = "nightthemeswitcher@romainvigier.fr"; - extensionPortalSlug = "night-theme-switcher"; - }; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions/ - unzip "build/nightthemeswitcher@romainvigier.fr.shell-extension.zip" -d "$out/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr" - runHook postInstall - ''; - - meta = with lib; { - description = "Automatically change the GTK theme to dark variant when Night Light activates"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ jonafato ]; - homepage = "https://gitlab.com/rmnvgr/nightthemeswitcher-gnome-shell-extension/"; - }; -} diff --git a/pkgs/desktops/gnome/extensions/update-extensions.py b/pkgs/desktops/gnome/extensions/update-extensions.py index 581781fb11a8f..a2f42be06258f 100755 --- a/pkgs/desktops/gnome/extensions/update-extensions.py +++ b/pkgs/desktops/gnome/extensions/update-extensions.py @@ -1,16 +1,15 @@ #!/usr/bin/env nix-shell #!nix-shell -I nixpkgs=../../../.. -i python3 -p python3 +import base64 import json -import urllib.request -import urllib.error -from typing import List, Dict, Optional, Any, Tuple import logging -from operator import itemgetter import subprocess -import zipfile -import io -import base64 +import urllib.error +import urllib.request +from operator import itemgetter +from pathlib import Path +from typing import List, Dict, Optional, Any, Tuple # We don't want all those deprecated legacy extensions # Group extensions by GNOME "major" version for compatibility reasons @@ -21,14 +20,12 @@ supported_versions = { "42": "42", } - -# Some type alias to increase readility of complex compound types +# Some type alias to increase readability of complex compound types PackageName = str ShellVersion = str Uuid = str ExtensionVersion = int - # Keep track of all names that have been used till now to detect collisions. # This works because we deterministically process all extensions in historical order # The outer dict level is the shell version, as we are tracking duplicates only per same Shell version. @@ -37,6 +34,8 @@ package_name_registry: Dict[ShellVersion, Dict[PackageName, List[Uuid]]] = {} for shell_version in supported_versions.keys(): package_name_registry[shell_version] = {} +updater_dir_path = Path(__file__).resolve().parent + def fetch_extension_data(uuid: str, version: str) -> Tuple[str, str]: """ @@ -48,28 +47,32 @@ def fetch_extension_data(uuid: str, version: str) -> Tuple[str, str]: uuid = uuid.replace("@", "") url: str = f"https://extensions.gnome.org/extension-data/{uuid}.v{version}.shell-extension.zip" - # Yes, we download that file three times: + # TODO remove when Vitals@CoreCoding.com version != 53, this extension has a missing manifest.json + if url == 'https://extensions.gnome.org/extension-data/VitalsCoreCoding.com.v53.shell-extension.zip': + url = 'https://extensions.gnome.org/extension-data/VitalsCoreCoding.com.v53.shell-extension_v1BI2FB.zip' + + # Download extension and add the zip content to nix-store + process = subprocess.run( + ["nix-prefetch-url", "--unpack", "--print-path", url], capture_output=True, text=True + ) + + lines = process.stdout.splitlines() - # The first time is for the maintainter, so they may have a personal backup to fix potential issues - # subprocess.run( - # ["wget", url], capture_output=True, text=True - # ) + # Get hash from first line of nix-prefetch-url output + hash = lines[0].strip() - # The second time, we extract the metadata.json because we need it too - with urllib.request.urlopen(url) as response: - data = zipfile.ZipFile(io.BytesIO(response.read()), 'r') - metadata = base64.b64encode(data.read('metadata.json')).decode() + # Get path from second line of nix-prefetch-url output + path = Path(lines[1].strip()) - # The third time is to get the file into the store and to get its hash - hash = subprocess.run( - ["nix-prefetch-url", "--unpack", url], capture_output=True, text=True - ).stdout.strip() + # Get metadata.json content from nix-store + with open(path / "metadata.json", "r") as out: + metadata = base64.b64encode(out.read().encode("ascii")).decode() return hash, metadata def generate_extension_versions( - extension_version_map: Dict[ShellVersion, ExtensionVersion], uuid: str + extension_version_map: Dict[ShellVersion, ExtensionVersion], uuid: str ) -> Dict[ShellVersion, Dict[str, str]]: """ Takes in a mapping from shell versions to extension versions and transforms it the way we need it: @@ -114,7 +117,7 @@ def generate_extension_versions( "version": str(extension_version), "sha256": sha256, # The downloads are impure, their metadata.json may change at any time. - # Thus, be back it up / pin it to remain deterministic + # Thus, we back it up / pin it to remain deterministic # Upstream issue: https://gitlab.gnome.org/Infrastructure/extensions-web/-/issues/137 "metadata": metadata, } @@ -127,7 +130,7 @@ def pname_from_url(url: str) -> Tuple[str, str]: """ url = url.split("/") # type: ignore - return (url[3], url[2]) + return url[3], url[2] def process_extension(extension: Dict[str, Any]) -> Optional[Dict[str, Any]]: @@ -151,7 +154,7 @@ def process_extension(extension: Dict[str, Any]) -> Optional[Dict[str, Any]]: Don't make any assumptions on it, and treat it like an opaque string! "link" follows the following schema: "/extension/$number/$string/" The number is monotonically increasing and unique to every extension. - The string is usually derived from the extensions's name (but shortened, kebab-cased and URL friendly). + The string is usually derived from the extension name (but shortened, kebab-cased and URL friendly). It may diverge from the actual name. The keys of "shell_version_map" are GNOME Shell version numbers. @@ -196,7 +199,7 @@ def process_extension(extension: Dict[str, Any]) -> Optional[Dict[str, Any]]: for shell_version in shell_version_map.keys(): if pname in package_name_registry[shell_version]: - logging.warning(f"Package name '{pname}' is colliding.") + logging.warning(f"Package name '{pname}' for GNOME '{shell_version}' is colliding.") package_name_registry[shell_version][pname].append(uuid) else: package_name_registry[shell_version][pname] = [uuid] @@ -225,16 +228,16 @@ def scrape_extensions_index() -> List[Dict[str, Any]]: logging.info("Scraping page " + str(page)) try: with urllib.request.urlopen( - f"https://extensions.gnome.org/extension-query/?n_per_page=25&page={page}" + f"https://extensions.gnome.org/extension-query/?n_per_page=25&page={page}" ) as response: data = json.loads(response.read().decode())["extensions"] - responseLength = len(data) + response_length = len(data) for extension in data: extensions.append(extension) # If our page isn't "full", it must have been the last one - if responseLength < 25: + if response_length < 25: logging.debug( f"\tThis page only has {responseLength} entries, so it must be the last one." ) @@ -265,11 +268,7 @@ if __name__ == "__main__": processed_extensions.append(processed_extension) logging.debug(f"Processed {num + 1} / {len(raw_extensions)}") - logging.info( - f"Done. Writing results to extensions.json ({len(processed_extensions)} extensions in total)" - ) - - with open("extensions.json", "w") as out: + with open(updater_dir_path / "extensions.json", "w") as out: # Manually pretty-print the outer level, but then do one compact line per extension # This allows for the diffs to be manageable (one line of change per extension) despite their quantity for index, extension in enumerate(processed_extensions): @@ -281,14 +280,15 @@ if __name__ == "__main__": out.write("\n") out.write("]\n") - with open("extensions.json", "r") as out: + logging.info( + f"Done. Writing results to extensions.json ({len(processed_extensions)} extensions in total)" + ) + + with open(updater_dir_path / "extensions.json", "r") as out: # Check that the generated file actually is valid JSON, just to be sure json.load(out) - logging.info( - "Done. Writing name collisions to collisions.json (please check manually)" - ) - with open("collisions.json", "w") as out: + with open(updater_dir_path / "collisions.json", "w") as out: # Filter out those that are not duplicates package_name_registry_filtered: Dict[ShellVersion, Dict[PackageName, List[Uuid]]] = { # The outer level keys are shell versions @@ -299,3 +299,7 @@ if __name__ == "__main__": } json.dump(package_name_registry_filtered, out, indent=2, ensure_ascii=False) out.write("\n") + + logging.info( + "Done. Writing name collisions to collisions.json (please check manually)" + ) diff --git a/pkgs/desktops/gnome/games/tali/default.nix b/pkgs/desktops/gnome/games/tali/default.nix index c12853e5daee5..40107fe4a269a 100644 --- a/pkgs/desktops/gnome/games/tali/default.nix +++ b/pkgs/desktops/gnome/games/tali/default.nix @@ -20,11 +20,11 @@ stdenv.mkDerivation rec { pname = "tali"; - version = "40.6"; + version = "40.7"; src = fetchurl { url = "mirror://gnome/sources/tali/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "g/ugR+3s0ZbTBxmnDi9NCYa7Jswr1flVoKkgDqY/BhI="; + sha256 = "cXqJfV0H4X4K89ZpI/USNhPEEPZSOdqX0JKeScf7C2c="; }; nativeBuildInputs = [ diff --git a/pkgs/development/compilers/alan/2.nix b/pkgs/development/compilers/alan/2.nix new file mode 100644 index 0000000000000..e24cc35a9d74e --- /dev/null +++ b/pkgs/development/compilers/alan/2.nix @@ -0,0 +1,31 @@ +{ stdenv, lib, fetchFromGitHub +}: + +stdenv.mkDerivation rec { + pname = "alan2"; + version = "2.8.7"; + + src = fetchFromGitHub { + owner = "alan-if"; + repo = "alan"; + rev = "71f23ec79f7f5d66aa5ae9fd3f9b8dae41a89f15"; + sha256 = "066jknqz1v6sismvfxjfffl35h14v8qwgcq99ibhp08dy2fwraln"; + }; + + makefile = "Makefile.unix"; + + installPhase = '' + mkdir -p $out/bin $out/share/alan2 + cp compiler/alan $out/bin/alan2 + cp interpreter/arun $out/bin/arun2 + cp alan.readme ChangeLog $out/share/alan2 + ''; + + meta = with lib; { + homepage = "https://www.alanif.se/"; + description = "The Alan interactive fiction language (legacy version)"; + license = licenses.artistic2; + platforms = platforms.linux; + maintainers = with maintainers; [ neilmayhew ]; + }; +} diff --git a/pkgs/development/compilers/alan/default.nix b/pkgs/development/compilers/alan/default.nix new file mode 100644 index 0000000000000..61f7b1c0f7b81 --- /dev/null +++ b/pkgs/development/compilers/alan/default.nix @@ -0,0 +1,48 @@ +{ stdenv, lib, fetchFromGitHub +, cgreen, openjdk, pkg-config, which +}: + +stdenv.mkDerivation rec { + pname = "alan"; + version = "3.0beta8"; + + src = fetchFromGitHub { + owner = "alan-if"; + repo = "alan"; + rev = "v${version}"; + sha256 = "0zfg1frmb4yl39hk8h733bmlwk4rkikzfhvv7j34cxpdpsp7spzl"; + }; + + postPatch = '' + patchShebangs --build bin + # The Makefiles have complex CFLAGS that don't allow separate control of optimization + sed -i 's/-O0/-O2/g' compiler/Makefile.common + sed -i 's/-Og/-O2/g' interpreter/Makefile.common + ''; + + installPhase = '' + mkdir -p $out/bin $out/share/alan/examples + # Build the release tarball + make package + # The release tarball isn't split up into subdirectories + tar -xf alan*.tgz --strip-components=1 -C $out/share/alan + mv $out/share/alan/*.alan $out/share/alan/examples + chmod a-x $out/share/alan/examples/*.alan + mv $out/share/alan/{alan,arun} $out/bin + # a2a3 isn't included in the release tarball + cp bin/a2a3 $out/bin + ''; + + nativeBuildInputs = [ + cgreen + openjdk pkg-config which + ]; + + meta = with lib; { + homepage = "https://www.alanif.se/"; + description = "The Alan interactive fiction language"; + license = licenses.artistic2; + platforms = platforms.linux; + maintainers = with maintainers; [ neilmayhew ]; + }; +} diff --git a/pkgs/development/compilers/chicken/5/eggs.nix b/pkgs/development/compilers/chicken/5/eggs.nix index 1c1377350d214..c74afe1873710 100644 --- a/pkgs/development/compilers/chicken/5/eggs.nix +++ b/pkgs/development/compilers/chicken/5/eggs.nix @@ -1,4 +1,4 @@ -{ pkgs }: +{ pkgs, stdenv }: rec { inherit (pkgs) eggDerivation fetchegg; @@ -32,6 +32,22 @@ rec { ]; }; + r7rs = eggDerivation { + name = "r7rs-1.0.5"; + + src = fetchegg { + name = "r7rs"; + version = "1.0.5"; + sha256 = "0zyi1z4m1995hm2wfc5wpi8jjgxcwk03qknq5v2ygff3akxazsf6"; + }; + + buildInputs = [ + matchable + srfi-1 + srfi-13 + ]; + }; + srfi-1 = eggDerivation { name = "srfi-1-0.5.1"; @@ -47,12 +63,12 @@ rec { }; srfi-13 = eggDerivation { - name = "srfi-13-0.3"; + name = "srfi-13-0.3.1"; src = fetchegg { name = "srfi-13"; - version = "0.3"; - sha256 = "0yaw9i6zhpxl1794pirh168clprjgmsb0xlr96drirjzsslgm3zp"; + version = "0.3.1"; + sha256 = "12ryxs3w3las0wjdh0yp52g1xmyq1fb48xi3i26l5a9sfx7gbilp"; }; buildInputs = [ @@ -74,6 +90,36 @@ rec { ]; }; + srfi-145 = eggDerivation { + name = "srfi-145-0.1"; + + src = fetchegg { + name = "srfi-145"; + version = "0.1"; + sha256 = "1r4278xhpmm8gww64j6akpyv3qjnn14b6nsisyb9qm7yx3pkpim9"; + }; + + buildInputs = [ + + ]; + }; + + srfi-189 = eggDerivation { + name = "srfi-189-0.1"; + + src = fetchegg { + name = "srfi-189"; + version = "0.1"; + sha256 = "1nmrywpi9adi5mm1vcbxxsgw0j3v6m7s4j1mii7icj83xn81cgvx"; + }; + + buildInputs = [ + r7rs + srfi-1 + srfi-145 + ]; + }; + srfi-37 = eggDerivation { name = "srfi-37-1.4"; diff --git a/pkgs/development/compilers/chicken/5/eggs.scm b/pkgs/development/compilers/chicken/5/eggs.scm index b743d6e3229d2..499109470849c 100644 --- a/pkgs/development/compilers/chicken/5/eggs.scm +++ b/pkgs/development/compilers/chicken/5/eggs.scm @@ -1,3 +1,6 @@ ;; Eggs used by egg2nix args matchable + +;; other eggs to include in nixpkgs +srfi-189 diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix index 280e0fdd23077..f682ecfb06c42 100644 --- a/pkgs/development/compilers/crystal/default.nix +++ b/pkgs/development/compilers/crystal/default.nix @@ -216,7 +216,7 @@ let description = "A compiled language with Ruby like syntax and type inference"; homepage = "https://crystal-lang.org/"; license = licenses.asl20; - maintainers = with maintainers; [ david50407 fabianhjr manveru peterhoeg ]; + maintainers = with maintainers; [ david50407 manveru peterhoeg ]; platforms = let archNames = builtins.attrNames archs; in if (lib.versionOlder version "1.2.0") then remove "aarch64-darwin" archNames else archNames; broken = lib.versionOlder version "0.36.1" && stdenv.isDarwin; diff --git a/pkgs/development/compilers/cudatoolkit/versions.toml b/pkgs/development/compilers/cudatoolkit/versions.toml index 5628c323d5298..46173cca12cde 100644 --- a/pkgs/development/compilers/cudatoolkit/versions.toml +++ b/pkgs/development/compilers/cudatoolkit/versions.toml @@ -44,13 +44,15 @@ gcc = "gcc9" version = "11.4.2" url = "https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux.run" sha256 = "sha256-u9h8oOkT+DdFSnljZ0c1E83e9VUILk2G7Zo4ZZzIHwo=" -gcc = "gcc11" +gcc = "gcc10" ["11.5"] version = "11.5.0" url = "https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run" sha256 = "sha256-rgoWk9lJfPPYHmlIlD43lGNpANtxyY1Y7v2sr38aHkw=" -gcc = "gcc11" +# cuda 11.5 has problems with glibc 2.4 -> keeping gcc10 +# cf. https://forums.developer.nvidia.com/t/cuda-11-5-samples-throw-multiple-error-attribute-malloc-does-not-take-arguments/192750/15 +gcc = "gcc10" ["11.6"] version = "11.6.1" diff --git a/pkgs/development/compilers/ghc/8.10.7.nix b/pkgs/development/compilers/ghc/8.10.7.nix index fd14501097c29..cdf4faf3ffc7c 100644 --- a/pkgs/development/compilers/ghc/8.10.7.nix +++ b/pkgs/development/compilers/ghc/8.10.7.nix @@ -212,7 +212,7 @@ stdenv.mkDerivation (rec { url = "https://gitlab.haskell.org/ghc/ghc/-/commit/97d0b0a367e4c6a52a17c3299439ac7de129da24.patch"; sha256 = "0r4zjj0bv1x1m2dgxp3adsf2xkr94fjnyj1igsivd9ilbs5ja0b5"; }) - ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ + ] ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [ # Prevent the paths module from emitting symbols that we don't use # when building with separate outputs. diff --git a/pkgs/development/compilers/ghc/9.0.2.nix b/pkgs/development/compilers/ghc/9.0.2.nix index 1f94dd3bbde29..a4cefe7294d89 100644 --- a/pkgs/development/compilers/ghc/9.0.2.nix +++ b/pkgs/development/compilers/ghc/9.0.2.nix @@ -192,7 +192,7 @@ stdenv.mkDerivation (rec { url = "https://gitlab.haskell.org/ghc/ghc/-/commit/c6132c782d974a7701e7f6447bdcd2bf6db4299a.patch?merge_request_iid=7423"; sha256 = "sha256-b4feGZIaKDj/UKjWTNY6/jH4s2iate0wAgMxG3rAbZI="; }) - ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ + ] ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [ # Prevent the paths module from emitting symbols that we don't use # when building with separate outputs. diff --git a/pkgs/development/compilers/go-jsonnet/default.nix b/pkgs/development/compilers/go-jsonnet/default.nix index 25bedd397b2fe..3c4d90ccb054c 100644 --- a/pkgs/development/compilers/go-jsonnet/default.nix +++ b/pkgs/development/compilers/go-jsonnet/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub, testVersion }: +{ lib, buildGoModule, fetchFromGitHub, testers }: let self = buildGoModule rec { pname = "go-jsonnet"; @@ -17,7 +17,7 @@ let self = buildGoModule rec { subPackages = [ "cmd/jsonnet*" ]; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = self; version = "v${version}"; }; diff --git a/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix b/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix index eac94b7ec1eab..02fd986731b1b 100644 --- a/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix +++ b/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix @@ -169,6 +169,8 @@ let outputs = [ "out" "lib" ]; installPhase = '' + # ensure that $lib/lib exists to avoid breaking builds + mkdir -p "$lib/lib" # jni.h expects jni_md.h to be in the header search path. ln -s $out/include/linux/*_md.h $out/include/ @@ -194,7 +196,6 @@ let # `native-image -H:CLibraryPath=''${lib.getLib graalvmXX-ce}/lib ...` and reduce # closure size by not depending on GraalVM $out (that is much bigger) # we always use glibc here, since musl is only supported for static compilation - mkdir -p "$lib/lib" for f in "${glibc}/lib/"*; do ln -s "$f" "$lib/lib/$(basename $f)" done diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix index fe0bd29a1b273..5f493394f04e7 100644 --- a/pkgs/development/compilers/kotlin/default.nix +++ b/pkgs/development/compilers/kotlin/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "kotlin"; - version = "1.6.20"; + version = "1.6.21"; src = fetchurl { url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip"; - hash = "sha256-2vF9scGU9CBfOvZxKTZ6abOI+BkXeWPcU6e0ssTYziI="; + hash = "sha256-YyFm/tifP0MEgvWqB/LiC5I7cu9ojI9affOqFQLG2Lo="; }; propagatedBuildInputs = [ jre ] ; diff --git a/pkgs/development/compilers/kotlin/native.nix b/pkgs/development/compilers/kotlin/native.nix index 0c0315d876673..4438a78608a66 100644 --- a/pkgs/development/compilers/kotlin/native.nix +++ b/pkgs/development/compilers/kotlin/native.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { pname = "kotlin-native"; - version = "1.6.20"; + version = "1.6.21"; src = let getArch = { @@ -20,9 +20,9 @@ stdenv.mkDerivation rec { "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-native-${arch}-${version}.tar.gz"; getHash = arch: { - "macos-aarch64" = "sha256-Nb/5UrNnIOJI+5PdXX4FfhUvCChrfUTkjaMS7nN/eGg="; - "macos-x86_64" = "sha256-cgET1zjk14/o3EH/1t7jfCfXHwcjfAANKG+yxpQccMc="; - "linux-x86_64" = "sha256-qbXyvCTGqRK0mCav6Ei128y1Ok1vfZ1o0haZ+MJjmBQ="; + "macos-aarch64" = "sha256-kkJvlDtK0Y+zeht+9fLX2HL2fyKOIyo0qYkJk+35tMU="; + "macos-x86_64" = "sha256-znTMO8h0pC6bkSUVYmxWPe4HVQPQw/VcJM11ckmG8CA="; + "linux-x86_64" = "sha256-r1H2riRLsZl5+65tw6/cp7rkJWjWoz8PozHt1mWmEfo="; }.${arch}; in fetchurl { diff --git a/pkgs/development/compilers/open-watcom/v2.nix b/pkgs/development/compilers/open-watcom/v2.nix index 79973f761c5d5..ae28e424e5e84 100644 --- a/pkgs/development/compilers/open-watcom/v2.nix +++ b/pkgs/development/compilers/open-watcom/v2.nix @@ -12,14 +12,14 @@ stdenv.mkDerivation rec { pname = "open-watcom-v2"; - version = "unstable-2022-04-18"; + version = "unstable-2022-04-23"; name = "${pname}-unwrapped-${version}"; src = fetchFromGitHub { owner = "open-watcom"; repo = "open-watcom-v2"; - rev = "3e762ff7342f9d82b7d8df54db9558158332ac02"; - sha256 = "KMFvLIUqor2wxeO03Uh/jycvnCTOd1ySxYTq4PJ0tHk="; + rev = "3351d37f44eef84fcd428b8b5537cb29a7db22a8"; + sha256 = "mSF9xFKJ5AQ+Ds84qMD8xJJ7B9AMujgksxMNzSDzLA4="; }; postPatch = '' diff --git a/pkgs/development/compilers/openjdk/darwin/8.nix b/pkgs/development/compilers/openjdk/darwin/8.nix index 009802b29234e..aeb60d8bc4607 100644 --- a/pkgs/development/compilers/openjdk/darwin/8.nix +++ b/pkgs/development/compilers/openjdk/darwin/8.nix @@ -79,6 +79,12 @@ let EOF ''; + # fixupPhase is moving the man to share/man which breaks it because it's a + # relative symlink. + postFixup = '' + ln -nsf ../zulu-${lib.versions.major version}.jdk/Contents/Home/man $out/share/man + ''; + passthru = { jre = jdk; home = jdk; diff --git a/pkgs/development/compilers/qbe/default.nix b/pkgs/development/compilers/qbe/default.nix index 80182fc9de651..2615a94066854 100644 --- a/pkgs/development/compilers/qbe/default.nix +++ b/pkgs/development/compilers/qbe/default.nix @@ -6,12 +6,12 @@ stdenv.mkDerivation rec { pname = "qbe"; - version = "unstable-2022-03-17"; + version = "unstable-2022-04-11"; src = fetchgit { url = "git://c9x.me/qbe.git"; - rev = "c6b41eb8c8cece8266b2173a83216e1ce77eb2be"; - sha256 = "sha256-vpNZNED+C9VMzWyyyntQuBgTvbpZpJ/EwOztdOEP7vI="; + rev = "2caa26e388b1c904d2f12fb09f84df7e761d8331"; + sha256 = "sha256-TNKHKX/PbrNIQJ+Q50KemfcigEBKe7gmJzTjB6ofYL8="; }; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/development/compilers/scryer-prolog/cargo.patch b/pkgs/development/compilers/scryer-prolog/cargo.patch index e704798c3acfd..ccce7ba357d7a 100644 --- a/pkgs/development/compilers/scryer-prolog/cargo.patch +++ b/pkgs/development/compilers/scryer-prolog/cargo.patch @@ -1,101 +1,44 @@ diff --git a/Cargo.lock b/Cargo.lock -index ef25833..d9de212 100644 +index 4d699f11..1eb894fc 100644 --- a/Cargo.lock +++ b/Cargo.lock -@@ -41,9 +41,9 @@ checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" - - [[package]] - name = "az" --version = "0.3.1" -+version = "1.0.0" +@@ -875,15 +875,6 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "41a6b78289a33e09b00818ca8c90ab17c5dabb6e74f4b29a6de679c0e0886ade" -+checksum = "e9bcd47d94aa4eb8c076b50fc61a75020789394ffb9bd74a180b3379130f6569" - - [[package]] - name = "base64" -@@ -384,9 +384,9 @@ dependencies = [ - - [[package]] - name = "gmp-mpfr-sys" --version = "1.2.2" -+version = "1.4.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "63d7f805cf9df081683d463f62864bda8b8e3ce7162a8e11cd0c49f27b8ce89b" -+checksum = "ad4e8e85ec9fb902b4564deeb17b1a263d3ba1334bef56154418aa045b159508" - dependencies = [ - "libc", - "winapi 0.3.8", -@@ -485,9 +487,9 @@ dependencies = [ - - [[package]] - name = "lexical-core" --version = "0.4.6" -+version = "0.4.8" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "2304bccb228c4b020f3a4835d247df0a02a7c4686098d4167762cfbbe4c5cb14" -+checksum = "34449d00c5d4066537f4dc72320b18e3aa421e8e92669250eecd664c618fefce" - dependencies = [ - "arrayvec 0.4.12", - "cfg-if", -@@ -766,15 +766,6 @@ version = "0.1.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" + checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" -[[package]] -name = "openssl-src" --version = "111.9.0+1.1.1g" +-version = "300.0.2+3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "a2dbe10ddd1eb335aba3780eb2eaa13e1b7b441d2562fd962398740927f39ec4" +-checksum = "14a760a11390b1a5daf72074d4f6ff1a6e772534ae191f999f57e9ee8146d1fb" -dependencies = [ - "cc", -] - [[package]] name = "openssl-sys" - version = "0.9.58" -@@ -784,7 +775,6 @@ dependencies = [ - "autocfg 1.0.0", + version = "0.9.70" +@@ -893,7 +884,6 @@ dependencies = [ + "autocfg 1.0.1", "cc", "libc", - "openssl-src", "pkg-config", "vcpkg", ] -@@ -1159,9 +1149,9 @@ dependencies = [ - - [[package]] - name = "rug" --version = "1.8.0" -+version = "1.11.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "72315b6d9cb7d886fb99724330c47ceb29e923df657c31da3849fe88c0ded710" -+checksum = "e538d00da450a8e48aac7e6322e67b2dc86ec71a1feeac0e3954c4f07f01bc45" - dependencies = [ - "az", - "gmp-mpfr-sys", -@@ -1232,7 +1222,7 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - - [[package]] - name = "scryer-prolog" --version = "0.8.126" -+version = "0.8.127" - dependencies = [ - "base64 0.12.3", - "blake2", -@@ -1243,6 +1233,7 @@ dependencies = [ +@@ -1432,6 +1422,7 @@ dependencies = [ "divrem", - "downcast", + "fxhash", "git-version", + "gmp-mpfr-sys", "hostname", "indexmap", - "lazy_static", + "instructions-template", diff --git a/Cargo.toml b/Cargo.toml -index c359e1b..75c4325 100644 +index 8e81a947..d21a8d49 100644 --- a/Cargo.toml +++ b/Cargo.toml -@@ -41,10 +41,14 @@ ring = "0.16.13" +@@ -55,7 +55,7 @@ ring = "0.16.13" ripemd160 = "0.8.0" sha3 = "0.8.2" blake2 = "0.8.1" @@ -104,10 +47,20 @@ index c359e1b..75c4325 100644 native-tls = "0.2.4" chrono = "0.4.11" select = "0.4.3" - roxmltree = "0.11.0" - base64 = "0.12.3" - sodiumoxide = "0.2.6" -+ +@@ -66,10 +66,14 @@ sodiumoxide = "0.2.6" + static_assertions = "1.1.0" + slice-deque = "0.3.0" + +[dependencies.gmp-mpfr-sys] +version = "1.4" +features = ["use-system-libs"] ++ + [dev-dependencies] + assert_cmd = "1.0.3" + predicates-core = "1.0.2" + serial_test = "0.5.1" + + [profile.release] +-debug = true +\ No newline at end of file ++debug = true diff --git a/pkgs/development/compilers/scryer-prolog/default.nix b/pkgs/development/compilers/scryer-prolog/default.nix index 7c9afefe10df8..9010cdef1dd7f 100644 --- a/pkgs/development/compilers/scryer-prolog/default.nix +++ b/pkgs/development/compilers/scryer-prolog/default.nix @@ -1,6 +1,8 @@ { lib , fetchFromGitHub +, fetchpatch , rustPlatform +, rustfmt , gmp , libmpc , mpfr @@ -10,21 +12,32 @@ rustPlatform.buildRustPackage rec { pname = "scryer-prolog"; - version = "0.8.127"; + version = "0.9.0"; src = fetchFromGitHub { owner = "mthom"; repo = "scryer-prolog"; rev = "v${version}"; - sha256 = "0307yclslkdx6f0h0101a3da47rhz6qizf4i8q8rjh4id8wpdsn8"; + sha256 = "3NHpEg6QaUaqbBCq8uM5hFcqS24q4XrOnKjMmn8Z1Dg="; }; - # Use system openssl, gmp, mpc and mpfr. - cargoPatches = [ ./cargo.patch ]; + cargoPatches = [ + # Use system openssl, gmp, mpc and mpfr. + ./cargo.patch - cargoSha256 = "1vf7pfhvpk7ikzibdccw7xgbywv5n4vvshjwsdsf94bhl2knrlg3"; + ./fix-tests.patch - nativeBuildInputs = [ pkg-config ]; + # Avoid testing failing with "couldn't save history" + (fetchpatch { + name = "fix-tests-1"; + url = "https://patch-diff.githubusercontent.com/raw/mthom/scryer-prolog/pull/1342.patch"; + sha256 = "2N0AOkFuf+H/aUn2QTXgmqjmvShTxHxB6kNuNdNoVRI="; + }) + ]; + + cargoSha256 = "nqAHVXAmTW9mdE2L2yhpOTz16JbYgQUmCgiFq9pBzUU="; + + nativeBuildInputs = [ pkg-config rustfmt]; buildInputs = [ openssl gmp libmpc mpfr ]; meta = with lib; { diff --git a/pkgs/development/compilers/scryer-prolog/fix-tests.patch b/pkgs/development/compilers/scryer-prolog/fix-tests.patch new file mode 100644 index 0000000000000..53ececfdc7943 --- /dev/null +++ b/pkgs/development/compilers/scryer-prolog/fix-tests.patch @@ -0,0 +1,29 @@ +diff --git a/tests/scryer/src_tests.rs b/tests/scryer/src_tests.rs +index b0b9efb5..8fddd842 100644 +--- a/tests/scryer/src_tests.rs ++++ b/tests/scryer/src_tests.rs +@@ -46,24 +46,6 @@ fn rules() { + load_module_test("src/tests/rules.pl", ""); + } + +-#[serial] +-#[test] +-fn setup_call_cleanup_load() { +- load_module_test( +- "src/tests/setup_call_cleanup.pl", +- "1+21+31+2>_17737+_177381+_158071+2>41+2>_177381+2>31+2>31+2>4ba" +- ); +-} +- +-#[test] +-fn setup_call_cleanup_process() { +- run_top_level_test_with_args( +- &["src/tests/setup_call_cleanup.pl", "-f", "-g", "halt"], +- "", +- "1+21+31+2>_19590+_195911+_176601+2>41+2>_195911+2>31+2>31+2>4ba" +- ); +-} +- + #[serial] + #[test] + fn clpz_load() { diff --git a/pkgs/development/compilers/uasm/default.nix b/pkgs/development/compilers/uasm/default.nix index 7356175c87c4d..2c8d6eb21aebc 100644 --- a/pkgs/development/compilers/uasm/default.nix +++ b/pkgs/development/compilers/uasm/default.nix @@ -2,7 +2,7 @@ , stdenv , fetchFromGitHub , fetchpatch -, testVersion +, testers , uasm }: @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { runHook postInstall ''; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = uasm; command = "uasm -h"; version = "v${version}"; diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix index 50b2a49fdc6ed..212e453b7a724 100644 --- a/pkgs/development/interpreters/clojure/default.nix +++ b/pkgs/development/interpreters/clojure/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { pname = "clojure"; - version = "1.11.1.1107"; + version = "1.11.1.1113"; src = fetchurl { # https://clojure.org/releases/tools url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz"; - sha256 = "sha256-ItSKM546QW4DpnGotGzYs6917cbHYYkPvL9XezQBzOY="; + sha256 = "sha256-DJVKVqBx8zueA5+KuQX4NypaYBoNFKMuDM8jDqdgaiI="; }; nativeBuildInputs = [ diff --git a/pkgs/development/interpreters/nickel/default.nix b/pkgs/development/interpreters/nickel/default.nix new file mode 100644 index 0000000000000..7a097391ba5d5 --- /dev/null +++ b/pkgs/development/interpreters/nickel/default.nix @@ -0,0 +1,33 @@ +{ lib +, rustPlatform +, fetchFromGitHub +}: + +rustPlatform.buildRustPackage rec { + pname = "nickel"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "tweag"; + repo = pname; + rev = "refs/tags/${version}"; # because pure ${version} doesn't work + hash = "sha256-St8oK9vP2cAhsNindkebtAMeRPwYggP9E4CciSZc7oA="; + }; + + cargoSha256 = "sha256-VsyK/api8acIpADpXQ8RdbRLiZwHFSDH0vwQrZQ8zp4="; + + meta = with lib; { + homepage = "https://nickel-lang.org/"; + description = "Better configuration for less"; + longDescription = '' + Nickel is the cheap configuration language. + + Its purpose is to automate the generation of static configuration files - + think JSON, YAML, XML, or your favorite data representation language - + that are then fed to another system. It is designed to have a simple, + well-understood core: it is in essence JSON with functions. + ''; + license = licenses.mit; + maintainers = with maintainers; [ AndersonTorres ]; + }; +} diff --git a/pkgs/development/interpreters/php/generic.nix b/pkgs/development/interpreters/php/generic.nix index bf2ff11158ecb..3debeba329a93 100644 --- a/pkgs/development/interpreters/php/generic.nix +++ b/pkgs/development/interpreters/php/generic.nix @@ -176,6 +176,10 @@ let if test -e $out/bin/phpdbg; then wrapProgram $out/bin/phpdbg --set PHP_INI_SCAN_DIR $out/lib fi + + if test -e $out/bin/php-cgi; then + wrapProgram $out/bin/php-cgi --set PHP_INI_SCAN_DIR $out/lib + fi ''; }; in diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index 97db4a9fffa85..4463dc8e9ba0d 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -49,7 +49,7 @@ , enableLTO ? stdenv.is64bit && stdenv.isLinux , reproducibleBuild ? false , pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}" -}: +} @ inputs: # Note: this package is used for bootstrapping fetchurl, and thus # cannot use fetchpatch! All mutable patches (generated by GitHub or @@ -83,7 +83,11 @@ let tzdataSupport = tzdata != null && passthru.pythonAtLeast "3.9"; - passthru = passthruFun rec { + passthru = let + # When we override the interpreter we also need to override the spliced versions of the interpreter + inputs' = lib.filterAttrs (_: v: ! lib.isDerivation v) inputs; + override = attr: let python = attr.override (inputs' // { self = python; }); in python; + in passthruFun rec { inherit self sourceVersion packageOverrides; implementation = "cpython"; libPrefix = "python${pythonVersion}"; @@ -91,11 +95,11 @@ let pythonVersion = with sourceVersion; "${major}.${minor}"; sitePackages = "lib/${libPrefix}/site-packages"; inherit hasDistutilsCxxPatch; - pythonOnBuildForBuild = pkgsBuildBuild.${pythonAttr}; - pythonOnBuildForHost = pkgsBuildHost.${pythonAttr}; - pythonOnBuildForTarget = pkgsBuildTarget.${pythonAttr}; - pythonOnHostForHost = pkgsHostHost.${pythonAttr}; - pythonOnTargetForTarget = pkgsTargetTarget.${pythonAttr} or {}; + pythonOnBuildForBuild = override pkgsBuildBuild.${pythonAttr}; + pythonOnBuildForHost = override pkgsBuildHost.${pythonAttr}; + pythonOnBuildForTarget = override pkgsBuildTarget.${pythonAttr}; + pythonOnHostForHost = override pkgsHostHost.${pythonAttr}; + pythonOnTargetForTarget = if lib.hasAttr pythonAttr pkgsTargetTarget then (override pkgsTargetTarget.${pythonAttr}) else {}; }; version = with sourceVersion; "${major}.${minor}.${patch}${suffix}"; diff --git a/pkgs/development/interpreters/supercollider/default.nix b/pkgs/development/interpreters/supercollider/default.nix index 2a0ef3b0957c6..0446e5d540c1f 100644 --- a/pkgs/development/interpreters/supercollider/default.nix +++ b/pkgs/development/interpreters/supercollider/default.nix @@ -1,12 +1,11 @@ -{ lib, stdenv, mkDerivation, fetchurl, cmake, pkg-config, alsa-lib -, libjack2, libsndfile, fftw, curl, gcc -, libXt, qtbase, qttools, qtwebengine +{ lib, stdenv, mkDerivation, fetchurl, cmake +, pkg-config, alsa-lib, libjack2, libsndfile, fftw +, curl, gcc, libXt, qtbase, qttools, qtwebengine , readline, qtwebsockets, useSCEL ? false, emacs +, supercollider-with-plugins, supercolliderPlugins +, writeText, runCommand }: -let - inherit (lib) optional; -in mkDerivation rec { pname = "supercollider"; version = "3.12.2"; @@ -16,6 +15,17 @@ mkDerivation rec { sha256 = "sha256-1QYorCgSwBK+SVAm4k7HZirr1j+znPmVicFmJdvO3g4="; }; + patches = [ + # add support for SC_DATA_DIR and SC_PLUGIN_DIR env vars to override compile-time values + ./supercollider-3.12.0-env-dirs.patch + ]; + + nativeBuildInputs = [ cmake pkg-config qttools ]; + + buildInputs = [ gcc libjack2 libsndfile fftw curl libXt qtbase qtwebengine qtwebsockets readline ] + ++ lib.optional (!stdenv.isDarwin) alsa-lib + ++ lib.optional useSCEL emacs; + hardeningDisable = [ "stackprotector" ]; cmakeFlags = [ @@ -23,17 +33,30 @@ mkDerivation rec { "-DSC_EL=${if useSCEL then "ON" else "OFF"}" ]; - nativeBuildInputs = [ cmake pkg-config qttools ]; - - buildInputs = [ - gcc libjack2 libsndfile fftw curl libXt qtbase qtwebengine qtwebsockets readline ] - ++ optional (!stdenv.isDarwin) alsa-lib - ++ optional useSCEL emacs; + passthru.tests = { + # test to make sure sclang runs and included plugins are successfully found + sclang-sc3-plugins = let + supercollider-with-test-plugins = supercollider-with-plugins.override { + plugins = with supercolliderPlugins; [ sc3-plugins ]; + }; + testsc = writeText "test.sc" '' + var err = 0; + try { + MdaPiano.name.postln; + } { + err = 1; + }; + err.exit; + ''; + in runCommand "sclang-sc3-plugins-test" {} '' + timeout 60s env XDG_CONFIG_HOME="$(mktemp -d)" QT_QPA_PLATFORM=minimal ${supercollider-with-test-plugins}/bin/sclang ${testsc} >$out + ''; + }; meta = with lib; { description = "Programming language for real time audio synthesis"; homepage = "https://supercollider.github.io"; - maintainers = with maintainers; [ mrmebelman ]; + maintainers = with maintainers; [ lilyinstarlight ]; license = licenses.gpl3Plus; platforms = platforms.linux; }; diff --git a/pkgs/development/interpreters/supercollider/plugins/sc3-plugins.nix b/pkgs/development/interpreters/supercollider/plugins/sc3-plugins.nix new file mode 100644 index 0000000000000..a596d6d770aef --- /dev/null +++ b/pkgs/development/interpreters/supercollider/plugins/sc3-plugins.nix @@ -0,0 +1,33 @@ +{ stdenv, lib, fetchurl, cmake, supercollider, fftw }: + +stdenv.mkDerivation rec { + pname = "sc3-plugins"; + version = "3.11.1"; + + src = fetchurl { + url = "https://github.com/supercollider/sc3-plugins/releases/download/Version-${version}/sc3-plugins-${version}-Source.tar.bz2"; + sha256 = "sha256-JjUmu7PJ+x3yRibr+Av2gTREng51fPo7Rk+B4y2JvkQ="; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + supercollider + fftw + ]; + + cmakeFlags = [ + "-DSC_PATH=${supercollider}/include/SuperCollider" + "-DSUPERNOVA=ON" + ]; + + stripDebugList = [ "lib" "share" ]; + + meta = with lib; { + description = "Community plugins for SuperCollider"; + homepage = "https://supercollider.github.io/sc3-plugins/"; + maintainers = with maintainers; [ lilyinstarlight ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/interpreters/supercollider/supercollider-3.12.0-env-dirs.patch b/pkgs/development/interpreters/supercollider/supercollider-3.12.0-env-dirs.patch new file mode 100644 index 0000000000000..dd92028b52256 --- /dev/null +++ b/pkgs/development/interpreters/supercollider/supercollider-3.12.0-env-dirs.patch @@ -0,0 +1,65 @@ +diff --git a/common/SC_Filesystem_unix.cpp b/common/SC_Filesystem_unix.cpp +index 52dc1fd2d..aae09ed9c 100644 +--- a/common/SC_Filesystem_unix.cpp ++++ b/common/SC_Filesystem_unix.cpp +@@ -94,6 +94,10 @@ bool SC_Filesystem::isNonHostPlatformDirectoryName(const std::string& s) { + } + + Path SC_Filesystem::defaultSystemAppSupportDirectory() { ++ const char* sc_data_dir = getenv("SC_DATA_DIR"); ++ if (sc_data_dir) ++ return Path(sc_data_dir); ++ + # ifdef SC_DATA_DIR + return Path(SC_DATA_DIR); + # else +@@ -125,6 +129,10 @@ Path SC_Filesystem::defaultUserConfigDirectory() { + } + + Path SC_Filesystem::defaultResourceDirectory() { ++ const char* sc_data_dir = getenv("SC_DATA_DIR"); ++ if (sc_data_dir) ++ return Path(sc_data_dir); ++ + # ifdef SC_DATA_DIR + return Path(SC_DATA_DIR); + # else +diff --git a/server/scsynth/SC_Lib_Cintf.cpp b/server/scsynth/SC_Lib_Cintf.cpp +index f6219307e..28e13eb98 100644 +--- a/server/scsynth/SC_Lib_Cintf.cpp ++++ b/server/scsynth/SC_Lib_Cintf.cpp +@@ -178,9 +178,13 @@ void initialize_library(const char* uGensPluginPath) { + using DirName = SC_Filesystem::DirName; + + if (loadUGensExtDirs) { ++ const char* sc_plugin_dir = getenv("SC_PLUGIN_DIR"); ++ if (sc_plugin_dir) { ++ PlugIn_LoadDir(sc_plugin_dir, true); ++ } + #ifdef SC_PLUGIN_DIR + // load globally installed plugins +- if (bfs::is_directory(SC_PLUGIN_DIR)) { ++ else if (bfs::is_directory(SC_PLUGIN_DIR)) { + PlugIn_LoadDir(SC_PLUGIN_DIR, true); + } + #endif // SC_PLUGIN_DIR +diff --git a/server/supernova/server/main.cpp b/server/supernova/server/main.cpp +index b2b5adf4e..6cb8c411c 100644 +--- a/server/supernova/server/main.cpp ++++ b/server/supernova/server/main.cpp +@@ -224,8 +224,14 @@ void set_plugin_paths(server_arguments const& args, nova::sc_ugen_factory* facto + } + } + } else { ++ const char* sc_plugin_dir = getenv("SC_PLUGIN_DIR"); ++ if (sc_plugin_dir) { ++ factory->load_plugin_folder(sc_plugin_dir); ++ } + #ifdef SC_PLUGIN_DIR +- factory->load_plugin_folder(SC_PLUGIN_DIR); ++ else { ++ factory->load_plugin_folder(SC_PLUGIN_DIR); ++ } + #endif + factory->load_plugin_folder(SC_Filesystem::instance().getDirectory(DirName::Resource) / SC_PLUGIN_DIR_NAME); + factory->load_plugin_folder(SC_Filesystem::instance().getDirectory(DirName::SystemExtension)); diff --git a/pkgs/development/interpreters/supercollider/wrapper.nix b/pkgs/development/interpreters/supercollider/wrapper.nix new file mode 100644 index 0000000000000..e9e97f2b98de9 --- /dev/null +++ b/pkgs/development/interpreters/supercollider/wrapper.nix @@ -0,0 +1,18 @@ +{ symlinkJoin, makeWrapper, supercollider, plugins }: + +symlinkJoin { + name = "supercollider-with-plugins-${supercollider.version}"; + paths = [ supercollider ] ++ plugins; + + nativeBuildInputs = [ makeWrapper ]; + + postBuild = '' + for exe in $out/bin/*; do + wrapProgram $exe \ + --set SC_PLUGIN_DIR "$out/lib/SuperCollider/plugins" \ + --set SC_DATA_DIR "$out/share/SuperCollider" + done + ''; + + inherit (supercollider) pname version meta; +} diff --git a/pkgs/development/interpreters/wasmtime/default.nix b/pkgs/development/interpreters/wasmtime/default.nix index 7f00faa76476b..a475f53f91f73 100644 --- a/pkgs/development/interpreters/wasmtime/default.nix +++ b/pkgs/development/interpreters/wasmtime/default.nix @@ -2,17 +2,17 @@ rustPlatform.buildRustPackage rec { pname = "wasmtime"; - version = "0.35.2"; + version = "0.36.0"; src = fetchFromGitHub { owner = "bytecodealliance"; repo = pname; rev = "v${version}"; - sha256 = "sha256-4oZglk7MInLIsvbeCfs4InAcmSmzZp16XL5+8eoYXJk="; + sha256 = "sha256-nSA78eQRbJ5JTDquaRqRgFU0V8RVCzvWUONgHxGj+Mc="; fetchSubmodules = true; }; - cargoSha256 = "sha256-IqFOw9bGdM3IEoMeqDlxKfLnZvR80PSnwP9kr1tI/h0="; + cargoSha256 = "sha256-/+uioJRXiugsV7SUwsDNHGaPxrxrhscQUGyXOzzwG/g="; # This environment variable is required so that when wasmtime tries # to run tests by using the rusty_v8 crate, it does not try to diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix index 3cd846c87a13b..8bf009ddacba5 100644 --- a/pkgs/development/libraries/aws-sdk-cpp/default.nix +++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, fetchpatch , cmake , curl , openssl @@ -30,13 +31,15 @@ in stdenv.mkDerivation rec { pname = "aws-sdk-cpp"; - version = "1.9.238"; + version = if stdenv.system == "i686-linux" then "1.9.150" + else "1.9.238"; src = fetchFromGitHub { owner = "aws"; repo = "aws-sdk-cpp"; rev = version; - sha256 = "sha256-pEmsTfZXsvJMV79dGkjDNbUVajwyoYgzE5DCsC53pGY="; + sha256 = if version == "1.9.150" then "fgLdXWQKHaCwulrw9KV3vpQ71DjnQAL4heIRW7Rk7UY=" + else "sha256-pEmsTfZXsvJMV79dGkjDNbUVajwyoYgzE5DCsC53pGY="; }; postPatch = '' @@ -109,7 +112,12 @@ stdenv.mkDerivation rec { patches = [ ./cmake-dirs.patch - ]; + ] + ++ lib.optional (lib.versionOlder version "1.9.163") + (fetchpatch { + url = "https://github.com/aws/aws-sdk-cpp/commit/b102aaf5693c4165c84b616ab9ffb9edfb705239.diff"; + sha256 = "sha256-38QBo3MEFpyHPb8jZEURRPkoeu4DqWhVeErJayiHKF0="; + }); # Builds in 2+h with 2 cores, and ~10m with a big-parallel builder. requiredSystemFeatures = [ "big-parallel" ]; diff --git a/pkgs/development/libraries/bash/bash-preexec/default.nix b/pkgs/development/libraries/bash/bash-preexec/default.nix index fe8f63c685c41..fcdf5619047bc 100644 --- a/pkgs/development/libraries/bash/bash-preexec/default.nix +++ b/pkgs/development/libraries/bash/bash-preexec/default.nix @@ -1,6 +1,6 @@ { stdenvNoCC, lib, fetchFromGitHub, bats }: -let version = "0.4.1"; +let version = "0.5.0"; in stdenvNoCC.mkDerivation { pname = "bash-preexec"; inherit version; @@ -9,7 +9,7 @@ in stdenvNoCC.mkDerivation { owner = "rcaloras"; repo = "bash-preexec"; rev = version; - sha256 = "062iigps285628p710i7vh7kmgra5gahq9qiwj7rxir167lg0ggw"; + sha256 = "sha256-+FU5n7EkY78X5nUiW3WN9+6Bf6oiPjsG2MSRCleooFs="; }; checkInputs = [ bats ]; diff --git a/pkgs/development/libraries/cgreen/default.nix b/pkgs/development/libraries/cgreen/default.nix index 85532bfd74b03..f8790791798df 100644 --- a/pkgs/development/libraries/cgreen/default.nix +++ b/pkgs/development/libraries/cgreen/default.nix @@ -11,6 +11,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-aQrfsiPuNrEMscZrOoONiN665KlNmnOiYj9ZIyzW304="; }; + postPatch = '' + for F in tools/discoverer_acceptance_tests.c tools/discoverer.c; do + substituteInPlace "$F" --replace "/usr/bin/nm" "nm" + done + ''; + nativeBuildInputs = [ cmake ]; meta = with lib; { diff --git a/pkgs/development/libraries/freeimage/default.nix b/pkgs/development/libraries/freeimage/default.nix index 2b4b174ca31bb..b132b3fae8ceb 100644 --- a/pkgs/development/libraries/freeimage/default.nix +++ b/pkgs/development/libraries/freeimage/default.nix @@ -5,14 +5,14 @@ stdenv.mkDerivation { pname = "freeimage"; - version = "unstable-2020-07-04"; + version = "unstable-2021-11-01"; src = fetchsvn { url = "svn://svn.code.sf.net/p/freeimage/svn/"; - rev = "1859"; - sha256 = "1d94935aqbkb994nqkw7m8xcynyz9rm6k7k59igrbjak8b63qpi6"; + rev = "1900"; + sha256 = "rWoNlU/BWKZBPzRb1HqU6T0sT7aK6dpqKPe88+o/4sA="; }; - sourceRoot = "svn-r1859/FreeImage/trunk"; + sourceRoot = "svn-r1900/FreeImage/trunk"; # Ensure that the bundled libraries are not used at all prePatch = "rm -rf Source/Lib* Source/OpenEXR Source/ZLib"; diff --git a/pkgs/development/libraries/freeimage/unbundle.diff b/pkgs/development/libraries/freeimage/unbundle.diff index 22dac720155ab..99a7cfb4ca355 100644 --- a/pkgs/development/libraries/freeimage/unbundle.diff +++ b/pkgs/development/libraries/freeimage/unbundle.diff @@ -1,5 +1,5 @@ diff --git a/Makefile.fip b/Makefile.fip -index 660a026..86b3040 100644 +index 660a0265..86b30401 100644 --- a/Makefile.fip +++ b/Makefile.fip @@ -11,32 +11,21 @@ INSTALLDIR ?= $(DESTDIR)/usr/lib @@ -54,7 +54,7 @@ index 660a026..86b3040 100644 ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME) diff --git a/Makefile.gnu b/Makefile.gnu -index a4f2601..be95476 100644 +index a4f26013..be954761 100644 --- a/Makefile.gnu +++ b/Makefile.gnu @@ -11,32 +11,21 @@ INSTALLDIR ?= $(DESTDIR)/usr/lib @@ -110,7 +110,7 @@ index a4f2601..be95476 100644 clean: rm -f core Dist/*.* u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME) diff --git a/Makefile.osx b/Makefile.osx -index c39121d..3800e39 100644 +index c39121db..3800e39d 100644 --- a/Makefile.osx +++ b/Makefile.osx @@ -10,24 +10,25 @@ MACOSX_SYSROOT = $(shell xcrun --show-sdk-path) @@ -185,21 +185,21 @@ index c39121d..3800e39 100644 ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(LIBNAME) diff --git a/Makefile.srcs b/Makefile.srcs -index 0b8d3a0..b706fd0 100644 +index 692c6e56..212195b2 100644 --- a/Makefile.srcs +++ b/Makefile.srcs @@ -1,6 +1,6 @@ VER_MAJOR = 3 VER_MINOR = 19.0 --SRCS = ./Source/FreeImage/BitmapAccess.cpp ./Source/FreeImage/ColorLookup.cpp ./Source/FreeImage/ConversionRGBA16.cpp ./Source/FreeImage/ConversionRGBAF.cpp ./Source/FreeImage/FreeImage.cpp ./Source/FreeImage/FreeImageC.c ./Source/FreeImage/FreeImageIO.cpp ./Source/FreeImage/GetType.cpp ./Source/FreeImage/LFPQuantizer.cpp ./Source/FreeImage/MemoryIO.cpp ./Source/FreeImage/PixelAccess.cpp ./Source/FreeImage/J2KHelper.cpp ./Source/FreeImage/MNGHelper.cpp ./Source/FreeImage/Plugin.cpp ./Source/FreeImage/PluginBMP.cpp ./Source/FreeImage/PluginCUT.cpp ./Source/FreeImage/PluginDDS.cpp ./Source/FreeImage/PluginEXR.cpp ./Source/FreeImage/PluginG3.cpp ./Source/FreeImage/PluginGIF.cpp ./Source/FreeImage/PluginHDR.cpp ./Source/FreeImage/PluginICO.cpp ./Source/FreeImage/PluginIFF.cpp ./Source/FreeImage/PluginJ2K.cpp ./Source/FreeImage/PluginJNG.cpp ./Source/FreeImage/PluginJP2.cpp ./Source/FreeImage/PluginJPEG.cpp ./Source/FreeImage/PluginJXR.cpp ./Source/FreeImage/PluginKOALA.cpp ./Source/FreeImage/PluginMNG.cpp ./Source/FreeImage/PluginPCD.cpp ./Source/FreeImage/PluginPCX.cpp ./Source/FreeImage/PluginPFM.cpp ./Source/FreeImage/PluginPICT.cpp ./Source/FreeImage/PluginPNG.cpp ./Source/FreeImage/PluginPNM.cpp ./Source/FreeImage/PluginPSD.cpp ./Source/FreeImage/PluginRAS.cpp ./Source/FreeImage/PluginRAW.cpp ./Source/FreeImage/PluginSGI.cpp ./Source/FreeImage/PluginTARGA.cpp ./Source/FreeImage/PluginTIFF.cpp ./Source/FreeImage/PluginWBMP.cpp ./Source/FreeImage/PluginWebP.cpp ./Source/FreeImage/PluginXBM.cpp ./Source/FreeImage/PluginXPM.cpp ./Source/FreeImage/PSDParser.cpp ./Source/FreeImage/TIFFLogLuv.cpp ./Source/FreeImage/Conversion.cpp ./Source/FreeImage/Conversion16_555.cpp ./Source/FreeImage/Conversion16_565.cpp ./Source/FreeImage/Conversion24.cpp ./Source/FreeImage/Conversion32.cpp ./Source/FreeImage/Conversion4.cpp ./Source/FreeImage/Conversion8.cpp ./Source/FreeImage/ConversionFloat.cpp ./Source/FreeImage/ConversionRGB16.cpp ./Source/FreeImage/ConversionRGBF.cpp ./Source/FreeImage/ConversionType.cpp ./Source/FreeImage/ConversionUINT16.cpp ./Source/FreeImage/Halftoning.cpp ./Source/FreeImage/tmoColorConvert.cpp ./Source/FreeImage/tmoDrago03.cpp ./Source/FreeImage/tmoFattal02.cpp ./Source/FreeImage/tmoReinhard05.cpp ./Source/FreeImage/ToneMapping.cpp ./Source/FreeImage/NNQuantizer.cpp ./Source/FreeImage/WuQuantizer.cpp ./Source/FreeImage/CacheFile.cpp ./Source/FreeImage/MultiPage.cpp ./Source/FreeImage/ZLibInterface.cpp ./Source/Metadata/Exif.cpp ./Source/Metadata/FIRational.cpp ./Source/Metadata/FreeImageTag.cpp ./Source/Metadata/IPTC.cpp ./Source/Metadata/TagConversion.cpp ./Source/Metadata/TagLib.cpp ./Source/Metadata/XTIFF.cpp ./Source/FreeImageToolkit/Background.cpp ./Source/FreeImageToolkit/BSplineRotate.cpp ./Source/FreeImageToolkit/Channels.cpp ./Source/FreeImageToolkit/ClassicRotate.cpp ./Source/FreeImageToolkit/Colors.cpp ./Source/FreeImageToolkit/CopyPaste.cpp ./Source/FreeImageToolkit/Display.cpp ./Source/FreeImageToolkit/Flip.cpp ./Source/FreeImageToolkit/JPEGTransform.cpp ./Source/FreeImageToolkit/MultigridPoissonSolver.cpp ./Source/FreeImageToolkit/Rescale.cpp ./Source/FreeImageToolkit/Resize.cpp Source/LibJPEG/jaricom.c Source/LibJPEG/jcapimin.c Source/LibJPEG/jcapistd.c Source/LibJPEG/jcarith.c Source/LibJPEG/jccoefct.c Source/LibJPEG/jccolor.c Source/LibJPEG/jcdctmgr.c Source/LibJPEG/jchuff.c Source/LibJPEG/jcinit.c Source/LibJPEG/jcmainct.c Source/LibJPEG/jcmarker.c Source/LibJPEG/jcmaster.c Source/LibJPEG/jcomapi.c Source/LibJPEG/jcparam.c Source/LibJPEG/jcprepct.c Source/LibJPEG/jcsample.c Source/LibJPEG/jctrans.c Source/LibJPEG/jdapimin.c Source/LibJPEG/jdapistd.c Source/LibJPEG/jdarith.c Source/LibJPEG/jdatadst.c Source/LibJPEG/jdatasrc.c Source/LibJPEG/jdcoefct.c Source/LibJPEG/jdcolor.c Source/LibJPEG/jddctmgr.c Source/LibJPEG/jdhuff.c Source/LibJPEG/jdinput.c Source/LibJPEG/jdmainct.c Source/LibJPEG/jdmarker.c Source/LibJPEG/jdmaster.c Source/LibJPEG/jdmerge.c Source/LibJPEG/jdpostct.c Source/LibJPEG/jdsample.c Source/LibJPEG/jdtrans.c Source/LibJPEG/jerror.c Source/LibJPEG/jfdctflt.c Source/LibJPEG/jfdctfst.c Source/LibJPEG/jfdctint.c Source/LibJPEG/jidctflt.c Source/LibJPEG/jidctfst.c Source/LibJPEG/jidctint.c Source/LibJPEG/jmemmgr.c Source/LibJPEG/jmemnobs.c Source/LibJPEG/jquant1.c Source/LibJPEG/jquant2.c Source/LibJPEG/jutils.c Source/LibJPEG/transupp.c Source/LibPNG/png.c Source/LibPNG/pngerror.c Source/LibPNG/pngget.c Source/LibPNG/pngmem.c Source/LibPNG/pngpread.c Source/LibPNG/pngread.c Source/LibPNG/pngrio.c Source/LibPNG/pngrtran.c Source/LibPNG/pngrutil.c Source/LibPNG/pngset.c Source/LibPNG/pngtrans.c Source/LibPNG/pngwio.c Source/LibPNG/pngwrite.c Source/LibPNG/pngwtran.c Source/LibPNG/pngwutil.c Source/LibTIFF4/tif_aux.c Source/LibTIFF4/tif_close.c Source/LibTIFF4/tif_codec.c Source/LibTIFF4/tif_color.c Source/LibTIFF4/tif_compress.c Source/LibTIFF4/tif_dir.c Source/LibTIFF4/tif_dirinfo.c Source/LibTIFF4/tif_dirread.c Source/LibTIFF4/tif_dirwrite.c Source/LibTIFF4/tif_dumpmode.c Source/LibTIFF4/tif_error.c Source/LibTIFF4/tif_extension.c Source/LibTIFF4/tif_fax3.c Source/LibTIFF4/tif_fax3sm.c Source/LibTIFF4/tif_flush.c Source/LibTIFF4/tif_getimage.c Source/LibTIFF4/tif_jpeg.c Source/LibTIFF4/tif_luv.c Source/LibTIFF4/tif_lzma.c Source/LibTIFF4/tif_lzw.c Source/LibTIFF4/tif_next.c Source/LibTIFF4/tif_ojpeg.c Source/LibTIFF4/tif_open.c Source/LibTIFF4/tif_packbits.c Source/LibTIFF4/tif_pixarlog.c Source/LibTIFF4/tif_predict.c Source/LibTIFF4/tif_print.c Source/LibTIFF4/tif_read.c Source/LibTIFF4/tif_strip.c Source/LibTIFF4/tif_swab.c Source/LibTIFF4/tif_thunder.c Source/LibTIFF4/tif_tile.c Source/LibTIFF4/tif_version.c Source/LibTIFF4/tif_warning.c Source/LibTIFF4/tif_write.c Source/LibTIFF4/tif_zip.c Source/ZLib/adler32.c Source/ZLib/compress.c Source/ZLib/crc32.c Source/ZLib/deflate.c Source/ZLib/gzclose.c Source/ZLib/gzlib.c Source/ZLib/gzread.c Source/ZLib/gzwrite.c Source/ZLib/infback.c Source/ZLib/inffast.c Source/ZLib/inflate.c Source/ZLib/inftrees.c Source/ZLib/trees.c Source/ZLib/uncompr.c Source/ZLib/zutil.c Source/LibOpenJPEG/bio.c Source/LibOpenJPEG/cio.c Source/LibOpenJPEG/dwt.c Source/LibOpenJPEG/event.c Source/LibOpenJPEG/function_list.c Source/LibOpenJPEG/image.c Source/LibOpenJPEG/invert.c Source/LibOpenJPEG/j2k.c Source/LibOpenJPEG/jp2.c Source/LibOpenJPEG/mct.c Source/LibOpenJPEG/mqc.c Source/LibOpenJPEG/openjpeg.c Source/LibOpenJPEG/opj_clock.c Source/LibOpenJPEG/pi.c Source/LibOpenJPEG/raw.c Source/LibOpenJPEG/t1.c Source/LibOpenJPEG/t2.c Source/LibOpenJPEG/tcd.c Source/LibOpenJPEG/tgt.c Source/OpenEXR/IexMath/IexMathFpu.cpp Source/OpenEXR/IlmImf/b44ExpLogTable.cpp Source/OpenEXR/IlmImf/ImfAcesFile.cpp Source/OpenEXR/IlmImf/ImfAttribute.cpp Source/OpenEXR/IlmImf/ImfB44Compressor.cpp Source/OpenEXR/IlmImf/ImfBoxAttribute.cpp Source/OpenEXR/IlmImf/ImfChannelList.cpp Source/OpenEXR/IlmImf/ImfChannelListAttribute.cpp Source/OpenEXR/IlmImf/ImfChromaticities.cpp Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.cpp Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.cpp Source/OpenEXR/IlmImf/ImfCompressionAttribute.cpp Source/OpenEXR/IlmImf/ImfCompressor.cpp Source/OpenEXR/IlmImf/ImfConvert.cpp Source/OpenEXR/IlmImf/ImfCRgbaFile.cpp Source/OpenEXR/IlmImf/ImfDeepCompositing.cpp Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfDoubleAttribute.cpp Source/OpenEXR/IlmImf/ImfDwaCompressor.cpp Source/OpenEXR/IlmImf/ImfEnvmap.cpp Source/OpenEXR/IlmImf/ImfEnvmapAttribute.cpp Source/OpenEXR/IlmImf/ImfFastHuf.cpp Source/OpenEXR/IlmImf/ImfFloatAttribute.cpp Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfFramesPerSecond.cpp Source/OpenEXR/IlmImf/ImfGenericInputFile.cpp Source/OpenEXR/IlmImf/ImfGenericOutputFile.cpp Source/OpenEXR/IlmImf/ImfHeader.cpp Source/OpenEXR/IlmImf/ImfHuf.cpp Source/OpenEXR/IlmImf/ImfInputFile.cpp Source/OpenEXR/IlmImf/ImfInputPart.cpp Source/OpenEXR/IlmImf/ImfInputPartData.cpp Source/OpenEXR/IlmImf/ImfIntAttribute.cpp Source/OpenEXR/IlmImf/ImfIO.cpp Source/OpenEXR/IlmImf/ImfKeyCode.cpp Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfLineOrderAttribute.cpp Source/OpenEXR/IlmImf/ImfLut.cpp Source/OpenEXR/IlmImf/ImfMatrixAttribute.cpp Source/OpenEXR/IlmImf/ImfMisc.cpp Source/OpenEXR/IlmImf/ImfMultiPartInputFile.cpp Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.cpp Source/OpenEXR/IlmImf/ImfMultiView.cpp Source/OpenEXR/IlmImf/ImfOpaqueAttribute.cpp Source/OpenEXR/IlmImf/ImfOutputFile.cpp Source/OpenEXR/IlmImf/ImfOutputPart.cpp Source/OpenEXR/IlmImf/ImfOutputPartData.cpp Source/OpenEXR/IlmImf/ImfPartType.cpp Source/OpenEXR/IlmImf/ImfPizCompressor.cpp Source/OpenEXR/IlmImf/ImfPreviewImage.cpp Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.cpp Source/OpenEXR/IlmImf/ImfPxr24Compressor.cpp Source/OpenEXR/IlmImf/ImfRational.cpp Source/OpenEXR/IlmImf/ImfRationalAttribute.cpp Source/OpenEXR/IlmImf/ImfRgbaFile.cpp Source/OpenEXR/IlmImf/ImfRgbaYca.cpp Source/OpenEXR/IlmImf/ImfRle.cpp Source/OpenEXR/IlmImf/ImfRleCompressor.cpp Source/OpenEXR/IlmImf/ImfScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfStandardAttributes.cpp Source/OpenEXR/IlmImf/ImfStdIO.cpp Source/OpenEXR/IlmImf/ImfStringAttribute.cpp Source/OpenEXR/IlmImf/ImfStringVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfSystemSpecific.cpp Source/OpenEXR/IlmImf/ImfTestFile.cpp Source/OpenEXR/IlmImf/ImfThreading.cpp Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.cpp Source/OpenEXR/IlmImf/ImfTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfTiledMisc.cpp Source/OpenEXR/IlmImf/ImfTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfTiledRgbaFile.cpp Source/OpenEXR/IlmImf/ImfTileOffsets.cpp Source/OpenEXR/IlmImf/ImfTimeCode.cpp Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfVecAttribute.cpp Source/OpenEXR/IlmImf/ImfVersion.cpp Source/OpenEXR/IlmImf/ImfWav.cpp Source/OpenEXR/IlmImf/ImfZip.cpp Source/OpenEXR/IlmImf/ImfZipCompressor.cpp Source/OpenEXR/Imath/ImathBox.cpp Source/OpenEXR/Imath/ImathColorAlgo.cpp Source/OpenEXR/Imath/ImathFun.cpp Source/OpenEXR/Imath/ImathMatrixAlgo.cpp Source/OpenEXR/Imath/ImathRandom.cpp Source/OpenEXR/Imath/ImathShear.cpp Source/OpenEXR/Imath/ImathVec.cpp Source/OpenEXR/Iex/IexBaseExc.cpp Source/OpenEXR/Iex/IexThrowErrnoExc.cpp Source/OpenEXR/Half/half.cpp Source/OpenEXR/IlmThread/IlmThread.cpp Source/OpenEXR/IlmThread/IlmThreadMutex.cpp Source/OpenEXR/IlmThread/IlmThreadPool.cpp Source/OpenEXR/IlmThread/IlmThreadSemaphore.cpp Source/OpenEXR/IexMath/IexMathFloatExc.cpp Source/LibRawLite/internal/dcraw_common.cpp Source/LibRawLite/internal/dcraw_fileio.cpp Source/LibRawLite/internal/demosaic_packs.cpp Source/LibRawLite/src/libraw_c_api.cpp Source/LibRawLite/src/libraw_cxx.cpp Source/LibRawLite/src/libraw_datastream.cpp Source/LibWebP/src/dec/alpha_dec.c Source/LibWebP/src/dec/buffer_dec.c Source/LibWebP/src/dec/frame_dec.c Source/LibWebP/src/dec/idec_dec.c Source/LibWebP/src/dec/io_dec.c Source/LibWebP/src/dec/quant_dec.c Source/LibWebP/src/dec/tree_dec.c Source/LibWebP/src/dec/vp8l_dec.c Source/LibWebP/src/dec/vp8_dec.c Source/LibWebP/src/dec/webp_dec.c Source/LibWebP/src/demux/anim_decode.c Source/LibWebP/src/demux/demux.c Source/LibWebP/src/dsp/alpha_processing.c Source/LibWebP/src/dsp/alpha_processing_mips_dsp_r2.c Source/LibWebP/src/dsp/alpha_processing_neon.c Source/LibWebP/src/dsp/alpha_processing_sse2.c Source/LibWebP/src/dsp/alpha_processing_sse41.c Source/LibWebP/src/dsp/cost.c Source/LibWebP/src/dsp/cost_mips32.c Source/LibWebP/src/dsp/cost_mips_dsp_r2.c Source/LibWebP/src/dsp/cost_neon.c Source/LibWebP/src/dsp/cost_sse2.c Source/LibWebP/src/dsp/cpu.c Source/LibWebP/src/dsp/dec.c Source/LibWebP/src/dsp/dec_clip_tables.c Source/LibWebP/src/dsp/dec_mips32.c Source/LibWebP/src/dsp/dec_mips_dsp_r2.c Source/LibWebP/src/dsp/dec_msa.c Source/LibWebP/src/dsp/dec_neon.c Source/LibWebP/src/dsp/dec_sse2.c Source/LibWebP/src/dsp/dec_sse41.c Source/LibWebP/src/dsp/enc.c Source/LibWebP/src/dsp/enc_avx2.c Source/LibWebP/src/dsp/enc_mips32.c Source/LibWebP/src/dsp/enc_mips_dsp_r2.c Source/LibWebP/src/dsp/enc_msa.c Source/LibWebP/src/dsp/enc_neon.c Source/LibWebP/src/dsp/enc_sse2.c Source/LibWebP/src/dsp/enc_sse41.c Source/LibWebP/src/dsp/filters.c Source/LibWebP/src/dsp/filters_mips_dsp_r2.c Source/LibWebP/src/dsp/filters_msa.c Source/LibWebP/src/dsp/filters_neon.c Source/LibWebP/src/dsp/filters_sse2.c Source/LibWebP/src/dsp/lossless.c Source/LibWebP/src/dsp/lossless_enc.c Source/LibWebP/src/dsp/lossless_enc_mips32.c Source/LibWebP/src/dsp/lossless_enc_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_enc_msa.c Source/LibWebP/src/dsp/lossless_enc_neon.c Source/LibWebP/src/dsp/lossless_enc_sse2.c Source/LibWebP/src/dsp/lossless_enc_sse41.c Source/LibWebP/src/dsp/lossless_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_msa.c Source/LibWebP/src/dsp/lossless_neon.c Source/LibWebP/src/dsp/lossless_sse2.c Source/LibWebP/src/dsp/rescaler.c Source/LibWebP/src/dsp/rescaler_mips32.c Source/LibWebP/src/dsp/rescaler_mips_dsp_r2.c Source/LibWebP/src/dsp/rescaler_msa.c Source/LibWebP/src/dsp/rescaler_neon.c Source/LibWebP/src/dsp/rescaler_sse2.c Source/LibWebP/src/dsp/ssim.c Source/LibWebP/src/dsp/ssim_sse2.c Source/LibWebP/src/dsp/upsampling.c Source/LibWebP/src/dsp/upsampling_mips_dsp_r2.c Source/LibWebP/src/dsp/upsampling_msa.c Source/LibWebP/src/dsp/upsampling_neon.c Source/LibWebP/src/dsp/upsampling_sse2.c Source/LibWebP/src/dsp/upsampling_sse41.c Source/LibWebP/src/dsp/yuv.c Source/LibWebP/src/dsp/yuv_mips32.c Source/LibWebP/src/dsp/yuv_mips_dsp_r2.c Source/LibWebP/src/dsp/yuv_neon.c Source/LibWebP/src/dsp/yuv_sse2.c Source/LibWebP/src/dsp/yuv_sse41.c Source/LibWebP/src/enc/alpha_enc.c Source/LibWebP/src/enc/analysis_enc.c Source/LibWebP/src/enc/backward_references_cost_enc.c Source/LibWebP/src/enc/backward_references_enc.c Source/LibWebP/src/enc/config_enc.c Source/LibWebP/src/enc/cost_enc.c Source/LibWebP/src/enc/filter_enc.c Source/LibWebP/src/enc/frame_enc.c Source/LibWebP/src/enc/histogram_enc.c Source/LibWebP/src/enc/iterator_enc.c Source/LibWebP/src/enc/near_lossless_enc.c Source/LibWebP/src/enc/picture_csp_enc.c Source/LibWebP/src/enc/picture_enc.c Source/LibWebP/src/enc/picture_psnr_enc.c Source/LibWebP/src/enc/picture_rescale_enc.c Source/LibWebP/src/enc/picture_tools_enc.c Source/LibWebP/src/enc/predictor_enc.c Source/LibWebP/src/enc/quant_enc.c Source/LibWebP/src/enc/syntax_enc.c Source/LibWebP/src/enc/token_enc.c Source/LibWebP/src/enc/tree_enc.c Source/LibWebP/src/enc/vp8l_enc.c Source/LibWebP/src/enc/webp_enc.c Source/LibWebP/src/mux/anim_encode.c Source/LibWebP/src/mux/muxedit.c Source/LibWebP/src/mux/muxinternal.c Source/LibWebP/src/mux/muxread.c Source/LibWebP/src/utils/bit_reader_utils.c Source/LibWebP/src/utils/bit_writer_utils.c Source/LibWebP/src/utils/color_cache_utils.c Source/LibWebP/src/utils/filters_utils.c Source/LibWebP/src/utils/huffman_encode_utils.c Source/LibWebP/src/utils/huffman_utils.c Source/LibWebP/src/utils/quant_levels_dec_utils.c Source/LibWebP/src/utils/quant_levels_utils.c Source/LibWebP/src/utils/random_utils.c Source/LibWebP/src/utils/rescaler_utils.c Source/LibWebP/src/utils/thread_utils.c Source/LibWebP/src/utils/utils.c Source/LibJXR/image/decode/decode.c Source/LibJXR/image/decode/JXRTranscode.c Source/LibJXR/image/decode/postprocess.c Source/LibJXR/image/decode/segdec.c Source/LibJXR/image/decode/strdec.c Source/LibJXR/image/decode/strdec_x86.c Source/LibJXR/image/decode/strInvTransform.c Source/LibJXR/image/decode/strPredQuantDec.c Source/LibJXR/image/encode/encode.c Source/LibJXR/image/encode/segenc.c Source/LibJXR/image/encode/strenc.c Source/LibJXR/image/encode/strenc_x86.c Source/LibJXR/image/encode/strFwdTransform.c Source/LibJXR/image/encode/strPredQuantEnc.c Source/LibJXR/image/sys/adapthuff.c Source/LibJXR/image/sys/image.c Source/LibJXR/image/sys/strcodec.c Source/LibJXR/image/sys/strPredQuant.c Source/LibJXR/image/sys/strTransform.c Source/LibJXR/jxrgluelib/JXRGlue.c Source/LibJXR/jxrgluelib/JXRGlueJxr.c Source/LibJXR/jxrgluelib/JXRGluePFC.c Source/LibJXR/jxrgluelib/JXRMeta.c --INCLS = ./Examples/OpenGL/TextureManager/TextureManager.h ./Examples/Plugin/PluginCradle.h ./Examples/Generic/FIIO_Mem.h ./Source/MapIntrospector.h ./Source/CacheFile.h ./Source/LibJPEG/cderror.h ./Source/LibJPEG/jmorecfg.h ./Source/LibJPEG/transupp.h ./Source/LibJPEG/jpeglib.h ./Source/LibJPEG/jversion.h ./Source/LibJPEG/jinclude.h ./Source/LibJPEG/jerror.h ./Source/LibJPEG/jconfig.h ./Source/LibJPEG/jdct.h ./Source/LibJPEG/cdjpeg.h ./Source/LibJPEG/jmemsys.h ./Source/LibJPEG/jpegint.h ./Source/Plugin.h ./Source/Metadata/FreeImageTag.h ./Source/Metadata/FIRational.h ./Source/ToneMapping.h ./Source/LibTIFF4/tiffconf.vc.h ./Source/LibTIFF4/tif_config.h ./Source/LibTIFF4/tif_fax3.h ./Source/LibTIFF4/tif_config.vc.h ./Source/LibTIFF4/tiffvers.h ./Source/LibTIFF4/tiffio.h ./Source/LibTIFF4/tif_config.wince.h ./Source/LibTIFF4/tiffconf.wince.h ./Source/LibTIFF4/tiff.h ./Source/LibTIFF4/uvcode.h ./Source/LibTIFF4/tif_dir.h ./Source/LibTIFF4/t4.h ./Source/LibTIFF4/tif_predict.h ./Source/LibTIFF4/tiffiop.h ./Source/LibTIFF4/tiffconf.h ./Source/LibWebP/src/dec/alphai_dec.h ./Source/LibWebP/src/dec/common_dec.h ./Source/LibWebP/src/dec/vp8i_dec.h ./Source/LibWebP/src/dec/webpi_dec.h ./Source/LibWebP/src/dec/vp8li_dec.h ./Source/LibWebP/src/dec/vp8_dec.h ./Source/LibWebP/src/enc/cost_enc.h ./Source/LibWebP/src/enc/histogram_enc.h ./Source/LibWebP/src/enc/vp8li_enc.h ./Source/LibWebP/src/enc/backward_references_enc.h ./Source/LibWebP/src/enc/vp8i_enc.h ./Source/LibWebP/src/utils/bit_reader_utils.h ./Source/LibWebP/src/utils/endian_inl_utils.h ./Source/LibWebP/src/utils/huffman_encode_utils.h ./Source/LibWebP/src/utils/bit_writer_utils.h ./Source/LibWebP/src/utils/random_utils.h ./Source/LibWebP/src/utils/bit_reader_inl_utils.h ./Source/LibWebP/src/utils/quant_levels_dec_utils.h ./Source/LibWebP/src/utils/color_cache_utils.h ./Source/LibWebP/src/utils/thread_utils.h ./Source/LibWebP/src/utils/filters_utils.h ./Source/LibWebP/src/utils/rescaler_utils.h ./Source/LibWebP/src/utils/huffman_utils.h ./Source/LibWebP/src/utils/quant_levels_utils.h ./Source/LibWebP/src/utils/utils.h ./Source/LibWebP/src/mux/muxi.h ./Source/LibWebP/src/mux/animi.h ./Source/LibWebP/src/webp/mux.h ./Source/LibWebP/src/webp/types.h ./Source/LibWebP/src/webp/format_constants.h ./Source/LibWebP/src/webp/demux.h ./Source/LibWebP/src/webp/encode.h ./Source/LibWebP/src/webp/decode.h ./Source/LibWebP/src/webp/mux_types.h ./Source/LibWebP/src/dsp/msa_macro.h ./Source/LibWebP/src/dsp/yuv.h ./Source/LibWebP/src/dsp/common_sse41.h ./Source/LibWebP/src/dsp/neon.h ./Source/LibWebP/src/dsp/common_sse2.h ./Source/LibWebP/src/dsp/quant.h ./Source/LibWebP/src/dsp/lossless_common.h ./Source/LibWebP/src/dsp/mips_macro.h ./Source/LibWebP/src/dsp/dsp.h ./Source/LibWebP/src/dsp/lossless.h ./Source/FreeImageIO.h ./Source/FreeImage.h ./Source/FreeImage/PSDParser.h ./Source/FreeImage/J2KHelper.h ./Source/ZLib/trees.h ./Source/ZLib/inffixed.h ./Source/ZLib/inflate.h ./Source/ZLib/zlib.h ./Source/ZLib/zconf.h ./Source/ZLib/inftrees.h ./Source/ZLib/zutil.h ./Source/ZLib/inffast.h ./Source/ZLib/crc32.h ./Source/ZLib/gzguts.h ./Source/ZLib/deflate.h ./Source/Quantizers.h ./Source/LibOpenJPEG/cio.h ./Source/LibOpenJPEG/mqc.h ./Source/LibOpenJPEG/cidx_manager.h ./Source/LibOpenJPEG/function_list.h ./Source/LibOpenJPEG/indexbox_manager.h ./Source/LibOpenJPEG/opj_config.h ./Source/LibOpenJPEG/opj_clock.h ./Source/LibOpenJPEG/event.h ./Source/LibOpenJPEG/opj_codec.h ./Source/LibOpenJPEG/pi.h ./Source/LibOpenJPEG/dwt.h ./Source/LibOpenJPEG/tgt.h ./Source/LibOpenJPEG/invert.h ./Source/LibOpenJPEG/opj_malloc.h ./Source/LibOpenJPEG/raw.h ./Source/LibOpenJPEG/jp2.h ./Source/LibOpenJPEG/bio.h ./Source/LibOpenJPEG/t2.h ./Source/LibOpenJPEG/mct.h ./Source/LibOpenJPEG/t1.h ./Source/LibOpenJPEG/t1_luts.h ./Source/LibOpenJPEG/j2k.h ./Source/LibOpenJPEG/opj_stdint.h ./Source/LibOpenJPEG/opj_config_private.h ./Source/LibOpenJPEG/opj_includes.h ./Source/LibOpenJPEG/opj_intmath.h ./Source/LibOpenJPEG/image.h ./Source/LibOpenJPEG/opj_inttypes.h ./Source/LibOpenJPEG/openjpeg.h ./Source/LibOpenJPEG/tcd.h ./Source/LibRawLite/libraw/libraw_version.h ./Source/LibRawLite/libraw/libraw_const.h ./Source/LibRawLite/libraw/libraw.h ./Source/LibRawLite/libraw/libraw_types.h ./Source/LibRawLite/libraw/libraw_alloc.h ./Source/LibRawLite/libraw/libraw_datastream.h ./Source/LibRawLite/libraw/libraw_internal.h ./Source/LibRawLite/internal/dmp_include.h ./Source/LibRawLite/internal/libraw_const.h ./Source/LibRawLite/internal/var_defines.h ./Source/LibRawLite/internal/x3f_tools.h ./Source/LibRawLite/internal/defines.h ./Source/LibRawLite/internal/dcraw_fileio_defs.h ./Source/LibRawLite/internal/dcraw_defs.h ./Source/LibRawLite/internal/libraw_cxx_defs.h ./Source/LibRawLite/internal/libraw_internal_funcs.h ./Source/LibPNG/png.h ./Source/LibPNG/pngdebug.h ./Source/LibPNG/pnginfo.h ./Source/LibPNG/pnglibconf.h ./Source/LibPNG/pngstruct.h ./Source/LibPNG/pngpriv.h ./Source/LibPNG/pngconf.h ./Source/LibJXR/common/include/wmspecstrings_strict.h ./Source/LibJXR/common/include/wmspecstring.h ./Source/LibJXR/common/include/guiddef.h ./Source/LibJXR/common/include/wmsal.h ./Source/LibJXR/common/include/wmspecstrings_undef.h ./Source/LibJXR/common/include/wmspecstrings_adt.h ./Source/LibJXR/jxrgluelib/JXRGlue.h ./Source/LibJXR/jxrgluelib/JXRMeta.h ./Source/LibJXR/image/sys/xplatform_image.h ./Source/LibJXR/image/sys/strTransform.h ./Source/LibJXR/image/sys/windowsmediaphoto.h ./Source/LibJXR/image/sys/strcodec.h ./Source/LibJXR/image/sys/ansi.h ./Source/LibJXR/image/sys/perfTimer.h ./Source/LibJXR/image/sys/common.h ./Source/LibJXR/image/decode/decode.h ./Source/LibJXR/image/x86/x86.h ./Source/LibJXR/image/encode/encode.h ./Source/Utilities.h ./Source/FreeImageToolkit/Resize.h ./Source/FreeImageToolkit/Filters.h ./Source/OpenEXR/OpenEXRConfig.h ./Source/OpenEXR/IexMath/IexMathFloatExc.h ./Source/OpenEXR/IexMath/IexMathFpu.h ./Source/OpenEXR/IexMath/IexMathIeeeExc.h ./Source/OpenEXR/IlmThread/IlmThread.h ./Source/OpenEXR/IlmThread/IlmThreadMutex.h ./Source/OpenEXR/IlmThread/IlmThreadForward.h ./Source/OpenEXR/IlmThread/IlmThreadExport.h ./Source/OpenEXR/IlmThread/IlmThreadSemaphore.h ./Source/OpenEXR/IlmThread/IlmThreadPool.h ./Source/OpenEXR/IlmThread/IlmThreadNamespace.h ./Source/OpenEXR/Iex/IexErrnoExc.h ./Source/OpenEXR/Iex/IexMacros.h ./Source/OpenEXR/Iex/IexForward.h ./Source/OpenEXR/Iex/IexExport.h ./Source/OpenEXR/Iex/IexThrowErrnoExc.h ./Source/OpenEXR/Iex/IexNamespace.h ./Source/OpenEXR/Iex/IexMathExc.h ./Source/OpenEXR/Iex/IexBaseExc.h ./Source/OpenEXR/Iex/Iex.h ./Source/OpenEXR/Imath/ImathColorAlgo.h ./Source/OpenEXR/Imath/ImathNamespace.h ./Source/OpenEXR/Imath/ImathVec.h ./Source/OpenEXR/Imath/ImathGL.h ./Source/OpenEXR/Imath/ImathSphere.h ./Source/OpenEXR/Imath/ImathEuler.h ./Source/OpenEXR/Imath/ImathLimits.h ./Source/OpenEXR/Imath/ImathQuat.h ./Source/OpenEXR/Imath/ImathRoots.h ./Source/OpenEXR/Imath/ImathFun.h ./Source/OpenEXR/Imath/ImathExport.h ./Source/OpenEXR/Imath/ImathShear.h ./Source/OpenEXR/Imath/ImathPlane.h ./Source/OpenEXR/Imath/ImathForward.h ./Source/OpenEXR/Imath/ImathHalfLimits.h ./Source/OpenEXR/Imath/ImathFrustumTest.h ./Source/OpenEXR/Imath/ImathMatrixAlgo.h ./Source/OpenEXR/Imath/ImathVecAlgo.h ./Source/OpenEXR/Imath/ImathInterval.h ./Source/OpenEXR/Imath/ImathBox.h ./Source/OpenEXR/Imath/ImathFrame.h ./Source/OpenEXR/Imath/ImathColor.h ./Source/OpenEXR/Imath/ImathMath.h ./Source/OpenEXR/Imath/ImathLine.h ./Source/OpenEXR/Imath/ImathBoxAlgo.h ./Source/OpenEXR/Imath/ImathFrustum.h ./Source/OpenEXR/Imath/ImathExc.h ./Source/OpenEXR/Imath/ImathLineAlgo.h ./Source/OpenEXR/Imath/ImathRandom.h ./Source/OpenEXR/Imath/ImathInt64.h ./Source/OpenEXR/Imath/ImathGLU.h ./Source/OpenEXR/Imath/ImathPlatform.h ./Source/OpenEXR/Imath/ImathMatrix.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.h ./Source/OpenEXR/IlmImf/ImfIO.h ./Source/OpenEXR/IlmImf/ImfStdIO.h ./Source/OpenEXR/IlmImf/ImfPreviewImage.h ./Source/OpenEXR/IlmImf/ImfAttribute.h ./Source/OpenEXR/IlmImf/ImfDwaCompressor.h ./Source/OpenEXR/IlmImf/ImfChannelList.h ./Source/OpenEXR/IlmImf/ImfInt64.h ./Source/OpenEXR/IlmImf/ImfGenericOutputFile.h ./Source/OpenEXR/IlmImf/ImfHuf.h ./Source/OpenEXR/IlmImf/ImfOptimizedPixelReading.h ./Source/OpenEXR/IlmImf/b44ExpLogTable.h ./Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.h ./Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.h ./Source/OpenEXR/IlmImf/ImfFastHuf.h ./Source/OpenEXR/IlmImf/dwaLookups.h ./Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.h ./Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.h ./Source/OpenEXR/IlmImf/ImfInputPartData.h ./Source/OpenEXR/IlmImf/ImfAcesFile.h ./Source/OpenEXR/IlmImf/ImfRgbaYca.h ./Source/OpenEXR/IlmImf/ImfThreading.h ./Source/OpenEXR/IlmImf/ImfWav.h ./Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.h ./Source/OpenEXR/IlmImf/ImfDwaCompressorSimd.h ./Source/OpenEXR/IlmImf/ImfNamespace.h ./Source/OpenEXR/IlmImf/ImfMatrixAttribute.h ./Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.h ./Source/OpenEXR/IlmImf/ImfInputFile.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.h ./Source/OpenEXR/IlmImf/ImfFloatAttribute.h ./Source/OpenEXR/IlmImf/ImfPxr24Compressor.h ./Source/OpenEXR/IlmImf/ImfCompressor.h ./Source/OpenEXR/IlmImf/ImfCRgbaFile.h ./Source/OpenEXR/IlmImf/ImfOutputFile.h ./Source/OpenEXR/IlmImf/ImfTiledInputPart.h ./Source/OpenEXR/IlmImf/ImfRationalAttribute.h ./Source/OpenEXR/IlmImf/ImfTileOffsets.h ./Source/OpenEXR/IlmImf/ImfInputStreamMutex.h ./Source/OpenEXR/IlmImf/ImfIntAttribute.h ./Source/OpenEXR/IlmImf/ImfTiledOutputPart.h ./Source/OpenEXR/IlmImf/ImfPartType.h ./Source/OpenEXR/IlmImf/ImfTiledInputFile.h ./Source/OpenEXR/IlmImf/ImfStringAttribute.h ./Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.h ./Source/OpenEXR/IlmImf/ImfRleCompressor.h ./Source/OpenEXR/IlmImf/ImfChromaticities.h ./Source/OpenEXR/IlmImf/ImfTestFile.h ./Source/OpenEXR/IlmImf/ImfInputPart.h ./Source/OpenEXR/IlmImf/ImfXdr.h ./Source/OpenEXR/IlmImf/ImfOutputPart.h ./Source/OpenEXR/IlmImf/ImfExport.h ./Source/OpenEXR/IlmImf/ImfRgba.h ./Source/OpenEXR/IlmImf/ImfLineOrder.h ./Source/OpenEXR/IlmImf/ImfCompression.h ./Source/OpenEXR/IlmImf/ImfTiledMisc.h ./Source/OpenEXR/IlmImf/ImfFramesPerSecond.h ./Source/OpenEXR/IlmImf/ImfZipCompressor.h ./Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.h ./Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.h ./Source/OpenEXR/IlmImf/ImfMultiPartInputFile.h ./Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.h ./Source/OpenEXR/IlmImf/ImfRational.h ./Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.h ./Source/OpenEXR/IlmImf/ImfChannelListAttribute.h ./Source/OpenEXR/IlmImf/ImfDeepCompositing.h ./Source/OpenEXR/IlmImf/ImfOutputPartData.h ./Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.h ./Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.h ./Source/OpenEXR/IlmImf/ImfFrameBuffer.h ./Source/OpenEXR/IlmImf/ImfDeepImageState.h ./Source/OpenEXR/IlmImf/ImfOpaqueAttribute.h ./Source/OpenEXR/IlmImf/ImfEnvmapAttribute.h ./Source/OpenEXR/IlmImf/ImfPizCompressor.h ./Source/OpenEXR/IlmImf/ImfStringVectorAttribute.h ./Source/OpenEXR/IlmImf/ImfMultiView.h ./Source/OpenEXR/IlmImf/ImfAutoArray.h ./Source/OpenEXR/IlmImf/ImfLut.h ./Source/OpenEXR/IlmImf/ImfTiledOutputFile.h ./Source/OpenEXR/IlmImf/ImfBoxAttribute.h ./Source/OpenEXR/IlmImf/ImfCheckedArithmetic.h ./Source/OpenEXR/IlmImf/ImfB44Compressor.h ./Source/OpenEXR/IlmImf/ImfSystemSpecific.h ./Source/OpenEXR/IlmImf/ImfRgbaFile.h ./Source/OpenEXR/IlmImf/ImfTimeCode.h ./Source/OpenEXR/IlmImf/ImfVecAttribute.h ./Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.h ./Source/OpenEXR/IlmImf/ImfZip.h ./Source/OpenEXR/IlmImf/ImfConvert.h ./Source/OpenEXR/IlmImf/ImfMisc.h ./Source/OpenEXR/IlmImf/ImfHeader.h ./Source/OpenEXR/IlmImf/ImfForward.h ./Source/OpenEXR/IlmImf/ImfPartHelper.h ./Source/OpenEXR/IlmImf/ImfKeyCode.h ./Source/OpenEXR/IlmImf/ImfVersion.h ./Source/OpenEXR/IlmImf/ImfStandardAttributes.h ./Source/OpenEXR/IlmImf/ImfPixelType.h ./Source/OpenEXR/IlmImf/ImfName.h ./Source/OpenEXR/IlmImf/ImfSimd.h ./Source/OpenEXR/IlmImf/ImfArray.h ./Source/OpenEXR/IlmImf/ImfOutputStreamMutex.h ./Source/OpenEXR/IlmImf/ImfTiledRgbaFile.h ./Source/OpenEXR/IlmImf/ImfRle.h ./Source/OpenEXR/IlmImf/ImfScanLineInputFile.h ./Source/OpenEXR/IlmImf/ImfDoubleAttribute.h ./Source/OpenEXR/IlmImf/ImfGenericInputFile.h ./Source/OpenEXR/IlmImf/ImfEnvmap.h ./Source/OpenEXR/IlmImf/ImfLineOrderAttribute.h ./Source/OpenEXR/IlmImf/ImfTileDescription.h ./Source/OpenEXR/IlmImf/ImfCompressionAttribute.h ./Source/OpenEXR/IlmBaseConfig.h ./Source/OpenEXR/Half/halfFunction.h ./Source/OpenEXR/Half/halfExport.h ./Source/OpenEXR/Half/half.h ./Source/OpenEXR/Half/eLut.h ./Source/OpenEXR/Half/halfLimits.h ./Source/OpenEXR/Half/toFloat.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/FreeImageIO.Net.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/Stdafx.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/resource.h ./Wrapper/FreeImagePlus/dist/x64/FreeImagePlus.h ./Wrapper/FreeImagePlus/FreeImagePlus.h ./Wrapper/FreeImagePlus/test/fipTest.h ./TestAPI/TestSuite.h +-SRCS = ./Source/FreeImage/BitmapAccess.cpp ./Source/FreeImage/ColorLookup.cpp ./Source/FreeImage/ConversionRGBA16.cpp ./Source/FreeImage/ConversionRGBAF.cpp ./Source/FreeImage/FreeImage.cpp ./Source/FreeImage/FreeImageC.c ./Source/FreeImage/FreeImageIO.cpp ./Source/FreeImage/GetType.cpp ./Source/FreeImage/LFPQuantizer.cpp ./Source/FreeImage/MemoryIO.cpp ./Source/FreeImage/PixelAccess.cpp ./Source/FreeImage/J2KHelper.cpp ./Source/FreeImage/MNGHelper.cpp ./Source/FreeImage/Plugin.cpp ./Source/FreeImage/PluginBMP.cpp ./Source/FreeImage/PluginCUT.cpp ./Source/FreeImage/PluginDDS.cpp ./Source/FreeImage/PluginEXR.cpp ./Source/FreeImage/PluginG3.cpp ./Source/FreeImage/PluginGIF.cpp ./Source/FreeImage/PluginHDR.cpp ./Source/FreeImage/PluginICO.cpp ./Source/FreeImage/PluginIFF.cpp ./Source/FreeImage/PluginJ2K.cpp ./Source/FreeImage/PluginJNG.cpp ./Source/FreeImage/PluginJP2.cpp ./Source/FreeImage/PluginJPEG.cpp ./Source/FreeImage/PluginJXR.cpp ./Source/FreeImage/PluginKOALA.cpp ./Source/FreeImage/PluginMNG.cpp ./Source/FreeImage/PluginPCD.cpp ./Source/FreeImage/PluginPCX.cpp ./Source/FreeImage/PluginPFM.cpp ./Source/FreeImage/PluginPICT.cpp ./Source/FreeImage/PluginPNG.cpp ./Source/FreeImage/PluginPNM.cpp ./Source/FreeImage/PluginPSD.cpp ./Source/FreeImage/PluginRAS.cpp ./Source/FreeImage/PluginRAW.cpp ./Source/FreeImage/PluginSGI.cpp ./Source/FreeImage/PluginTARGA.cpp ./Source/FreeImage/PluginTIFF.cpp ./Source/FreeImage/PluginWBMP.cpp ./Source/FreeImage/PluginWebP.cpp ./Source/FreeImage/PluginXBM.cpp ./Source/FreeImage/PluginXPM.cpp ./Source/FreeImage/PSDParser.cpp ./Source/FreeImage/TIFFLogLuv.cpp ./Source/FreeImage/Conversion.cpp ./Source/FreeImage/Conversion16_555.cpp ./Source/FreeImage/Conversion16_565.cpp ./Source/FreeImage/Conversion24.cpp ./Source/FreeImage/Conversion32.cpp ./Source/FreeImage/Conversion4.cpp ./Source/FreeImage/Conversion8.cpp ./Source/FreeImage/ConversionFloat.cpp ./Source/FreeImage/ConversionRGB16.cpp ./Source/FreeImage/ConversionRGBF.cpp ./Source/FreeImage/ConversionType.cpp ./Source/FreeImage/ConversionUINT16.cpp ./Source/FreeImage/Halftoning.cpp ./Source/FreeImage/tmoColorConvert.cpp ./Source/FreeImage/tmoDrago03.cpp ./Source/FreeImage/tmoFattal02.cpp ./Source/FreeImage/tmoReinhard05.cpp ./Source/FreeImage/ToneMapping.cpp ./Source/FreeImage/NNQuantizer.cpp ./Source/FreeImage/WuQuantizer.cpp ./Source/FreeImage/CacheFile.cpp ./Source/FreeImage/MultiPage.cpp ./Source/FreeImage/ZLibInterface.cpp ./Source/Metadata/Exif.cpp ./Source/Metadata/FIRational.cpp ./Source/Metadata/FreeImageTag.cpp ./Source/Metadata/IPTC.cpp ./Source/Metadata/TagConversion.cpp ./Source/Metadata/TagLib.cpp ./Source/Metadata/XTIFF.cpp ./Source/FreeImageToolkit/Background.cpp ./Source/FreeImageToolkit/BSplineRotate.cpp ./Source/FreeImageToolkit/Channels.cpp ./Source/FreeImageToolkit/ClassicRotate.cpp ./Source/FreeImageToolkit/Colors.cpp ./Source/FreeImageToolkit/CopyPaste.cpp ./Source/FreeImageToolkit/Display.cpp ./Source/FreeImageToolkit/Flip.cpp ./Source/FreeImageToolkit/JPEGTransform.cpp ./Source/FreeImageToolkit/MultigridPoissonSolver.cpp ./Source/FreeImageToolkit/Rescale.cpp ./Source/FreeImageToolkit/Resize.cpp Source/LibJPEG/jaricom.c Source/LibJPEG/jcapimin.c Source/LibJPEG/jcapistd.c Source/LibJPEG/jcarith.c Source/LibJPEG/jccoefct.c Source/LibJPEG/jccolor.c Source/LibJPEG/jcdctmgr.c Source/LibJPEG/jchuff.c Source/LibJPEG/jcinit.c Source/LibJPEG/jcmainct.c Source/LibJPEG/jcmarker.c Source/LibJPEG/jcmaster.c Source/LibJPEG/jcomapi.c Source/LibJPEG/jcparam.c Source/LibJPEG/jcprepct.c Source/LibJPEG/jcsample.c Source/LibJPEG/jctrans.c Source/LibJPEG/jdapimin.c Source/LibJPEG/jdapistd.c Source/LibJPEG/jdarith.c Source/LibJPEG/jdatadst.c Source/LibJPEG/jdatasrc.c Source/LibJPEG/jdcoefct.c Source/LibJPEG/jdcolor.c Source/LibJPEG/jddctmgr.c Source/LibJPEG/jdhuff.c Source/LibJPEG/jdinput.c Source/LibJPEG/jdmainct.c Source/LibJPEG/jdmarker.c Source/LibJPEG/jdmaster.c Source/LibJPEG/jdmerge.c Source/LibJPEG/jdpostct.c Source/LibJPEG/jdsample.c Source/LibJPEG/jdtrans.c Source/LibJPEG/jerror.c Source/LibJPEG/jfdctflt.c Source/LibJPEG/jfdctfst.c Source/LibJPEG/jfdctint.c Source/LibJPEG/jidctflt.c Source/LibJPEG/jidctfst.c Source/LibJPEG/jidctint.c Source/LibJPEG/jmemmgr.c Source/LibJPEG/jmemnobs.c Source/LibJPEG/jquant1.c Source/LibJPEG/jquant2.c Source/LibJPEG/jutils.c Source/LibJPEG/transupp.c Source/LibPNG/png.c Source/LibPNG/pngerror.c Source/LibPNG/pngget.c Source/LibPNG/pngmem.c Source/LibPNG/pngpread.c Source/LibPNG/pngread.c Source/LibPNG/pngrio.c Source/LibPNG/pngrtran.c Source/LibPNG/pngrutil.c Source/LibPNG/pngset.c Source/LibPNG/pngtrans.c Source/LibPNG/pngwio.c Source/LibPNG/pngwrite.c Source/LibPNG/pngwtran.c Source/LibPNG/pngwutil.c Source/LibTIFF4/tif_aux.c Source/LibTIFF4/tif_close.c Source/LibTIFF4/tif_codec.c Source/LibTIFF4/tif_color.c Source/LibTIFF4/tif_compress.c Source/LibTIFF4/tif_dir.c Source/LibTIFF4/tif_dirinfo.c Source/LibTIFF4/tif_dirread.c Source/LibTIFF4/tif_dirwrite.c Source/LibTIFF4/tif_dumpmode.c Source/LibTIFF4/tif_error.c Source/LibTIFF4/tif_extension.c Source/LibTIFF4/tif_fax3.c Source/LibTIFF4/tif_fax3sm.c Source/LibTIFF4/tif_flush.c Source/LibTIFF4/tif_getimage.c Source/LibTIFF4/tif_jpeg.c Source/LibTIFF4/tif_lerc.c Source/LibTIFF4/tif_luv.c Source/LibTIFF4/tif_lzw.c Source/LibTIFF4/tif_next.c Source/LibTIFF4/tif_ojpeg.c Source/LibTIFF4/tif_open.c Source/LibTIFF4/tif_packbits.c Source/LibTIFF4/tif_pixarlog.c Source/LibTIFF4/tif_predict.c Source/LibTIFF4/tif_print.c Source/LibTIFF4/tif_read.c Source/LibTIFF4/tif_strip.c Source/LibTIFF4/tif_swab.c Source/LibTIFF4/tif_thunder.c Source/LibTIFF4/tif_tile.c Source/LibTIFF4/tif_version.c Source/LibTIFF4/tif_warning.c Source/LibTIFF4/tif_webp.c Source/LibTIFF4/tif_write.c Source/LibTIFF4/tif_zip.c Source/ZLib/adler32.c Source/ZLib/compress.c Source/ZLib/crc32.c Source/ZLib/deflate.c Source/ZLib/gzclose.c Source/ZLib/gzlib.c Source/ZLib/gzread.c Source/ZLib/gzwrite.c Source/ZLib/infback.c Source/ZLib/inffast.c Source/ZLib/inflate.c Source/ZLib/inftrees.c Source/ZLib/trees.c Source/ZLib/uncompr.c Source/ZLib/zutil.c Source/LibOpenJPEG/bio.c Source/LibOpenJPEG/cio.c Source/LibOpenJPEG/dwt.c Source/LibOpenJPEG/event.c Source/LibOpenJPEG/function_list.c Source/LibOpenJPEG/image.c Source/LibOpenJPEG/invert.c Source/LibOpenJPEG/j2k.c Source/LibOpenJPEG/jp2.c Source/LibOpenJPEG/mct.c Source/LibOpenJPEG/mqc.c Source/LibOpenJPEG/openjpeg.c Source/LibOpenJPEG/opj_clock.c Source/LibOpenJPEG/pi.c Source/LibOpenJPEG/raw.c Source/LibOpenJPEG/t1.c Source/LibOpenJPEG/t2.c Source/LibOpenJPEG/tcd.c Source/LibOpenJPEG/tgt.c Source/OpenEXR/IexMath/IexMathFpu.cpp Source/OpenEXR/IlmImf/b44ExpLogTable.cpp Source/OpenEXR/IlmImf/ImfAcesFile.cpp Source/OpenEXR/IlmImf/ImfAttribute.cpp Source/OpenEXR/IlmImf/ImfB44Compressor.cpp Source/OpenEXR/IlmImf/ImfBoxAttribute.cpp Source/OpenEXR/IlmImf/ImfChannelList.cpp Source/OpenEXR/IlmImf/ImfChannelListAttribute.cpp Source/OpenEXR/IlmImf/ImfChromaticities.cpp Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.cpp Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.cpp Source/OpenEXR/IlmImf/ImfCompressionAttribute.cpp Source/OpenEXR/IlmImf/ImfCompressor.cpp Source/OpenEXR/IlmImf/ImfConvert.cpp Source/OpenEXR/IlmImf/ImfCRgbaFile.cpp Source/OpenEXR/IlmImf/ImfDeepCompositing.cpp Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfDoubleAttribute.cpp Source/OpenEXR/IlmImf/ImfDwaCompressor.cpp Source/OpenEXR/IlmImf/ImfEnvmap.cpp Source/OpenEXR/IlmImf/ImfEnvmapAttribute.cpp Source/OpenEXR/IlmImf/ImfFastHuf.cpp Source/OpenEXR/IlmImf/ImfFloatAttribute.cpp Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfFramesPerSecond.cpp Source/OpenEXR/IlmImf/ImfGenericInputFile.cpp Source/OpenEXR/IlmImf/ImfGenericOutputFile.cpp Source/OpenEXR/IlmImf/ImfHeader.cpp Source/OpenEXR/IlmImf/ImfHuf.cpp Source/OpenEXR/IlmImf/ImfInputFile.cpp Source/OpenEXR/IlmImf/ImfInputPart.cpp Source/OpenEXR/IlmImf/ImfInputPartData.cpp Source/OpenEXR/IlmImf/ImfIntAttribute.cpp Source/OpenEXR/IlmImf/ImfIO.cpp Source/OpenEXR/IlmImf/ImfKeyCode.cpp Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfLineOrderAttribute.cpp Source/OpenEXR/IlmImf/ImfLut.cpp Source/OpenEXR/IlmImf/ImfMatrixAttribute.cpp Source/OpenEXR/IlmImf/ImfMisc.cpp Source/OpenEXR/IlmImf/ImfMultiPartInputFile.cpp Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.cpp Source/OpenEXR/IlmImf/ImfMultiView.cpp Source/OpenEXR/IlmImf/ImfOpaqueAttribute.cpp Source/OpenEXR/IlmImf/ImfOutputFile.cpp Source/OpenEXR/IlmImf/ImfOutputPart.cpp Source/OpenEXR/IlmImf/ImfOutputPartData.cpp Source/OpenEXR/IlmImf/ImfPartType.cpp Source/OpenEXR/IlmImf/ImfPizCompressor.cpp Source/OpenEXR/IlmImf/ImfPreviewImage.cpp Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.cpp Source/OpenEXR/IlmImf/ImfPxr24Compressor.cpp Source/OpenEXR/IlmImf/ImfRational.cpp Source/OpenEXR/IlmImf/ImfRationalAttribute.cpp Source/OpenEXR/IlmImf/ImfRgbaFile.cpp Source/OpenEXR/IlmImf/ImfRgbaYca.cpp Source/OpenEXR/IlmImf/ImfRle.cpp Source/OpenEXR/IlmImf/ImfRleCompressor.cpp Source/OpenEXR/IlmImf/ImfScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfStandardAttributes.cpp Source/OpenEXR/IlmImf/ImfStdIO.cpp Source/OpenEXR/IlmImf/ImfStringAttribute.cpp Source/OpenEXR/IlmImf/ImfStringVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfSystemSpecific.cpp Source/OpenEXR/IlmImf/ImfTestFile.cpp Source/OpenEXR/IlmImf/ImfThreading.cpp Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.cpp Source/OpenEXR/IlmImf/ImfTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfTiledMisc.cpp Source/OpenEXR/IlmImf/ImfTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfTiledRgbaFile.cpp Source/OpenEXR/IlmImf/ImfTileOffsets.cpp Source/OpenEXR/IlmImf/ImfTimeCode.cpp Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfVecAttribute.cpp Source/OpenEXR/IlmImf/ImfVersion.cpp Source/OpenEXR/IlmImf/ImfWav.cpp Source/OpenEXR/IlmImf/ImfZip.cpp Source/OpenEXR/IlmImf/ImfZipCompressor.cpp Source/OpenEXR/Imath/ImathBox.cpp Source/OpenEXR/Imath/ImathColorAlgo.cpp Source/OpenEXR/Imath/ImathFun.cpp Source/OpenEXR/Imath/ImathMatrixAlgo.cpp Source/OpenEXR/Imath/ImathRandom.cpp Source/OpenEXR/Imath/ImathShear.cpp Source/OpenEXR/Imath/ImathVec.cpp Source/OpenEXR/Iex/IexBaseExc.cpp Source/OpenEXR/Iex/IexThrowErrnoExc.cpp Source/OpenEXR/Half/half.cpp Source/OpenEXR/IlmThread/IlmThread.cpp Source/OpenEXR/IlmThread/IlmThreadMutex.cpp Source/OpenEXR/IlmThread/IlmThreadPool.cpp Source/OpenEXR/IlmThread/IlmThreadSemaphore.cpp Source/OpenEXR/IexMath/IexMathFloatExc.cpp Source/LibRawLite/src/decoders/canon_600.cpp Source/LibRawLite/src/decoders/crx.cpp Source/LibRawLite/src/decoders/decoders_dcraw.cpp Source/LibRawLite/src/decoders/decoders_libraw.cpp Source/LibRawLite/src/decoders/decoders_libraw_dcrdefs.cpp Source/LibRawLite/src/decoders/dng.cpp Source/LibRawLite/src/decoders/fp_dng.cpp Source/LibRawLite/src/decoders/fuji_compressed.cpp Source/LibRawLite/src/decoders/generic.cpp Source/LibRawLite/src/decoders/kodak_decoders.cpp Source/LibRawLite/src/decoders/load_mfbacks.cpp Source/LibRawLite/src/decoders/smal.cpp Source/LibRawLite/src/decoders/unpack.cpp Source/LibRawLite/src/decoders/unpack_thumb.cpp Source/LibRawLite/src/demosaic/aahd_demosaic.cpp Source/LibRawLite/src/demosaic/ahd_demosaic.cpp Source/LibRawLite/src/demosaic/dcb_demosaic.cpp Source/LibRawLite/src/demosaic/dht_demosaic.cpp Source/LibRawLite/src/demosaic/misc_demosaic.cpp Source/LibRawLite/src/demosaic/xtrans_demosaic.cpp Source/LibRawLite/src/integration/dngsdk_glue.cpp Source/LibRawLite/src/integration/rawspeed_glue.cpp Source/LibRawLite/src/libraw_datastream.cpp Source/LibRawLite/src/metadata/adobepano.cpp Source/LibRawLite/src/metadata/canon.cpp Source/LibRawLite/src/metadata/ciff.cpp Source/LibRawLite/src/metadata/cr3_parser.cpp Source/LibRawLite/src/metadata/epson.cpp Source/LibRawLite/src/metadata/exif_gps.cpp Source/LibRawLite/src/metadata/fuji.cpp Source/LibRawLite/src/metadata/hasselblad_model.cpp Source/LibRawLite/src/metadata/identify.cpp Source/LibRawLite/src/metadata/identify_tools.cpp Source/LibRawLite/src/metadata/kodak.cpp Source/LibRawLite/src/metadata/leica.cpp Source/LibRawLite/src/metadata/makernotes.cpp Source/LibRawLite/src/metadata/mediumformat.cpp Source/LibRawLite/src/metadata/minolta.cpp Source/LibRawLite/src/metadata/misc_parsers.cpp Source/LibRawLite/src/metadata/nikon.cpp Source/LibRawLite/src/metadata/normalize_model.cpp Source/LibRawLite/src/metadata/olympus.cpp Source/LibRawLite/src/metadata/p1.cpp Source/LibRawLite/src/metadata/pentax.cpp Source/LibRawLite/src/metadata/samsung.cpp Source/LibRawLite/src/metadata/sony.cpp Source/LibRawLite/src/metadata/tiff.cpp Source/LibRawLite/src/postprocessing/aspect_ratio.cpp Source/LibRawLite/src/postprocessing/dcraw_process.cpp Source/LibRawLite/src/postprocessing/mem_image.cpp Source/LibRawLite/src/postprocessing/postprocessing_aux.cpp Source/LibRawLite/src/postprocessing/postprocessing_utils.cpp Source/LibRawLite/src/postprocessing/postprocessing_utils_dcrdefs.cpp Source/LibRawLite/src/preprocessing/ext_preprocess.cpp Source/LibRawLite/src/preprocessing/raw2image.cpp Source/LibRawLite/src/preprocessing/subtract_black.cpp Source/LibRawLite/src/tables/cameralist.cpp Source/LibRawLite/src/tables/colorconst.cpp Source/LibRawLite/src/tables/colordata.cpp Source/LibRawLite/src/tables/wblists.cpp Source/LibRawLite/src/utils/curves.cpp Source/LibRawLite/src/utils/decoder_info.cpp Source/LibRawLite/src/utils/init_close_utils.cpp Source/LibRawLite/src/utils/open.cpp Source/LibRawLite/src/utils/phaseone_processing.cpp Source/LibRawLite/src/utils/read_utils.cpp Source/LibRawLite/src/utils/thumb_utils.cpp Source/LibRawLite/src/utils/utils_dcraw.cpp Source/LibRawLite/src/utils/utils_libraw.cpp Source/LibRawLite/src/write/file_write.cpp Source/LibRawLite/src/x3f/x3f_parse_process.cpp Source/LibRawLite/src/x3f/x3f_utils_patched.cpp Source/LibWebP/src/dec/alpha_dec.c Source/LibWebP/src/dec/buffer_dec.c Source/LibWebP/src/dec/frame_dec.c Source/LibWebP/src/dec/idec_dec.c Source/LibWebP/src/dec/io_dec.c Source/LibWebP/src/dec/quant_dec.c Source/LibWebP/src/dec/tree_dec.c Source/LibWebP/src/dec/vp8l_dec.c Source/LibWebP/src/dec/vp8_dec.c Source/LibWebP/src/dec/webp_dec.c Source/LibWebP/src/demux/anim_decode.c Source/LibWebP/src/demux/demux.c Source/LibWebP/src/dsp/alpha_processing.c Source/LibWebP/src/dsp/alpha_processing_mips_dsp_r2.c Source/LibWebP/src/dsp/alpha_processing_neon.c Source/LibWebP/src/dsp/alpha_processing_sse2.c Source/LibWebP/src/dsp/alpha_processing_sse41.c Source/LibWebP/src/dsp/cost.c Source/LibWebP/src/dsp/cost_mips32.c Source/LibWebP/src/dsp/cost_mips_dsp_r2.c Source/LibWebP/src/dsp/cost_neon.c Source/LibWebP/src/dsp/cost_sse2.c Source/LibWebP/src/dsp/cpu.c Source/LibWebP/src/dsp/dec.c Source/LibWebP/src/dsp/dec_clip_tables.c Source/LibWebP/src/dsp/dec_mips32.c Source/LibWebP/src/dsp/dec_mips_dsp_r2.c Source/LibWebP/src/dsp/dec_msa.c Source/LibWebP/src/dsp/dec_neon.c Source/LibWebP/src/dsp/dec_sse2.c Source/LibWebP/src/dsp/dec_sse41.c Source/LibWebP/src/dsp/enc.c Source/LibWebP/src/dsp/enc_avx2.c Source/LibWebP/src/dsp/enc_mips32.c Source/LibWebP/src/dsp/enc_mips_dsp_r2.c Source/LibWebP/src/dsp/enc_msa.c Source/LibWebP/src/dsp/enc_neon.c Source/LibWebP/src/dsp/enc_sse2.c Source/LibWebP/src/dsp/enc_sse41.c Source/LibWebP/src/dsp/filters.c Source/LibWebP/src/dsp/filters_mips_dsp_r2.c Source/LibWebP/src/dsp/filters_msa.c Source/LibWebP/src/dsp/filters_neon.c Source/LibWebP/src/dsp/filters_sse2.c Source/LibWebP/src/dsp/lossless.c Source/LibWebP/src/dsp/lossless_enc.c Source/LibWebP/src/dsp/lossless_enc_mips32.c Source/LibWebP/src/dsp/lossless_enc_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_enc_msa.c Source/LibWebP/src/dsp/lossless_enc_neon.c Source/LibWebP/src/dsp/lossless_enc_sse2.c Source/LibWebP/src/dsp/lossless_enc_sse41.c Source/LibWebP/src/dsp/lossless_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_msa.c Source/LibWebP/src/dsp/lossless_neon.c Source/LibWebP/src/dsp/lossless_sse2.c Source/LibWebP/src/dsp/lossless_sse41.c Source/LibWebP/src/dsp/rescaler.c Source/LibWebP/src/dsp/rescaler_mips32.c Source/LibWebP/src/dsp/rescaler_mips_dsp_r2.c Source/LibWebP/src/dsp/rescaler_msa.c Source/LibWebP/src/dsp/rescaler_neon.c Source/LibWebP/src/dsp/rescaler_sse2.c Source/LibWebP/src/dsp/ssim.c Source/LibWebP/src/dsp/ssim_sse2.c Source/LibWebP/src/dsp/upsampling.c Source/LibWebP/src/dsp/upsampling_mips_dsp_r2.c Source/LibWebP/src/dsp/upsampling_msa.c Source/LibWebP/src/dsp/upsampling_neon.c Source/LibWebP/src/dsp/upsampling_sse2.c Source/LibWebP/src/dsp/upsampling_sse41.c Source/LibWebP/src/dsp/yuv.c Source/LibWebP/src/dsp/yuv_mips32.c Source/LibWebP/src/dsp/yuv_mips_dsp_r2.c Source/LibWebP/src/dsp/yuv_neon.c Source/LibWebP/src/dsp/yuv_sse2.c Source/LibWebP/src/dsp/yuv_sse41.c Source/LibWebP/src/enc/alpha_enc.c Source/LibWebP/src/enc/analysis_enc.c Source/LibWebP/src/enc/backward_references_cost_enc.c Source/LibWebP/src/enc/backward_references_enc.c Source/LibWebP/src/enc/config_enc.c Source/LibWebP/src/enc/cost_enc.c Source/LibWebP/src/enc/filter_enc.c Source/LibWebP/src/enc/frame_enc.c Source/LibWebP/src/enc/histogram_enc.c Source/LibWebP/src/enc/iterator_enc.c Source/LibWebP/src/enc/near_lossless_enc.c Source/LibWebP/src/enc/picture_csp_enc.c Source/LibWebP/src/enc/picture_enc.c Source/LibWebP/src/enc/picture_psnr_enc.c Source/LibWebP/src/enc/picture_rescale_enc.c Source/LibWebP/src/enc/picture_tools_enc.c Source/LibWebP/src/enc/predictor_enc.c Source/LibWebP/src/enc/quant_enc.c Source/LibWebP/src/enc/syntax_enc.c Source/LibWebP/src/enc/token_enc.c Source/LibWebP/src/enc/tree_enc.c Source/LibWebP/src/enc/vp8l_enc.c Source/LibWebP/src/enc/webp_enc.c Source/LibWebP/src/mux/anim_encode.c Source/LibWebP/src/mux/muxedit.c Source/LibWebP/src/mux/muxinternal.c Source/LibWebP/src/mux/muxread.c Source/LibWebP/src/utils/bit_reader_utils.c Source/LibWebP/src/utils/bit_writer_utils.c Source/LibWebP/src/utils/color_cache_utils.c Source/LibWebP/src/utils/filters_utils.c Source/LibWebP/src/utils/huffman_encode_utils.c Source/LibWebP/src/utils/huffman_utils.c Source/LibWebP/src/utils/quant_levels_dec_utils.c Source/LibWebP/src/utils/quant_levels_utils.c Source/LibWebP/src/utils/random_utils.c Source/LibWebP/src/utils/rescaler_utils.c Source/LibWebP/src/utils/thread_utils.c Source/LibWebP/src/utils/utils.c Source/LibJXR/image/decode/decode.c Source/LibJXR/image/decode/JXRTranscode.c Source/LibJXR/image/decode/postprocess.c Source/LibJXR/image/decode/segdec.c Source/LibJXR/image/decode/strdec.c Source/LibJXR/image/decode/strdec_x86.c Source/LibJXR/image/decode/strInvTransform.c Source/LibJXR/image/decode/strPredQuantDec.c Source/LibJXR/image/encode/encode.c Source/LibJXR/image/encode/segenc.c Source/LibJXR/image/encode/strenc.c Source/LibJXR/image/encode/strenc_x86.c Source/LibJXR/image/encode/strFwdTransform.c Source/LibJXR/image/encode/strPredQuantEnc.c Source/LibJXR/image/sys/adapthuff.c Source/LibJXR/image/sys/image.c Source/LibJXR/image/sys/strcodec.c Source/LibJXR/image/sys/strPredQuant.c Source/LibJXR/image/sys/strTransform.c Source/LibJXR/jxrgluelib/JXRGlue.c Source/LibJXR/jxrgluelib/JXRGlueJxr.c Source/LibJXR/jxrgluelib/JXRGluePFC.c Source/LibJXR/jxrgluelib/JXRMeta.c +-INCLS = ./Dist/FreeImage.h ./Examples/Generic/FIIO_Mem.h ./Examples/OpenGL/TextureManager/TextureManager.h ./Examples/Plugin/PluginCradle.h ./Source/CacheFile.h ./Source/FreeImage/J2KHelper.h ./Source/FreeImage/PSDParser.h ./Source/FreeImage.h ./Source/FreeImageIO.h ./Source/FreeImageToolkit/Filters.h ./Source/FreeImageToolkit/Resize.h ./Source/LibJPEG/cderror.h ./Source/LibJPEG/cdjpeg.h ./Source/LibJPEG/jconfig.h ./Source/LibJPEG/jdct.h ./Source/LibJPEG/jerror.h ./Source/LibJPEG/jinclude.h ./Source/LibJPEG/jmemsys.h ./Source/LibJPEG/jmorecfg.h ./Source/LibJPEG/jpegint.h ./Source/LibJPEG/jpeglib.h ./Source/LibJPEG/jversion.h ./Source/LibJPEG/transupp.h ./Source/LibJXR/common/include/guiddef.h ./Source/LibJXR/common/include/wmsal.h ./Source/LibJXR/common/include/wmspecstring.h ./Source/LibJXR/common/include/wmspecstrings_adt.h ./Source/LibJXR/common/include/wmspecstrings_strict.h ./Source/LibJXR/common/include/wmspecstrings_undef.h ./Source/LibJXR/image/decode/decode.h ./Source/LibJXR/image/encode/encode.h ./Source/LibJXR/image/sys/ansi.h ./Source/LibJXR/image/sys/common.h ./Source/LibJXR/image/sys/perfTimer.h ./Source/LibJXR/image/sys/strcodec.h ./Source/LibJXR/image/sys/strTransform.h ./Source/LibJXR/image/sys/windowsmediaphoto.h ./Source/LibJXR/image/sys/xplatform_image.h ./Source/LibJXR/image/x86/x86.h ./Source/LibJXR/jxrgluelib/JXRGlue.h ./Source/LibJXR/jxrgluelib/JXRMeta.h ./Source/LibOpenJPEG/bio.h ./Source/LibOpenJPEG/cidx_manager.h ./Source/LibOpenJPEG/cio.h ./Source/LibOpenJPEG/dwt.h ./Source/LibOpenJPEG/event.h ./Source/LibOpenJPEG/function_list.h ./Source/LibOpenJPEG/image.h ./Source/LibOpenJPEG/indexbox_manager.h ./Source/LibOpenJPEG/invert.h ./Source/LibOpenJPEG/j2k.h ./Source/LibOpenJPEG/jp2.h ./Source/LibOpenJPEG/mct.h ./Source/LibOpenJPEG/mqc.h ./Source/LibOpenJPEG/openjpeg.h ./Source/LibOpenJPEG/opj_clock.h ./Source/LibOpenJPEG/opj_codec.h ./Source/LibOpenJPEG/opj_config.h ./Source/LibOpenJPEG/opj_config_private.h ./Source/LibOpenJPEG/opj_includes.h ./Source/LibOpenJPEG/opj_intmath.h ./Source/LibOpenJPEG/opj_inttypes.h ./Source/LibOpenJPEG/opj_malloc.h ./Source/LibOpenJPEG/opj_stdint.h ./Source/LibOpenJPEG/pi.h ./Source/LibOpenJPEG/raw.h ./Source/LibOpenJPEG/t1.h ./Source/LibOpenJPEG/t1_luts.h ./Source/LibOpenJPEG/t2.h ./Source/LibOpenJPEG/tcd.h ./Source/LibOpenJPEG/tgt.h ./Source/LibPNG/png.h ./Source/LibPNG/pngconf.h ./Source/LibPNG/pngdebug.h ./Source/LibPNG/pnginfo.h ./Source/LibPNG/pnglibconf.h ./Source/LibPNG/pngpriv.h ./Source/LibPNG/pngstruct.h ./Source/LibRawLite/internal/dcraw_defs.h ./Source/LibRawLite/internal/dcraw_fileio_defs.h ./Source/LibRawLite/internal/defines.h ./Source/LibRawLite/internal/dmp_include.h ./Source/LibRawLite/internal/libraw_cameraids.h ./Source/LibRawLite/internal/libraw_cxx_defs.h ./Source/LibRawLite/internal/libraw_internal_funcs.h ./Source/LibRawLite/internal/var_defines.h ./Source/LibRawLite/internal/x3f_tools.h ./Source/LibRawLite/libraw/libraw.h ./Source/LibRawLite/libraw/libraw_alloc.h ./Source/LibRawLite/libraw/libraw_const.h ./Source/LibRawLite/libraw/libraw_datastream.h ./Source/LibRawLite/libraw/libraw_internal.h ./Source/LibRawLite/libraw/libraw_types.h ./Source/LibRawLite/libraw/libraw_version.h ./Source/LibTIFF4/t4.h ./Source/LibTIFF4/tiff.h ./Source/LibTIFF4/tiffconf.h ./Source/LibTIFF4/tiffconf.vc.h ./Source/LibTIFF4/tiffconf.wince.h ./Source/LibTIFF4/tiffio.h ./Source/LibTIFF4/tiffiop.h ./Source/LibTIFF4/tiffvers.h ./Source/LibTIFF4/tif_config.h ./Source/LibTIFF4/tif_config.vc.h ./Source/LibTIFF4/tif_config.wince.h ./Source/LibTIFF4/tif_dir.h ./Source/LibTIFF4/tif_fax3.h ./Source/LibTIFF4/tif_predict.h ./Source/LibTIFF4/uvcode.h ./Source/LibWebP/src/dec/alphai_dec.h ./Source/LibWebP/src/dec/common_dec.h ./Source/LibWebP/src/dec/vp8i_dec.h ./Source/LibWebP/src/dec/vp8li_dec.h ./Source/LibWebP/src/dec/vp8_dec.h ./Source/LibWebP/src/dec/webpi_dec.h ./Source/LibWebP/src/dsp/common_sse2.h ./Source/LibWebP/src/dsp/common_sse41.h ./Source/LibWebP/src/dsp/dsp.h ./Source/LibWebP/src/dsp/lossless.h ./Source/LibWebP/src/dsp/lossless_common.h ./Source/LibWebP/src/dsp/mips_macro.h ./Source/LibWebP/src/dsp/msa_macro.h ./Source/LibWebP/src/dsp/neon.h ./Source/LibWebP/src/dsp/quant.h ./Source/LibWebP/src/dsp/yuv.h ./Source/LibWebP/src/enc/backward_references_enc.h ./Source/LibWebP/src/enc/cost_enc.h ./Source/LibWebP/src/enc/histogram_enc.h ./Source/LibWebP/src/enc/vp8i_enc.h ./Source/LibWebP/src/enc/vp8li_enc.h ./Source/LibWebP/src/mux/animi.h ./Source/LibWebP/src/mux/muxi.h ./Source/LibWebP/src/utils/bit_reader_inl_utils.h ./Source/LibWebP/src/utils/bit_reader_utils.h ./Source/LibWebP/src/utils/bit_writer_utils.h ./Source/LibWebP/src/utils/color_cache_utils.h ./Source/LibWebP/src/utils/endian_inl_utils.h ./Source/LibWebP/src/utils/filters_utils.h ./Source/LibWebP/src/utils/huffman_encode_utils.h ./Source/LibWebP/src/utils/huffman_utils.h ./Source/LibWebP/src/utils/quant_levels_dec_utils.h ./Source/LibWebP/src/utils/quant_levels_utils.h ./Source/LibWebP/src/utils/random_utils.h ./Source/LibWebP/src/utils/rescaler_utils.h ./Source/LibWebP/src/utils/thread_utils.h ./Source/LibWebP/src/utils/utils.h ./Source/LibWebP/src/webp/decode.h ./Source/LibWebP/src/webp/demux.h ./Source/LibWebP/src/webp/encode.h ./Source/LibWebP/src/webp/format_constants.h ./Source/LibWebP/src/webp/mux.h ./Source/LibWebP/src/webp/mux_types.h ./Source/LibWebP/src/webp/types.h ./Source/MapIntrospector.h ./Source/Metadata/FIRational.h ./Source/Metadata/FreeImageTag.h ./Source/OpenEXR/Half/eLut.h ./Source/OpenEXR/Half/half.h ./Source/OpenEXR/Half/halfExport.h ./Source/OpenEXR/Half/halfFunction.h ./Source/OpenEXR/Half/halfLimits.h ./Source/OpenEXR/Half/toFloat.h ./Source/OpenEXR/Iex/Iex.h ./Source/OpenEXR/Iex/IexBaseExc.h ./Source/OpenEXR/Iex/IexErrnoExc.h ./Source/OpenEXR/Iex/IexExport.h ./Source/OpenEXR/Iex/IexForward.h ./Source/OpenEXR/Iex/IexMacros.h ./Source/OpenEXR/Iex/IexMathExc.h ./Source/OpenEXR/Iex/IexNamespace.h ./Source/OpenEXR/Iex/IexThrowErrnoExc.h ./Source/OpenEXR/IexMath/IexMathFloatExc.h ./Source/OpenEXR/IexMath/IexMathFpu.h ./Source/OpenEXR/IexMath/IexMathIeeeExc.h ./Source/OpenEXR/IlmBaseConfig.h ./Source/OpenEXR/IlmImf/b44ExpLogTable.h ./Source/OpenEXR/IlmImf/dwaLookups.h ./Source/OpenEXR/IlmImf/ImfAcesFile.h ./Source/OpenEXR/IlmImf/ImfArray.h ./Source/OpenEXR/IlmImf/ImfAttribute.h ./Source/OpenEXR/IlmImf/ImfAutoArray.h ./Source/OpenEXR/IlmImf/ImfB44Compressor.h ./Source/OpenEXR/IlmImf/ImfBoxAttribute.h ./Source/OpenEXR/IlmImf/ImfChannelList.h ./Source/OpenEXR/IlmImf/ImfChannelListAttribute.h ./Source/OpenEXR/IlmImf/ImfCheckedArithmetic.h ./Source/OpenEXR/IlmImf/ImfChromaticities.h ./Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.h ./Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.h ./Source/OpenEXR/IlmImf/ImfCompression.h ./Source/OpenEXR/IlmImf/ImfCompressionAttribute.h ./Source/OpenEXR/IlmImf/ImfCompressor.h ./Source/OpenEXR/IlmImf/ImfConvert.h ./Source/OpenEXR/IlmImf/ImfCRgbaFile.h ./Source/OpenEXR/IlmImf/ImfDeepCompositing.h ./Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.h ./Source/OpenEXR/IlmImf/ImfDeepImageState.h ./Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.h ./Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.h ./Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.h ./Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.h ./Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.h ./Source/OpenEXR/IlmImf/ImfDoubleAttribute.h ./Source/OpenEXR/IlmImf/ImfDwaCompressor.h ./Source/OpenEXR/IlmImf/ImfDwaCompressorSimd.h ./Source/OpenEXR/IlmImf/ImfEnvmap.h ./Source/OpenEXR/IlmImf/ImfEnvmapAttribute.h ./Source/OpenEXR/IlmImf/ImfExport.h ./Source/OpenEXR/IlmImf/ImfFastHuf.h ./Source/OpenEXR/IlmImf/ImfFloatAttribute.h ./Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.h ./Source/OpenEXR/IlmImf/ImfForward.h ./Source/OpenEXR/IlmImf/ImfFrameBuffer.h ./Source/OpenEXR/IlmImf/ImfFramesPerSecond.h ./Source/OpenEXR/IlmImf/ImfGenericInputFile.h ./Source/OpenEXR/IlmImf/ImfGenericOutputFile.h ./Source/OpenEXR/IlmImf/ImfHeader.h ./Source/OpenEXR/IlmImf/ImfHuf.h ./Source/OpenEXR/IlmImf/ImfInputFile.h ./Source/OpenEXR/IlmImf/ImfInputPart.h ./Source/OpenEXR/IlmImf/ImfInputPartData.h ./Source/OpenEXR/IlmImf/ImfInputStreamMutex.h ./Source/OpenEXR/IlmImf/ImfInt64.h ./Source/OpenEXR/IlmImf/ImfIntAttribute.h ./Source/OpenEXR/IlmImf/ImfIO.h ./Source/OpenEXR/IlmImf/ImfKeyCode.h ./Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.h ./Source/OpenEXR/IlmImf/ImfLineOrder.h ./Source/OpenEXR/IlmImf/ImfLineOrderAttribute.h ./Source/OpenEXR/IlmImf/ImfLut.h ./Source/OpenEXR/IlmImf/ImfMatrixAttribute.h ./Source/OpenEXR/IlmImf/ImfMisc.h ./Source/OpenEXR/IlmImf/ImfMultiPartInputFile.h ./Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.h ./Source/OpenEXR/IlmImf/ImfMultiView.h ./Source/OpenEXR/IlmImf/ImfName.h ./Source/OpenEXR/IlmImf/ImfNamespace.h ./Source/OpenEXR/IlmImf/ImfOpaqueAttribute.h ./Source/OpenEXR/IlmImf/ImfOptimizedPixelReading.h ./Source/OpenEXR/IlmImf/ImfOutputFile.h ./Source/OpenEXR/IlmImf/ImfOutputPart.h ./Source/OpenEXR/IlmImf/ImfOutputPartData.h ./Source/OpenEXR/IlmImf/ImfOutputStreamMutex.h ./Source/OpenEXR/IlmImf/ImfPartHelper.h ./Source/OpenEXR/IlmImf/ImfPartType.h ./Source/OpenEXR/IlmImf/ImfPixelType.h ./Source/OpenEXR/IlmImf/ImfPizCompressor.h ./Source/OpenEXR/IlmImf/ImfPreviewImage.h ./Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.h ./Source/OpenEXR/IlmImf/ImfPxr24Compressor.h ./Source/OpenEXR/IlmImf/ImfRational.h ./Source/OpenEXR/IlmImf/ImfRationalAttribute.h ./Source/OpenEXR/IlmImf/ImfRgba.h ./Source/OpenEXR/IlmImf/ImfRgbaFile.h ./Source/OpenEXR/IlmImf/ImfRgbaYca.h ./Source/OpenEXR/IlmImf/ImfRle.h ./Source/OpenEXR/IlmImf/ImfRleCompressor.h ./Source/OpenEXR/IlmImf/ImfScanLineInputFile.h ./Source/OpenEXR/IlmImf/ImfSimd.h ./Source/OpenEXR/IlmImf/ImfStandardAttributes.h ./Source/OpenEXR/IlmImf/ImfStdIO.h ./Source/OpenEXR/IlmImf/ImfStringAttribute.h ./Source/OpenEXR/IlmImf/ImfStringVectorAttribute.h ./Source/OpenEXR/IlmImf/ImfSystemSpecific.h ./Source/OpenEXR/IlmImf/ImfTestFile.h ./Source/OpenEXR/IlmImf/ImfThreading.h ./Source/OpenEXR/IlmImf/ImfTileDescription.h ./Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.h ./Source/OpenEXR/IlmImf/ImfTiledInputFile.h ./Source/OpenEXR/IlmImf/ImfTiledInputPart.h ./Source/OpenEXR/IlmImf/ImfTiledMisc.h ./Source/OpenEXR/IlmImf/ImfTiledOutputFile.h ./Source/OpenEXR/IlmImf/ImfTiledOutputPart.h ./Source/OpenEXR/IlmImf/ImfTiledRgbaFile.h ./Source/OpenEXR/IlmImf/ImfTileOffsets.h ./Source/OpenEXR/IlmImf/ImfTimeCode.h ./Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.h ./Source/OpenEXR/IlmImf/ImfVecAttribute.h ./Source/OpenEXR/IlmImf/ImfVersion.h ./Source/OpenEXR/IlmImf/ImfWav.h ./Source/OpenEXR/IlmImf/ImfXdr.h ./Source/OpenEXR/IlmImf/ImfZip.h ./Source/OpenEXR/IlmImf/ImfZipCompressor.h ./Source/OpenEXR/IlmThread/IlmThread.h ./Source/OpenEXR/IlmThread/IlmThreadExport.h ./Source/OpenEXR/IlmThread/IlmThreadForward.h ./Source/OpenEXR/IlmThread/IlmThreadMutex.h ./Source/OpenEXR/IlmThread/IlmThreadNamespace.h ./Source/OpenEXR/IlmThread/IlmThreadPool.h ./Source/OpenEXR/IlmThread/IlmThreadSemaphore.h ./Source/OpenEXR/Imath/ImathBox.h ./Source/OpenEXR/Imath/ImathBoxAlgo.h ./Source/OpenEXR/Imath/ImathColor.h ./Source/OpenEXR/Imath/ImathColorAlgo.h ./Source/OpenEXR/Imath/ImathEuler.h ./Source/OpenEXR/Imath/ImathExc.h ./Source/OpenEXR/Imath/ImathExport.h ./Source/OpenEXR/Imath/ImathForward.h ./Source/OpenEXR/Imath/ImathFrame.h ./Source/OpenEXR/Imath/ImathFrustum.h ./Source/OpenEXR/Imath/ImathFrustumTest.h ./Source/OpenEXR/Imath/ImathFun.h ./Source/OpenEXR/Imath/ImathGL.h ./Source/OpenEXR/Imath/ImathGLU.h ./Source/OpenEXR/Imath/ImathHalfLimits.h ./Source/OpenEXR/Imath/ImathInt64.h ./Source/OpenEXR/Imath/ImathInterval.h ./Source/OpenEXR/Imath/ImathLimits.h ./Source/OpenEXR/Imath/ImathLine.h ./Source/OpenEXR/Imath/ImathLineAlgo.h ./Source/OpenEXR/Imath/ImathMath.h ./Source/OpenEXR/Imath/ImathMatrix.h ./Source/OpenEXR/Imath/ImathMatrixAlgo.h ./Source/OpenEXR/Imath/ImathNamespace.h ./Source/OpenEXR/Imath/ImathPlane.h ./Source/OpenEXR/Imath/ImathPlatform.h ./Source/OpenEXR/Imath/ImathQuat.h ./Source/OpenEXR/Imath/ImathRandom.h ./Source/OpenEXR/Imath/ImathRoots.h ./Source/OpenEXR/Imath/ImathShear.h ./Source/OpenEXR/Imath/ImathSphere.h ./Source/OpenEXR/Imath/ImathVec.h ./Source/OpenEXR/Imath/ImathVecAlgo.h ./Source/OpenEXR/OpenEXRConfig.h ./Source/Plugin.h ./Source/Quantizers.h ./Source/ToneMapping.h ./Source/Utilities.h ./Source/ZLib/crc32.h ./Source/ZLib/deflate.h ./Source/ZLib/gzguts.h ./Source/ZLib/inffast.h ./Source/ZLib/inffixed.h ./Source/ZLib/inflate.h ./Source/ZLib/inftrees.h ./Source/ZLib/trees.h ./Source/ZLib/zconf.h ./Source/ZLib/zlib.h ./Source/ZLib/zutil.h ./TestAPI/TestSuite.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/FreeImageIO.Net.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/resource.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/Stdafx.h ./Wrapper/FreeImagePlus/FreeImagePlus.h ./Wrapper/FreeImagePlus/test/fipTest.h +SRCS = ./Source/FreeImage/BitmapAccess.cpp ./Source/FreeImage/ColorLookup.cpp ./Source/FreeImage/ConversionRGBA16.cpp ./Source/FreeImage/ConversionRGBAF.cpp ./Source/FreeImage/FreeImage.cpp ./Source/FreeImage/FreeImageC.c ./Source/FreeImage/FreeImageIO.cpp ./Source/FreeImage/GetType.cpp ./Source/FreeImage/LFPQuantizer.cpp ./Source/FreeImage/MemoryIO.cpp ./Source/FreeImage/PixelAccess.cpp ./Source/FreeImage/J2KHelper.cpp ./Source/FreeImage/MNGHelper.cpp ./Source/FreeImage/Plugin.cpp ./Source/FreeImage/PluginBMP.cpp ./Source/FreeImage/PluginCUT.cpp ./Source/FreeImage/PluginDDS.cpp ./Source/FreeImage/PluginEXR.cpp ./Source/FreeImage/PluginG3.cpp ./Source/FreeImage/PluginGIF.cpp ./Source/FreeImage/PluginHDR.cpp ./Source/FreeImage/PluginICO.cpp ./Source/FreeImage/PluginIFF.cpp ./Source/FreeImage/PluginJ2K.cpp ./Source/FreeImage/PluginJNG.cpp ./Source/FreeImage/PluginJP2.cpp ./Source/FreeImage/PluginJPEG.cpp ./Source/FreeImage/PluginJXR.cpp ./Source/FreeImage/PluginKOALA.cpp ./Source/FreeImage/PluginMNG.cpp ./Source/FreeImage/PluginPCD.cpp ./Source/FreeImage/PluginPCX.cpp ./Source/FreeImage/PluginPFM.cpp ./Source/FreeImage/PluginPICT.cpp ./Source/FreeImage/PluginPNG.cpp ./Source/FreeImage/PluginPNM.cpp ./Source/FreeImage/PluginPSD.cpp ./Source/FreeImage/PluginRAS.cpp ./Source/FreeImage/PluginRAW.cpp ./Source/FreeImage/PluginSGI.cpp ./Source/FreeImage/PluginTARGA.cpp ./Source/FreeImage/PluginTIFF.cpp ./Source/FreeImage/PluginWBMP.cpp ./Source/FreeImage/PluginWebP.cpp ./Source/FreeImage/PluginXBM.cpp ./Source/FreeImage/PluginXPM.cpp ./Source/FreeImage/PSDParser.cpp ./Source/FreeImage/TIFFLogLuv.cpp ./Source/FreeImage/Conversion.cpp ./Source/FreeImage/Conversion16_555.cpp ./Source/FreeImage/Conversion16_565.cpp ./Source/FreeImage/Conversion24.cpp ./Source/FreeImage/Conversion32.cpp ./Source/FreeImage/Conversion4.cpp ./Source/FreeImage/Conversion8.cpp ./Source/FreeImage/ConversionFloat.cpp ./Source/FreeImage/ConversionRGB16.cpp ./Source/FreeImage/ConversionRGBF.cpp ./Source/FreeImage/ConversionType.cpp ./Source/FreeImage/ConversionUINT16.cpp ./Source/FreeImage/Halftoning.cpp ./Source/FreeImage/tmoColorConvert.cpp ./Source/FreeImage/tmoDrago03.cpp ./Source/FreeImage/tmoFattal02.cpp ./Source/FreeImage/tmoReinhard05.cpp ./Source/FreeImage/ToneMapping.cpp ./Source/FreeImage/NNQuantizer.cpp ./Source/FreeImage/WuQuantizer.cpp ./Source/FreeImage/CacheFile.cpp ./Source/FreeImage/MultiPage.cpp ./Source/FreeImage/ZLibInterface.cpp ./Source/Metadata/Exif.cpp ./Source/Metadata/FIRational.cpp ./Source/Metadata/FreeImageTag.cpp ./Source/Metadata/IPTC.cpp ./Source/Metadata/TagConversion.cpp ./Source/Metadata/TagLib.cpp ./Source/Metadata/XTIFF.cpp ./Source/FreeImageToolkit/Background.cpp ./Source/FreeImageToolkit/BSplineRotate.cpp ./Source/FreeImageToolkit/Channels.cpp ./Source/FreeImageToolkit/ClassicRotate.cpp ./Source/FreeImageToolkit/Colors.cpp ./Source/FreeImageToolkit/CopyPaste.cpp ./Source/FreeImageToolkit/Display.cpp ./Source/FreeImageToolkit/Flip.cpp ./Source/FreeImageToolkit/JPEGTransform.cpp ./Source/FreeImageToolkit/MultigridPoissonSolver.cpp ./Source/FreeImageToolkit/Rescale.cpp ./Source/FreeImageToolkit/Resize.cpp -+INCLS = ./Examples/OpenGL/TextureManager/TextureManager.h ./Examples/Generic/FIIO_Mem.h ./Examples/Plugin/PluginCradle.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/resource.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/FreeImageIO.Net.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/Stdafx.h ./Wrapper/FreeImagePlus/FreeImagePlus.h ./Wrapper/FreeImagePlus/test/fipTest.h ./TestAPI/TestSuite.h ./Source/FreeImage.h ./Source/FreeImage/PSDParser.h ./Source/FreeImage/J2KHelper.h ./Source/FreeImageToolkit/Filters.h ./Source/FreeImageToolkit/Resize.h ./Source/Metadata/FreeImageTag.h ./Source/Metadata/FIRational.h ./Source/ToneMapping.h ./Source/FreeImageIO.h ./Source/Plugin.h ./Source/CacheFile.h ./Source/Utilities.h ./Source/MapIntrospector.h ./Source/Quantizers.h ++INCLS = ./Dist/FreeImage.h ./Examples/Generic/FIIO_Mem.h ./Examples/OpenGL/TextureManager/TextureManager.h ./Examples/Plugin/PluginCradle.h ./Source/CacheFile.h ./Source/FreeImage/J2KHelper.h ./Source/FreeImage/PSDParser.h ./Source/FreeImage.h ./Source/FreeImageIO.h ./Source/FreeImageToolkit/Filters.h ./Source/FreeImageToolkit/Resize.h ./Source/MapIntrospector.h ./Source/Metadata/FIRational.h ./Source/Metadata/FreeImageTag.h ./Source/Plugin.h ./Source/Quantizers.h ./Source/ToneMapping.h ./Source/Utilities.h ./TestAPI/TestSuite.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/FreeImageIO.Net.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/resource.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/Stdafx.h ./Wrapper/FreeImagePlus/FreeImagePlus.h ./Wrapper/FreeImagePlus/test/fipTest.h -INCLUDE = -I. -ISource -ISource/Metadata -ISource/FreeImageToolkit -ISource/LibJPEG -ISource/LibPNG -ISource/LibTIFF4 -ISource/ZLib -ISource/LibOpenJPEG -ISource/OpenEXR -ISource/OpenEXR/Half -ISource/OpenEXR/Iex -ISource/OpenEXR/IlmImf -ISource/OpenEXR/IlmThread -ISource/OpenEXR/Imath -ISource/OpenEXR/IexMath -ISource/LibRawLite -ISource/LibRawLite/dcraw -ISource/LibRawLite/internal -ISource/LibRawLite/libraw -ISource/LibRawLite/src -ISource/LibWebP -ISource/LibJXR -ISource/LibJXR/common/include -ISource/LibJXR/image/sys -ISource/LibJXR/jxrgluelib +INCLUDE = -I. -ISource -ISource/Metadata -ISource/FreeImageToolkit diff --git a/Source/FreeImage.h b/Source/FreeImage.h -index e8f1da6..235563e 100644 +index 2dfb9ee2..d2d32322 100644 --- a/Source/FreeImage.h +++ b/Source/FreeImage.h @@ -155,8 +155,8 @@ typedef uint8_t BYTE; @@ -214,20 +214,20 @@ index e8f1da6..235563e 100644 // MS is not C99 ISO compliant typedef long BOOL; diff --git a/Source/FreeImage/J2KHelper.cpp b/Source/FreeImage/J2KHelper.cpp -index 1776c3b..538f1c5 100644 +index 062b49ee..0e79fbc5 100644 --- a/Source/FreeImage/J2KHelper.cpp +++ b/Source/FreeImage/J2KHelper.cpp @@ -21,7 +21,7 @@ - - #include "FreeImage.h" - #include "Utilities.h" --#include "../LibOpenJPEG/openjpeg.h" -+#include <openjpeg.h> - #include "J2KHelper.h" - - // -------------------------------------------------------------------------- + + #include "FreeImage.h" + #include "Utilities.h" +-#include "../LibOpenJPEG/openjpeg.h" ++#include <openjpeg.h> + #include "J2KHelper.h" + + // -------------------------------------------------------------------------- diff --git a/Source/FreeImage/PluginEXR.cpp b/Source/FreeImage/PluginEXR.cpp -index b286430..9bf3ada 100644 +index b2864303..9bf3ada9 100644 --- a/Source/FreeImage/PluginEXR.cpp +++ b/Source/FreeImage/PluginEXR.cpp @@ -28,16 +28,16 @@ @@ -258,7 +258,7 @@ index b286430..9bf3ada 100644 // ========================================================== diff --git a/Source/FreeImage/PluginG3.cpp b/Source/FreeImage/PluginG3.cpp -index 0a083b4..e2f1241 100644 +index 4680aa32..7d4b5ce6 100644 --- a/Source/FreeImage/PluginG3.cpp +++ b/Source/FreeImage/PluginG3.cpp @@ -20,7 +20,7 @@ @@ -271,7 +271,7 @@ index 0a083b4..e2f1241 100644 #include "FreeImage.h" #include "Utilities.h" diff --git a/Source/FreeImage/PluginJ2K.cpp b/Source/FreeImage/PluginJ2K.cpp -index b8bcfc8..621a903 100644 +index b8bcfc8b..621a9037 100644 --- a/Source/FreeImage/PluginJ2K.cpp +++ b/Source/FreeImage/PluginJ2K.cpp @@ -21,7 +21,7 @@ @@ -284,7 +284,7 @@ index b8bcfc8..621a903 100644 // ========================================================== diff --git a/Source/FreeImage/PluginJP2.cpp b/Source/FreeImage/PluginJP2.cpp -index 742fe2c..c57f626 100644 +index 742fe2c0..c57f6267 100644 --- a/Source/FreeImage/PluginJP2.cpp +++ b/Source/FreeImage/PluginJP2.cpp @@ -21,7 +21,7 @@ @@ -297,7 +297,7 @@ index 742fe2c..c57f626 100644 // ========================================================== diff --git a/Source/FreeImage/PluginJPEG.cpp b/Source/FreeImage/PluginJPEG.cpp -index 8db177d..a7de637 100644 +index 8db177d2..a7de6378 100644 --- a/Source/FreeImage/PluginJPEG.cpp +++ b/Source/FreeImage/PluginJPEG.cpp @@ -35,9 +35,9 @@ extern "C" { @@ -431,7 +431,7 @@ index 8db177d..a7de637 100644 Read JPEG_APPD marker (IPTC or Adobe Photoshop profile) */ diff --git a/Source/FreeImage/PluginJXR.cpp b/Source/FreeImage/PluginJXR.cpp -index 85c6ff3..163a93b 100644 +index 85c6ff3e..163a93bd 100644 --- a/Source/FreeImage/PluginJXR.cpp +++ b/Source/FreeImage/PluginJXR.cpp @@ -23,7 +23,7 @@ @@ -444,7 +444,7 @@ index 85c6ff3..163a93b 100644 // ========================================================== // Plugin Interface diff --git a/Source/FreeImage/PluginPNG.cpp b/Source/FreeImage/PluginPNG.cpp -index 661f160..504fafe 100644 +index 661f1602..504fafe1 100644 --- a/Source/FreeImage/PluginPNG.cpp +++ b/Source/FreeImage/PluginPNG.cpp @@ -40,8 +40,8 @@ @@ -459,7 +459,7 @@ index 661f160..504fafe 100644 // ---------------------------------------------------------- diff --git a/Source/FreeImage/PluginRAW.cpp b/Source/FreeImage/PluginRAW.cpp -index ab0499f..2d3c9fd 100644 +index 26134bcc..d7fa81e4 100644 --- a/Source/FreeImage/PluginRAW.cpp +++ b/Source/FreeImage/PluginRAW.cpp @@ -19,12 +19,16 @@ @@ -481,7 +481,7 @@ index ab0499f..2d3c9fd 100644 // Plugin Interface // ========================================================== diff --git a/Source/FreeImage/PluginTIFF.cpp b/Source/FreeImage/PluginTIFF.cpp -index a805319..3e318ba 100644 +index 84554958..13a224dd 100644 --- a/Source/FreeImage/PluginTIFF.cpp +++ b/Source/FreeImage/PluginTIFF.cpp @@ -37,9 +37,9 @@ @@ -497,7 +497,7 @@ index a805319..3e318ba 100644 #include "FreeImageIO.h" #include "PSDParser.h" diff --git a/Source/FreeImage/PluginWebP.cpp b/Source/FreeImage/PluginWebP.cpp -index 7c9f62f..c401447 100644 +index 7c9f62fd..c4014473 100644 --- a/Source/FreeImage/PluginWebP.cpp +++ b/Source/FreeImage/PluginWebP.cpp @@ -24,9 +24,9 @@ @@ -514,7 +514,7 @@ index 7c9f62f..c401447 100644 // ========================================================== // Plugin Interface diff --git a/Source/FreeImage/ZLibInterface.cpp b/Source/FreeImage/ZLibInterface.cpp -index 3ab6d32..0973475 100644 +index 3ab6d321..09734755 100644 --- a/Source/FreeImage/ZLibInterface.cpp +++ b/Source/FreeImage/ZLibInterface.cpp @@ -19,10 +19,9 @@ @@ -540,7 +540,7 @@ index 3ab6d32..0973475 100644 memcpy(target + 4 + dest_len, &crc, 4); memcpy(target + 8 + dest_len, &source_size, 4); diff --git a/Source/FreeImageToolkit/JPEGTransform.cpp b/Source/FreeImageToolkit/JPEGTransform.cpp -index 6f9ba8e..836bc90 100644 +index 6f9ba8e1..836bc901 100644 --- a/Source/FreeImageToolkit/JPEGTransform.cpp +++ b/Source/FreeImageToolkit/JPEGTransform.cpp @@ -26,10 +26,10 @@ extern "C" { @@ -559,26 +559,26 @@ index 6f9ba8e..836bc90 100644 #include "FreeImage.h" diff --git a/Source/Metadata/XTIFF.cpp b/Source/Metadata/XTIFF.cpp -index d5be902..b6ecd11 100644 +index 6919a8e8..ce3d7c6b 100644 --- a/Source/Metadata/XTIFF.cpp +++ b/Source/Metadata/XTIFF.cpp @@ -29,7 +29,7 @@ - #pragma warning (disable : 4786) // identifier was truncated to 'number' characters - #endif - --#include "../LibTIFF4/tiffiop.h" + #pragma warning (disable : 4786) // identifier was truncated to 'number' characters + #endif + +-#include "../LibTIFF4/tiffiop.h" +#include <tiffiop.h> - - #include "FreeImage.h" - #include "Utilities.h" + + #include "FreeImage.h" + #include "Utilities.h" diff --git a/fipMakefile.srcs b/fipMakefile.srcs -index 15ec099..72ba4fb 100644 +index cc75e5e0..bedc9e3e 100644 --- a/fipMakefile.srcs +++ b/fipMakefile.srcs @@ -1,4 +1,4 @@ VER_MAJOR = 3 VER_MINOR = 19.0 --SRCS = ./Source/FreeImage/BitmapAccess.cpp ./Source/FreeImage/ColorLookup.cpp ./Source/FreeImage/ConversionRGBA16.cpp ./Source/FreeImage/ConversionRGBAF.cpp ./Source/FreeImage/FreeImage.cpp ./Source/FreeImage/FreeImageC.c ./Source/FreeImage/FreeImageIO.cpp ./Source/FreeImage/GetType.cpp ./Source/FreeImage/LFPQuantizer.cpp ./Source/FreeImage/MemoryIO.cpp ./Source/FreeImage/PixelAccess.cpp ./Source/FreeImage/J2KHelper.cpp ./Source/FreeImage/MNGHelper.cpp ./Source/FreeImage/Plugin.cpp ./Source/FreeImage/PluginBMP.cpp ./Source/FreeImage/PluginCUT.cpp ./Source/FreeImage/PluginDDS.cpp ./Source/FreeImage/PluginEXR.cpp ./Source/FreeImage/PluginG3.cpp ./Source/FreeImage/PluginGIF.cpp ./Source/FreeImage/PluginHDR.cpp ./Source/FreeImage/PluginICO.cpp ./Source/FreeImage/PluginIFF.cpp ./Source/FreeImage/PluginJ2K.cpp ./Source/FreeImage/PluginJNG.cpp ./Source/FreeImage/PluginJP2.cpp ./Source/FreeImage/PluginJPEG.cpp ./Source/FreeImage/PluginJXR.cpp ./Source/FreeImage/PluginKOALA.cpp ./Source/FreeImage/PluginMNG.cpp ./Source/FreeImage/PluginPCD.cpp ./Source/FreeImage/PluginPCX.cpp ./Source/FreeImage/PluginPFM.cpp ./Source/FreeImage/PluginPICT.cpp ./Source/FreeImage/PluginPNG.cpp ./Source/FreeImage/PluginPNM.cpp ./Source/FreeImage/PluginPSD.cpp ./Source/FreeImage/PluginRAS.cpp ./Source/FreeImage/PluginRAW.cpp ./Source/FreeImage/PluginSGI.cpp ./Source/FreeImage/PluginTARGA.cpp ./Source/FreeImage/PluginTIFF.cpp ./Source/FreeImage/PluginWBMP.cpp ./Source/FreeImage/PluginWebP.cpp ./Source/FreeImage/PluginXBM.cpp ./Source/FreeImage/PluginXPM.cpp ./Source/FreeImage/PSDParser.cpp ./Source/FreeImage/TIFFLogLuv.cpp ./Source/FreeImage/Conversion.cpp ./Source/FreeImage/Conversion16_555.cpp ./Source/FreeImage/Conversion16_565.cpp ./Source/FreeImage/Conversion24.cpp ./Source/FreeImage/Conversion32.cpp ./Source/FreeImage/Conversion4.cpp ./Source/FreeImage/Conversion8.cpp ./Source/FreeImage/ConversionFloat.cpp ./Source/FreeImage/ConversionRGB16.cpp ./Source/FreeImage/ConversionRGBF.cpp ./Source/FreeImage/ConversionType.cpp ./Source/FreeImage/ConversionUINT16.cpp ./Source/FreeImage/Halftoning.cpp ./Source/FreeImage/tmoColorConvert.cpp ./Source/FreeImage/tmoDrago03.cpp ./Source/FreeImage/tmoFattal02.cpp ./Source/FreeImage/tmoReinhard05.cpp ./Source/FreeImage/ToneMapping.cpp ./Source/FreeImage/NNQuantizer.cpp ./Source/FreeImage/WuQuantizer.cpp ./Source/FreeImage/CacheFile.cpp ./Source/FreeImage/MultiPage.cpp ./Source/FreeImage/ZLibInterface.cpp ./Source/Metadata/Exif.cpp ./Source/Metadata/FIRational.cpp ./Source/Metadata/FreeImageTag.cpp ./Source/Metadata/IPTC.cpp ./Source/Metadata/TagConversion.cpp ./Source/Metadata/TagLib.cpp ./Source/Metadata/XTIFF.cpp ./Source/FreeImageToolkit/Background.cpp ./Source/FreeImageToolkit/BSplineRotate.cpp ./Source/FreeImageToolkit/Channels.cpp ./Source/FreeImageToolkit/ClassicRotate.cpp ./Source/FreeImageToolkit/Colors.cpp ./Source/FreeImageToolkit/CopyPaste.cpp ./Source/FreeImageToolkit/Display.cpp ./Source/FreeImageToolkit/Flip.cpp ./Source/FreeImageToolkit/JPEGTransform.cpp ./Source/FreeImageToolkit/MultigridPoissonSolver.cpp ./Source/FreeImageToolkit/Rescale.cpp ./Source/FreeImageToolkit/Resize.cpp Source/LibJPEG/jaricom.c Source/LibJPEG/jcapimin.c Source/LibJPEG/jcapistd.c Source/LibJPEG/jcarith.c Source/LibJPEG/jccoefct.c Source/LibJPEG/jccolor.c Source/LibJPEG/jcdctmgr.c Source/LibJPEG/jchuff.c Source/LibJPEG/jcinit.c Source/LibJPEG/jcmainct.c Source/LibJPEG/jcmarker.c Source/LibJPEG/jcmaster.c Source/LibJPEG/jcomapi.c Source/LibJPEG/jcparam.c Source/LibJPEG/jcprepct.c Source/LibJPEG/jcsample.c Source/LibJPEG/jctrans.c Source/LibJPEG/jdapimin.c Source/LibJPEG/jdapistd.c Source/LibJPEG/jdarith.c Source/LibJPEG/jdatadst.c Source/LibJPEG/jdatasrc.c Source/LibJPEG/jdcoefct.c Source/LibJPEG/jdcolor.c Source/LibJPEG/jddctmgr.c Source/LibJPEG/jdhuff.c Source/LibJPEG/jdinput.c Source/LibJPEG/jdmainct.c Source/LibJPEG/jdmarker.c Source/LibJPEG/jdmaster.c Source/LibJPEG/jdmerge.c Source/LibJPEG/jdpostct.c Source/LibJPEG/jdsample.c Source/LibJPEG/jdtrans.c Source/LibJPEG/jerror.c Source/LibJPEG/jfdctflt.c Source/LibJPEG/jfdctfst.c Source/LibJPEG/jfdctint.c Source/LibJPEG/jidctflt.c Source/LibJPEG/jidctfst.c Source/LibJPEG/jidctint.c Source/LibJPEG/jmemmgr.c Source/LibJPEG/jmemnobs.c Source/LibJPEG/jquant1.c Source/LibJPEG/jquant2.c Source/LibJPEG/jutils.c Source/LibJPEG/transupp.c Source/LibPNG/png.c Source/LibPNG/pngerror.c Source/LibPNG/pngget.c Source/LibPNG/pngmem.c Source/LibPNG/pngpread.c Source/LibPNG/pngread.c Source/LibPNG/pngrio.c Source/LibPNG/pngrtran.c Source/LibPNG/pngrutil.c Source/LibPNG/pngset.c Source/LibPNG/pngtrans.c Source/LibPNG/pngwio.c Source/LibPNG/pngwrite.c Source/LibPNG/pngwtran.c Source/LibPNG/pngwutil.c Source/LibTIFF4/tif_aux.c Source/LibTIFF4/tif_close.c Source/LibTIFF4/tif_codec.c Source/LibTIFF4/tif_color.c Source/LibTIFF4/tif_compress.c Source/LibTIFF4/tif_dir.c Source/LibTIFF4/tif_dirinfo.c Source/LibTIFF4/tif_dirread.c Source/LibTIFF4/tif_dirwrite.c Source/LibTIFF4/tif_dumpmode.c Source/LibTIFF4/tif_error.c Source/LibTIFF4/tif_extension.c Source/LibTIFF4/tif_fax3.c Source/LibTIFF4/tif_fax3sm.c Source/LibTIFF4/tif_flush.c Source/LibTIFF4/tif_getimage.c Source/LibTIFF4/tif_jpeg.c Source/LibTIFF4/tif_luv.c Source/LibTIFF4/tif_lzma.c Source/LibTIFF4/tif_lzw.c Source/LibTIFF4/tif_next.c Source/LibTIFF4/tif_ojpeg.c Source/LibTIFF4/tif_open.c Source/LibTIFF4/tif_packbits.c Source/LibTIFF4/tif_pixarlog.c Source/LibTIFF4/tif_predict.c Source/LibTIFF4/tif_print.c Source/LibTIFF4/tif_read.c Source/LibTIFF4/tif_strip.c Source/LibTIFF4/tif_swab.c Source/LibTIFF4/tif_thunder.c Source/LibTIFF4/tif_tile.c Source/LibTIFF4/tif_version.c Source/LibTIFF4/tif_warning.c Source/LibTIFF4/tif_write.c Source/LibTIFF4/tif_zip.c Source/ZLib/adler32.c Source/ZLib/compress.c Source/ZLib/crc32.c Source/ZLib/deflate.c Source/ZLib/gzclose.c Source/ZLib/gzlib.c Source/ZLib/gzread.c Source/ZLib/gzwrite.c Source/ZLib/infback.c Source/ZLib/inffast.c Source/ZLib/inflate.c Source/ZLib/inftrees.c Source/ZLib/trees.c Source/ZLib/uncompr.c Source/ZLib/zutil.c Source/LibOpenJPEG/bio.c Source/LibOpenJPEG/cio.c Source/LibOpenJPEG/dwt.c Source/LibOpenJPEG/event.c Source/LibOpenJPEG/function_list.c Source/LibOpenJPEG/image.c Source/LibOpenJPEG/invert.c Source/LibOpenJPEG/j2k.c Source/LibOpenJPEG/jp2.c Source/LibOpenJPEG/mct.c Source/LibOpenJPEG/mqc.c Source/LibOpenJPEG/openjpeg.c Source/LibOpenJPEG/opj_clock.c Source/LibOpenJPEG/pi.c Source/LibOpenJPEG/raw.c Source/LibOpenJPEG/t1.c Source/LibOpenJPEG/t2.c Source/LibOpenJPEG/tcd.c Source/LibOpenJPEG/tgt.c Source/OpenEXR/IexMath/IexMathFpu.cpp Source/OpenEXR/IlmImf/b44ExpLogTable.cpp Source/OpenEXR/IlmImf/ImfAcesFile.cpp Source/OpenEXR/IlmImf/ImfAttribute.cpp Source/OpenEXR/IlmImf/ImfB44Compressor.cpp Source/OpenEXR/IlmImf/ImfBoxAttribute.cpp Source/OpenEXR/IlmImf/ImfChannelList.cpp Source/OpenEXR/IlmImf/ImfChannelListAttribute.cpp Source/OpenEXR/IlmImf/ImfChromaticities.cpp Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.cpp Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.cpp Source/OpenEXR/IlmImf/ImfCompressionAttribute.cpp Source/OpenEXR/IlmImf/ImfCompressor.cpp Source/OpenEXR/IlmImf/ImfConvert.cpp Source/OpenEXR/IlmImf/ImfCRgbaFile.cpp Source/OpenEXR/IlmImf/ImfDeepCompositing.cpp Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfDoubleAttribute.cpp Source/OpenEXR/IlmImf/ImfDwaCompressor.cpp Source/OpenEXR/IlmImf/ImfEnvmap.cpp Source/OpenEXR/IlmImf/ImfEnvmapAttribute.cpp Source/OpenEXR/IlmImf/ImfFastHuf.cpp Source/OpenEXR/IlmImf/ImfFloatAttribute.cpp Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfFramesPerSecond.cpp Source/OpenEXR/IlmImf/ImfGenericInputFile.cpp Source/OpenEXR/IlmImf/ImfGenericOutputFile.cpp Source/OpenEXR/IlmImf/ImfHeader.cpp Source/OpenEXR/IlmImf/ImfHuf.cpp Source/OpenEXR/IlmImf/ImfInputFile.cpp Source/OpenEXR/IlmImf/ImfInputPart.cpp Source/OpenEXR/IlmImf/ImfInputPartData.cpp Source/OpenEXR/IlmImf/ImfIntAttribute.cpp Source/OpenEXR/IlmImf/ImfIO.cpp Source/OpenEXR/IlmImf/ImfKeyCode.cpp Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfLineOrderAttribute.cpp Source/OpenEXR/IlmImf/ImfLut.cpp Source/OpenEXR/IlmImf/ImfMatrixAttribute.cpp Source/OpenEXR/IlmImf/ImfMisc.cpp Source/OpenEXR/IlmImf/ImfMultiPartInputFile.cpp Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.cpp Source/OpenEXR/IlmImf/ImfMultiView.cpp Source/OpenEXR/IlmImf/ImfOpaqueAttribute.cpp Source/OpenEXR/IlmImf/ImfOutputFile.cpp Source/OpenEXR/IlmImf/ImfOutputPart.cpp Source/OpenEXR/IlmImf/ImfOutputPartData.cpp Source/OpenEXR/IlmImf/ImfPartType.cpp Source/OpenEXR/IlmImf/ImfPizCompressor.cpp Source/OpenEXR/IlmImf/ImfPreviewImage.cpp Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.cpp Source/OpenEXR/IlmImf/ImfPxr24Compressor.cpp Source/OpenEXR/IlmImf/ImfRational.cpp Source/OpenEXR/IlmImf/ImfRationalAttribute.cpp Source/OpenEXR/IlmImf/ImfRgbaFile.cpp Source/OpenEXR/IlmImf/ImfRgbaYca.cpp Source/OpenEXR/IlmImf/ImfRle.cpp Source/OpenEXR/IlmImf/ImfRleCompressor.cpp Source/OpenEXR/IlmImf/ImfScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfStandardAttributes.cpp Source/OpenEXR/IlmImf/ImfStdIO.cpp Source/OpenEXR/IlmImf/ImfStringAttribute.cpp Source/OpenEXR/IlmImf/ImfStringVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfSystemSpecific.cpp Source/OpenEXR/IlmImf/ImfTestFile.cpp Source/OpenEXR/IlmImf/ImfThreading.cpp Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.cpp Source/OpenEXR/IlmImf/ImfTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfTiledMisc.cpp Source/OpenEXR/IlmImf/ImfTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfTiledRgbaFile.cpp Source/OpenEXR/IlmImf/ImfTileOffsets.cpp Source/OpenEXR/IlmImf/ImfTimeCode.cpp Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfVecAttribute.cpp Source/OpenEXR/IlmImf/ImfVersion.cpp Source/OpenEXR/IlmImf/ImfWav.cpp Source/OpenEXR/IlmImf/ImfZip.cpp Source/OpenEXR/IlmImf/ImfZipCompressor.cpp Source/OpenEXR/Imath/ImathBox.cpp Source/OpenEXR/Imath/ImathColorAlgo.cpp Source/OpenEXR/Imath/ImathFun.cpp Source/OpenEXR/Imath/ImathMatrixAlgo.cpp Source/OpenEXR/Imath/ImathRandom.cpp Source/OpenEXR/Imath/ImathShear.cpp Source/OpenEXR/Imath/ImathVec.cpp Source/OpenEXR/Iex/IexBaseExc.cpp Source/OpenEXR/Iex/IexThrowErrnoExc.cpp Source/OpenEXR/Half/half.cpp Source/OpenEXR/IlmThread/IlmThread.cpp Source/OpenEXR/IlmThread/IlmThreadMutex.cpp Source/OpenEXR/IlmThread/IlmThreadPool.cpp Source/OpenEXR/IlmThread/IlmThreadSemaphore.cpp Source/OpenEXR/IexMath/IexMathFloatExc.cpp Source/LibRawLite/internal/dcraw_common.cpp Source/LibRawLite/internal/dcraw_fileio.cpp Source/LibRawLite/internal/demosaic_packs.cpp Source/LibRawLite/src/libraw_c_api.cpp Source/LibRawLite/src/libraw_cxx.cpp Source/LibRawLite/src/libraw_datastream.cpp Source/LibWebP/src/dec/alpha_dec.c Source/LibWebP/src/dec/buffer_dec.c Source/LibWebP/src/dec/frame_dec.c Source/LibWebP/src/dec/idec_dec.c Source/LibWebP/src/dec/io_dec.c Source/LibWebP/src/dec/quant_dec.c Source/LibWebP/src/dec/tree_dec.c Source/LibWebP/src/dec/vp8l_dec.c Source/LibWebP/src/dec/vp8_dec.c Source/LibWebP/src/dec/webp_dec.c Source/LibWebP/src/demux/anim_decode.c Source/LibWebP/src/demux/demux.c Source/LibWebP/src/dsp/alpha_processing.c Source/LibWebP/src/dsp/alpha_processing_mips_dsp_r2.c Source/LibWebP/src/dsp/alpha_processing_neon.c Source/LibWebP/src/dsp/alpha_processing_sse2.c Source/LibWebP/src/dsp/alpha_processing_sse41.c Source/LibWebP/src/dsp/cost.c Source/LibWebP/src/dsp/cost_mips32.c Source/LibWebP/src/dsp/cost_mips_dsp_r2.c Source/LibWebP/src/dsp/cost_neon.c Source/LibWebP/src/dsp/cost_sse2.c Source/LibWebP/src/dsp/cpu.c Source/LibWebP/src/dsp/dec.c Source/LibWebP/src/dsp/dec_clip_tables.c Source/LibWebP/src/dsp/dec_mips32.c Source/LibWebP/src/dsp/dec_mips_dsp_r2.c Source/LibWebP/src/dsp/dec_msa.c Source/LibWebP/src/dsp/dec_neon.c Source/LibWebP/src/dsp/dec_sse2.c Source/LibWebP/src/dsp/dec_sse41.c Source/LibWebP/src/dsp/enc.c Source/LibWebP/src/dsp/enc_avx2.c Source/LibWebP/src/dsp/enc_mips32.c Source/LibWebP/src/dsp/enc_mips_dsp_r2.c Source/LibWebP/src/dsp/enc_msa.c Source/LibWebP/src/dsp/enc_neon.c Source/LibWebP/src/dsp/enc_sse2.c Source/LibWebP/src/dsp/enc_sse41.c Source/LibWebP/src/dsp/filters.c Source/LibWebP/src/dsp/filters_mips_dsp_r2.c Source/LibWebP/src/dsp/filters_msa.c Source/LibWebP/src/dsp/filters_neon.c Source/LibWebP/src/dsp/filters_sse2.c Source/LibWebP/src/dsp/lossless.c Source/LibWebP/src/dsp/lossless_enc.c Source/LibWebP/src/dsp/lossless_enc_mips32.c Source/LibWebP/src/dsp/lossless_enc_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_enc_msa.c Source/LibWebP/src/dsp/lossless_enc_neon.c Source/LibWebP/src/dsp/lossless_enc_sse2.c Source/LibWebP/src/dsp/lossless_enc_sse41.c Source/LibWebP/src/dsp/lossless_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_msa.c Source/LibWebP/src/dsp/lossless_neon.c Source/LibWebP/src/dsp/lossless_sse2.c Source/LibWebP/src/dsp/rescaler.c Source/LibWebP/src/dsp/rescaler_mips32.c Source/LibWebP/src/dsp/rescaler_mips_dsp_r2.c Source/LibWebP/src/dsp/rescaler_msa.c Source/LibWebP/src/dsp/rescaler_neon.c Source/LibWebP/src/dsp/rescaler_sse2.c Source/LibWebP/src/dsp/ssim.c Source/LibWebP/src/dsp/ssim_sse2.c Source/LibWebP/src/dsp/upsampling.c Source/LibWebP/src/dsp/upsampling_mips_dsp_r2.c Source/LibWebP/src/dsp/upsampling_msa.c Source/LibWebP/src/dsp/upsampling_neon.c Source/LibWebP/src/dsp/upsampling_sse2.c Source/LibWebP/src/dsp/upsampling_sse41.c Source/LibWebP/src/dsp/yuv.c Source/LibWebP/src/dsp/yuv_mips32.c Source/LibWebP/src/dsp/yuv_mips_dsp_r2.c Source/LibWebP/src/dsp/yuv_neon.c Source/LibWebP/src/dsp/yuv_sse2.c Source/LibWebP/src/dsp/yuv_sse41.c Source/LibWebP/src/enc/alpha_enc.c Source/LibWebP/src/enc/analysis_enc.c Source/LibWebP/src/enc/backward_references_cost_enc.c Source/LibWebP/src/enc/backward_references_enc.c Source/LibWebP/src/enc/config_enc.c Source/LibWebP/src/enc/cost_enc.c Source/LibWebP/src/enc/filter_enc.c Source/LibWebP/src/enc/frame_enc.c Source/LibWebP/src/enc/histogram_enc.c Source/LibWebP/src/enc/iterator_enc.c Source/LibWebP/src/enc/near_lossless_enc.c Source/LibWebP/src/enc/picture_csp_enc.c Source/LibWebP/src/enc/picture_enc.c Source/LibWebP/src/enc/picture_psnr_enc.c Source/LibWebP/src/enc/picture_rescale_enc.c Source/LibWebP/src/enc/picture_tools_enc.c Source/LibWebP/src/enc/predictor_enc.c Source/LibWebP/src/enc/quant_enc.c Source/LibWebP/src/enc/syntax_enc.c Source/LibWebP/src/enc/token_enc.c Source/LibWebP/src/enc/tree_enc.c Source/LibWebP/src/enc/vp8l_enc.c Source/LibWebP/src/enc/webp_enc.c Source/LibWebP/src/mux/anim_encode.c Source/LibWebP/src/mux/muxedit.c Source/LibWebP/src/mux/muxinternal.c Source/LibWebP/src/mux/muxread.c Source/LibWebP/src/utils/bit_reader_utils.c Source/LibWebP/src/utils/bit_writer_utils.c Source/LibWebP/src/utils/color_cache_utils.c Source/LibWebP/src/utils/filters_utils.c Source/LibWebP/src/utils/huffman_encode_utils.c Source/LibWebP/src/utils/huffman_utils.c Source/LibWebP/src/utils/quant_levels_dec_utils.c Source/LibWebP/src/utils/quant_levels_utils.c Source/LibWebP/src/utils/random_utils.c Source/LibWebP/src/utils/rescaler_utils.c Source/LibWebP/src/utils/thread_utils.c Source/LibWebP/src/utils/utils.c Source/LibJXR/image/decode/decode.c Source/LibJXR/image/decode/JXRTranscode.c Source/LibJXR/image/decode/postprocess.c Source/LibJXR/image/decode/segdec.c Source/LibJXR/image/decode/strdec.c Source/LibJXR/image/decode/strdec_x86.c Source/LibJXR/image/decode/strInvTransform.c Source/LibJXR/image/decode/strPredQuantDec.c Source/LibJXR/image/encode/encode.c Source/LibJXR/image/encode/segenc.c Source/LibJXR/image/encode/strenc.c Source/LibJXR/image/encode/strenc_x86.c Source/LibJXR/image/encode/strFwdTransform.c Source/LibJXR/image/encode/strPredQuantEnc.c Source/LibJXR/image/sys/adapthuff.c Source/LibJXR/image/sys/image.c Source/LibJXR/image/sys/strcodec.c Source/LibJXR/image/sys/strPredQuant.c Source/LibJXR/image/sys/strTransform.c Source/LibJXR/jxrgluelib/JXRGlue.c Source/LibJXR/jxrgluelib/JXRGlueJxr.c Source/LibJXR/jxrgluelib/JXRGluePFC.c Source/LibJXR/jxrgluelib/JXRMeta.c Wrapper/FreeImagePlus/src/fipImage.cpp Wrapper/FreeImagePlus/src/fipMemoryIO.cpp Wrapper/FreeImagePlus/src/fipMetadataFind.cpp Wrapper/FreeImagePlus/src/fipMultiPage.cpp Wrapper/FreeImagePlus/src/fipTag.cpp Wrapper/FreeImagePlus/src/fipWinImage.cpp Wrapper/FreeImagePlus/src/FreeImagePlus.cpp +-SRCS = ./Source/FreeImage/BitmapAccess.cpp ./Source/FreeImage/ColorLookup.cpp ./Source/FreeImage/ConversionRGBA16.cpp ./Source/FreeImage/ConversionRGBAF.cpp ./Source/FreeImage/FreeImage.cpp ./Source/FreeImage/FreeImageC.c ./Source/FreeImage/FreeImageIO.cpp ./Source/FreeImage/GetType.cpp ./Source/FreeImage/LFPQuantizer.cpp ./Source/FreeImage/MemoryIO.cpp ./Source/FreeImage/PixelAccess.cpp ./Source/FreeImage/J2KHelper.cpp ./Source/FreeImage/MNGHelper.cpp ./Source/FreeImage/Plugin.cpp ./Source/FreeImage/PluginBMP.cpp ./Source/FreeImage/PluginCUT.cpp ./Source/FreeImage/PluginDDS.cpp ./Source/FreeImage/PluginEXR.cpp ./Source/FreeImage/PluginG3.cpp ./Source/FreeImage/PluginGIF.cpp ./Source/FreeImage/PluginHDR.cpp ./Source/FreeImage/PluginICO.cpp ./Source/FreeImage/PluginIFF.cpp ./Source/FreeImage/PluginJ2K.cpp ./Source/FreeImage/PluginJNG.cpp ./Source/FreeImage/PluginJP2.cpp ./Source/FreeImage/PluginJPEG.cpp ./Source/FreeImage/PluginJXR.cpp ./Source/FreeImage/PluginKOALA.cpp ./Source/FreeImage/PluginMNG.cpp ./Source/FreeImage/PluginPCD.cpp ./Source/FreeImage/PluginPCX.cpp ./Source/FreeImage/PluginPFM.cpp ./Source/FreeImage/PluginPICT.cpp ./Source/FreeImage/PluginPNG.cpp ./Source/FreeImage/PluginPNM.cpp ./Source/FreeImage/PluginPSD.cpp ./Source/FreeImage/PluginRAS.cpp ./Source/FreeImage/PluginRAW.cpp ./Source/FreeImage/PluginSGI.cpp ./Source/FreeImage/PluginTARGA.cpp ./Source/FreeImage/PluginTIFF.cpp ./Source/FreeImage/PluginWBMP.cpp ./Source/FreeImage/PluginWebP.cpp ./Source/FreeImage/PluginXBM.cpp ./Source/FreeImage/PluginXPM.cpp ./Source/FreeImage/PSDParser.cpp ./Source/FreeImage/TIFFLogLuv.cpp ./Source/FreeImage/Conversion.cpp ./Source/FreeImage/Conversion16_555.cpp ./Source/FreeImage/Conversion16_565.cpp ./Source/FreeImage/Conversion24.cpp ./Source/FreeImage/Conversion32.cpp ./Source/FreeImage/Conversion4.cpp ./Source/FreeImage/Conversion8.cpp ./Source/FreeImage/ConversionFloat.cpp ./Source/FreeImage/ConversionRGB16.cpp ./Source/FreeImage/ConversionRGBF.cpp ./Source/FreeImage/ConversionType.cpp ./Source/FreeImage/ConversionUINT16.cpp ./Source/FreeImage/Halftoning.cpp ./Source/FreeImage/tmoColorConvert.cpp ./Source/FreeImage/tmoDrago03.cpp ./Source/FreeImage/tmoFattal02.cpp ./Source/FreeImage/tmoReinhard05.cpp ./Source/FreeImage/ToneMapping.cpp ./Source/FreeImage/NNQuantizer.cpp ./Source/FreeImage/WuQuantizer.cpp ./Source/FreeImage/CacheFile.cpp ./Source/FreeImage/MultiPage.cpp ./Source/FreeImage/ZLibInterface.cpp ./Source/Metadata/Exif.cpp ./Source/Metadata/FIRational.cpp ./Source/Metadata/FreeImageTag.cpp ./Source/Metadata/IPTC.cpp ./Source/Metadata/TagConversion.cpp ./Source/Metadata/TagLib.cpp ./Source/Metadata/XTIFF.cpp ./Source/FreeImageToolkit/Background.cpp ./Source/FreeImageToolkit/BSplineRotate.cpp ./Source/FreeImageToolkit/Channels.cpp ./Source/FreeImageToolkit/ClassicRotate.cpp ./Source/FreeImageToolkit/Colors.cpp ./Source/FreeImageToolkit/CopyPaste.cpp ./Source/FreeImageToolkit/Display.cpp ./Source/FreeImageToolkit/Flip.cpp ./Source/FreeImageToolkit/JPEGTransform.cpp ./Source/FreeImageToolkit/MultigridPoissonSolver.cpp ./Source/FreeImageToolkit/Rescale.cpp ./Source/FreeImageToolkit/Resize.cpp Source/LibJPEG/jaricom.c Source/LibJPEG/jcapimin.c Source/LibJPEG/jcapistd.c Source/LibJPEG/jcarith.c Source/LibJPEG/jccoefct.c Source/LibJPEG/jccolor.c Source/LibJPEG/jcdctmgr.c Source/LibJPEG/jchuff.c Source/LibJPEG/jcinit.c Source/LibJPEG/jcmainct.c Source/LibJPEG/jcmarker.c Source/LibJPEG/jcmaster.c Source/LibJPEG/jcomapi.c Source/LibJPEG/jcparam.c Source/LibJPEG/jcprepct.c Source/LibJPEG/jcsample.c Source/LibJPEG/jctrans.c Source/LibJPEG/jdapimin.c Source/LibJPEG/jdapistd.c Source/LibJPEG/jdarith.c Source/LibJPEG/jdatadst.c Source/LibJPEG/jdatasrc.c Source/LibJPEG/jdcoefct.c Source/LibJPEG/jdcolor.c Source/LibJPEG/jddctmgr.c Source/LibJPEG/jdhuff.c Source/LibJPEG/jdinput.c Source/LibJPEG/jdmainct.c Source/LibJPEG/jdmarker.c Source/LibJPEG/jdmaster.c Source/LibJPEG/jdmerge.c Source/LibJPEG/jdpostct.c Source/LibJPEG/jdsample.c Source/LibJPEG/jdtrans.c Source/LibJPEG/jerror.c Source/LibJPEG/jfdctflt.c Source/LibJPEG/jfdctfst.c Source/LibJPEG/jfdctint.c Source/LibJPEG/jidctflt.c Source/LibJPEG/jidctfst.c Source/LibJPEG/jidctint.c Source/LibJPEG/jmemmgr.c Source/LibJPEG/jmemnobs.c Source/LibJPEG/jquant1.c Source/LibJPEG/jquant2.c Source/LibJPEG/jutils.c Source/LibJPEG/transupp.c Source/LibPNG/png.c Source/LibPNG/pngerror.c Source/LibPNG/pngget.c Source/LibPNG/pngmem.c Source/LibPNG/pngpread.c Source/LibPNG/pngread.c Source/LibPNG/pngrio.c Source/LibPNG/pngrtran.c Source/LibPNG/pngrutil.c Source/LibPNG/pngset.c Source/LibPNG/pngtrans.c Source/LibPNG/pngwio.c Source/LibPNG/pngwrite.c Source/LibPNG/pngwtran.c Source/LibPNG/pngwutil.c Source/LibTIFF4/tif_aux.c Source/LibTIFF4/tif_close.c Source/LibTIFF4/tif_codec.c Source/LibTIFF4/tif_color.c Source/LibTIFF4/tif_compress.c Source/LibTIFF4/tif_dir.c Source/LibTIFF4/tif_dirinfo.c Source/LibTIFF4/tif_dirread.c Source/LibTIFF4/tif_dirwrite.c Source/LibTIFF4/tif_dumpmode.c Source/LibTIFF4/tif_error.c Source/LibTIFF4/tif_extension.c Source/LibTIFF4/tif_fax3.c Source/LibTIFF4/tif_fax3sm.c Source/LibTIFF4/tif_flush.c Source/LibTIFF4/tif_getimage.c Source/LibTIFF4/tif_jpeg.c Source/LibTIFF4/tif_lerc.c Source/LibTIFF4/tif_luv.c Source/LibTIFF4/tif_lzw.c Source/LibTIFF4/tif_next.c Source/LibTIFF4/tif_ojpeg.c Source/LibTIFF4/tif_open.c Source/LibTIFF4/tif_packbits.c Source/LibTIFF4/tif_pixarlog.c Source/LibTIFF4/tif_predict.c Source/LibTIFF4/tif_print.c Source/LibTIFF4/tif_read.c Source/LibTIFF4/tif_strip.c Source/LibTIFF4/tif_swab.c Source/LibTIFF4/tif_thunder.c Source/LibTIFF4/tif_tile.c Source/LibTIFF4/tif_version.c Source/LibTIFF4/tif_warning.c Source/LibTIFF4/tif_webp.c Source/LibTIFF4/tif_write.c Source/LibTIFF4/tif_zip.c Source/ZLib/adler32.c Source/ZLib/compress.c Source/ZLib/crc32.c Source/ZLib/deflate.c Source/ZLib/gzclose.c Source/ZLib/gzlib.c Source/ZLib/gzread.c Source/ZLib/gzwrite.c Source/ZLib/infback.c Source/ZLib/inffast.c Source/ZLib/inflate.c Source/ZLib/inftrees.c Source/ZLib/trees.c Source/ZLib/uncompr.c Source/ZLib/zutil.c Source/LibOpenJPEG/bio.c Source/LibOpenJPEG/cio.c Source/LibOpenJPEG/dwt.c Source/LibOpenJPEG/event.c Source/LibOpenJPEG/function_list.c Source/LibOpenJPEG/image.c Source/LibOpenJPEG/invert.c Source/LibOpenJPEG/j2k.c Source/LibOpenJPEG/jp2.c Source/LibOpenJPEG/mct.c Source/LibOpenJPEG/mqc.c Source/LibOpenJPEG/openjpeg.c Source/LibOpenJPEG/opj_clock.c Source/LibOpenJPEG/pi.c Source/LibOpenJPEG/raw.c Source/LibOpenJPEG/t1.c Source/LibOpenJPEG/t2.c Source/LibOpenJPEG/tcd.c Source/LibOpenJPEG/tgt.c Source/OpenEXR/IexMath/IexMathFpu.cpp Source/OpenEXR/IlmImf/b44ExpLogTable.cpp Source/OpenEXR/IlmImf/ImfAcesFile.cpp Source/OpenEXR/IlmImf/ImfAttribute.cpp Source/OpenEXR/IlmImf/ImfB44Compressor.cpp Source/OpenEXR/IlmImf/ImfBoxAttribute.cpp Source/OpenEXR/IlmImf/ImfChannelList.cpp Source/OpenEXR/IlmImf/ImfChannelListAttribute.cpp Source/OpenEXR/IlmImf/ImfChromaticities.cpp Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.cpp Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.cpp Source/OpenEXR/IlmImf/ImfCompressionAttribute.cpp Source/OpenEXR/IlmImf/ImfCompressor.cpp Source/OpenEXR/IlmImf/ImfConvert.cpp Source/OpenEXR/IlmImf/ImfCRgbaFile.cpp Source/OpenEXR/IlmImf/ImfDeepCompositing.cpp Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfDoubleAttribute.cpp Source/OpenEXR/IlmImf/ImfDwaCompressor.cpp Source/OpenEXR/IlmImf/ImfEnvmap.cpp Source/OpenEXR/IlmImf/ImfEnvmapAttribute.cpp Source/OpenEXR/IlmImf/ImfFastHuf.cpp Source/OpenEXR/IlmImf/ImfFloatAttribute.cpp Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfFramesPerSecond.cpp Source/OpenEXR/IlmImf/ImfGenericInputFile.cpp Source/OpenEXR/IlmImf/ImfGenericOutputFile.cpp Source/OpenEXR/IlmImf/ImfHeader.cpp Source/OpenEXR/IlmImf/ImfHuf.cpp Source/OpenEXR/IlmImf/ImfInputFile.cpp Source/OpenEXR/IlmImf/ImfInputPart.cpp Source/OpenEXR/IlmImf/ImfInputPartData.cpp Source/OpenEXR/IlmImf/ImfIntAttribute.cpp Source/OpenEXR/IlmImf/ImfIO.cpp Source/OpenEXR/IlmImf/ImfKeyCode.cpp Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfLineOrderAttribute.cpp Source/OpenEXR/IlmImf/ImfLut.cpp Source/OpenEXR/IlmImf/ImfMatrixAttribute.cpp Source/OpenEXR/IlmImf/ImfMisc.cpp Source/OpenEXR/IlmImf/ImfMultiPartInputFile.cpp Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.cpp Source/OpenEXR/IlmImf/ImfMultiView.cpp Source/OpenEXR/IlmImf/ImfOpaqueAttribute.cpp Source/OpenEXR/IlmImf/ImfOutputFile.cpp Source/OpenEXR/IlmImf/ImfOutputPart.cpp Source/OpenEXR/IlmImf/ImfOutputPartData.cpp Source/OpenEXR/IlmImf/ImfPartType.cpp Source/OpenEXR/IlmImf/ImfPizCompressor.cpp Source/OpenEXR/IlmImf/ImfPreviewImage.cpp Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.cpp Source/OpenEXR/IlmImf/ImfPxr24Compressor.cpp Source/OpenEXR/IlmImf/ImfRational.cpp Source/OpenEXR/IlmImf/ImfRationalAttribute.cpp Source/OpenEXR/IlmImf/ImfRgbaFile.cpp Source/OpenEXR/IlmImf/ImfRgbaYca.cpp Source/OpenEXR/IlmImf/ImfRle.cpp Source/OpenEXR/IlmImf/ImfRleCompressor.cpp Source/OpenEXR/IlmImf/ImfScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfStandardAttributes.cpp Source/OpenEXR/IlmImf/ImfStdIO.cpp Source/OpenEXR/IlmImf/ImfStringAttribute.cpp Source/OpenEXR/IlmImf/ImfStringVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfSystemSpecific.cpp Source/OpenEXR/IlmImf/ImfTestFile.cpp Source/OpenEXR/IlmImf/ImfThreading.cpp Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.cpp Source/OpenEXR/IlmImf/ImfTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfTiledMisc.cpp Source/OpenEXR/IlmImf/ImfTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfTiledRgbaFile.cpp Source/OpenEXR/IlmImf/ImfTileOffsets.cpp Source/OpenEXR/IlmImf/ImfTimeCode.cpp Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfVecAttribute.cpp Source/OpenEXR/IlmImf/ImfVersion.cpp Source/OpenEXR/IlmImf/ImfWav.cpp Source/OpenEXR/IlmImf/ImfZip.cpp Source/OpenEXR/IlmImf/ImfZipCompressor.cpp Source/OpenEXR/Imath/ImathBox.cpp Source/OpenEXR/Imath/ImathColorAlgo.cpp Source/OpenEXR/Imath/ImathFun.cpp Source/OpenEXR/Imath/ImathMatrixAlgo.cpp Source/OpenEXR/Imath/ImathRandom.cpp Source/OpenEXR/Imath/ImathShear.cpp Source/OpenEXR/Imath/ImathVec.cpp Source/OpenEXR/Iex/IexBaseExc.cpp Source/OpenEXR/Iex/IexThrowErrnoExc.cpp Source/OpenEXR/Half/half.cpp Source/OpenEXR/IlmThread/IlmThread.cpp Source/OpenEXR/IlmThread/IlmThreadMutex.cpp Source/OpenEXR/IlmThread/IlmThreadPool.cpp Source/OpenEXR/IlmThread/IlmThreadSemaphore.cpp Source/OpenEXR/IexMath/IexMathFloatExc.cpp Source/LibRawLite/src/decoders/canon_600.cpp Source/LibRawLite/src/decoders/crx.cpp Source/LibRawLite/src/decoders/decoders_dcraw.cpp Source/LibRawLite/src/decoders/decoders_libraw.cpp Source/LibRawLite/src/decoders/decoders_libraw_dcrdefs.cpp Source/LibRawLite/src/decoders/dng.cpp Source/LibRawLite/src/decoders/fp_dng.cpp Source/LibRawLite/src/decoders/fuji_compressed.cpp Source/LibRawLite/src/decoders/generic.cpp Source/LibRawLite/src/decoders/kodak_decoders.cpp Source/LibRawLite/src/decoders/load_mfbacks.cpp Source/LibRawLite/src/decoders/smal.cpp Source/LibRawLite/src/decoders/unpack.cpp Source/LibRawLite/src/decoders/unpack_thumb.cpp Source/LibRawLite/src/demosaic/aahd_demosaic.cpp Source/LibRawLite/src/demosaic/ahd_demosaic.cpp Source/LibRawLite/src/demosaic/dcb_demosaic.cpp Source/LibRawLite/src/demosaic/dht_demosaic.cpp Source/LibRawLite/src/demosaic/misc_demosaic.cpp Source/LibRawLite/src/demosaic/xtrans_demosaic.cpp Source/LibRawLite/src/integration/dngsdk_glue.cpp Source/LibRawLite/src/integration/rawspeed_glue.cpp Source/LibRawLite/src/libraw_datastream.cpp Source/LibRawLite/src/metadata/adobepano.cpp Source/LibRawLite/src/metadata/canon.cpp Source/LibRawLite/src/metadata/ciff.cpp Source/LibRawLite/src/metadata/cr3_parser.cpp Source/LibRawLite/src/metadata/epson.cpp Source/LibRawLite/src/metadata/exif_gps.cpp Source/LibRawLite/src/metadata/fuji.cpp Source/LibRawLite/src/metadata/hasselblad_model.cpp Source/LibRawLite/src/metadata/identify.cpp Source/LibRawLite/src/metadata/identify_tools.cpp Source/LibRawLite/src/metadata/kodak.cpp Source/LibRawLite/src/metadata/leica.cpp Source/LibRawLite/src/metadata/makernotes.cpp Source/LibRawLite/src/metadata/mediumformat.cpp Source/LibRawLite/src/metadata/minolta.cpp Source/LibRawLite/src/metadata/misc_parsers.cpp Source/LibRawLite/src/metadata/nikon.cpp Source/LibRawLite/src/metadata/normalize_model.cpp Source/LibRawLite/src/metadata/olympus.cpp Source/LibRawLite/src/metadata/p1.cpp Source/LibRawLite/src/metadata/pentax.cpp Source/LibRawLite/src/metadata/samsung.cpp Source/LibRawLite/src/metadata/sony.cpp Source/LibRawLite/src/metadata/tiff.cpp Source/LibRawLite/src/postprocessing/aspect_ratio.cpp Source/LibRawLite/src/postprocessing/dcraw_process.cpp Source/LibRawLite/src/postprocessing/mem_image.cpp Source/LibRawLite/src/postprocessing/postprocessing_aux.cpp Source/LibRawLite/src/postprocessing/postprocessing_utils.cpp Source/LibRawLite/src/postprocessing/postprocessing_utils_dcrdefs.cpp Source/LibRawLite/src/preprocessing/ext_preprocess.cpp Source/LibRawLite/src/preprocessing/raw2image.cpp Source/LibRawLite/src/preprocessing/subtract_black.cpp Source/LibRawLite/src/tables/cameralist.cpp Source/LibRawLite/src/tables/colorconst.cpp Source/LibRawLite/src/tables/colordata.cpp Source/LibRawLite/src/tables/wblists.cpp Source/LibRawLite/src/utils/curves.cpp Source/LibRawLite/src/utils/decoder_info.cpp Source/LibRawLite/src/utils/init_close_utils.cpp Source/LibRawLite/src/utils/open.cpp Source/LibRawLite/src/utils/phaseone_processing.cpp Source/LibRawLite/src/utils/read_utils.cpp Source/LibRawLite/src/utils/thumb_utils.cpp Source/LibRawLite/src/utils/utils_dcraw.cpp Source/LibRawLite/src/utils/utils_libraw.cpp Source/LibRawLite/src/write/file_write.cpp Source/LibRawLite/src/x3f/x3f_parse_process.cpp Source/LibRawLite/src/x3f/x3f_utils_patched.cpp Source/LibWebP/src/dec/alpha_dec.c Source/LibWebP/src/dec/buffer_dec.c Source/LibWebP/src/dec/frame_dec.c Source/LibWebP/src/dec/idec_dec.c Source/LibWebP/src/dec/io_dec.c Source/LibWebP/src/dec/quant_dec.c Source/LibWebP/src/dec/tree_dec.c Source/LibWebP/src/dec/vp8l_dec.c Source/LibWebP/src/dec/vp8_dec.c Source/LibWebP/src/dec/webp_dec.c Source/LibWebP/src/demux/anim_decode.c Source/LibWebP/src/demux/demux.c Source/LibWebP/src/dsp/alpha_processing.c Source/LibWebP/src/dsp/alpha_processing_mips_dsp_r2.c Source/LibWebP/src/dsp/alpha_processing_neon.c Source/LibWebP/src/dsp/alpha_processing_sse2.c Source/LibWebP/src/dsp/alpha_processing_sse41.c Source/LibWebP/src/dsp/cost.c Source/LibWebP/src/dsp/cost_mips32.c Source/LibWebP/src/dsp/cost_mips_dsp_r2.c Source/LibWebP/src/dsp/cost_neon.c Source/LibWebP/src/dsp/cost_sse2.c Source/LibWebP/src/dsp/cpu.c Source/LibWebP/src/dsp/dec.c Source/LibWebP/src/dsp/dec_clip_tables.c Source/LibWebP/src/dsp/dec_mips32.c Source/LibWebP/src/dsp/dec_mips_dsp_r2.c Source/LibWebP/src/dsp/dec_msa.c Source/LibWebP/src/dsp/dec_neon.c Source/LibWebP/src/dsp/dec_sse2.c Source/LibWebP/src/dsp/dec_sse41.c Source/LibWebP/src/dsp/enc.c Source/LibWebP/src/dsp/enc_avx2.c Source/LibWebP/src/dsp/enc_mips32.c Source/LibWebP/src/dsp/enc_mips_dsp_r2.c Source/LibWebP/src/dsp/enc_msa.c Source/LibWebP/src/dsp/enc_neon.c Source/LibWebP/src/dsp/enc_sse2.c Source/LibWebP/src/dsp/enc_sse41.c Source/LibWebP/src/dsp/filters.c Source/LibWebP/src/dsp/filters_mips_dsp_r2.c Source/LibWebP/src/dsp/filters_msa.c Source/LibWebP/src/dsp/filters_neon.c Source/LibWebP/src/dsp/filters_sse2.c Source/LibWebP/src/dsp/lossless.c Source/LibWebP/src/dsp/lossless_enc.c Source/LibWebP/src/dsp/lossless_enc_mips32.c Source/LibWebP/src/dsp/lossless_enc_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_enc_msa.c Source/LibWebP/src/dsp/lossless_enc_neon.c Source/LibWebP/src/dsp/lossless_enc_sse2.c Source/LibWebP/src/dsp/lossless_enc_sse41.c Source/LibWebP/src/dsp/lossless_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_msa.c Source/LibWebP/src/dsp/lossless_neon.c Source/LibWebP/src/dsp/lossless_sse2.c Source/LibWebP/src/dsp/lossless_sse41.c Source/LibWebP/src/dsp/rescaler.c Source/LibWebP/src/dsp/rescaler_mips32.c Source/LibWebP/src/dsp/rescaler_mips_dsp_r2.c Source/LibWebP/src/dsp/rescaler_msa.c Source/LibWebP/src/dsp/rescaler_neon.c Source/LibWebP/src/dsp/rescaler_sse2.c Source/LibWebP/src/dsp/ssim.c Source/LibWebP/src/dsp/ssim_sse2.c Source/LibWebP/src/dsp/upsampling.c Source/LibWebP/src/dsp/upsampling_mips_dsp_r2.c Source/LibWebP/src/dsp/upsampling_msa.c Source/LibWebP/src/dsp/upsampling_neon.c Source/LibWebP/src/dsp/upsampling_sse2.c Source/LibWebP/src/dsp/upsampling_sse41.c Source/LibWebP/src/dsp/yuv.c Source/LibWebP/src/dsp/yuv_mips32.c Source/LibWebP/src/dsp/yuv_mips_dsp_r2.c Source/LibWebP/src/dsp/yuv_neon.c Source/LibWebP/src/dsp/yuv_sse2.c Source/LibWebP/src/dsp/yuv_sse41.c Source/LibWebP/src/enc/alpha_enc.c Source/LibWebP/src/enc/analysis_enc.c Source/LibWebP/src/enc/backward_references_cost_enc.c Source/LibWebP/src/enc/backward_references_enc.c Source/LibWebP/src/enc/config_enc.c Source/LibWebP/src/enc/cost_enc.c Source/LibWebP/src/enc/filter_enc.c Source/LibWebP/src/enc/frame_enc.c Source/LibWebP/src/enc/histogram_enc.c Source/LibWebP/src/enc/iterator_enc.c Source/LibWebP/src/enc/near_lossless_enc.c Source/LibWebP/src/enc/picture_csp_enc.c Source/LibWebP/src/enc/picture_enc.c Source/LibWebP/src/enc/picture_psnr_enc.c Source/LibWebP/src/enc/picture_rescale_enc.c Source/LibWebP/src/enc/picture_tools_enc.c Source/LibWebP/src/enc/predictor_enc.c Source/LibWebP/src/enc/quant_enc.c Source/LibWebP/src/enc/syntax_enc.c Source/LibWebP/src/enc/token_enc.c Source/LibWebP/src/enc/tree_enc.c Source/LibWebP/src/enc/vp8l_enc.c Source/LibWebP/src/enc/webp_enc.c Source/LibWebP/src/mux/anim_encode.c Source/LibWebP/src/mux/muxedit.c Source/LibWebP/src/mux/muxinternal.c Source/LibWebP/src/mux/muxread.c Source/LibWebP/src/utils/bit_reader_utils.c Source/LibWebP/src/utils/bit_writer_utils.c Source/LibWebP/src/utils/color_cache_utils.c Source/LibWebP/src/utils/filters_utils.c Source/LibWebP/src/utils/huffman_encode_utils.c Source/LibWebP/src/utils/huffman_utils.c Source/LibWebP/src/utils/quant_levels_dec_utils.c Source/LibWebP/src/utils/quant_levels_utils.c Source/LibWebP/src/utils/random_utils.c Source/LibWebP/src/utils/rescaler_utils.c Source/LibWebP/src/utils/thread_utils.c Source/LibWebP/src/utils/utils.c Source/LibJXR/image/decode/decode.c Source/LibJXR/image/decode/JXRTranscode.c Source/LibJXR/image/decode/postprocess.c Source/LibJXR/image/decode/segdec.c Source/LibJXR/image/decode/strdec.c Source/LibJXR/image/decode/strdec_x86.c Source/LibJXR/image/decode/strInvTransform.c Source/LibJXR/image/decode/strPredQuantDec.c Source/LibJXR/image/encode/encode.c Source/LibJXR/image/encode/segenc.c Source/LibJXR/image/encode/strenc.c Source/LibJXR/image/encode/strenc_x86.c Source/LibJXR/image/encode/strFwdTransform.c Source/LibJXR/image/encode/strPredQuantEnc.c Source/LibJXR/image/sys/adapthuff.c Source/LibJXR/image/sys/image.c Source/LibJXR/image/sys/strcodec.c Source/LibJXR/image/sys/strPredQuant.c Source/LibJXR/image/sys/strTransform.c Source/LibJXR/jxrgluelib/JXRGlue.c Source/LibJXR/jxrgluelib/JXRGlueJxr.c Source/LibJXR/jxrgluelib/JXRGluePFC.c Source/LibJXR/jxrgluelib/JXRMeta.c Wrapper/FreeImagePlus/src/fipImage.cpp Wrapper/FreeImagePlus/src/fipMemoryIO.cpp Wrapper/FreeImagePlus/src/fipMetadataFind.cpp Wrapper/FreeImagePlus/src/fipMultiPage.cpp Wrapper/FreeImagePlus/src/fipTag.cpp Wrapper/FreeImagePlus/src/fipWinImage.cpp Wrapper/FreeImagePlus/src/FreeImagePlus.cpp -INCLUDE = -I. -ISource -ISource/Metadata -ISource/FreeImageToolkit -ISource/LibJPEG -ISource/LibPNG -ISource/LibTIFF4 -ISource/ZLib -ISource/LibOpenJPEG -ISource/OpenEXR -ISource/OpenEXR/Half -ISource/OpenEXR/Iex -ISource/OpenEXR/IlmImf -ISource/OpenEXR/IlmThread -ISource/OpenEXR/Imath -ISource/OpenEXR/IexMath -ISource/LibRawLite -ISource/LibRawLite/dcraw -ISource/LibRawLite/internal -ISource/LibRawLite/libraw -ISource/LibRawLite/src -ISource/LibWebP -ISource/LibJXR -ISource/LibJXR/common/include -ISource/LibJXR/image/sys -ISource/LibJXR/jxrgluelib -IWrapper/FreeImagePlus +SRCS = ./Source/FreeImage/BitmapAccess.cpp ./Source/FreeImage/ColorLookup.cpp ./Source/FreeImage/ConversionRGBA16.cpp ./Source/FreeImage/ConversionRGBAF.cpp ./Source/FreeImage/FreeImage.cpp ./Source/FreeImage/FreeImageC.c ./Source/FreeImage/FreeImageIO.cpp ./Source/FreeImage/GetType.cpp ./Source/FreeImage/LFPQuantizer.cpp ./Source/FreeImage/MemoryIO.cpp ./Source/FreeImage/PixelAccess.cpp ./Source/FreeImage/J2KHelper.cpp ./Source/FreeImage/MNGHelper.cpp ./Source/FreeImage/Plugin.cpp ./Source/FreeImage/PluginBMP.cpp ./Source/FreeImage/PluginCUT.cpp ./Source/FreeImage/PluginDDS.cpp ./Source/FreeImage/PluginEXR.cpp ./Source/FreeImage/PluginG3.cpp ./Source/FreeImage/PluginGIF.cpp ./Source/FreeImage/PluginHDR.cpp ./Source/FreeImage/PluginICO.cpp ./Source/FreeImage/PluginIFF.cpp ./Source/FreeImage/PluginJ2K.cpp ./Source/FreeImage/PluginJNG.cpp ./Source/FreeImage/PluginJP2.cpp ./Source/FreeImage/PluginJPEG.cpp ./Source/FreeImage/PluginJXR.cpp ./Source/FreeImage/PluginKOALA.cpp ./Source/FreeImage/PluginMNG.cpp ./Source/FreeImage/PluginPCD.cpp ./Source/FreeImage/PluginPCX.cpp ./Source/FreeImage/PluginPFM.cpp ./Source/FreeImage/PluginPICT.cpp ./Source/FreeImage/PluginPNG.cpp ./Source/FreeImage/PluginPNM.cpp ./Source/FreeImage/PluginPSD.cpp ./Source/FreeImage/PluginRAS.cpp ./Source/FreeImage/PluginRAW.cpp ./Source/FreeImage/PluginSGI.cpp ./Source/FreeImage/PluginTARGA.cpp ./Source/FreeImage/PluginTIFF.cpp ./Source/FreeImage/PluginWBMP.cpp ./Source/FreeImage/PluginWebP.cpp ./Source/FreeImage/PluginXBM.cpp ./Source/FreeImage/PluginXPM.cpp ./Source/FreeImage/PSDParser.cpp ./Source/FreeImage/TIFFLogLuv.cpp ./Source/FreeImage/Conversion.cpp ./Source/FreeImage/Conversion16_555.cpp ./Source/FreeImage/Conversion16_565.cpp ./Source/FreeImage/Conversion24.cpp ./Source/FreeImage/Conversion32.cpp ./Source/FreeImage/Conversion4.cpp ./Source/FreeImage/Conversion8.cpp ./Source/FreeImage/ConversionFloat.cpp ./Source/FreeImage/ConversionRGB16.cpp ./Source/FreeImage/ConversionRGBF.cpp ./Source/FreeImage/ConversionType.cpp ./Source/FreeImage/ConversionUINT16.cpp ./Source/FreeImage/Halftoning.cpp ./Source/FreeImage/tmoColorConvert.cpp ./Source/FreeImage/tmoDrago03.cpp ./Source/FreeImage/tmoFattal02.cpp ./Source/FreeImage/tmoReinhard05.cpp ./Source/FreeImage/ToneMapping.cpp ./Source/FreeImage/NNQuantizer.cpp ./Source/FreeImage/WuQuantizer.cpp ./Source/FreeImage/CacheFile.cpp ./Source/FreeImage/MultiPage.cpp ./Source/FreeImage/ZLibInterface.cpp ./Source/Metadata/Exif.cpp ./Source/Metadata/FIRational.cpp ./Source/Metadata/FreeImageTag.cpp ./Source/Metadata/IPTC.cpp ./Source/Metadata/TagConversion.cpp ./Source/Metadata/TagLib.cpp ./Source/Metadata/XTIFF.cpp ./Source/FreeImageToolkit/Background.cpp ./Source/FreeImageToolkit/BSplineRotate.cpp ./Source/FreeImageToolkit/Channels.cpp ./Source/FreeImageToolkit/ClassicRotate.cpp ./Source/FreeImageToolkit/Colors.cpp ./Source/FreeImageToolkit/CopyPaste.cpp ./Source/FreeImageToolkit/Display.cpp ./Source/FreeImageToolkit/Flip.cpp ./Source/FreeImageToolkit/JPEGTransform.cpp ./Source/FreeImageToolkit/MultigridPoissonSolver.cpp ./Source/FreeImageToolkit/Rescale.cpp ./Source/FreeImageToolkit/Resize.cpp Wrapper/FreeImagePlus/src/fipImage.cpp Wrapper/FreeImagePlus/src/fipMemoryIO.cpp Wrapper/FreeImagePlus/src/fipMetadataFind.cpp Wrapper/FreeImagePlus/src/fipMultiPage.cpp Wrapper/FreeImagePlus/src/fipTag.cpp Wrapper/FreeImagePlus/src/fipWinImage.cpp Wrapper/FreeImagePlus/src/FreeImagePlus.cpp +INCLUDE = -I. -ISource -ISource/Metadata -ISource/FreeImageToolkit -IWrapper/FreeImagePlus diff --git a/pkgs/development/libraries/goffice/default.nix b/pkgs/development/libraries/goffice/default.nix index 0617eaa1a2600..7dbc4157f6ee2 100644 --- a/pkgs/development/libraries/goffice/default.nix +++ b/pkgs/development/libraries/goffice/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "goffice"; - version = "0.10.51"; + version = "0.10.52"; outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "LoQQiE1qUa4AyUIJKKv6c/elUsGqIiNx308txazDzSM="; + sha256 = "YLnv2UNw8JabOU8KrIxuuR4V68DOEja0Sqc16xyYhAw="; }; nativeBuildInputs = [ pkg-config intltool ]; diff --git a/pkgs/development/libraries/gtksourceview/5.x.nix b/pkgs/development/libraries/gtksourceview/5.x.nix index 81c0abd61b6d3..29d85980accc0 100644 --- a/pkgs/development/libraries/gtksourceview/5.x.nix +++ b/pkgs/development/libraries/gtksourceview/5.x.nix @@ -23,13 +23,13 @@ stdenv.mkDerivation rec { pname = "gtksourceview"; - version = "5.4.0"; + version = "5.4.1"; outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "ADvCF+ZwqOyKo67OmUtw5wt9a4B0k4rdohcYVV2E5jc="; + sha256 = "6zWECZz6CtyaCx7eCN72MgvQmeeedKLQrvtAV82T1o4="; }; patches = [ diff --git a/pkgs/development/libraries/libe57format/default.nix b/pkgs/development/libraries/libe57format/default.nix index 2ad8573ecb306..fe5558681ffff 100644 --- a/pkgs/development/libraries/libe57format/default.nix +++ b/pkgs/development/libraries/libe57format/default.nix @@ -1,6 +1,7 @@ { lib, stdenv, cmake, + fetchpatch, fetchFromGitHub, boost, xercesc, @@ -18,6 +19,14 @@ stdenv.mkDerivation rec { sha256 = "15l23spjvak5h3n7aj3ggy0c3cwcg8mvnc9jlbd9yc2ra43bx7bp"; }; + patches = [ + # gcc11 header fix + (fetchpatch { + url = "https://github.com/asmaloney/libE57Format/commit/13f6a16394ce3eb50ea4cd21f31f77f53294e8d0.patch"; + sha256 = "sha256-4vVhKrCxnWO106DSAk+xxo4uk6zC89m9VQAPaDJ8Ed4="; + }) + ]; + nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/libpinyin/default.nix b/pkgs/development/libraries/libpinyin/default.nix index 4f6b2ed00506b..2247c3b9406f6 100644 --- a/pkgs/development/libraries/libpinyin/default.nix +++ b/pkgs/development/libraries/libpinyin/default.nix @@ -16,13 +16,13 @@ let in stdenv.mkDerivation rec { pname = "libpinyin"; - version = "2.6.1"; + version = "2.6.2"; src = fetchFromGitHub { owner = "libpinyin"; repo = "libpinyin"; rev = version; - sha256 = "0izisma5g9a7mxfxs177pi1d7v9dklm0ar4z404nf2s8x4wcg3ib"; + sha256 = "sha256-hafetjKWqImg3Jr1tSXjY0RwbBQ7LccXqx0OdtKCy/c="; }; postUnpack = '' @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Library for intelligent sentence-based Chinese pinyin input method"; - homepage = "https://sourceforge.net/projects/libpinyin"; + homepage = "https://github.com/libpinyin/libpinyin"; license = licenses.gpl3Plus; maintainers = with maintainers; [ linsui ericsagnes ]; platforms = platforms.linux; diff --git a/pkgs/development/libraries/libpqxx/6.nix b/pkgs/development/libraries/libpqxx/6.nix index feb9c7e65147a..c9e55fd9c0191 100644 --- a/pkgs/development/libraries/libpqxx/6.nix +++ b/pkgs/development/libraries/libpqxx/6.nix @@ -1,17 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, doxygen, xmlto, python2, gnused }: +{ lib, stdenv, fetchFromGitHub, postgresql, doxygen, xmlto, python3, gnused }: stdenv.mkDerivation rec { pname = "libpqxx"; - version = "6.4.5"; + version = "6.4.8"; src = fetchFromGitHub { owner = "jtv"; repo = pname; rev = version; - sha256 = "0djmjr2b5x5nd2a4idv5j8s6w0kdmvil910iv1kyc7x94dirbrni"; + hash = "sha256-ybnW9ip1QVadmbYLP+gvo49k9ExHfnsOhSnI6NjsAQk="; }; - nativeBuildInputs = [ gnused python2 ]; + nativeBuildInputs = [ gnused python3 ]; buildInputs = [ postgresql doxygen xmlto ]; preConfigure = '' diff --git a/pkgs/development/libraries/libraspberrypi/default.nix b/pkgs/development/libraries/libraspberrypi/default.nix index 2a5b75a7b906b..b7e528301e8fc 100644 --- a/pkgs/development/libraries/libraspberrypi/default.nix +++ b/pkgs/development/libraries/libraspberrypi/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "libraspberrypi"; - version = "unstable-2021-10-25"; + version = "unstable-2022-03-23"; src = fetchFromGitHub { owner = "raspberrypi"; repo = "userland"; - rev = "0093675e4aa6e152a3ffc318b51a124e96eb287b"; - sha256 = "qpooQy9k2UZ94KaqlFwurV+tt0GrBSRffGdlvMcn1XU="; + rev = "c4fd1b8986c6d6d4ae5cd51e65a8bbeb495dfa4e"; + hash = "sha256-sAfpfq7C9HXVS7ym3UFIO6bpEIWFCOfVCSN2n5q1RNg="; }; patches = [ diff --git a/pkgs/development/libraries/libraw/0_20.nix b/pkgs/development/libraries/libraw/0_20.nix new file mode 100644 index 0000000000000..9fa85e3ace27d --- /dev/null +++ b/pkgs/development/libraries/libraw/0_20.nix @@ -0,0 +1,12 @@ +{ libraw, fetchFromGitHub }: + +libraw.overrideAttrs (_: rec { + version = "0.20.2"; + + src = fetchFromGitHub { + owner = "LibRaw"; + repo = "LibRaw"; + rev = version; + sha256 = "16nm4r2l5501c9zvz25pzajq5id592jhn068scjxhr8np2cblybc"; + }; +}) diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix index 3ff7e725f3d86..2dfadcdd4886c 100644 --- a/pkgs/development/libraries/libraw/default.nix +++ b/pkgs/development/libraries/libraw/default.nix @@ -1,14 +1,14 @@ { lib, stdenv, fetchFromGitHub, autoreconfHook, lcms2, pkg-config }: -stdenv.mkDerivation rec { +stdenv.mkDerivation { pname = "libraw"; - version = "0.20.2"; + version = "unstable-2021-12-03"; src = fetchFromGitHub { owner = "LibRaw"; repo = "LibRaw"; - rev = version; - sha256 = "16nm4r2l5501c9zvz25pzajq5id592jhn068scjxhr8np2cblybc"; + rev = "52b2fc52e93a566e7e05eaa44cada58e3360b6ad"; + sha256 = "kW0R4iPuqnFuWYDrl46ok3kaPcGgY2MqZT7mqVX+BDQ="; }; outputs = [ "out" "lib" "dev" "doc" ]; diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix index 42ccf8fddcf68..2c10689d729a6 100644 --- a/pkgs/development/libraries/libvirt/default.nix +++ b/pkgs/development/libraries/libvirt/default.nix @@ -26,6 +26,7 @@ , ninja , perl , perlPackages +, polkit , pkg-config , pmutils , python3 @@ -227,6 +228,9 @@ stdenv.mkDerivation rec { --replace "gmake" "make" \ --replace "ggrep" "grep" + substituteInPlace src/util/virpolkit.h \ + --replace '"/usr/bin/pkttyagent"' '"${polkit.bin}/bin/pkttyagent"' + patchShebangs . '' + (lib.concatStringsSep "\n" (lib.mapAttrsToList patchBuilder overrides)); diff --git a/pkgs/development/libraries/libvmaf/default.nix b/pkgs/development/libraries/libvmaf/default.nix index 03ca9b0d11b31..a58f816e8afaf 100644 --- a/pkgs/development/libraries/libvmaf/default.nix +++ b/pkgs/development/libraries/libvmaf/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "libvmaf"; - version = "2.3.0"; + version = "2.3.1"; src = fetchFromGitHub { owner = "netflix"; repo = "vmaf"; rev = "v${version}"; - sha256 = "12mwl7vxc3xi0qar386mkhkpah9zzgjb74mzc2qqsgz9zzxp16dm"; + sha256 = "sha256-TkMy2tEdG1FPPWfH/wPnVbs5kocqe4Y0jU4yvbiRZ9k="; }; sourceRoot = "source/libvmaf"; diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index f5dbb30d65fdc..28e8c61bf7364 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -9,7 +9,7 @@ , vulkanDrivers ? ["auto"] , eglPlatforms ? [ "x11" ] ++ lib.optionals stdenv.isLinux [ "wayland" ] , OpenGL, Xplugin -, withValgrind ? !stdenv.isDarwin && lib.meta.availableOn stdenv.hostPlatform valgrind-light, valgrind-light +, withValgrind ? lib.meta.availableOn stdenv.hostPlatform valgrind-light && !valgrind-light.meta.broken, valgrind-light , enableGalliumNine ? stdenv.isLinux , enableOSMesa ? stdenv.isLinux , enableOpenCL ? stdenv.isLinux && stdenv.isx86_64 diff --git a/pkgs/development/libraries/ntdb/default.nix b/pkgs/development/libraries/ntdb/default.nix deleted file mode 100644 index 021436516c228..0000000000000 --- a/pkgs/development/libraries/ntdb/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ lib, stdenv -, fetchurl -, python2 -, python3 -, pkg-config -, readline -, gettext -, libxslt -, docbook-xsl-nons -, docbook_xml_dtd_42 -, wafHook -}: - -stdenv.mkDerivation rec { - pname = "ntdb"; - version = "1.0"; - - src = fetchurl { - url = "mirror://samba/tdb/${pname}-${version}.tar.gz"; - sha256 = "0jdzgrz5sr25k83yrw7wqb3r0yj1v04z4s3lhsmnr5z6n5ifhyl1"; - }; - - nativeBuildInputs = [ - pkg-config - gettext - libxslt - docbook-xsl-nons - docbook_xml_dtd_42 - wafHook - python2 # For wafHook - ]; - - buildInputs = [ - python3 - readline # required to build python - ]; - - wafPath = "buildtools/bin/waf"; - - wafConfigureFlags = [ - "--bundled-libraries=NONE" - "--builtin-libraries=replace,ccan" - ]; - - meta = with lib; { - description = "The not-so trivial database"; - homepage = "https://tdb.samba.org/"; - license = licenses.lgpl3Plus; - platforms = platforms.all; - }; -} diff --git a/pkgs/development/libraries/physics/lhapdf/maintainer.sh b/pkgs/development/libraries/physics/lhapdf/maintainer.sh index 6e263dcebfde7..dc182ec99ea63 100755 --- a/pkgs/development/libraries/physics/lhapdf/maintainer.sh +++ b/pkgs/development/libraries/physics/lhapdf/maintainer.sh @@ -4,9 +4,9 @@ set -xe : ${SED:="$(nix-build '<nixpkgs>' -A gnused --no-out-link)/bin/sed"} -BASE_URL="https://lhapdfsets.web.cern.ch/lhapdfsets/current/" +BASE_URL="https://lhapdfsets.web.cern.ch/current/" -for pdf_set in `curl -L $BASE_URL 2>/dev/null | "$SED" -e "s/.*<a href=\"\([^\"/]*.tar.gz\)\".*/\1/;tx;d;:x" | sort -u`; do +for pdf_set in `curl -L $BASE_URL 2>/dev/null | "$SED" -n -e 's/.*<a href=".*\/\([^"/]*\.tar\.gz\)".*/\1/p' | sort -u`; do echo -n " \"${pdf_set%.tar.gz}\" = \"" nix-prefetch-url "${BASE_URL}${pdf_set}" 2>/dev/null | tr -d '\n' echo "\";" diff --git a/pkgs/development/libraries/physics/lhapdf/pdf_sets.nix b/pkgs/development/libraries/physics/lhapdf/pdf_sets.nix index 694164f5af2eb..286cf8355b64c 100644 --- a/pkgs/development/libraries/physics/lhapdf/pdf_sets.nix +++ b/pkgs/development/libraries/physics/lhapdf/pdf_sets.nix @@ -59,6 +59,9 @@ in "ATLAS-epWZ16-VAR" = "1zkhlv8yxfla46gj57119w9prsd3zyy5vg275bayfwa6b71gmc0b"; "ATLAS-epWZtop18-EIG" = "069rysd9mf3cshx7xkcv7735ydh2g6szvljbfkcqwckaqjg2x3v5"; "ATLAS-epWZtop18-VAR" = "0hpyp52dwl8fnw47pyw8g7fsz97wr6sk4yli6sx0zbj8yy2j28yj"; + "ATLASepWZVjet20-EIG" = "0lvd3zkmisx95rbjx7r9wkk0s0mxvaybp3pk66sxrxf1bj1l9r52"; + "ATLASepWZVjet20-MOD" = "1iyb50isdsy3a5wnlm0185z9bfs6nxwlcl1aqlh4h3j1dbmz4ba9"; + "ATLASepWZVjet20-PAR" = "1kfqii7sbcs8zdsyd9kiy3r233nawc9yfc23fb6ql0xcwfzpyb1d"; "CJ12max" = "1vk2zkaiqbl6fixaxy7mrggmmxv7lvnw736lxm5sh25dapg6s8ag"; "CJ12mid" = "0s2558ihypn0l9qqx25qwnawbc7fkbi2wwwhbyb108rjk2klaf8v"; "CJ12min" = "1kdla638m3axr65ndid9irmqhby4gl084r297xw3jxxlrb0b7hj9"; @@ -171,7 +174,7 @@ in "CT14nnloIC" = "1wnpwy0mz0c5y29wi497jcn5k47bndd0h65d6a18qcfk0l15rfzx"; "CT14nnlo_NF3" = "0ijns9bjkw8zcinba7rflc7ic03mn5701lqfrxqjyq4q6kh8fia7"; "CT14nnlo_NF4" = "0fhyzaxnm17pi7wfh5hwaic9q4y0hb05ripd6r648wnnhhi353xy"; - "CT14nnlo_NF6" = "1rnacbsh0y9qjd2x7ggs87zi9msrxrp2l6lidg92i2la4pri27zk"; + "CT14nnlo_NF6" = "1dvabji3vrqk8ngln72xqiahm8fai3klgv5yz64b3bfxcr04wmg9"; "CT14nnlo_as_0111" = "1hl88j40czr73h9fbz0zbliawlqwng7ikrmq01hsfns190axm8w9"; "CT14nnlo_as_0112" = "1w9344v9ihr0w8vrfhhxn81gcnr0qm6ihwwijvcdds09jpdlp6vr"; "CT14nnlo_as_0113" = "11symfb1ljislbksrars1k766fa2n1inbarzbw3kp01vxpw8gxf5"; @@ -190,133 +193,157 @@ in "CT14qed_neutron" = "0ck1vmqk17i7rq42hra79cz2rm8ngxv4da6dvz62l6m2nrga3l2k"; "CT14qed_proton" = "1gijxkq5gpsljijblzd13kgr7xjjvnjv18v02jivylf73igsakd7"; "CT18ANLO" = "16lbhgkbiym3njiffxdcm3hf7kkm33hyj2w1hwgb3mvxx2sja31c"; - "CT18ANLO_as_0110" = "08hwxc99l645a9craimgawwynxcs5cmapgxgk0fy9ihvjvqs6jg2"; - "CT18ANLO_as_0111" = "02ff3s127svdjzawbhzry04rcsw5waggmf3iwpqndzxhqpm0py8a"; - "CT18ANLO_as_0112" = "063g7sqii0gf2rdjg9k9x95kzwg62w8lfq9cgyv3bnkpapnbqhia"; - "CT18ANLO_as_0113" = "01zh34dg4cc8955ipg2i0k6s13h77jg8yaa4v2f4aw0020js9dn2"; - "CT18ANLO_as_0114" = "061lvglsg4889q6qya83f7ngyzi2ibar1c9w6xyl462x5i4frx2x"; - "CT18ANLO_as_0115" = "0a35axfjxywy4yh8pk4w4f57rfljvd593bx7a8wnix0cifnngg4j"; - "CT18ANLO_as_0116" = "1cm3m3m6l93qlr9fxbc0d21gq3x0wn09qi8cxbx7lj0yqhjf2zh8"; - "CT18ANLO_as_0117" = "1nrzrlp7i42z7pv550ggga0fk356i9rqbj60mdxvlw3xl6v4kkf4"; - "CT18ANLO_as_0118" = "19p7x6q9flsz1s82scakgnsfsrjf8ym6ix3gp195fjgfdkannh9i"; - "CT18ANLO_as_0119" = "1jz27f39dpg0g46p834vgvaajxspyqwd8f7zlpv44lfb43va6dgy"; - "CT18ANLO_as_0120" = "0rp9hrvs44d8pbagmc3vipnh5d9amam3prkm2k7spvxahr6dp8dp"; - "CT18ANLO_as_0121" = "15abhrjmmhyka9dxjmwz7103i0bpa605yhy6kisgzf7km5ca14h9"; - "CT18ANLO_as_0122" = "15mxybppydzsxx308hqljahnmrw0islw2zl45kjlhxjxsmaai2nc"; - "CT18ANLO_as_0123" = "19zlyapm5cp1hwvfqcjm3v6mgwdaa6f5d0mvnh68c05sn39xjhz2"; - "CT18ANLO_as_0124" = "1fwzcs50bj6d6cjkvi4qj44mwrwxhjh25lxmk2q82wdmddgpaz0c"; + "CT18ANLO_as_0110" = "1lkxicxmphi4mdc23vig4a5l4gp0n53jblzsl7bvrixbkhd5arv8"; + "CT18ANLO_as_0111" = "1jk8siawnpnclgjc0jhx89ipym0jp94mrklwkn0awh0hgqxd26ra"; + "CT18ANLO_as_0112" = "0rpfx10b5hjwzmlqzkk1zkk38ysn5jfgipk71zl5da6qk1ih5v2s"; + "CT18ANLO_as_0113" = "0chhqgjddrb731y6haa94yypki6pzpjq5rvja61gfbghbvnc02fs"; + "CT18ANLO_as_0114" = "0nvl1a588jvmh7a7przrzpvf9prrpvv610jmsnfrcp4i98ipdn1p"; + "CT18ANLO_as_0115" = "1f757zlavyjxjwyda8rnkzg9kagmciywvvvdcsbks9ij3m4fcw5z"; + "CT18ANLO_as_0116" = "13bdsnwkqzjq63m02vmb7z03rx6chcyy3br4m52gja0qz03rxhyj"; + "CT18ANLO_as_0117" = "0w5pmqry5rd5jsfwiv43cy5z3hlk7gzllnk0vn1qgsjrgd284hj9"; + "CT18ANLO_as_0118" = "1g137nw812zqdkr97hdwvfi4c4bxfazy1wyk30gwgrhqs6xdsmyp"; + "CT18ANLO_as_0119" = "06pjg9nsq6pvda1yg6lg2qi15i3h2radampgk23rbz9g6zn5hw39"; + "CT18ANLO_as_0120" = "0jh6f5jj81sppv5fhm8ccgzwpacfr1nql3r5466z0bl201fc9x6x"; + "CT18ANLO_as_0121" = "0jh4x2y4rcp3l825dl3a89apmb0f94jrk0pl93lv8xg34f8jrb2i"; + "CT18ANLO_as_0122" = "0ma8r5vgdw9hj6cafkj8fbpq8i18cbild4aw4q9lrsszwwcrlv9i"; + "CT18ANLO_as_0123" = "1mv75gga1gdmnwkaxc0c89jxgapc38376xv5yxfqy2dn03pad9im"; + "CT18ANLO_as_0124" = "0913a748xm6lbdci8vicz08h323hbkc4z1bjq1wq8qfrl1cx02ic"; "CT18ANNLO" = "1kbsbvvkkchhwwjdrj4d91lbykid4dcy4ghanpdd9x0nfm5b4sgk"; - "CT18ANNLO_as_0110" = "1a60p22r292hjjcrdkgis6d81hgihnjzyzlbcqrvx9bkbq447kjq"; - "CT18ANNLO_as_0111" = "1gyl4h92xs4s64dm7cwrfqk2zrs1cbzp76dqckf7z44k4pm460m9"; - "CT18ANNLO_as_0112" = "1bsn5q12bgkhyl1d6wkq32m3l7i0wqxpnjxh790xcd3ympbfx16h"; - "CT18ANNLO_as_0113" = "1dri54s71ygnd1pdnmvr9vqbyfllwzr9x39zg01rpj02zy7kidb0"; - "CT18ANNLO_as_0114" = "0f731ryn1031053zv40mak9m7mxmn6dvnhn6ik6kyag9d3az6lvx"; - "CT18ANNLO_as_0115" = "107569wrkjic6xjp574i6r6n8wj2x9cx4h7dqh77wxl8g4aajkh6"; - "CT18ANNLO_as_0116" = "0r951p0a4pan71lkhf701ysw6kyq1wvf15rbjdjr4j7khjfaykcp"; - "CT18ANNLO_as_0117" = "0xsgzga5bya0ng6i7nvk33nrf792vzbd1rs174cix4v406g99xm8"; - "CT18ANNLO_as_0118" = "049534355lxhppw2l85i677ysb2gwzccs0b5afm719sh06rv6jkn"; - "CT18ANNLO_as_0119" = "034kd7pg103ldc3nmgsylv0ffl8v0sp9jkf9073ny11s7b3pb5wa"; - "CT18ANNLO_as_0120" = "1ph23xpirkahpr9x1k2qm9pp3a1hc3i15bhc6xprpc29k53m4wsi"; - "CT18ANNLO_as_0121" = "12qrg3jb1kar46b8lai56lb7wxjr950dzaixfncxvy38hrny6mxh"; - "CT18ANNLO_as_0122" = "1wmkl2rlhkwzxi1yln0m9i6lvpbqkp3bxdnyzz7hp3hy1sa5f60s"; - "CT18ANNLO_as_0123" = "1caz4rfmcmabfdw5b8xg2307bs1bjclgdcxq2k6gf73z3pqbjs8w"; - "CT18ANNLO_as_0124" = "0mx8h8vdhlklgvysmhllkzga3g65zkmzpz7bmyvaqmvbvr6x5q0w"; + "CT18ANNLO_as_0110" = "1inx20r83pfmwxfhyy3hhj2csp016d9cnald1rf8vl9riqxvx0j4"; + "CT18ANNLO_as_0111" = "0zzi0b27xp4xykbwd2y7l2ka1k4kfvhaq7y2w82fky2b842ixsmg"; + "CT18ANNLO_as_0112" = "0y031rslsmwxs76rz184mrjb07pdcxrf07yl5yab1y24vymqj4dy"; + "CT18ANNLO_as_0113" = "1pgrcb6sbahl2jf3v08bki28w9x0ag5n3zj1fi0jc69fxwgkczzq"; + "CT18ANNLO_as_0114" = "0ifzf428gxlmhc8wvpj3qaqr0cl6pripiabmnb5av43d5avwhagr"; + "CT18ANNLO_as_0115" = "1bxf5rs33kfl3q570wm49ad0drlanzq8wkrbd85qjlvyhy52j8vs"; + "CT18ANNLO_as_0116" = "0l43qn45wfj2lljpp8kri1n2p99lxj3gbbqh2p2s7v0my5ds5p06"; + "CT18ANNLO_as_0117" = "0nfh9y2w8lvlqbghxx4i7j7gxq5bm67h3vz1wajg86zndarkq6mz"; + "CT18ANNLO_as_0118" = "0m8s96rgnnl5xk7g3l2pf5qx7dwb8kgn18b9nyr8cyqxn90mh3vr"; + "CT18ANNLO_as_0119" = "1lpkcrcfmn0kc9g21ca90j1shcf3ii89yrr17rgwynmylwvizs2y"; + "CT18ANNLO_as_0120" = "0lmn2p57k7yvr5mpzykljhkpnb1c71f4ya2s4zbp2x84fqfg5wbk"; + "CT18ANNLO_as_0121" = "0arbvp0sc67fsf7slhlv96iwq89yjqqkv84pf76fqdvrrjsmyn61"; + "CT18ANNLO_as_0122" = "1nbkgb0wmjh2bfx944sqb810sn4bb0ppxgv2aw2y93jbfyx7x4ry"; + "CT18ANNLO_as_0123" = "1rlxn70mc299v596y0dwp9a1pdy1yz0r8367cjw5l97y46yxhjrh"; + "CT18ANNLO_as_0124" = "0sfkvhyxp9sqf75wj91h9h59vcs2y2n4qchsg0marjy849xxh6qb"; "CT18NLO" = "04y2p6vz484l3yv6381pfavqs3xh78h3jn6bg7ncp5vywwqp44n9"; - "CT18NLO_as_0110" = "0ncaacfw8dh45vaf84kkj93hwxgwz744qqd6llpy73zdilnl62a8"; - "CT18NLO_as_0111" = "1cib3ggy0wajvvw908wr4bfymcw62iy5abwdadhq69crcg01619r"; - "CT18NLO_as_0112" = "1x242x4y0vykfypm02g02qxpwmsq2p45bxqrqgfy29qagxz6j66d"; - "CT18NLO_as_0113" = "0fkis7l0s1lb2k7qyfwnn5axbpiv9yky4j5qc8g3fa068czijmhi"; - "CT18NLO_as_0114" = "1r6ih2gqiwm7z24iw9xgn2n35659v5nwl2d02f07j1k3d33j175n"; - "CT18NLO_as_0115" = "0z4vm73l16mpjf3wcrv5q659f2mwkx85wpmnq8j1fnk0vhms59dx"; - "CT18NLO_as_0116" = "0g4lxxc9g09alpsff9wr7w0jgi26h3klx8rk6nb71j9yzrwv12vv"; - "CT18NLO_as_0117" = "0hmn5vkgi5981q0s5lyp9mq9jjrzhgr1f9w8np3i2nwcgn1awis5"; - "CT18NLO_as_0118" = "1z6is1f3064wq56lfxrmqckk3yi6wsl42s2xigx87p8zqg3r4nkz"; - "CT18NLO_as_0119" = "0p3r7w5v3pq2dgaq96r3khx1wwjq6i33l0bbf63dxs88gk5cx1s4"; - "CT18NLO_as_0120" = "1h0rcra68yypf1yqwlzql385ks1agxc9njdpyx60j3yg3whk4h63"; - "CT18NLO_as_0121" = "1by1iiy7qby73m8s3qmnrf0dyca3k4z00fclbrm651f79nz8scz7"; - "CT18NLO_as_0122" = "1r8h2cw874dh1mj4r545wp9msr1358qw1lzznwvgkmgwjclndjg4"; - "CT18NLO_as_0123" = "1d8c3bk6bvy3azbv9yqi45cwkcmjbxxw7qaxn6xnc5jfcf6wbsp1"; - "CT18NLO_as_0124" = "1haqxq1jbcz9qbhnw4pxsvlr37908fkdlzyn7c1csrlr8a51s3z4"; + "CT18NLO_as_0110" = "0nrydk44sp7hgabn6xk6r2hnkir7mgddcsbbnqmpwmq3x0xz27pn"; + "CT18NLO_as_0111" = "17xwzcj4n1bmfwz02n2g8afzxc4lp5diij00f2w50pqh2w7vj6g9"; + "CT18NLO_as_0112" = "0a6lsmpz3c1z7dm593nb3r9q7dgpskkls2i6wpdlrrg6s6cr8rmq"; + "CT18NLO_as_0113" = "1kwz9yp0vzyiwy9avxjwibdc6jla32vddf23pvfiv0qjcwfnp6ii"; + "CT18NLO_as_0114" = "161q98jr59vn1qldhd83qxx0qjq1rahgamwfqd3hw6dn6wy39970"; + "CT18NLO_as_0115" = "1dp0683zfn7mg0bj1l5m7i9kdbyxjl0ahhwppvgi5gs5kbmhbs9n"; + "CT18NLO_as_0116" = "0hpi5s175cpz251nav0v34l6qsfqj6181mhhp80kghyyvl7l22sw"; + "CT18NLO_as_0117" = "1v32wxdsvms23sghcszw6csd08kw0xppjzwjnbdsc8k6w67r546m"; + "CT18NLO_as_0118" = "1vd7vc7f49in1i5398p12b9vklxbsif89wv2q93k6m91kb38rm45"; + "CT18NLO_as_0119" = "1h0dlys71cngsxl9dj9l5amikxrvzzb7bins2a6wn6s7zgfyvlck"; + "CT18NLO_as_0120" = "126jfwml027mnpbr6ad7s8d94j3n1sv6fbdy5r5vcb64nyncjach"; + "CT18NLO_as_0121" = "1khffdgqdfl1g4cxp4fnyb900722s6pwzys7cdxmwhzi9f0rwgw8"; + "CT18NLO_as_0122" = "1w7q35igi7fnkrwnr1dnfq646qicz4549c6ddqbkyil10arvq7fk"; + "CT18NLO_as_0123" = "1bl6rf69gjnblvfdh5p8flax9qb65vk25hcfjw2r7qwdz3dxs6sr"; + "CT18NLO_as_0124" = "18mhpn4l3qqg9v79z2vz4jc8w3za726fndfl6sbc9mf94jy72chm"; "CT18NNLO" = "1shkah5ma0hp101aklkz2p8n9y4i4sv6zwa5ifzyj3bgz1020l5f"; - "CT18NNLO_as_0110" = "1smilnmhw8zjd0hl03v7wflbbia5qxqfmvyikbgwc29g212xbq71"; - "CT18NNLO_as_0111" = "0mj77vshb9fmlvc1pp3m701nl574p0k013lg0l25r4nhvlfiiriz"; - "CT18NNLO_as_0112" = "0a87crw7dygf9q28v95h9j02yq5f9rr5fdrxvqj5ggw839nazgmk"; - "CT18NNLO_as_0113" = "011269haxlh2grq60qbmwrilgnkz6hlacd8x56iizl6ify7hcs2c"; - "CT18NNLO_as_0114" = "0im03f2vr9pfd223skadmcfrypxlpka4pqizjcbqq75fddhljivq"; - "CT18NNLO_as_0115" = "0pppdh2vq86iiar18c5wi2qbm6viv0hpyfah8pn1p6bcg1k99srs"; - "CT18NNLO_as_0116" = "17wsn6jxp25klk3x3yfa5abxjjdl5j9vdwxqb51zg6ic3a7is764"; - "CT18NNLO_as_0117" = "0nkdmqyqzzg19m98mqm9n2dcaiy4i97zrxmy7x1c3rxc0n7igkzh"; - "CT18NNLO_as_0118" = "0v931kw5dzqq95940mxmkj1r6a75w525j99yf47pyf55vg22ybkb"; - "CT18NNLO_as_0119" = "1z4kg4na0m2vrflnizxhjdxa9rdzp66mq66bxcjlvqiraf4ygkd4"; - "CT18NNLO_as_0120" = "07bz7q5h0rfxf5989sarchsv2mcn4093b6x5094725p74sw41sq5"; - "CT18NNLO_as_0121" = "0slw6m1scnajlfhxswd05if782k32gcyx9zz50gaiwqimrz188fa"; - "CT18NNLO_as_0122" = "1jrzxq7mqhkfj96whqfr3ny2g1kggc047cvzb7ladlirmi05injg"; - "CT18NNLO_as_0123" = "1zdmvp9pxjjs96yw05l5s0c0ym1hyj7d3an5siy3i20lvyxcgyz7"; - "CT18NNLO_as_0124" = "1lb88y4c68n669c2g2q2zwjp92d9hgbxgpl0b7dxny9a7zdmw0mx"; + "CT18NNLO_as_0110" = "0v7nsjcm1q7hgj726zlvfydl3arqkwyddd20z3g0nwdqcimv3qs9"; + "CT18NNLO_as_0111" = "118444ygv03ryhbb28njbsayvv0rdlcb9djja6p62kk6rnbwi1wz"; + "CT18NNLO_as_0112" = "0djxkvwk628sxgf62bff40m2m6vgzs08jss61f90rscvj6gxid5b"; + "CT18NNLO_as_0113" = "1xg7qs33h8zgj4007r8g4drhm95551slhwv62dzyv9pwy5vrvgdn"; + "CT18NNLO_as_0114" = "0i1g7kwfs39ps9ml0ckkcq7x4g1n764q1r06ilq7bci3m073cffn"; + "CT18NNLO_as_0115" = "16q0hc3p0325bq9zgskkpf9qfyhmz9q0rk3b0jrzpc0d4vk7b5r5"; + "CT18NNLO_as_0116" = "1mhnx8szpp4sfy592f8vzvjlzr9y46qndv3c42hf0jsygx5pc5cr"; + "CT18NNLO_as_0117" = "1bmcnjfzwf4bl70qyx6csix3ps46pd32yb2h33y2f144vp8bmkpg"; + "CT18NNLO_as_0118" = "1r1dmj42qrqprhq06i0h4kpjc1riql963n32icl0mfwjq9wpfa0g"; + "CT18NNLO_as_0119" = "1rxyd21h407zmjn3nnr4cqvinw2nwcdhid6cbr0wif8p2b3gasic"; + "CT18NNLO_as_0120" = "1llhnfijc7v6v4dkbsfgj2c3m0y4q42mvaynz06v2j3aqv3wzhza"; + "CT18NNLO_as_0121" = "19dqq2jz5daq59gv2zdvygyvwi9sx6i3ih82yl82yy82gbw2568h"; + "CT18NNLO_as_0122" = "0p8w4ypaxrpsyz3dn7f0964wgvd30iy4r1haa88hqwx74qrkb4pc"; + "CT18NNLO_as_0123" = "1c1sw5md5xp8l6b3qxbnf994kz2rd60p4bl3s3l2af7f77w57wfv"; + "CT18NNLO_as_0124" = "0ldf7dnzdlwqh0gmb6an0b8cwcjpkiaih49aa77j2irw2yja5p41"; "CT18XNLO" = "1k0cli4j0z5hj24pk9f78flhlvsdfya51hgh90jv4myniapk616l"; - "CT18XNLO_as_0110" = "0yahahfmzzwzxiqanm7029z05f3nx9cs2yjdvyvhazvicsq3ibid"; - "CT18XNLO_as_0111" = "1n0q8d0j8smq2z6n9l091r2q8v319zcf896nk2m0s7n9g9a0vcjq"; - "CT18XNLO_as_0112" = "1wj968g1vb58gz6vslzfmihvqg5f9f2cqgq8inlgdhai1y8vk1lz"; - "CT18XNLO_as_0113" = "1gi939mxv99q2r1m8a6d4ky5nrp24xv16xw6d9h7ly27jrw8kzm5"; - "CT18XNLO_as_0114" = "06gf4m01yr89xklch6ack012in2i1bifyzvp793x9w8m56dx12ms"; - "CT18XNLO_as_0115" = "1g4705l0qb0immd4la2vrj9v4kw7r7i1wz1vn4knbqjwig5kcfws"; - "CT18XNLO_as_0116" = "0vaxwg3ixf4x92vssh8gqrszbfa5zgzbsd5p81j14nlksshrs6bf"; - "CT18XNLO_as_0117" = "10qg2yr63csg4nd62a8h0s1z08cmgbkwvcsh0wp7zkzpw70r7x78"; - "CT18XNLO_as_0118" = "0kxhg2pn7ki4nxcs5jhxvx4fs6c414mq0d0qm3vldv0hsayqsbnd"; - "CT18XNLO_as_0119" = "1xd4ib2fqzhg9c6z2zyc8h3il4msm7rv9kkaaapll4h0gpjdda6x"; - "CT18XNLO_as_0120" = "0jyb8gs0avvlhiwwvrv09p47vs3jim3y315hg7wcy31xab90b91i"; - "CT18XNLO_as_0121" = "1afizsl9phvvdjbyrifx3ii10gpxl51rvx311imz30l51i3fzl7v"; - "CT18XNLO_as_0122" = "0wkpicsv9357lh96vjnrxzddaaaiaagyfph2jcyp97mjhixx2hlg"; - "CT18XNLO_as_0123" = "0hr9m422shvp5yzjdd7lqansim7qcx3iv1p017fp1a4ihj661sra"; - "CT18XNLO_as_0124" = "03zf75f6gx41g3fxrdc6sqkfcyzz03izchwfvabwfxr06yq94jxc"; + "CT18XNLO_as_0110" = "07k9ga6n2gf9qz0flvrd4if0mssddrq1bbk0rpxsy8wfp41cjsl8"; + "CT18XNLO_as_0111" = "1ysz50r2nc57c7srgqw1dcvyfr9h578dkz24sbimxq54akp9jkxy"; + "CT18XNLO_as_0112" = "11wvnvsc6a5c2ygq39avai4xk2mrnfnvi4fqzmkjdcm0kby0swpb"; + "CT18XNLO_as_0113" = "0cyv8y2m3514np7f3fwpf3g1mzy2cz905sc5lrjqff5djwjc23yg"; + "CT18XNLO_as_0114" = "16vj7hhg3psmyr4vqvy8mz4bg7rp6jc6b64n2dfpq5jvb15w2fbv"; + "CT18XNLO_as_0115" = "0ylw7d9g041fgrjfvq0i0ycpxwbm3s4jdgm5mkjk6yj0s4mrrqcy"; + "CT18XNLO_as_0116" = "0mcfgih55zja7k0cdi1yd7gx1gjr6cpzz28gz4fxyxi2l4paxh2k"; + "CT18XNLO_as_0117" = "0klzf5bchabcjc0c8h6f09g37jy6vwrpq7q8iwrfcmar2slx26r2"; + "CT18XNLO_as_0118" = "0hd1bhlkmnchcv0xbrqjc3paa7fqp249sxi9hg71x3qbh03ab036"; + "CT18XNLO_as_0119" = "1xlxw18hcsv7bij4dvnj9dfm8sai5xm9jggb8g7flmvkmcskgzmg"; + "CT18XNLO_as_0120" = "1ixdg56qgm5701al85zkp81xx3h9hsipqka8l3sh0ghp563qxk32"; + "CT18XNLO_as_0121" = "1msa7pp1a77wmvxa9mhr0sgjj4yv1msb0igqj53ahzgisyl3lnml"; + "CT18XNLO_as_0122" = "1kin5bf9bcxadqibqfzb03bxdrj759mlgpbpjvvpxg4ishj0b7yv"; + "CT18XNLO_as_0123" = "1mir3cpvbc30l3m84j1ql1d8phrx7nf0qd5xbq9jfl4gx1kjfw8c"; + "CT18XNLO_as_0124" = "0ims3sl32rria896ckm9fg5dsmbf6ivcfl3drnqpl328ynrkbzlr"; "CT18XNNLO" = "0j7bwzkhax4cm3wnbhqdv48j4wha9zdd7v77ihlgcvcmk79rx1fa"; - "CT18XNNLO_as_0110" = "1vwaz00jwpyd1nafpfw0mw309v10zqxcsygdjsdd9mn5p1j6z3hv"; - "CT18XNNLO_as_0111" = "0g6w519dc13mzgb2wpyy7chnl5wkl0ndrdiw7nymad0csg20yss2"; - "CT18XNNLO_as_0112" = "06wlzpx9b83gblg4rvqv22k60pvjikqs5m5gp2kvrwmc2wxp73d2"; - "CT18XNNLO_as_0113" = "0ybm5v0dprid7vvsnsihkd3vn5gqsqsmib63sh3xl45i58h1szzz"; - "CT18XNNLO_as_0114" = "0hpznnkarzjmf5447jp9za1w52lqpysprnf14v31mda9k7a6kdkn"; - "CT18XNNLO_as_0115" = "0lj637cwm726hqilrnfa064apdsqdav142dy3scz2gxzpzqpya7c"; - "CT18XNNLO_as_0116" = "0m1zh15f975g628npifyqmlj578lpdlc67sdrxgdg97jfvxrq7s2"; - "CT18XNNLO_as_0117" = "1r5kwl333ipq3g78cmn7h5yxk2gl3rfszm1ijzyf8hrjqz9m2p35"; - "CT18XNNLO_as_0118" = "070jcd7y5w0h65ssk359w4kf2j7164pgdkg78mjwifi2garrlv0s"; - "CT18XNNLO_as_0119" = "12nzzjyllr4vs422dxdccjy0qffg9gy8p2wa828cr3a26wjlipfr"; - "CT18XNNLO_as_0120" = "1b9k3wd212nrhhncckj6fml58jzjagiskgmc6h248mcc8mcc2gyz"; - "CT18XNNLO_as_0121" = "1wkgmkw5djzxc5g4iyr4h2cz08jv1clmp8x8xcidg5532zclavmd"; - "CT18XNNLO_as_0122" = "1w7jhlk432qni1kn1big44yk16bxghbzrjb1g1rdxpibzy2jdkw3"; - "CT18XNNLO_as_0123" = "15hqb1c4jx41119h2ahx6zacbigs9xw92jw7c4xsww9dkzr1qsr5"; - "CT18XNNLO_as_0124" = "0fx7am4dv4d09hdk0yxvxzbdlhzc03y3q2x1hfx9wk07kcxw1mj5"; + "CT18XNNLO_as_0110" = "1cxlps6kvm08lkgvrqjd8080ykc1dvd56986iwwzd0s6whlpfsi0"; + "CT18XNNLO_as_0111" = "0bbp4qz3n9pwcfn6m623q2qqmx2wcgpy6759wzwpjnifym832j95"; + "CT18XNNLO_as_0112" = "16p36jf8c8pliaxd6s30cmmmxg9slnmb2527vnwkka0kp9qw3ffq"; + "CT18XNNLO_as_0113" = "15d4qx8x56kcg6p8980bslhfilkld8yf1mwpdzyf8v8ns50wrbw5"; + "CT18XNNLO_as_0114" = "1zsfys0xkgf8zlbzzjmh1wvzxwjqi4rvgik26s5y4ibr68gshvaj"; + "CT18XNNLO_as_0115" = "1x00d2q2lnl5w0l052v9cvkywav26b4r072dpn1jiak6n52yqqaw"; + "CT18XNNLO_as_0116" = "1gm9m0rl9vghswcb4xgp54lc3h8wkh6c077625m9y0166xbv5x2d"; + "CT18XNNLO_as_0117" = "0630arl5qwjhxw0avzlc0mr4hwi09ki8xfn4zvfccgpy2nd85q5b"; + "CT18XNNLO_as_0118" = "1nx75pf5krazrk3ff3lb6zjnxz2qmffrk5vcf06iq5qci9zi5l0q"; + "CT18XNNLO_as_0119" = "0dzjj9f2qkpwfr9pm3pfj6jw5ih2jis8wzc8d0vyh5mm084jlk6a"; + "CT18XNNLO_as_0120" = "17pp23l0brnd0phq23888qbkf1c5j1lcskrbm3v3f2cd8p7jcvvw"; + "CT18XNNLO_as_0121" = "0hlfx8zsxc1x6glny4cp2vpba8jgjix9cpsfixff9vkbqpm2ppk0"; + "CT18XNNLO_as_0122" = "1918l55khrfyb3lcxsbbf9w6v8j54klszl2c32nmna0apf8zc3qm"; + "CT18XNNLO_as_0123" = "02kak35pj6c4hml75na7452ryashfclglhahclzkpq8gs72l5w91"; + "CT18XNNLO_as_0124" = "03wym12nvwdcr13dz6d2gr4bz3csffnn21zfdld42fsyq4glx431"; "CT18ZNLO" = "0iv8laks2ymn5fygk6k9lxm3s7fld5g292n9bfkhn3nmcfxczi03"; - "CT18ZNLO_as_0110" = "0q90c9nx0b3fbqq317qr0j13cc9m3zcgpk3pcn8s2sd6aaksa66i"; - "CT18ZNLO_as_0111" = "0wnxj323k29xvcrrf68mfyhflfnblvvnx63p070l5x52qqbfjl7y"; - "CT18ZNLO_as_0112" = "03qjvv004g99lbi022l9bvr82gvv6gzk651r8x5hwwyr0mar4j0v"; - "CT18ZNLO_as_0113" = "0hw6w7x3bnx2fy03jj5yvbjjab9mj0fzca8bc46phjsmx3nqxq5k"; - "CT18ZNLO_as_0114" = "0gnhqhxcsaslcldhyh69lxdx1misjz5qiwry57n31j6mqjrggqbi"; - "CT18ZNLO_as_0115" = "1dn32bwarggnfq2s9drmdjikcrn0nm0mqih4f5wxr3zbmq70xw4q"; - "CT18ZNLO_as_0116" = "17q8ysl7ar1n7wym55k8vzrx963rip9l9b0kxw2bqkha5ipwmnv3"; - "CT18ZNLO_as_0117" = "1afaqy8afzib6fmyy7ysnfk8w5f92893nvh4fn1sx9ink7i2zqal"; - "CT18ZNLO_as_0118" = "0sbhjzjsjd8m6sgz66vky3w7ymhwpss0dr2p603dxgm84fig1kzx"; - "CT18ZNLO_as_0119" = "0fxplpy2l1fdh5p4csdlabg36xgbpdg8pcdfcnws2cfj3g0941as"; - "CT18ZNLO_as_0120" = "05dk8bvwkn5y5j4rk18an25rg1f1am9vlddal84rbp8m15qnms65"; - "CT18ZNLO_as_0121" = "0ymql1wjxng5i887lx2q6p8gryw29zs0d2hzkfxl4f0zzn2wlwpi"; - "CT18ZNLO_as_0122" = "0gnl23n4ljlry340pwwfs0xs22bl2qp2b8p3f73gpp9xn42nwz1g"; - "CT18ZNLO_as_0123" = "1wfx59iadvn85raa1bq81ipxpjbxli58hs8wpzm1vz10ilifn9d5"; - "CT18ZNLO_as_0124" = "0jm0gnp8g1drz6a10wrdxkj2s8gws80ias1ixdnr5fdmnghf1wl7"; + "CT18ZNLO_as_0110" = "1d0j9nmn9mk90698pxqlpgz7c7cyxswc88n89cr2h8mgcg2w8g2v"; + "CT18ZNLO_as_0111" = "17l7j1j2x529mhk0andkdh83k9z6kg9v3ccfna08i7d4iilsdfrs"; + "CT18ZNLO_as_0112" = "1b8mi0jwln2wvysrkbm1fvay053d17dzvlj9fkz36xmr03bv5mvj"; + "CT18ZNLO_as_0113" = "13dkpjvh5a3p565mhpxqnhijl3jd2zr03np5psknvl121gr007fk"; + "CT18ZNLO_as_0114" = "0drryvq2x42xpf9bmd6n4vz1f8ddh83c3rynnzm54qssxmfkb073"; + "CT18ZNLO_as_0115" = "1wdj056rf02jksa2l2panvkijvvwr6rsb8kh3g2bvx0yjhff8g1c"; + "CT18ZNLO_as_0116" = "1ibf0841irsa4vq9sg0kvrhvakyyshpvs38frz9v3zjbc012cldz"; + "CT18ZNLO_as_0117" = "0l2nabywfsvb1sk44rqgrwf8h0lxkz8qf6pmzr8jc3zhq1fv04sl"; + "CT18ZNLO_as_0118" = "0dnksqqshxqr0y3qr3diyvhfq1jxy1x0hrjw8xk76jzm61xi96x1"; + "CT18ZNLO_as_0119" = "0qljv4d1qfc9rx3p4a8dghij11dv1mi03y30wdilfxrf98znvdyj"; + "CT18ZNLO_as_0120" = "1w0p5gai8qhfjh4jxhyl26xrp8n210cp2a7zjd4id1s4pcvpzvn7"; + "CT18ZNLO_as_0121" = "1ija1nqc4pbprcc3ddhl9rxxbaxngjr256zxiy7gg3wmg6364hjl"; + "CT18ZNLO_as_0122" = "0d7h3vli13m1pm5w91js8skv198aqz9kjkx7w0sa4v2vhvz1rdyh"; + "CT18ZNLO_as_0123" = "14cl8fmkl6jav7byqwcfa1z2ml6lnn6pzp0w4nqy75gc7wxsba0m"; + "CT18ZNLO_as_0124" = "18riha0fflfbsgh7nnc3ghm8cpzpcss0z6l48d28bbq0i7caqad7"; "CT18ZNNLO" = "0zsqrpab6vgcinsxjq3rqdadig5flxzk61wc1aa9rwnkbpm1paa5"; - "CT18ZNNLO_as_0110" = "09ypj0yydkiw82bq3ymsp19i4iz82fm2z2xfplb3iasa86y377in"; - "CT18ZNNLO_as_0111" = "00h0zd5indm57xhn467qffpx7aadzb73vyfazq09pl5vdqq9fn8x"; - "CT18ZNNLO_as_0112" = "19vlb1bvp7r9jnknd2dvblggim1xqf4yjqyf5h04r90b89pyzxn8"; - "CT18ZNNLO_as_0113" = "0h8i68dligavf051dpil2bqvlxm19156v1951n340pcncaxxi5d1"; - "CT18ZNNLO_as_0114" = "1n2drxdd6f36njq0lcfm7s6cyignqdqvirh03ixvvar2pgj02yay"; - "CT18ZNNLO_as_0115" = "0cv633f5gg6hcyhwfh22h5n4irnk1pxsk7949wiax7qkl84mcm1j"; - "CT18ZNNLO_as_0116" = "17z25cky2ysrcplsxblrzka667npnnp42k6n8jsm73pagscsj91n"; - "CT18ZNNLO_as_0117" = "1yrbrzbg5r2pvwhbnvfwcp9d9rvfmqqxwph0rd0sdfix9agwy2yd"; - "CT18ZNNLO_as_0118" = "019lbvb8pjfbwz8hz8h2xw76nf1ly9mgnbz6pzi3v9msk0qbmlp1"; - "CT18ZNNLO_as_0119" = "1x08wg3y3fqa8ah6m0c6x2fckjjyylkhnmry6vg93rp3n7qlvynw"; - "CT18ZNNLO_as_0120" = "0m9mfr8553yrysbcksx17nz1gm1vi2zvs5bp8d3v82phsv5alhf5"; - "CT18ZNNLO_as_0121" = "0snzl818ag926n0i67hdwkjclfvykx546vfnvsx7n2z5pabakd1j"; - "CT18ZNNLO_as_0122" = "10i7dk1bllyk6f3l92kbiqdib8l2zvqf91g9c20k12sim6n6x2g5"; - "CT18ZNNLO_as_0123" = "0v2h2fjkdsnyssb6ralw32c23l0nmdxbg3sx38vxh2y2s2nycz5h"; - "CT18ZNNLO_as_0124" = "0w29hn728p8yip40mr27kqmv5wndfkq6nx0vnl53x41pwczkhkdl"; + "CT18ZNNLO_as_0110" = "06qzlfshx8gwrhnmjfvz6sxq7h2is1dqvx5sz8jxrr1gl7gl92h9"; + "CT18ZNNLO_as_0111" = "08k101cn9x9y44zcpn6iql85qqx89rv7xjhvak4y6s309p9rlnzi"; + "CT18ZNNLO_as_0112" = "1c72mz93kha8mdfdcwj8fs8dqqylxmmc4vs7fjf9h7xbrqzmss7m"; + "CT18ZNNLO_as_0113" = "0z7s1kmlrv99r5mb6p1xwrydx0s896kr3va0ld3gq39a0f6bqvfz"; + "CT18ZNNLO_as_0114" = "0ir6n8i170czq7h3badim28540478cq5fb5vv4kdi0ncypsasr4d"; + "CT18ZNNLO_as_0115" = "0dncvhp99v5s9746ql37gdm65byih9ppg30c77k50i2485a1zfap"; + "CT18ZNNLO_as_0116" = "0qihfcsgxv66l781dmvmmpbr0s0c52s90jfmz5y52gyy1lplw569"; + "CT18ZNNLO_as_0117" = "0agqd4vgj53w9p7ghfkrskqyvg7lw5g9ilj0fid0jia8adfh58xp"; + "CT18ZNNLO_as_0118" = "07y1l00igx7d2yaj9gi60fvqz1p8f8z44fmxm84fpjikajabff5v"; + "CT18ZNNLO_as_0119" = "16nnwwj16c8fmqh5mwnihzvbgfj3cnvw01i1il1gr0g4zqpn0yhi"; + "CT18ZNNLO_as_0120" = "0yy0lxwm41aa727wdrq27l6ih7fdaqwiy4bkrbh0zrns0km9r958"; + "CT18ZNNLO_as_0121" = "0yg70dx2wi9wf5914shfqaf2j90dnkfnbp1pq2jzxd0h0sxhlphj"; + "CT18ZNNLO_as_0122" = "1bd4193ggv4nb48d0mw2n93ia30h4myfy197k9b0m3qc90xjq77z"; + "CT18ZNNLO_as_0123" = "0r2vri1brq0xcrpj0cg9hf9kwhkh2czmimrsg5bfvx35adiiis19"; + "CT18ZNNLO_as_0124" = "1wq0nz9jfb5fmzwnnh0xyra2j62kb5xpmh2nyy8ih4lvxhgi16mg"; + "EPPS16_B_90CL_Au_hess" = "0ab3pnv8fq45mdp29m6lfmrhhnr88k6qvkq6lwxmn17k39v8j9w4"; + "EPPS16_B_90CL_Pb_hess" = "1cjc79sygpxnir3qw9n6cdwvd3flfn11ajqs5y64svrpsqcx5ng0"; + "EPPS16_B_c_90CL_Au_hess" = "1ijvnglq4wrjhhvksyd60s7c6nv50vwyk5vd8c3gs0qr8yz1fk69"; + "EPPS16_B_c_90CL_Pb_hess" = "1347cqsfkim0xcds5imxmsdxh8x0h2n97x5zwpf035rbdk5mkr4n"; + "EPPS16_B_d_90CL_Au_hess" = "088jrj6xf1ph19sypa5dizllydfzi6ikxq2gisdlxpj1qnwjymsg"; + "EPPS16_B_d_90CL_Pb_hess" = "0x12r31l0nvqsc2ml1zkil0w1iji52xgbnxn3wss9pnmswrf3cah"; + "EPPS16_B_u_90CL_Au_hess" = "1pq7agglirpk2w566c1ql15ps1aglmnph2p2dfa535zlv89s7c0d"; + "EPPS16_B_u_90CL_Pb_hess" = "137jkcbikmcjaxp8rpr5j193cmr329mcvyy7j0s0a6ynglhpr76k"; + "EPPS16_D_90CL_Au_hess" = "01ggm0xxwd3nc95cjcf36sy0pdb0xvk6bkiaq328w2sfajccr5mk"; + "EPPS16_D_90CL_Pb_hess" = "1z3zam84m2kbs7zinn87xhlca90d5zwk8j72yj19nx3r92brnq8h"; + "EPPS16_D_c_90CL_Au_hess" = "18sviyvm3rm9n7x79w1sx8j9mcc6dnc2il8hsw2avjgy2aqmwj87"; + "EPPS16_D_c_90CL_Pb_hess" = "1ryv83iq1lrphgxvdsmh70j6iky993sax0s9cfrswpjyl2pcilq2"; + "EPPS16_D_d_90CL_Au_hess" = "15j6s9mj1ci9wjgsfhbxfikcyxc5pilv56cyzxjhgjhfgwvi1xyz"; + "EPPS16_D_d_90CL_Pb_hess" = "1qjyb57fhf6d3g7l48jcl6jizj2c5g63xahzanrmkm9r538hvhcc"; + "EPPS16_D_u_90CL_Au_hess" = "0jjk2rccvv0ngxn7wf33j21y72wvs4dhwl56yhmf7bfzd6v70rp2"; + "EPPS16_D_u_90CL_Pb_hess" = "09npz68wwvcsvd6h8lsgmlr19l0af4h4rppcd6jlwd88c2zpb3r3"; + "EPPS16_Jpsi_90CL_Au_hess" = "0msvkihdmhap0bbiydxbp552k1sgk20wadvc2s2h9jldakdx0pk9"; + "EPPS16_Jpsi_90CL_Pb_hess" = "13vc490k1769gbph3xn1lffj0ilvhz78by3lhw45lwkra4vx5zp4"; + "EPPS16_Jpsi_c_90CL_Au_hess" = "069lzrnm5kx56rblr4lxqvr014nrf2yyf1iw42s37q2xsxpjip87"; + "EPPS16_Jpsi_c_90CL_Pb_hess" = "1895iqzmcnaqkidcy96z4766wppycp1riwg9clg71cb404wz74as"; + "EPPS16_Jpsi_d_90CL_Au_hess" = "0ndh23dyaszam144dsdbg4281c61vai8avgi4y7x8kb0paha4icm"; + "EPPS16_Jpsi_d_90CL_Pb_hess" = "0xflijnwabg931z19v8c18dzh1lbqivkg94kpwm8j135ya1vpmm2"; + "EPPS16_Jpsi_u_90CL_Au_hess" = "1hagv9akwm337kq3kvkpkdkcpnic7klnigh9pyif1gm16i1q40jf"; + "EPPS16_Jpsi_u_90CL_Pb_hess" = "0dw68rky105lyaagkzkmfx6l9jk763m293m7s972jhnl5037bj74"; "EPPS16nlo_CT14nlo_Ag108" = "1p7gckhv44h04rvknd6fdizy9c1jqfwic7ppf0ra14ic8wp1g7wg"; "EPPS16nlo_CT14nlo_Al27" = "0hxyakfgknmixxndfj14i44afp5gcfz9afjvjdaj702sv42a7qa8"; "EPPS16nlo_CT14nlo_Au197" = "1g272110y3a1fr6raxdfhagn68i0lcnwbdhiiqg4j6wb6v4m3p6i"; @@ -421,10 +448,15 @@ in "JAM19FF_kaon_nlo" = "05mcahzr0k5w0hqfbn902lmkwxlkbf8wrk6akpqnfsyqpbmhja5k"; "JAM19FF_pion_nlo" = "06krcf0c9jbbpwf1rk1xd5z7rz904ji984xz05kv9p1j1vgk0ha0"; "JAM19PDF_proton_nlo" = "1zrcijik60rci6km5d8pn8ivww8w3v8pb1m5dshqjs51lhf56ayp"; - "JAM20-SIDIS_FF_hadron_nlo" = "11g4syy0r46m1wvzq0pb84s4kk2aihjmhx16mr8gzv5b11520a6d"; - "JAM20-SIDIS_FF_kaon_nlo" = "1b2rz6k0g6ck3m28vdqjnnfc025ql5alhjmgn1l84cflf4fvkkgp"; - "JAM20-SIDIS_FF_pion_nlo" = "15l98gmzsqxw615802si94dmj8ihsz6n1mraxkkwjl86hm8nalzi"; - "JAM20-SIDIS_PDF_proton_nlo" = "07xwp9as0nscm4whl5x9bry1p54yl5qmj2r3hqh6vjsz6mxksdjp"; + "JAM20-SIDIS_FF_hadron_nlo" = "0bx3igckr2dszxskz5f952vl0q7kwvxgyb28yksjk75325dp2f9c"; + "JAM20-SIDIS_FF_kaon_nlo" = "060r6ah5843vm1r3rhjvlgp7w45z39cqgibfc2g2m1q7mwjqccjy"; + "JAM20-SIDIS_FF_pion_nlo" = "0fpkbl5fw76wgk8l599kf51mqa0fy92bq9ksfjfks0c4m6ah1g5i"; + "JAM20-SIDIS_PDF_proton_nlo" = "1g1g9n2ij58yzvgrw8g1f8jbqyhj9yvbvl9iqjxllkhkb2zbllpl"; + "JAM21PionPDFnlo" = "0zn7p9ny6072dkhsiaq64f2gdzpqbqc06d9a21rvvg3cgsba9jg3"; + "JAM21PionPDFnlo_pT" = "1wxpkk1wzx1z1kwxfj6kz14pxlckb96aqaq2fa4sf1a0ph1ibrc8"; + "JAM21PionPDFnlonll_cosine" = "0nbmdc0744kl6r7r9lfs20gffpjyxpcfpkp7f336fn1mcl89wggn"; + "JAM21PionPDFnlonll_double_Mellin" = "1n8fqar0dddc92054kg3pl1xlh6z7smm3glv5fvfxr933bxli5g8"; + "JAM21PionPDFnlonll_expansion" = "0dmmalgmp4xjwimyfx0sa8yafzzm0xzqk557qwkli3ramzwrwy8p"; "JR14NLO08FF" = "16azkqxf1yw1j32ay6j01gf8n9n7qm56jh4yzgjag0zdhm01lbip"; "JR14NLO08VF" = "1ilw38pp4vy8c8v1glfi4ixca73wjkdg3di1wh9p8xqrifdb096p"; "JR14NNLO08FF" = "1w0pywmjb4xi7bsvv1mdd4q2adf1g7khspfbkphmlh8zipx29nxx"; @@ -435,6 +467,9 @@ in "LUXqed17_plus_PDF4LHC15_nnlo_100" = "18y3pa6gjmcv2s21si9a5dvbq6xxqphbqz5qiy39c62g2zf8512c"; "LUXqed17_plus_PDF4LHC15_nnlo_30" = "1bnwlxr8p4xmr36zd2flhqssil6w7jh50k46j0mxfnd8jgxgwn6n"; "LUXqed_plus_PDF4LHC15_nnlo_100" = "08jzl4wcsrr9agycq1r5kd5bqxsx4b637nxk34s82vs7vwpq7qib"; + "MAPFF10NLOPIm" = "0w875dh5klqgggcr84g0g7qmh4q2xim8nrf0xdnfc665xww7v4my"; + "MAPFF10NLOPIp" = "1493k3p7b03sw0n7va60vqxcry2b3xgpww6fnk2gx8b4w1632yn2"; + "MAPFF10NLOPIsum" = "0x6sashkhg1hs7wy6fyln12s1f4yavvc90zv4k7rclbah4hr75wm"; "METAv10LHC" = "1vn4wnx1blz6wylbzirswdqqf0knmyh1pcfh62wvj695mh7i0w16"; "METAv10LHCH" = "1p4wy7m1ksz0r1fylwz3cbq7jl8s58v817n3d898l83ic2ghp4vj"; "METAv10LHCHfull" = "1w623939fjdyx1316rxyaavf6kmxff19himr00br57jrw3v49nfg"; @@ -486,7 +521,6 @@ in "MMHT2015qed_nnlo" = "1ypqiz0yz6hnxfml7ym83k4qqvqsbl39abbr38galns8xzzpi03m"; "MMHT2015qed_nnlo_elastic" = "17in1cz5j7mm9qjk8i27fif6x276lcqmccl7kfz8a5yn73xxzja4"; "MMHT2015qed_nnlo_inelastic" = "1ngk4p7w8l8b8sfg6hlm8ypxz97i1iwzlrc48szy7bi99kn8rmy1"; - "MRST2004qed" = "1kdrzk2arvs36lnpkbc94w06hx3nh8nixh2qjhb271c2blwgahzh"; "MRST2004qed_neutron" = "12vna0ic6gh313k22b44b0k9kd939v7zjl2hj65k1075j23mq425"; "MRST2004qed_proton" = "10z0cr8pnr0lfxxi916naiz381a2cqn461jblfzvvddwqmqbllbc"; "MRST2007lomod" = "13ar6hzw9al20zlm8lg0hvwmgrmv0dbam820gm36rj8p7i33qlr6"; @@ -494,9 +528,45 @@ in "MSHT20lo_as130" = "0ivjvqabk9jnrlrczjlqywmijx5ql8wy579j77qkl1vhv7sqccm1"; "MSHT20nlo_as118" = "1qwbwcq8p4hrprz4ib18mp5142b0lbyyzc1bf5a4iq5jjvi5qm93"; "MSHT20nlo_as120" = "10y1a6iryahrafzdqskypjrnad6xxq08gm72pa9yc61xdy6andc6"; + "MSHT20nlo_as120_mbrange_nf3" = "0548pw6lkwwqhlrg7c4cyqh76bcyz78yh06fs7crdbx7hfl47cj7"; + "MSHT20nlo_as120_mbrange_nf4" = "0pg49mad4845llj49a1piaggd8wpwb2s4ar7jydlhrv7im886by4"; + "MSHT20nlo_as120_mbrange_nf5" = "0148agm89p7pwzdfjk8gjdaicll30xhz6sawca632kp5qwyd4g3d"; + "MSHT20nlo_as120_mcrange_nf3" = "187hgg8klk5jhcadiy8viyrfi0jfb3i18jckv6d7nsapixz1wgkz"; + "MSHT20nlo_as120_mcrange_nf4" = "12pjy0igjcsih100g238v143kq5cjjm5a13cghcipgcz2w4ldglf"; + "MSHT20nlo_as120_mcrange_nf5" = "00mipn9ndnw1k4nx6pmxb95wddmh98hg9k0317vlirxrf2n2jy7g"; + "MSHT20nlo_as120_nf3" = "1zy0j9qc28xpav3gx24r6r02zfz49r11ic66hkyq83d3q3fj751b"; + "MSHT20nlo_as120_nf4" = "0fpyf9s9ppb6w49chsmb2xfp9gwkx3ky9v8gwwqxli9fpzsc2ywn"; + "MSHT20nlo_as_largerange" = "1f57dvxas2c6qnv38ysnsyf0y8imafnrxkcqh3b0an19mkln5mmg"; "MSHT20nlo_as_smallrange" = "1rygvj33g84whl24kgpqa47g11c48l93jlnpzqq8f5zr1ijqcq7i"; + "MSHT20nlo_as_smallrange_nf3" = "1d6cr1akc25mwfyghvn1986i60l76fxb8fd02h7f4pl4lmnn6i8n"; + "MSHT20nlo_as_smallrange_nf4" = "08js1l5g6knjx3813i0rf34xfjkbn3mdsrbawzkn00vf49xzcxdj"; + "MSHT20nlo_mbrange_nf3" = "1bwl4inshg5h3sslss4lgvcqahb5q0n794ag73hyacxd1kmx7d2z"; + "MSHT20nlo_mbrange_nf4" = "1sm995pzzr601wcs4rjgjs6alm74vc23szgmkqa5dvxghw7x8w55"; + "MSHT20nlo_mbrange_nf5" = "1sal7iqma7770593ifxypl9zapvba693asc8m2fjsbgpbfjjid60"; + "MSHT20nlo_mcrange_nf3" = "0lmv6m8m7zv0s8kjfm8parr9xlfy39dhwxn71z33f5x6cyp08zlg"; + "MSHT20nlo_mcrange_nf4" = "0875zfv0dws8n44fqawa1jp5p8b9vky8yyq48wijhrcph8qbxbrx"; + "MSHT20nlo_mcrange_nf5" = "0qjvam29zwibx54fgijry58vdwqkiwyavdwn736bmckjycncnv8p"; + "MSHT20nlo_nf3" = "1v0mzsa2sxp0g3m3d8yqcs7dgi74am6cpx79f341ahpwybz5x829"; + "MSHT20nlo_nf4" = "1lyii55adqaah6sm8b778q8scaq5yjycq3s8jdi3k48z8m23zqng"; "MSHT20nnlo_as118" = "1yz0003ixjg97974648qba5d37vb4fhzzmq4k9xh4c37pnc3kgyn"; + "MSHT20nnlo_as_largerange" = "014a9x6zsw3w7b6w3v6lg8qxdjicxslr79bnagi6ci0skqs2v7z9"; "MSHT20nnlo_as_smallrange" = "1bv7cbdynp6dm5c9v7r32gqy1lch4428apw426pr0d7xpm0abnxv"; + "MSHT20nnlo_as_smallrange_nf3" = "0n1j9dd069qdmgmd85m7wp29g96cnbgsdxrvlh6y51q063lkqbwb"; + "MSHT20nnlo_as_smallrange_nf4" = "1jkdl3rd933czz753qbi7yvszg376r6bvwq2inqbslnzfkfav5bh"; + "MSHT20nnlo_mbrange_nf3" = "095zcxhpfhlsb67ki4j6a8z4d1r5hzx92xlzprwkwd4v5ya4f732"; + "MSHT20nnlo_mbrange_nf4" = "1114z5a0pk9svps918zifff23difxf37rbmr3jnzxnyp1vfgzws7"; + "MSHT20nnlo_mbrange_nf5" = "12i6m01bmnzqadi6jg5gmah1jliq4wr4p0vpjgmpgyagsk4drx4b"; + "MSHT20nnlo_mcrange_nf3" = "01wq537083dr9ibiahwdwdaxj0j2ys211m478w9wgvihdjjvjvvv"; + "MSHT20nnlo_mcrange_nf4" = "04abrnlnbr94lksn29w9ws9a3b6sqkqvi9awmbk4715dxk2amnpk"; + "MSHT20nnlo_mcrange_nf5" = "0za255xi66a1mfch2b91qqmsr305m0kvs4rzvqlzf7k0v141j90y"; + "MSHT20nnlo_nf3" = "10yx59r32q4rl0yn4gpc29z8xskbvizkdr7k219qf16lnv892jpa"; + "MSHT20nnlo_nf4" = "17d10rba8b0aqi1npnx93j1995has5sw2l4izd6lly3yhjynbgp6"; + "MSHT20qed_nnlo" = "05c2hjgysyvkcyqg1lq3y00hqixgc8w984zivxkr76nj5csyf6m3"; + "MSHT20qed_nnlo_elastic" = "0in0y27gn4k9h6ya77krhizv8rg3i6s3d6h4bk0fhz91hbi4l3gh"; + "MSHT20qed_nnlo_inelastic" = "0vna0gbadf92w3xngb8gnsxd3lil8m029as8260wlki2axm4gqlw"; + "MSHT20qed_nnlo_neutron" = "1hiq7m8j7736477vfs18mqwhkxyvjmcrs7jiqysa8v6rmhb4bali"; + "MSHT20qed_nnlo_neutron_elastic" = "06dbvsysszpbvabgafb569vq88q1sm9mvz1iwv1m2b9vzin2ixiy"; + "MSHT20qed_nnlo_neutron_inelastic" = "0gfh6nhl4vq4qz1jhnv5vhhz4h4wlkwgj4ffjqll6jqa5anfhbqr"; "MSTW2008CPdeutnlo68cl" = "1x2y7hl8ckplx175bp3wi04xafm44dd7vzfgnmvvai1x0072xi51"; "MSTW2008CPdeutnnlo68cl" = "1szsdqjkmny30mpw4pdzi97vj7i55agxm285dvnkzp06ycgp1ld3"; "MSTW2008lo68cl" = "0j12mv286r4ds9v7piqh4n44yjnc51hm74lqa4vv5xznxhibng7l"; @@ -854,6 +924,32 @@ in "NNPDF31_nnlo_pch_hessian_pdfas" = "08baysni2lhbpr1scx7h0zf64gyncj2ahcv4y86142gl4zqrafvp"; "NNPDF31_nnlo_pch_pdfas" = "09mw3gr7dz0vwdnralaplvlz2c464lmdizf673xsb0wlm12pqf6g"; "NNPDF31_nnlo_pdfas" = "0l92q3xhdk5nrnhkmrirxnvplj531rdpnblnacd759cl4hgxcs2q"; + "NNPDF40_lo_as_01180" = "0m630n5i7s0qnlxzk6ka43qfp6ipz2jgzr7ys42hdb66kg3z5lkc"; + "NNPDF40_lo_pch_as_01180" = "0wrvmcgdaipi7vy7j85yszaa3c57hs3xll9lfn9cdbjscvmsx6x5"; + "NNPDF40_nlo_as_01170" = "14j21qryc25k1jk4ypdcr3cgfkhyy4hsb57hy8x5pggfwc2w3f36"; + "NNPDF40_nlo_as_01180" = "0399bnxvgl2h2ini198jmzjjb179f6dpxfv5x8imlfl515llivx2"; + "NNPDF40_nlo_as_01180_nf_4" = "01kwziiyg8vbl26znv7khqdckm501d7ccxlkq1y0cd9s1f5ff8xi"; + "NNPDF40_nlo_as_01180_nf_6" = "1gv8anb3vqpzdymp9g69702x64pbh6l2rn9257hdpz4i4m98rsjy"; + "NNPDF40_nlo_as_01190" = "0wf8p2i4mxs3hkqvxg1clj082yinbdgccr6qx5kbwkzsck4yybar"; + "NNPDF40_nlo_nf_4_pdfas" = "1ia9glingyds6bj6yxy867ahriqdhfkxczzc4nki933h6jbj74bf"; + "NNPDF40_nlo_pch_as_01180" = "0gad0hjq9kwiymc9pljj4z52jsg794m3knb38zj9icgjk0p9lwxm"; + "NNPDF40_nlo_pch_as_01180_nf_3" = "15j3vvc0vaf13d8cnyr4h7gwb7iznrcajnw59ryx6ksz7cn84sy4"; + "NNPDF40_nnlo_as_01160" = "0y9115xlg14m1ahfffiam4zp0axga86bhzfxf0xiaxb36yzbmdhw"; + "NNPDF40_nnlo_as_01170" = "1h6if1zw9dqlfnn7glbl5flj792i7fqiy7pprhwk93k4snh3800i"; + "NNPDF40_nnlo_as_01175" = "1dkzzhmkmzm92gmb83lyirj3clicrg70h5grzh0j8nfcw0xlz4rm"; + "NNPDF40_nnlo_as_01180" = "1bhysjkji0k7xy9njarkfvxff05kjl1byhkknxv0875p2znzkpva"; + "NNPDF40_nnlo_as_01180_1000" = "04yai94qwd7187wg26icwf2wbwi20747l6zikd66ygsz9n34xn9y"; + "NNPDF40_nnlo_as_01180_hessian" = "0cmpqgaz341hif0gdkzq8mnfh9apxn1zxjwa12fk5svbig9i1a81"; + "NNPDF40_nnlo_as_01180_nf_4" = "1aj5y3fyvna2jwxbsrgr2cbc452aprxnwv78vh3ph20jlnww20pd"; + "NNPDF40_nnlo_as_01180_nf_6" = "0bf6s6s0w7l592bm87mazwff05d8s4qlblzl9yj91am3xlv0cvn1"; + "NNPDF40_nnlo_as_01185" = "0y1xn9qcv2l81sbz9rayzrpd1bjsdyixr42lzfgmqbq45sw2m04n"; + "NNPDF40_nnlo_as_01190" = "1ibz4yfrw1n8plq4gi03yxi9afaca2yprxfk2y9lvbkycn608d0q"; + "NNPDF40_nnlo_as_01200" = "1cfcn819aali7ylv9y6yb2ggqy0yghyj0dys9lf9gv5wiqjwh5q2"; + "NNPDF40_nnlo_hessian_pdfas" = "1b5jvhdk7fmnz8gl38i3408h2qrqcsr7s9v7bh6ilc7x52xsg65k"; + "NNPDF40_nnlo_nf_4_pdfas" = "1ssp315xcqpc4md5gijbi2c02r6hpazp8yw1661r4m7xy5qm62wc"; + "NNPDF40_nnlo_pch_as_01180" = "173l2178plrir9fb3bq17l4dw5qfy9clic4m54wqg7y3r71bmv7p"; + "NNPDF40_nnlo_pch_as_01180_nf_3" = "1mh0pl1f1ayx1fjj0q1fw9s7wc7gmj7a46jli87s4g5nxrhyki9f"; + "NNPDF40_nnlo_pdfas" = "16d81h0pzxzgwwrfjghmradx4bijf08xbrdn79y9bxf6czacm8n6"; "NNPDFpol10_100" = "0r5qfa8cyanalphgjdsh57s3viqv9i10v51p1pyamj1f90gb9pr8"; "NNPDFpol11_100" = "0nny1lpw37jcillpfxjx82hq7wlzp4yksxialmc2ivr192qqdda8"; "PDF4LHC15_nlo_100" = "0m9d4zy7608iryqy1ypgkr1d3yhw2wv1nrrc70zrfih7x0fp7lz7"; @@ -871,6 +967,14 @@ in "PDF4LHC15_nnlo_asvar" = "03fh1jcbmvla7n2jj3zq4ibwvq66h0rniply7h93d94zawcgsy4v"; "PDF4LHC15_nnlo_mc" = "0c6nfkv3x1p5iw514knjvqcs1dcaryf74qqg1za8x234yr5ndi3p"; "PDF4LHC15_nnlo_mc_pdfas" = "0l8hlcz69cdii7mpgargi9nsx7iy746nad5pnn7pvycrc40marij"; + "PDF4LHC21_40" = "037bs1l7zr3z8zi6wzh5kxgml84bl64258fr2sm0dzv9yxh8lvp5"; + "PDF4LHC21_40_nf4" = "0m2ki4qmgl1ggim2inlgynjzqr4ya3qgjph63jf72kia8ks2hfl0"; + "PDF4LHC21_40_pdfas" = "0pigpix2x2bv1a5ib17zjlfjqygjpjra0pgvmf6knm7mbgwxhqm3"; + "PDF4LHC21_40_pdfas_nf4" = "0dayiilh94cszqiphr487589qacawfp4za2cngr3da03yg1aswbd"; + "PDF4LHC21_mc" = "17fbwk7fp2m3fd0xzp94sp7m0mmjmzakg870rbhg8vi88bimmwry"; + "PDF4LHC21_mc_nf4" = "1n7h45yxw2mwppf6zblc8v415khy9vgrackmbfkm5lb9c79faas6"; + "PDF4LHC21_mc_pdfas" = "1pn9a7z0xl1bn18z461j90sjglccswimm4p23nyq0fxal5ziidbl"; + "PDF4LHC21_mc_pdfas_nf4" = "1andl5n1lw5iyd337czph5abd0sqc3l90b21g67af96am5pprcpk"; "TUJU19_nlo_119_50" = "1q1dhsxz1kq75rpzv6gg6p6bzvvv0d44pc4y3wsiy9g14aff85vq"; "TUJU19_nlo_12_6" = "006j6y4xbjss9apzagjcc3r1z6s61a1hzafhcyriiffqhn8bg50k"; "TUJU19_nlo_131_54" = "0ymf35alyar6fwagmdny2zz2aag576f38kail7gh2lvqpmjmv6np"; @@ -916,7 +1020,6 @@ in "abm12lhc_3_nnlo" = "09k90vhjq7p0i0aaq2697pq2dc86bkmnv4q8zyqxjp3wnqx1v95f"; "abm12lhc_4_nnlo" = "1hciv1z9b5fiz7swv21gr0rshijj9yj2n8x4l54v9g0jyd061jaz"; "abm12lhc_5_nnlo" = "00xxkrhbfkxhg33mkpwwk5nsdp4nmi0zmllx5z5ygxl24rinsq9j"; - "cteq6" = "0lp110wldhliad354v29f0rhdzf5qrs1ibklj0cmzp2rcbp8zrix"; "cteq61" = "14hbc855b3wsjk7ypg86md46cjm1bj7n4hins9nr8kgzs69i6vss"; "cteq66" = "09i69ac3gkrai5jmazjyjvi5sl8k2vm48m90ijn6pl24p31qf68y"; "cteq6l1" = "1b5m7g7wawk72h76l9yr3gx3n67jggna1004lwffvj43gffwkjap"; @@ -943,6 +1046,162 @@ in "nCTEQ15FullNuc_7_3" = "1ncarbncfkqk6l3rx3zg34a3sj7mpm2diqsafyldpn92cw66bcs2"; "nCTEQ15FullNuc_84_42" = "1z719mcx5lnx2ciwlnxxhgc4s00jrr9sfrxcimh69sj14hmzgx0d"; "nCTEQ15FullNuc_9_4" = "180ipb4m2zy54h7n4s0jwqk9k6562bygvnv7mg9dp2f7vf5317a1"; + "nCTEQ15HIX_108_47" = "0iqv6rsvvr5mqiaddn2cs6psrslw6ncqxca993v0z0hng9ahnnwd"; + "nCTEQ15HIX_119_50" = "0gxdr596gk69sb76r90p5ksvx9bk4axj21qrsyxjf1bmgdg2rv72"; + "nCTEQ15HIX_12_6" = "0vkkz3hq0irvfb08cpdijfvv17bcvzaba5c1bf8kwx1i2zl5s6xz"; + "nCTEQ15HIX_131_54" = "0pbm6390cdglxqzrpl2slv65m943m32i10c49pf70fg68x3l2dff"; + "nCTEQ15HIX_14_7" = "1yshwpa3zzzmf7s5v3c3130ysm1wciicz202hrraz4px102h8a06"; + "nCTEQ15HIX_184_74" = "1wy1691pc776kv456cbjl5x5rg2z7cycyfny24caq1qvjifvbr94"; + "nCTEQ15HIX_197_79" = "0ckbp8cw49ch78q4nsm1fccn6nizpipdp8q85nnipql53xsnr4zm"; + "nCTEQ15HIX_1_1" = "13sfws9cmrsnp26mx4m2n03gary2m10l67bd8xic8pykgpr8c695"; + "nCTEQ15HIX_208_82" = "0fqvzpqszkyqb4f2y44hrdj7rvadbqj6y8fzkl9xzk432lalm8w5"; + "nCTEQ15HIX_27_13" = "0z356q82x6cm52f3qym7vkajlkf2amkz87as0jvfiygvi4gnilcn"; + "nCTEQ15HIX_2_1" = "117dgz8nx1j64xgqlp40zmgpg0z8b0p1j75d1llvshmksba43avb"; + "nCTEQ15HIX_3_2" = "1k1hxpcg39hrh629ml2kwnhir6pq41rpic48njq2lagmrcdpbn52"; + "nCTEQ15HIX_40_20" = "0q1ggww4a5cdf802737kh7igb0br3q50xw205v4b5p7v237wsiym"; + "nCTEQ15HIX_4_2" = "0n9zf4yxvp3b3ryxbkdw0yilsb21nrjh40ms883d6j42slzhf37f"; + "nCTEQ15HIX_56_26" = "1z39vjgp6jryvqaxv6jq05jj0lfxsj212g17amch65pgxm4l7cwg"; + "nCTEQ15HIX_64_29" = "1iy1g1226irrjxz9wwabwd6x0712dm1aap7ka6fy9wwwbn87f6d8"; + "nCTEQ15HIX_6_3" = "0ljq0h0cdwbfvlpd40v2nypklimw4hh6k999mnyxqfvq47m13ffl"; + "nCTEQ15HIX_7_3" = "1y9k2snzymzgs26ayfn2c8n6isqzqq14pzf05xvlxmc3k1fbsfyx"; + "nCTEQ15HIX_84_36" = "130g553b22s7plgy51n56az05v1pnfgrg5knpg1knx8xr8a9xhh5"; + "nCTEQ15HIX_9_4" = "05igk9g2i1gm7d7npdwd7y3k7xf39scx1mwiw4m39b52kbq7kszp"; + "nCTEQ15HIX_FullNuc_108_47" = "1h2x2h2n02nwinf8ba3yyqa61384p4g29ib8vnrzwzc7q34940i0"; + "nCTEQ15HIX_FullNuc_119_50" = "0m5z036py2m1863k62pzysjdr92dhyiwmb8lxgky5skd7514rrsd"; + "nCTEQ15HIX_FullNuc_12_6" = "13rsl7lczf5qzjgy8m3dp4f1gyib2ffvf86iwci91sq51sma5kk9"; + "nCTEQ15HIX_FullNuc_131_54" = "1bsi3y6b7sxykwablgghqc89s3vxrvjr9y4bvhwcm21c2i4y6vbp"; + "nCTEQ15HIX_FullNuc_14_7" = "0w93qfiqdnzvrry9ddpbqcy6y16sszxfmvvgdy6r8i8py8dzfkyr"; + "nCTEQ15HIX_FullNuc_184_74" = "1q93f9rvlc4z3hzfhdmmxlyqfschrf99a0xyrc78rq1z2pfgmm9b"; + "nCTEQ15HIX_FullNuc_197_79" = "0kb2lnvh8mq25i5pkfis86ggs0s6hmpmyqqgimhcsamk8xnf2pcv"; + "nCTEQ15HIX_FullNuc_1_1" = "1nk792chip0iamc6dlqgqqlc2qlxlbgvgnhsvbmzkmmzvp2ji961"; + "nCTEQ15HIX_FullNuc_208_82" = "1l038nhnwc0pd7sq4yki3sjrrn66bsvqkvba2j3kf4f852gsyswr"; + "nCTEQ15HIX_FullNuc_27_13" = "1gdb09429xn5n07qqjch9x1cnq4xinf05wla8fsq69qr7bcdq9mp"; + "nCTEQ15HIX_FullNuc_2_1" = "0fnbpwv8qzgchc2r2gcjgw9yh4r94vm1rzbwj1f6ahbwrsl4rfp3"; + "nCTEQ15HIX_FullNuc_3_2" = "1r1s7ljwa169nbgc1439cj0gkaqza6ilx3x4gyq2jg9byz30khzx"; + "nCTEQ15HIX_FullNuc_40_20" = "13p7mnh2h8abih8y24rfapnrsd036pc8xy8qm82j8g4bk0j5jacx"; + "nCTEQ15HIX_FullNuc_4_2" = "0j1w7d11ybmpfci79lz99i94szxf5xn6z4kxvh8hly3qlcgn636j"; + "nCTEQ15HIX_FullNuc_56_26" = "08wds8afv0fzlaxck5i2d3pzvi5nqnc1jmq58fpnc7i0g238wl8k"; + "nCTEQ15HIX_FullNuc_64_29" = "0w4hn5iwqa65lnf6mhihx5qrq4wpcqw04ii3jphy79l58j3i1iam"; + "nCTEQ15HIX_FullNuc_6_3" = "1ki2cfsg0wmvfkzv2j9akiyl4d4b8v3d6f65iryxakjkhqj6vvgx"; + "nCTEQ15HIX_FullNuc_7_3" = "14mx5lh278p3zdc572bhxw9sc6n7ga0ak0ch85h3lx9zwg2a1m5i"; + "nCTEQ15HIX_FullNuc_84_36" = "0hyxyhb2mn64fwmijigw8m3v5zlj52hf2hicvx4gcq0lw063jxj4"; + "nCTEQ15HIX_FullNuc_9_4" = "17pydzll5lgs974gz4bchl2wxc9ixfpnqjrsidzksl4jf03gn77z"; + "nCTEQ15WZSIH_108_54" = "02z08pzvl8fa0bi6ddrlbknj0iryimw02r40z0nn7p8xf99qabhz"; + "nCTEQ15WZSIH_119_59" = "0r03k6j6nd2mvdkidw4gx1xm1s9hil9z5kanxsn2hzp30ab971db"; + "nCTEQ15WZSIH_12_6" = "00d4lis1qas1k8yzfb3dbqgvy9ynv7h9lx67ys3mj1ws5fqyn5al"; + "nCTEQ15WZSIH_131_54" = "10frai6qmzvp8xpkanl1qlpnc6chf6k5j70f4pw4abw8ycbjymij"; + "nCTEQ15WZSIH_14_7" = "02qd5x041p6n8rzv5l446481jb9vkc5nrc018vcg41735azr0d0p"; + "nCTEQ15WZSIH_16_8" = "164ciyxkrxp33r5nrkl86gq0jvdzm90hf602raamn1b5l5yrnadl"; + "nCTEQ15WZSIH_184_74" = "00nrwb8q6sa3zwbdc9mx4jz5ndibml84lfz8gad9vhy20zayyh3q"; + "nCTEQ15WZSIH_197_79" = "03hzr05vhb0l58iv9c2743c688ygagy1bi5a7zqn8nilsmykbvag"; + "nCTEQ15WZSIH_197_98" = "1mdlhp643z0gkjpj2jdi5zdd4qxxjqsy93rkv69cn1x5abawdl8l"; + "nCTEQ15WZSIH_1_1" = "13wskph284niaxqx92yaa4jg749ry6y98ds1ifvwc9970iccdnk2"; + "nCTEQ15WZSIH_207_103" = "0mpc6msqqjbcs756zd426xgzxmmmcmk8cp8wh2mpagib1drrg1x8"; + "nCTEQ15WZSIH_208_82" = "130bs9y9337pmgwi1ix0ar2xvhfhl4rs0626kbin5yrxhdy7rpha"; + "nCTEQ15WZSIH_27_13" = "1r01sbzixlrqxkjp9kx3s4zgsd48myivyc70p7ha83i1qrq50g7w"; + "nCTEQ15WZSIH_2_1" = "1qlh3zxbg13sq187k1fmssan00ifmqr0q2l7i45vc8jz3mk70098"; + "nCTEQ15WZSIH_3_1" = "057zyvlxz3hwlwgydccl2y124bvc6iwqqgav2jqw0r53a39rc25g"; + "nCTEQ15WZSIH_40_20" = "11psi56yk2yd75v396j68hfdacsnxvng2bw4v9g4afbjv9697jgr"; + "nCTEQ15WZSIH_4_2" = "0g4rvlgksw5gf6a7zh7yzsi2sq5jqkwbrx6d7jgz7zpg8jkg4qrz"; + "nCTEQ15WZSIH_56_26" = "12d0bj92b615kzadxwivp1q0j906m2rlcxfflwgwg21sv9axhi4l"; + "nCTEQ15WZSIH_56_28" = "12yx9v87y59qf14005fmj55n38xnhlvc7qgcrgfsicmdbx3ncm5x"; + "nCTEQ15WZSIH_64_32" = "02w3a4sbygc72acxnfc6lhird4nxcgq5dprfldg10h7f9lr7441y"; + "nCTEQ15WZSIH_6_3" = "05x3cknlnc1kbqnmi3hk6fjgx07dhl7b36rg3abaqn4yg65i79sj"; + "nCTEQ15WZSIH_7_3" = "0d6cmpv6csysr96knip033mw7sg56ls1gcq8gvz2qy7isj167gx7"; + "nCTEQ15WZSIH_84_42" = "15zva7n91p6s98kkhcfsvws20s26fl1bvjql8m1n1c2d5pr29wj5"; + "nCTEQ15WZSIH_9_4" = "04cs89s2m99p31jkc2k4f5i5rr0l4fpa6a41d59zvknhgfy74yvw"; + "nCTEQ15WZSIH_FullNuc_108_54" = "1wk8vhhlzj3wrb994s66q5zmwxhcy9vxpyks36s3jr5729jxk1j1"; + "nCTEQ15WZSIH_FullNuc_119_59" = "1rrkj7inah6bg03mmxgza39z40ghdr8km9hy5v5b69bvqcyr42a3"; + "nCTEQ15WZSIH_FullNuc_12_6" = "14wgacbimifnaji6byq1cds9zz266a63bvv616b0n06391plvzff"; + "nCTEQ15WZSIH_FullNuc_131_54" = "0k6gncwq4l5avlnr4qpvakklysi6g855yqksylc42ndlgjm4jxfy"; + "nCTEQ15WZSIH_FullNuc_14_7" = "1mlffwsn3f942flxvvi0rp63xlcrq88ir9vffmkzh3br3qpm4q41"; + "nCTEQ15WZSIH_FullNuc_16_8" = "1ga0kijnlzjz98j32bakcan89bfhbhq8y08d84d90xpgaqkpb9z2"; + "nCTEQ15WZSIH_FullNuc_184_74" = "1nhly8065kabzjjkapr75vafx46f1zl21xc6fdcv15a2qwx54n0p"; + "nCTEQ15WZSIH_FullNuc_197_79" = "0l9c684f427b8hhwm68swh78n6104nbpdxq6v50zipwc6df0j6w9"; + "nCTEQ15WZSIH_FullNuc_197_98" = "0vc285bd21arpmaykb6baspzr8ak42yx9h4j0sx2vj07l648g5hi"; + "nCTEQ15WZSIH_FullNuc_1_1" = "13gbjq46f5cdpdr902nxv261hqw041f7ryxbwgvxr3k2zm7h8fw0"; + "nCTEQ15WZSIH_FullNuc_207_103" = "08m08pcz0f72nd7zcrvi8cl5va49djlvdff1w4is4gmsb44khyv2"; + "nCTEQ15WZSIH_FullNuc_208_82" = "04x5icmidi1p3j8bdarl3sj0ak6g2ygyc5wmkkn9g80qqn4mxwva"; + "nCTEQ15WZSIH_FullNuc_27_13" = "0x4iv1kxb5lp514qm1nr3k32m68aw7sgy12nhdjhy2dv018snd8n"; + "nCTEQ15WZSIH_FullNuc_2_1" = "177qv17wv15sr1zcm2p6av20h32cjkspf4jj3jvvvgvks947n7dl"; + "nCTEQ15WZSIH_FullNuc_3_1" = "0aawk1ppg3nhl5n6gpdi6l1rw53l2x2sv3fwjz5821b6d7cmb9f6"; + "nCTEQ15WZSIH_FullNuc_40_20" = "1271dlp580a5gm29sv6b8plpc8d06j57x2xrfjyp7kafxa1158ii"; + "nCTEQ15WZSIH_FullNuc_4_2" = "0sv20zpzbinrz5biia1g3jzgyq0wbqaqrmrhhcyg2yxg9z48vgca"; + "nCTEQ15WZSIH_FullNuc_56_26" = "1wz1vwy2q85qz85kdy9gzzhnvv0jy4iazzavf9janz2xzw7833gg"; + "nCTEQ15WZSIH_FullNuc_56_28" = "01y0f2bz5yxmfd719fq8s1i3q5wb0dd81l0qkllpa961db83zmz2"; + "nCTEQ15WZSIH_FullNuc_64_32" = "1a93nqx26pj9kyvy66dmm4ib2pl5qwf03420q84zdl1hlcgaszzc"; + "nCTEQ15WZSIH_FullNuc_6_3" = "157j927a4x53gcam5kmpcpkyk76qgdlszxa4bcj9wlqrygwxsk3k"; + "nCTEQ15WZSIH_FullNuc_7_3" = "0l369wpd3gcb6i452w2hsjvidz80xl623xf1g1p8d2485nrvh6jm"; + "nCTEQ15WZSIH_FullNuc_84_42" = "1nikb7yk35s27g43k1wlgcfxqfyjf40csn8a6aiabliqdfjacaqv"; + "nCTEQ15WZSIH_FullNuc_9_4" = "0nnxf32kllwvm3fyjlswnyjx8cpsanx15qwsn03z6d67wx2f87sw"; + "nCTEQ15WZ_108_47" = "0v1s95f0wxyz73pfv5z6hc4mslxb7ml6imjmkhn2p9yx5mvk94qf"; + "nCTEQ15WZ_108_54" = "0zqw1p1sls58v7aacmwamlic0vsjyjijfam6bas5lh92rrmcf9h6"; + "nCTEQ15WZ_119_50" = "1wwx1rsjhd8rqrvyq68r70issnsby8zrlr8d76br3622mxqr83a7"; + "nCTEQ15WZ_119_59" = "11hckxdqyfrbsv3lc12q8zjysr2nw9mhx438ff13azp93ha7h1v6"; + "nCTEQ15WZ_12_6" = "0naqqy223p6gyw2r1qy5fs185dhmxzmb3zmkx3bbccqnspk7qcnz"; + "nCTEQ15WZ_131_54" = "0fi4sjv7rs90yac1zmnlf38dv5ry9zwzxrjwakpzh00irxw0cz8r"; + "nCTEQ15WZ_14_7" = "1k4sc588n3rd8fvcvwhxzc405iqj28xzv7y1md45kz1c7m6qy4cj"; + "nCTEQ15WZ_16_8" = "0ndjlgbggbk3zk5bm9nm726ci1v8b3qfy3gag14jmp7q780zyhmy"; + "nCTEQ15WZ_184_74" = "08cdkqbjihls2sg4waj9rxg7nvs0mjzxfv3dx1jppiw6f7ljjzrr"; + "nCTEQ15WZ_197_79" = "0ss7wgvx8rv03x1g10c516i0yd65njc7qjh19maij49aizf1fd4l"; + "nCTEQ15WZ_197_98" = "0vlyjqlj9plniim0z7mdhia307i296iha94l8b3iqgzyp9553gly"; + "nCTEQ15WZ_1_0" = "13wnm5sz1sf3hng70j8d3ml53knrx9b7wrg2h6x947jl51flrkh4"; + "nCTEQ15WZ_1_1" = "0pllq4zdgjaklad9j87vilx8gapzfhjh478gcw479ahgjcbbbxxp"; + "nCTEQ15WZ_207_103" = "088d8sr9mq9q4bi0ipxznbm3k2b2k347bj9k5fxsb27f4dl5d0jp"; + "nCTEQ15WZ_207_82" = "0cxagqav2q6kwq83syiad67nmzzkmrg9q0hlshbz6bjlcqmdi4jr"; + "nCTEQ15WZ_208_82" = "1c7vacsr2m6r7dy1b439c46xgxjqvq1gj9y68p2vargm5az444sz"; + "nCTEQ15WZ_20_10" = "1y38sqjgsjrfhmyhf688jir2hgkk871sjz8dm89lm5g7m5c1mgmq"; + "nCTEQ15WZ_27_13" = "0gb2zg5j3jcqjisa3nzsbif4rfi8vshl5vq2vq93d2132qgpzq3l"; + "nCTEQ15WZ_2_1" = "04nhmrvy2m4a2i8b5qadsg8h51k171df1kb7mdqn3hjzga7lg0j7"; + "nCTEQ15WZ_3_1" = "00aansn8jjh8yqyhr2fx8h453nahrdf8j1j0qgny1n1mhad4mc56"; + "nCTEQ15WZ_3_2" = "1pk6gp5a1g15zn5w00l89liz4w7w4xsmpcdk4x50vc7k5phy6vj7"; + "nCTEQ15WZ_40_18" = "0m58lby911lxqy6rvvs959qg5gjbppnfxl34hn81glc0lr90qiz6"; + "nCTEQ15WZ_40_20" = "0dnk9yikivxd557bpi9j7dbpwkf4sk49bg8lf0lxf86bdmi2l330"; + "nCTEQ15WZ_4_2" = "00rr4qwwp7i419sy5wr6f2lz82121ilrvvj0js45bvcqknx26c7i"; + "nCTEQ15WZ_56_26" = "09qjjavqjwrh9adkz6yhcjjiy55dg6c7imnbsi8qxi8xspz8nqq3"; + "nCTEQ15WZ_56_28" = "0pdqsrj4dphjb50r3v95wp1drc8rkdgsbisgg430dj9xaa703ijr"; + "nCTEQ15WZ_64_29" = "1qjvvfzv5nfjp1k1kdv2kz5pjssr2avrnjlxznqvlxwgs7rv8p7v"; + "nCTEQ15WZ_64_32" = "172whqdyyvqxyr3lijw2v45y8nvc0vk7z47i9xfmcydi2qfz8g3s"; + "nCTEQ15WZ_6_3" = "0kr0cf8aqwsn4x8kjwihsynvb99i8bdp4g91digbgcfpp02jyvgd"; + "nCTEQ15WZ_7_3" = "1c76h9xfflfihqyxi9a6dlmg1gwwr2wh93mfac3a3jnx73981gq3"; + "nCTEQ15WZ_84_36" = "1cvykpl9r41dwahjv3kik98y6sx53wiyyzywqc87mhnlx1x5876f"; + "nCTEQ15WZ_84_42" = "1jslkk9wc0fzbm6s5czpmaf004pndwc2ggwnxgkga2idn45204xz"; + "nCTEQ15WZ_9_4" = "0farphic6jyzc5x3ja715wdmvv5rfcgil1c49i8fxqlap5mlgv89"; + "nCTEQ15WZ_9_4_iso" = "01zxmn50r14n1a5gq75pia8mz4ibyqhyjl5d31kv3h69xgdrlizc"; + "nCTEQ15WZ_FullNuc_108_47" = "0yl5ll4j3mr6nhiz9ynn9w3hybgwdypg0b8zwsxz1rjcr3c8bmz5"; + "nCTEQ15WZ_FullNuc_108_54" = "1c8cdilw9n91apqj9lrv9j6hf6mcg3ndndchc96d5svrqlqk4fg6"; + "nCTEQ15WZ_FullNuc_119_50" = "19lb71cmmi4fvpb0bxmz0ipjlzg6b5hrlwiml4bj5r65km46whyk"; + "nCTEQ15WZ_FullNuc_119_59" = "0r9cwy2znpl59ynv2av6whjl3igm4b19rzh6sjqsm6a85d5jjdpc"; + "nCTEQ15WZ_FullNuc_12_6" = "1972j8lziq1ckwq2s7qpcf9g7mg3762kfrnbdjf4ilfw5b2b9i9n"; + "nCTEQ15WZ_FullNuc_131_54" = "06w9yl6a11ir8qjyxaakyzs8b51hf3jhm8nj5nvrh4f6cicp1g66"; + "nCTEQ15WZ_FullNuc_14_7" = "095x9pphc9lx71hlhpwcb71p8wx3b1pnv6qd3s6992visismyb02"; + "nCTEQ15WZ_FullNuc_16_8" = "005h4mbf9c7d9w61pmgghpxb5yh63i6cbyxyylngznbbbaxggjcc"; + "nCTEQ15WZ_FullNuc_184_74" = "0niyiq85bmbr596gfrsmf79rksql7n2gqdxw72yrki5ywc3iy4sr"; + "nCTEQ15WZ_FullNuc_197_79" = "0vbgg6m0b1wlrsx2c5xxga0crz0nwvcq9a88f032yjzihh6rscjd"; + "nCTEQ15WZ_FullNuc_197_98" = "0sf4q5bb4b44zkbxq51pf0xhpldr5dj5d0gqpqs40qkdlmkb9z7k"; + "nCTEQ15WZ_FullNuc_1_0" = "1il9j3ggn9kc8k8jpql46lw5c9lq45ngaip45vqppgvl3zcrc4fv"; + "nCTEQ15WZ_FullNuc_1_1" = "0nxvm11qlapnpdkkymqhy86axcvcx84r9hk0dswa2ji5gmk18jww"; + "nCTEQ15WZ_FullNuc_207_103" = "05qqg6ckkhv30nfbs5rdpiwz7dkgywjrd8a9gr3skvlayj2bisni"; + "nCTEQ15WZ_FullNuc_207_82" = "0s27py7i2h0va79q9ivmgrpwk5pxrjx9csyad76fc7pmvi4xsgjl"; + "nCTEQ15WZ_FullNuc_208_82" = "1xygz9px4jwz3vkbx86384775vhiqqv5l2rp2qi42zy8y8ijwaqd"; + "nCTEQ15WZ_FullNuc_20_10" = "06bgr8r6pz8cpvqbncjaazxw7j2qzhh183brs7r5mi6yckg318gz"; + "nCTEQ15WZ_FullNuc_27_13" = "1qrs82jscmxyhqkd4fa2kjglzgig23kqwc7r2n8p23352ggcsn9x"; + "nCTEQ15WZ_FullNuc_2_1" = "0jxam0p1ypd3x8l83d2f14h2av9wk1r69prfhl6pgd6pdh3nx2gh"; + "nCTEQ15WZ_FullNuc_3_1" = "0kjgsiidi33p442bpp1g6sss62qn4pj90ag4hcmdqsdf5m9vpc5s"; + "nCTEQ15WZ_FullNuc_3_2" = "0srxdvk5jh4ga4r8hniikzanfa8fh65xc4g51arxwd9sda4n0mqb"; + "nCTEQ15WZ_FullNuc_40_18" = "1x7d1cpglijq4rag57m8sp6qyzn3c7r3zs5z9jqarsaqc9wv2ypw"; + "nCTEQ15WZ_FullNuc_40_20" = "1l58bvdhqs9i4mgc39dw9c13rsh5vq5vh6zq8xk35150cbysiwza"; + "nCTEQ15WZ_FullNuc_4_2" = "0s1zdn5r9hk7bjk2ggn7bhrzq2iaxspdhmwi9rq1xbsk7n8k3wif"; + "nCTEQ15WZ_FullNuc_56_26" = "15ilca90cvw7p3w1xr15jynqnvnyw8zhpydhyq11x1kc647bgirm"; + "nCTEQ15WZ_FullNuc_56_28" = "16bs4yq4jr4y3431csabgps6330gcw1ymgm2161z4nmmyp988w1g"; + "nCTEQ15WZ_FullNuc_64_29" = "17wqyn8g5zbrm6ywvqn2y5kphy9xwbgijwlzxsni5k821nzmjyxn"; + "nCTEQ15WZ_FullNuc_64_32" = "0ivyka1g2cj6ign8wm28pzim3saas3bvnxqhixxkr91m1gl40b86"; + "nCTEQ15WZ_FullNuc_6_3" = "00v5wydvrvw1fgbzc436cap7amk8yr7dj5wf3ykyd6415vxmlzl3"; + "nCTEQ15WZ_FullNuc_7_3" = "06z2p0gx988q5w4d3c0qx6pj7lp6mqlz1qrnwy5lf4i4i4vcqkkx"; + "nCTEQ15WZ_FullNuc_84_36" = "0rfn82f8f9f6bgngrs67maip2kfhy42i4ppa904d7dspyqkgfa31"; + "nCTEQ15WZ_FullNuc_84_42" = "14lyhhc5jwccqnz85msaqzdx7cn2vxkvm2l9mf1p2kmgy7p5jis3"; + "nCTEQ15WZ_FullNuc_9_4" = "1895lr4yydzk4cry5wnjhpl6gs2kcspjlm2mv2y00sb7gzinjs94"; + "nCTEQ15WZ_FullNuc_9_4_iso" = "0kvjk4wvw98w7y02ishjacn9frncspl6rsxlzcd4y2pdk1ckr29i"; "nCTEQ15_108_54" = "1bjx2d61qjhabfx28pfi64hf8br4gl67nzir3ygdpwdcah4k6lz8"; "nCTEQ15_119_59" = "0g7wffsyjh84r2wv8w67skx8gwdb3clv9c1dlpijwqmpkcm3b8q5"; "nCTEQ15_12_6" = "1xnnqp38zz3b61jb38hz54wv09w06fwwnb66sf93r1agcajvv1vi"; @@ -966,6 +1225,30 @@ in "nCTEQ15_7_3" = "13b9wbm2hqx4lixq3dad1y3cr6didcch8kg7mqm9lgbism7dwaqw"; "nCTEQ15_84_42" = "12vkqpvjjyh0x0hbn7r4gx5za01yqs9a7lqirdxd15k04fp5rnjr"; "nCTEQ15_9_4" = "1rkxhxwp0v9dm6f71c5635ihlspfx0sj666maif4iaw1sf4hazln"; + "nCTEQ15_B_90CL_Au_hess" = "13sdn1ng4nd6935dksk7jin8yilp29zys3d0jvf7m7vx8gyxi187"; + "nCTEQ15_B_90CL_Pb_hess" = "1j11x8y5sbs5lz4z06wcl702ijvh1bcb4i222jdcq9gh9j40xn17"; + "nCTEQ15_B_c_90CL_Au_hess" = "0k0pn3yqb632j254h8w9wbdvcasnfxr7d9g47drqw3f4w1as3s16"; + "nCTEQ15_B_c_90CL_Pb_hess" = "0gvvwnc298qgxhpj4wgnzcrgz0wqlj5r7sfsl1fj21zhm3kc45jl"; + "nCTEQ15_B_d_90CL_Au_hess" = "0lzfa2gsl5cs2i6y833lhvf2pifzkysj9jgq22v9iyyz5q0nbsh4"; + "nCTEQ15_B_d_90CL_Pb_hess" = "0zp7dirc2l42f9zjyq1a2qbnir1bbj1firmg3s856mn7sp3p4i0k"; + "nCTEQ15_B_u_90CL_Au_hess" = "1w2ifnl9waqvsaz1yg696mmqxcijm2bphq8zp3rcbimck3rmr978"; + "nCTEQ15_B_u_90CL_Pb_hess" = "0j95dg6kyvd30qgivd9495glcd152cr1j3zh1cg76s6sdzfkhvs5"; + "nCTEQ15_D_90CL_Au_hess" = "0y3n008i22g9ny0v8z6hyc47730xb6qldkpall6p8icn8yzfdga9"; + "nCTEQ15_D_90CL_Pb_hess" = "0mp1plqxsd6j0ybnf7yrl4hgl68a85q56vdjhs911xah1bgrpix1"; + "nCTEQ15_D_c_90CL_Au_hess" = "1xk6ngc488n9immd9nbv8ygvxav5n7b7902k44rkxnw42kbx2c4m"; + "nCTEQ15_D_c_90CL_Pb_hess" = "1ldig46l08n00jvj0dl36jsnpjl2ycv3jdr9d9g375rwgv671kad"; + "nCTEQ15_D_d_90CL_Au_hess" = "059fz4rfhydnk25hmabavwi346cy2hzxaw2ciq8jx64fmawb3v79"; + "nCTEQ15_D_d_90CL_Pb_hess" = "0zgs89yjypn2sd97948z2r78sydadivvw6wy7pwi3a5b0yx1zpzn"; + "nCTEQ15_D_u_90CL_Au_hess" = "0j8sfih3r2wps1l7vapnllh88ibw7672f646m5p67aw5k2an4f8j"; + "nCTEQ15_D_u_90CL_Pb_hess" = "0d2nxsabard1yq8f2v9a7kwk0fzv549hx1k15k0dfif9523i6xqf"; + "nCTEQ15_Jpsi_90CL_Au_hess" = "0x75jizpqi8vss62xb2913vdhvckq2b468iqxd0ggr0fic1f8q9a"; + "nCTEQ15_Jpsi_90CL_Pb_hess" = "09a9s6gmf7q9rk8c88iskra5kxaiz131s5650964znxv29lpzlqm"; + "nCTEQ15_Jpsi_c_90CL_Au_hess" = "0mh3ikdkca7xc5bc2knjbyr7dkgbydnaa4i1gqln0i29b89j5nw0"; + "nCTEQ15_Jpsi_c_90CL_Pb_hess" = "1gs39gla77sqgry1799l9kapc1c48pzxgfba6p70fdbwdac45n3j"; + "nCTEQ15_Jpsi_d_90CL_Au_hess" = "1qn4f4nn8avjrsdqgab25053zadwx7vlr27w8bsmcxg25si104y9"; + "nCTEQ15_Jpsi_d_90CL_Pb_hess" = "107w4yiv6dl8gqfx0mpbnii06wzf15ih2kqmb8hkmz988x49l65q"; + "nCTEQ15_Jpsi_u_90CL_Au_hess" = "1mdm8qlzkyzrszsng49ns9hq7zdqaal61vbi64449fkvmxd0a7mk"; + "nCTEQ15_Jpsi_u_90CL_Pb_hess" = "1y0bcr3g9znjz2c3s4487yjl1ipf0ls05krfpdn8gcsxymf4cirm"; "nCTEQ15npFullNuc_108_54" = "1g8id10rpys9566r8h92diqrr43mww6q8nhvlns0kfjkvkr22m9y"; "nCTEQ15npFullNuc_119_59" = "0df499pvfls1281zkvngrhicnc0ac0bfwamzs027k7f2y6ygkfb4"; "nCTEQ15npFullNuc_12_6" = "0mb3zixcikagsqzpxb7jzrcg05dln37d7anz5359ssjyd6p1mqyi"; @@ -1057,11 +1340,30 @@ in "nNNPDF20_nlo_as_0118_Li6" = "0pwdqrmivpm0j7hrg6h2qqshpna2vjlslxnz0sd100kc3lfq7xab"; "nNNPDF20_nlo_as_0118_N1" = "09y7pd3nnys49w25gb4524x5xkahillvaypjgncbn8n5x1a11nsr"; "nNNPDF20_nlo_as_0118_N14" = "0nb3kcmhbyncp9frs27ww550mjl3f7yiahyyrm3aik93ycpm16n7"; - "nNNPDF20_nlo_as_0118_O16" = "12kfhldvg8gqxjaian14dng6qqc6nikydwcj5jz2i2d1da3dyhgg"; + "nNNPDF20_nlo_as_0118_O16" = "1wmi63l6cpj3nx0vwiqaa1pfw0im5ps96g7842428skzrg0q4yx3"; "nNNPDF20_nlo_as_0118_Pb208" = "1rwb7vca0y1aj38mz8m3wg07q9hq66qd5j3y6hs9bh0jz6hkifzh"; "nNNPDF20_nlo_as_0118_Sn119" = "1dan86ckd5padipp4x12x8msfg5p97b8hwxm78gfyf88kq725m6z"; - "nNNPDF20_nlo_as_0118_W184" = "1g0br4gdrb2vzwmqhgj5778a6vl0lykc4ymylibxlqbqrhf8j89b"; + "nNNPDF20_nlo_as_0118_W184" = "0wzd8vw2svf3mzpyy1wryr5jz3anhykp5z3cx4hdljprws2b8nll"; "nNNPDF20_nlo_as_0118_Xe131" = "1a62qi3qy5kli9q80p2w80mj5v3ps2g6p40zxlgm65q5mphkx1qi"; + "nNNPDF30_nlo_as_0118_A108_Z54" = "0n67w44rmz5s6cg2h58d8sf51dsfd0i5g09dh08mgfcn640bqlqw"; + "nNNPDF30_nlo_as_0118_A119_Z59" = "1zj5gn5021ig0j6p7jpyy683avg0890blmr90yjm6skqzxfjq48i"; + "nNNPDF30_nlo_as_0118_A12_Z6" = "0jvaq9a1w19dybv2hzvn8swk4i4z16lab9yfhbywq0vixyfn1swd"; + "nNNPDF30_nlo_as_0118_A131_Z54" = "01mcqnixjw5m9di508aq8fp74f3aqnvhc1bjirfvi3ca0jz0c1jz"; + "nNNPDF30_nlo_as_0118_A14_Z7" = "0hqpni9fxbf5qfamcirglr04cbwx58pwylqh8hqm3vc03ap3nmjd"; + "nNNPDF30_nlo_as_0118_A16_Z8" = "0f0h3hckxg4xgfd6ldblavhcidzdy2b5660a5nvv96y63sdsx2x4"; + "nNNPDF30_nlo_as_0118_A184_Z74" = "01jsbla72c3b6gbc7w4nx5bb5ws3g864avznb9vxmmk3prib7n8x"; + "nNNPDF30_nlo_as_0118_A197_Z79" = "1gm7nx0cn3lmjlsy6c7dr5vzyfmi1fcdib9656d4039m0ningrhg"; + "nNNPDF30_nlo_as_0118_A208_Z82" = "0r1spnj4qmjwpjybqv9aa6w3wybvgk4qzivzwz4s9bacz0kb3z4n"; + "nNNPDF30_nlo_as_0118_A27_Z13" = "17vmr3pwjp1prb83yngada7sw8553sv39dnncksabnklfp1l5x59"; + "nNNPDF30_nlo_as_0118_A2_Z1" = "1g97mc7c14hnkfsfvg4n9jmb4l461i9lka643s626hw0gcq053f5"; + "nNNPDF30_nlo_as_0118_A31_Z15" = "0h5rx9113yq6jw1l2alwyvw77vv733y5mcpa3m9773s7y61w3fpk"; + "nNNPDF30_nlo_as_0118_A40_Z20" = "1937kk4039hi9cslw4417174s83rs4n9vm16ay70pp1c8bcqzp6l"; + "nNNPDF30_nlo_as_0118_A4_Z2" = "147npkmbvzk6j95hnnil6jafc2gxjqavaawl9cilr93f9h64w54w"; + "nNNPDF30_nlo_as_0118_A56_Z26" = "06dxsapqirmajh107j24b3w2nhqz39gs9c2pglq71fc53i0fra5a"; + "nNNPDF30_nlo_as_0118_A64_Z29" = "1drvfd3i1drrb15m3vk9sm2lzx2x01da44gdq3wbc90nxvzc7d56"; + "nNNPDF30_nlo_as_0118_A6_Z3" = "0zp1cixj6ixayzdra2i5qyfn2b6y6qfxd5d1l101n8sgf4bdh6fb"; + "nNNPDF30_nlo_as_0118_A9_Z4" = "07i30jk29cgdbdk4n5acdki5aihaki5w0mqibjww1hy7mwh4y45w"; + "nNNPDF30_nlo_as_0118_p" = "0k4bs4zhlm7l14mbd2q9n0n7rdnpqwgnfwj289ql62v3kh8mnn18"; "xFitterPI_NLO_EIG" = "1v6mfhmcrmdvica0wlc2ilfca1srxc7vjyli113wjvpd7wfpnvj5"; "xFitterPI_NLO_VAR" = "09mlsww89hhm2s96rlkqbkfwwf9qkblw7n3nnrgas6l1kn2hxq1i"; } diff --git a/pkgs/development/libraries/science/math/magma/default.nix b/pkgs/development/libraries/science/math/magma/default.nix index a1e0d908d510e..05d7d4fa18424 100644 --- a/pkgs/development/libraries/science/math/magma/default.nix +++ b/pkgs/development/libraries/science/math/magma/default.nix @@ -8,7 +8,7 @@ assert let majorIs = lib.versions.major cudatoolkit.version; in majorIs == "9" || majorIs == "10" || majorIs == "11"; let - version = "2.5.4"; + version = "2.6.2"; # We define a specific set of CUDA compute capabilities here, # because CUDA 11 does not support compute capability 3.0. Also, @@ -45,7 +45,7 @@ in stdenv.mkDerivation { inherit version; src = fetchurl { url = "https://icl.cs.utk.edu/projectsfiles/magma/downloads/magma-${version}.tar.gz"; - sha256 = "0rrvd21hczxlm8awc9z54fj7iqpjmsb518fy32s6ghz0g90znd3p"; + hash = "sha256-dbVU2rAJA+LRC5cskT5Q5/iMvGLzrkMrWghsfk7aCnE="; name = "magma-${version}.tar.gz"; }; @@ -64,23 +64,6 @@ in stdenv.mkDerivation { enableParallelBuilding=true; buildFlags = [ "magma" "magma_sparse" ]; - # MAGMA's default CMake setup does not care about installation. So we copy files directly. - installPhase = '' - mkdir -p $out - mkdir -p $out/include - mkdir -p $out/lib - mkdir -p $out/lib/pkgconfig - cp -a ../include/*.h $out/include - #cp -a sparse-iter/include/*.h $out/include - cp -a lib/*.so $out/lib - cat ../lib/pkgconfig/magma.pc.in | \ - sed -e s:@INSTALL_PREFIX@:"$out": | \ - sed -e s:@CFLAGS@:"-I$out/include": | \ - sed -e s:@LIBS@:"-L$out/lib -lmagma -lmagma_sparse": | \ - sed -e s:@MAGMA_REQUIRED@:: \ - > $out/lib/pkgconfig/magma.pc - ''; - meta = with lib; { description = "Matrix Algebra on GPU and Multicore Architectures"; license = licenses.bsd3; diff --git a/pkgs/development/libraries/science/math/nccl/default.nix b/pkgs/development/libraries/science/math/nccl/default.nix index c08b5aa5851dc..41dddf2391ac2 100644 --- a/pkgs/development/libraries/science/math/nccl/default.nix +++ b/pkgs/development/libraries/science/math/nccl/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "nccl-${version}-cuda-${cudatoolkit.majorVersion}"; - version = "2.7.8-1"; + version = "2.12.10-1"; src = fetchFromGitHub { owner = "NVIDIA"; repo = "nccl"; rev = "v${version}"; - sha256 = "0xxiwaw239dc9g015fka3k1nvm5zyl00dzgxnwzkang61dys9wln"; + sha256 = "sha256-QqORzm0gD+QG+P8rId8bQn2oZsxL5YyxCIobUVs85wE="; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/science/math/zn_poly/default.nix b/pkgs/development/libraries/science/math/zn_poly/default.nix index 38d5d91e0837a..3ec97e4a288e3 100644 --- a/pkgs/development/libraries/science/math/zn_poly/default.nix +++ b/pkgs/development/libraries/science/math/zn_poly/default.nix @@ -3,12 +3,12 @@ , fetchFromGitLab , fetchpatch , gmp -, python2 +, python3 , tune ? false # tune to hardware, impure }: stdenv.mkDerivation rec { - version = "0.9.1"; + version = "0.9.2"; pname = "zn_poly"; # sage has picked up the maintenance (bug fixes and building, not development) @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { owner = "sagemath"; repo = "zn_poly"; rev = version; - sha256 = "0ra5vy585bqq7g3317iw6fp44iqgqvds3j0l1va6mswimypq4vxb"; + hash = "sha256-QBItcrrpOGj22/ShTDdfZjm63bGW2xY4c71R1q8abPE="; }; buildInputs = [ @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ - python2 # needed by ./configure to create the makefile + python3 # needed by ./configure to create the makefile ]; # name of library file ("libzn_poly.so") @@ -44,16 +44,6 @@ stdenv.mkDerivation rec { "--disable-tuning" ]; - patches = [ - # fix format-security by not passing variables directly to printf - # https://gitlab.com/sagemath/zn_poly/merge_requests/1 - (fetchpatch { - name = "format-security.patch"; - url = "https://gitlab.com/timokau/zn_poly/commit/1950900a80ec898d342b8bcafa148c8027649766.patch"; - sha256 = "1gks9chvsfpc6sg5h3nqqfia4cgvph7jmj9dw67k7dk7kv9y0rk1"; - }) - ]; - # `make install` fails to install some header files and the lib file. installPhase = '' mkdir -p "$out/include/zn_poly" diff --git a/pkgs/development/libraries/tdlib/default.nix b/pkgs/development/libraries/tdlib/default.nix index 4dedc13db2a85..0196e62fb977a 100644 --- a/pkgs/development/libraries/tdlib/default.nix +++ b/pkgs/development/libraries/tdlib/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { pname = "tdlib"; - version = "1.8.1"; + version = "1.8.3"; src = fetchFromGitHub { owner = "tdlib"; repo = "td"; # https://github.com/tdlib/td/issues/1790 - rev = "92c2a9c4e521df720abeaa9872e1c2b797d5c93f"; - sha256 = "ZoKsgdkS78mptfbxkkV4pgcgJEaWwKZWK2cvmxgJN4E="; + rev = "054a823c1a812ee3e038f702c6d8ba3e6974be9c"; + sha256 = "sha256-YlvIGR3Axej0nfcGBQ5lwwYVWsLgqFrYgOxoNubYMPM="; }; buildInputs = [ gperf openssl readline zlib ]; diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix index 286f5ccc3fcfb..fbf5a71bb4b1a 100644 --- a/pkgs/development/libraries/umockdev/default.nix +++ b/pkgs/development/libraries/umockdev/default.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "umockdev"; - version = "0.17.7"; + version = "0.17.8"; outputs = [ "bin" "out" "dev" "devdoc" ]; src = fetchurl { url = "https://github.com/martinpitt/umockdev/releases/download/${version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-BdZCoW3QHM4Oue4bpuSFsuwIU1vsZ5pjqVv9TfGNC7U="; + sha256 = "sha256-s3zeWJxw5ohUtsv4NZGKcdP8khEYzIXycbBrAzdnVoU="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/vigra/default.nix b/pkgs/development/libraries/vigra/default.nix index a4371e7d1a545..32b97f8ea2d3c 100644 --- a/pkgs/development/libraries/vigra/default.nix +++ b/pkgs/development/libraries/vigra/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchFromGitHub -, fetchurl , boost , cmake , fftw @@ -20,25 +19,17 @@ let in stdenv.mkDerivation rec { pname = "vigra"; - version = "1.11.1"; + version = "unstable-2022-01-11"; src = fetchFromGitHub { owner = "ukoethe"; repo = "vigra"; - rev = "Version-${lib.replaceChars ["."] ["-"] version}"; - sha256 = "sha256-tD6tdoT4mWBtzkn4Xv3nNIkBQmeqNqzI1AVxUbP76Mk="; + rev = "093d57d15c8c237adf1704d96daa6393158ce299"; + sha256 = "sha256-pFANoT00Wkh1/Dyd2x75IVTfyaoVA7S86tafUSr29Og="; }; NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR"; - # Fixes compilation with clang (on darwin) see https://github.com/ukoethe/vigra/issues/414 - patches = - let clangPatch = fetchurl { - url = "https://github.com/ukoethe/vigra/commit/81958d302494e137f98a8b1d7869841532f90388.patch"; - sha256 = "1i1w6smijgb5z8bg9jaq84ccy00k2sxm87s37lgjpyix901gjlgi"; - }; - in [ clangPatch ]; - nativeBuildInputs = [ cmake ]; buildInputs = [ boost @@ -59,9 +50,6 @@ stdenv.mkDerivation rec { ++ lib.optionals (stdenv.hostPlatform.system == "x86_64-linux") [ "-DCMAKE_CXX_FLAGS=-fPIC" "-DCMAKE_C_FLAGS=-fPIC" ]; - # fails with "./test_watersheds3d: error while loading shared libraries: libvigraimpex.so.11: cannot open shared object file: No such file or directory" - doCheck = false; - meta = with lib; { description = "Novel computer vision C++ library with customizable algorithms and data structures"; homepage = "https://hci.iwr.uni-heidelberg.de/vigra"; diff --git a/pkgs/development/ocaml-modules/alcotest/default.nix b/pkgs/development/ocaml-modules/alcotest/default.nix index bb1b18e3ec19f..c54deed737a73 100644 --- a/pkgs/development/ocaml-modules/alcotest/default.nix +++ b/pkgs/development/ocaml-modules/alcotest/default.nix @@ -1,18 +1,20 @@ { lib, buildDunePackage, fetchurl -, astring, cmdliner, fmt, uuidm, re, stdlib-shims, uutf +, astring, cmdliner, fmt, uuidm, re, stdlib-shims, uutf, ocaml-syntax-shims }: buildDunePackage rec { pname = "alcotest"; - version = "1.4.0"; + version = "1.5.0"; useDune2 = true; src = fetchurl { - url = "https://github.com/mirage/alcotest/releases/download/${version}/alcotest-mirage-${version}.tbz"; - sha256 = "sha256:1h9yp44snb6sgm5g1x3wg4gwjscic7i56jf0j8jr07355pxwrami"; + url = "https://github.com/mirage/alcotest/releases/download/${version}/alcotest-js-${version}.tbz"; + sha256 = "sha256-VCgZB+AteJld8kbcLhDtGCgoKUrSBZNHoeOhM1SEj2w="; }; + nativeBuildInputs = [ ocaml-syntax-shims ]; + propagatedBuildInputs = [ astring cmdliner fmt uuidm re stdlib-shims uutf ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/caqti/default.nix b/pkgs/development/ocaml-modules/caqti/default.nix index e8367402cad2e..a4ac9dadad155 100644 --- a/pkgs/development/ocaml-modules/caqti/default.nix +++ b/pkgs/development/ocaml-modules/caqti/default.nix @@ -1,8 +1,10 @@ -{ lib, fetchFromGitHub, buildDunePackage, cppo, logs, ptime, uri }: +{ lib, fetchFromGitHub, buildDunePackage +, cppo, logs, ptime, uri, bigstringaf +, re, cmdliner, alcotest }: buildDunePackage rec { pname = "caqti"; - version = "1.7.0"; + version = "1.8.0"; useDune2 = true; minimumOCamlVersion = "4.04"; @@ -11,11 +13,14 @@ buildDunePackage rec { owner = "paurkedal"; repo = "ocaml-${pname}"; rev = "v${version}"; - sha256 = "sha256-NGK38so6ZVCRbtV3ww1u31EFAjkHgDdsFfFUwc8ldm4="; + sha256 = "sha256-8uKlrq9j1Z3QzkCyoRIn2j6wCdGyo7BY7XlbFHN1xVE="; }; nativeBuildInputs = [ cppo ]; - propagatedBuildInputs = [ logs ptime uri ]; + propagatedBuildInputs = [ logs ptime uri bigstringaf ]; + checkInputs = [ re cmdliner alcotest ]; + + doCheck = true; meta = { description = "Unified interface to relational database libraries"; diff --git a/pkgs/development/ocaml-modules/llvm/default.nix b/pkgs/development/ocaml-modules/llvm/default.nix index 9ab3d906ab1ef..c0600df64f277 100644 --- a/pkgs/development/ocaml-modules/llvm/default.nix +++ b/pkgs/development/ocaml-modules/llvm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, python2, cmake, libllvm, ocaml, findlib, ctypes }: +{ stdenv, lib, python3, cmake, libllvm, ocaml, findlib, ctypes }: let version = lib.getVersion libllvm; in @@ -8,7 +8,7 @@ stdenv.mkDerivation { inherit (libllvm) src; - nativeBuildInputs = [ cmake python2 ocaml findlib ]; + nativeBuildInputs = [ cmake python3 ocaml findlib ]; buildInputs = [ ctypes ]; propagatedBuildInputs = [ libllvm ]; diff --git a/pkgs/development/ocaml-modules/reperf/default.nix b/pkgs/development/ocaml-modules/reperf/default.nix new file mode 100644 index 0000000000000..bcae9dc695cfb --- /dev/null +++ b/pkgs/development/ocaml-modules/reperf/default.nix @@ -0,0 +1,41 @@ +{ buildDunePackage, fetchFromGitHub, lib, printbox-text, reason }: + +buildDunePackage rec { + pname = "reperf"; + version = "1.5.1"; + + src = fetchFromGitHub { + owner = "bryphe"; + repo = "reperf"; + rev = "68ef2f96899c09e6ac7d929b0375f7a806aee067"; + sha256 = "sha256-ASujTsH4eDAYLNalB9Xt1p3C8x+FI0kMldZBYaXMCWc="; + }; + + postPatch = '' + substituteInPlace src/dune --replace "printbox" "printbox-text" + ''; + + nativeBuildInputs = [ reason ]; + + buildInputs = [ + printbox-text + ]; + + meta = with lib; { + description = "Native Reason + JSOO cross-platform performance benchmarking tools"; + longDescription = '' + Inspired by the core_bench tools from Janestreet. + + reperf helps with: + * Timing: time spent in a code block + * Call count: frequency of code-path calls + * Allocations: code-block impact to garbage collector + + Supports benchmarks, which are test cases that exercise performance scenarios. + Outputs a JSON performance report, and compare it with previous iterations - and fail if a regression is detected. + ''; + homepage = "https://github.com/bryphe/reperf"; + maintainers = with maintainers; [ superherointj ]; + license = licenses.mit; + }; +} diff --git a/pkgs/development/python-modules/adafruit-io/default.nix b/pkgs/development/python-modules/adafruit-io/default.nix index 88bdff440c4a7..bd44626f8bcf2 100644 --- a/pkgs/development/python-modules/adafruit-io/default.nix +++ b/pkgs/development/python-modules/adafruit-io/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "adafruit-io"; - version = "2.6.0"; + version = "2.7.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -18,8 +18,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "adafruit"; repo = "Adafruit_IO_Python"; - rev = version; - hash = "sha256-tjm+HvUuLK3IxXwuxPidJaBetj+n0BzKOuLj75bM7a8="; + rev = "refs/tags/${version}"; + hash = "sha256-BIquSrhtRv2NEOn/G6TTfYMrL2OBwwJQYZ455fznwdU="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix index ef606a027d06c..9f6828fd63292 100644 --- a/pkgs/development/python-modules/ailment/default.nix +++ b/pkgs/development/python-modules/ailment/default.nix @@ -7,8 +7,8 @@ buildPythonPackage rec { pname = "ailment"; - version = "9.1.12332"; - format = "setuptools"; + version = "9.2.1"; + format = "pyproject"; disabled = pythonOlder "3.6"; @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "angr"; repo = pname; rev = "v${version}"; - hash = "sha256-qWKvNhiOAonUi0qpOWtwbNZa2lgBQ+gaGrAHMgDdr4Q="; + hash = "sha256-F0t4vVxi4KUUtIZc8FJD9+2qf1XA58haFfjmHwAQaWA="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/aioconsole/default.nix b/pkgs/development/python-modules/aioconsole/default.nix index c88f848593911..b178913c0f593 100644 --- a/pkgs/development/python-modules/aioconsole/default.nix +++ b/pkgs/development/python-modules/aioconsole/default.nix @@ -40,6 +40,8 @@ buildPythonPackage rec { disabledTests = [ "test_interact_syntax_error" + # Output and the sandbox don't work well together + "test_interact_multiple_indented_lines" ]; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/aiolifx/default.nix b/pkgs/development/python-modules/aiolifx/default.nix index 2cc04130c6710..1ce640179a134 100644 --- a/pkgs/development/python-modules/aiolifx/default.nix +++ b/pkgs/development/python-modules/aiolifx/default.nix @@ -8,13 +8,14 @@ buildPythonPackage rec { pname = "aiolifx"; - version = "0.7.1"; + version = "0.8.0"; + format = "setuptools"; - disabled = pythonOlder "3.4"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-ktXnAgrxfDELfMQATcWHn/u6C4bKQii+mbT4mA54coo="; + hash = "sha256-7XwtTALfEFAI2Rl3JcVcncIZBTFNuXyyclpJj5jHyEU="; }; propagatedBuildInputs = [ @@ -25,10 +26,12 @@ buildPythonPackage rec { # tests are not implemented doCheck = false; - pythonImportsCheck = [ "aiolifx" ]; + pythonImportsCheck = [ + "aiolifx" + ]; meta = with lib; { - description = "API for local communication with LIFX devices over a LAN"; + description = "Module for local communication with LIFX devices over a LAN"; homepage = "https://github.com/frawau/aiolifx"; license = licenses.mit; maintainers = with maintainers; [ netixx ]; diff --git a/pkgs/development/python-modules/aioqsw/default.nix b/pkgs/development/python-modules/aioqsw/default.nix new file mode 100644 index 0000000000000..91dac94f20d2d --- /dev/null +++ b/pkgs/development/python-modules/aioqsw/default.nix @@ -0,0 +1,40 @@ +{ lib +, aiohttp +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "aioqsw"; + version = "0.0.5"; + format = "setuptools"; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "Noltari"; + repo = pname; + rev = version; + hash = "sha256-2MuJrWrjcRkdeVkKfv/nUVfHyBtKKsq1sC5ISSEtyEE="; + }; + + propagatedBuildInputs = [ + aiohttp + ]; + + # Module has no tests + doCheck = false; + + pythonImportsCheck = [ + "aioqsw" + ]; + + meta = with lib; { + description = "Library to fetch data from QNAP QSW switches"; + homepage = "https://github.com/Noltari/aioqsw"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix index 1881da62f5065..31629eab9d674 100644 --- a/pkgs/development/python-modules/angr/default.nix +++ b/pkgs/development/python-modules/angr/default.nix @@ -46,8 +46,8 @@ in buildPythonPackage rec { pname = "angr"; - version = "9.1.12332"; - format = "setuptools"; + version = "9.2.1"; + format = "pyproject"; disabled = pythonOlder "3.6"; @@ -55,7 +55,7 @@ buildPythonPackage rec { owner = pname; repo = pname; rev = "v${version}"; - hash = "sha256-GaW1XyFOnjU28HqptFC6+Fe41zYZMR716Nsq0dPy660="; + hash = "sha256-7t4NV1udBq3tK7czuKYUsQ+9tLahFM8DlUUBT3d6bco="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/angrop/default.nix b/pkgs/development/python-modules/angrop/default.nix index 8164190cd49c0..d32441a989c6a 100644 --- a/pkgs/development/python-modules/angrop/default.nix +++ b/pkgs/development/python-modules/angrop/default.nix @@ -9,8 +9,8 @@ buildPythonPackage rec { pname = "angrop"; - version = "9.1.12332"; - format = "setuptools"; + version = "9.2.1"; + format = "pyproject"; disabled = pythonOlder "3.6"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "angr"; repo = pname; rev = "v${version}"; - hash = "sha256-lhwlZ7eHaEMaTW7c+WCRSeGSIQ5IeEx6XALyYJH+Ey0="; + hash = "sha256-VhlsRd5IN8zF6aUU5Ji/ULkdecOpR+egU3vhYpi+KL8="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/apprise/default.nix b/pkgs/development/python-modules/apprise/default.nix index e0b5c696e3181..8be62dfd0da1b 100644 --- a/pkgs/development/python-modules/apprise/default.nix +++ b/pkgs/development/python-modules/apprise/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "apprise"; - version = "0.9.7"; + version = "0.9.8.2"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-BOMeSvwmGiZvA95+e2bceCGXRwowU5+zJAl7Sn4wKqM="; + hash = "sha256-EDKa77sU09HOBp4NVsHNwp6S4UbHyqX8T8rFGOnV8kA="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/approvaltests/default.nix b/pkgs/development/python-modules/approvaltests/default.nix index a6c94f2444256..dd2f26e92d1ee 100644 --- a/pkgs/development/python-modules/approvaltests/default.nix +++ b/pkgs/development/python-modules/approvaltests/default.nix @@ -16,7 +16,7 @@ }: buildPythonPackage rec { - version = "5.0.0"; + version = "5.0.1"; pname = "approvaltests"; format = "setuptools"; @@ -26,8 +26,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "approvals"; repo = "ApprovalTests.Python"; - rev = "v${version}"; - sha256 = "sha256-ku8J1ccX6LZZitlAOgc3eNCdsFx/FP1nqtdgPJF/jRg="; + rev = "refs/tags/v${version}"; + sha256 = "sha256-lmH/nw/7woLCDepR/rDQUqwrhuLFY+TO8sdgK1+apgc="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix index f9affcddd122b..b9b29a7167abc 100644 --- a/pkgs/development/python-modules/archinfo/default.nix +++ b/pkgs/development/python-modules/archinfo/default.nix @@ -1,7 +1,6 @@ { lib , buildPythonPackage , fetchFromGitHub -, fetchpatch , pytestCheckHook , nose , pythonOlder @@ -9,8 +8,8 @@ buildPythonPackage rec { pname = "archinfo"; - version = "9.1.12332"; - format = "setuptools"; + version = "9.2.1"; + format = "pyproject"; disabled = pythonOlder "3.6"; @@ -18,7 +17,7 @@ buildPythonPackage rec { owner = "angr"; repo = pname; rev = "v${version}"; - hash = "sha256-nv/hwQZgKv/cM8fF6GqI8zY9GAe8aCZ/AGFOmhz+bMM="; + hash = "sha256-RWdY7tzT5wDVjAn1QIkQm8b5lIo++VzktsYZxn8taeg="; }; checkInputs = [ @@ -26,15 +25,6 @@ buildPythonPackage rec { pytestCheckHook ]; - patches = [ - # Make archinfo import without installing pyvex, https://github.com/angr/archinfo/pull/113 - (fetchpatch { - name = "fix-import-issue.patch"; - url = "https://github.com/angr/archinfo/commit/d29c108f55ffd458ff1d3d65db2d651c76b19267.patch"; - sha256 = "sha256-9vi0QyqQLIPQxFuB8qrpcnPXWOJ6d27/IXJE/Ui6HhM="; - }) - ]; - pythonImportsCheck = [ "archinfo" ]; @@ -43,6 +33,6 @@ buildPythonPackage rec { description = "Classes with architecture-specific information"; homepage = "https://github.com/angr/archinfo"; license = with licenses; [ bsd2 ]; - maintainers = [ maintainers.fab ]; + maintainers = with maintainers; [ fab ]; }; } diff --git a/pkgs/development/python-modules/authheaders/default.nix b/pkgs/development/python-modules/authheaders/default.nix index 8593f7f4d742e..0d9c1a4093dae 100644 --- a/pkgs/development/python-modules/authheaders/default.nix +++ b/pkgs/development/python-modules/authheaders/default.nix @@ -4,11 +4,11 @@ buildPythonPackage rec { pname = "authheaders"; - version = "0.14.1"; + version = "0.15.1"; src = fetchPypi { inherit pname version; - sha256 = "4e601b5b54080019a2f548fadf80ddf9c5538615607c7fb602936404aafe67e2"; + sha256 = "sha256-90rOvu+CbHtammrMDZpPx7rIboIT2X/jL1GtfjpmuOk="; }; propagatedBuildInputs = [ authres dnspython dkimpy publicsuffix2 ] diff --git a/pkgs/development/python-modules/azure-mgmt-reservations/default.nix b/pkgs/development/python-modules/azure-mgmt-reservations/default.nix index 7e08b16166d7a..0be05eb390f14 100644 --- a/pkgs/development/python-modules/azure-mgmt-reservations/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-reservations/default.nix @@ -5,18 +5,20 @@ , msrestazure , azure-common , azure-mgmt-core -, azure-mgmt-nspkg -, isPy3k +, pythonOlder }: buildPythonPackage rec { pname = "azure-mgmt-reservations"; - version = "1.0.0"; + version = "2.0.0"; + format = "setuptools"; + + disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "880df54fdf3869ee6b142d4fc7a3fce518c850523c42cc895b7fb8359956554e"; + hash = "sha256-5vXdXiRubnzPk4uTFeNHR6rwiHSGbeUREX9eW1pqC3E="; }; propagatedBuildInputs = [ @@ -24,8 +26,6 @@ buildPythonPackage rec { msrestazure azure-common azure-mgmt-core - ] ++ lib.optionals (!isPy3k) [ - azure-mgmt-nspkg ]; # has no tests diff --git a/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix b/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix index 58d32853194bd..55f4d9284923d 100644 --- a/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix @@ -8,11 +8,11 @@ buildPythonPackage rec { pname = "azure-mgmt-servicelinker"; - version = "1.0.0b1"; + version = "1.0.0"; src = fetchPypi { inherit pname version; - sha256 = "4f70d3bcd98ba539bfef870e3c497ebdc5efed3200c2627a61718baa9ab21a61"; + sha256 = "sha256-lAjgwEa2TJDEUU8pwfwkU8EyA1bhLkcAv++I6WHb7Xs="; extension = "zip"; }; diff --git a/pkgs/development/python-modules/azure-synapse-artifacts/default.nix b/pkgs/development/python-modules/azure-synapse-artifacts/default.nix index 5a83385b75410..de0909fa0c02f 100644 --- a/pkgs/development/python-modules/azure-synapse-artifacts/default.nix +++ b/pkgs/development/python-modules/azure-synapse-artifacts/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "azure-synapse-artifacts"; - version = "0.12.0"; + version = "0.13.0"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "sha256-IfQWsITuThzh+TRgv99JTtcDFY3gMq5PjALkN4mJEZo="; + sha256 = "sha256-WJZtE7efs1xwalyb0Sr2J+pmPIt9gn2o01/prncb2uM="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/bimmer-connected/default.nix b/pkgs/development/python-modules/bimmer-connected/default.nix index 8f754b213e819..3e8ba28c717ea 100644 --- a/pkgs/development/python-modules/bimmer-connected/default.nix +++ b/pkgs/development/python-modules/bimmer-connected/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "bimmer-connected"; - version = "0.8.11"; + version = "0.8.12"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "bimmerconnected"; repo = "bimmer_connected"; rev = version; - hash = "sha256-Ufx9Tl0PmV3AEig3UvejJBVxhewzPN6IRsji5MzVxG8="; + hash = "sha256-0yXEm8cjzw1ClSP8a5TB9RrugzgHSu40tTtyNQU4dfY="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/bitstruct/default.nix b/pkgs/development/python-modules/bitstruct/default.nix index 8279f0ac97699..5867e695b816e 100644 --- a/pkgs/development/python-modules/bitstruct/default.nix +++ b/pkgs/development/python-modules/bitstruct/default.nix @@ -6,14 +6,14 @@ buildPythonPackage rec { pname = "bitstruct"; - version = "8.14.0"; + version = "8.14.1"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-IwwZHHXxUm9pIs2wjqtvUsBVRS4iOb9WOPAunP04LJE="; + hash = "sha256-04ExvUR7avW49GTEh4eXyHpdnaHJW5NX4HHEJP3l8FU="; }; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/blspy/default.nix b/pkgs/development/python-modules/blspy/default.nix index aac2c2b973918..9f07fa764f9d7 100644 --- a/pkgs/development/python-modules/blspy/default.nix +++ b/pkgs/development/python-modules/blspy/default.nix @@ -27,10 +27,10 @@ buildPythonPackage rec { src = ./dont_fetch_dependencies.patch; pybind11_src = pybind11.src; relic_src = fetchFromGitHub { - owner = "relic-toolkit"; + owner = "Chia-Network"; repo = "relic"; - rev = "1885ae3b681c423c72b65ce1fe70910142cf941c"; # pinned by blspy - hash = "sha256-tsSZTcssl8t7Nqdex4BesgQ+ACPgTdtHnJFvS9josN0="; + rev = "1d98e5abf3ca5b14fd729bd5bcced88ea70ecfd7"; # pinned by blspy + hash = "sha256-IfTD8DvTEXeLUoKe4Ejafb+PEJW5DV/VXRYuutwGQHU="; }; sodium_src = fetchFromGitHub { owner = "AmineKhaldi"; diff --git a/pkgs/development/python-modules/boschshcpy/default.nix b/pkgs/development/python-modules/boschshcpy/default.nix index 4c4e9234068ec..277a55637f733 100644 --- a/pkgs/development/python-modules/boschshcpy/default.nix +++ b/pkgs/development/python-modules/boschshcpy/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "boschshcpy"; - version = "0.2.31"; + version = "0.2.32"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "tschamm"; repo = pname; rev = version; - sha256 = "sha256-04qTjwnPckBHKBs9+BFWtTJ9uVc0U1oJAiLIE1nqQdE="; + sha256 = "sha256-tJlgmxa6HppLLTs4ZggnJ5H6NOH3v+C9pUfLBmxr4XY="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/can/default.nix b/pkgs/development/python-modules/can/default.nix index 18077ce78cc8e..8e7a8b7ea0e81 100644 --- a/pkgs/development/python-modules/can/default.nix +++ b/pkgs/development/python-modules/can/default.nix @@ -3,6 +3,7 @@ , fetchFromGitHub , future , hypothesis +, packaging , parameterized , msgpack , pyserial @@ -29,6 +30,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ msgpack + packaging pyserial typing-extensions wrapt diff --git a/pkgs/development/python-modules/celery/default.nix b/pkgs/development/python-modules/celery/default.nix index 247d25bf420ab..4c7e2d8d62f5b 100644 --- a/pkgs/development/python-modules/celery/default.nix +++ b/pkgs/development/python-modules/celery/default.nix @@ -24,14 +24,14 @@ buildPythonPackage rec { pname = "celery"; - version = "5.2.3"; + version = "5.2.6"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-4s1BZnrZfU9qL0Zy0cam662hlMYZJTBYtfI3BKqtqoI="; + hash = "sha256-0TmMrfMPV2Jms0Nw4o6IAwbsVfektjB1SbCunBVmNIE="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/certomancer/default.nix b/pkgs/development/python-modules/certomancer/default.nix new file mode 100644 index 0000000000000..3d863165f2966 --- /dev/null +++ b/pkgs/development/python-modules/certomancer/default.nix @@ -0,0 +1,71 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, asn1crypto +, click +, oscrypto +, pyyaml +, python-dateutil +, tzlocal +, pytest-aiohttp +, pytz +, freezegun +, jinja2 +, pyhanko-certvalidator +, requests +, requests-mock +, werkzeug +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "certomancer"; + version = "0.8.2"; + format = "setuptools"; + disabled = pythonOlder "3.7"; + + # Tests are only available on GitHub + src = fetchFromGitHub { + owner = "MatthiasValvekens"; + repo = "certomancer"; + rev = version; + sha256 = "sha256-H43NlFNTwZtedHsB7c62MocwQVOi5JjVJxRcZY+Wn7Y="; + }; + + propagatedBuildInputs = [ + asn1crypto + click + oscrypto + pyyaml + python-dateutil + tzlocal + ]; + + postPatch = '' + substituteInPlace setup.py \ + --replace ", 'pytest-runner'" "" \ + --replace "pyhanko-certvalidator==0.19.2" "pyhanko-certvalidator==0.19.5" + ''; + + checkInputs = [ + freezegun + jinja2 + pyhanko-certvalidator + pytest-aiohttp + pytz + requests + requests-mock + werkzeug + pytestCheckHook + ]; + + pythonImportsCheck = [ "certomancer" ]; + + meta = with lib; { + description = "Quickly construct, mock & deploy PKI test configurations using simple declarative configuration"; + homepage = "https://github.com/MatthiasValvekens/certomancer"; + license = licenses.mit; + maintainers = with maintainers; [ wolfangaukang ]; + }; +} diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix index b16505771492e..8f66e8551edf5 100644 --- a/pkgs/development/python-modules/claripy/default.nix +++ b/pkgs/development/python-modules/claripy/default.nix @@ -14,8 +14,8 @@ buildPythonPackage rec { pname = "claripy"; - version = "9.1.12332"; - format = "setuptools"; + version = "9.2.1"; + format = "pyproject"; disabled = pythonOlder "3.6"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "angr"; repo = pname; rev = "v${version}"; - sha256 = "sha256-YrR8OkDoop6kHAuk4cM4STYYOjjaMLZCQuE07/5IXqs="; + hash = "sha256-pCqhSpZfX3u9vJ8Oy1yyicagBQYK5+jBVCEab0TnGA4="; }; propagatedBuildInputs = [ @@ -42,8 +42,8 @@ buildPythonPackage rec { postPatch = '' # Use upstream z3 implementation - substituteInPlace setup.py \ - --replace "z3-solver>=4.8.5.0" "" + substituteInPlace setup.cfg \ + --replace "z3-solver >= 4.8.5.0" "" ''; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix index 6c8126172c056..8ee898b445e72 100644 --- a/pkgs/development/python-modules/cle/default.nix +++ b/pkgs/development/python-modules/cle/default.nix @@ -15,7 +15,7 @@ let # The binaries are following the argr projects release cycle - version = "9.1.12332"; + version = "9.2.1"; # Binary files from https://github.com/angr/binaries (only used for testing and only here) binaries = fetchFromGitHub { @@ -29,7 +29,7 @@ in buildPythonPackage rec { pname = "cle"; inherit version; - format = "setuptools"; + format = "pyproject"; disabled = pythonOlder "3.6"; @@ -37,7 +37,7 @@ buildPythonPackage rec { owner = "angr"; repo = pname; rev = "v${version}"; - hash = "sha256-xcj6Skzzmw5g+0KsBMLNOhRyXQA7nbgnc9YyfJLteCM="; + hash = "sha256-OGdnrRFfx2LMMsw6giPC+4izWX603cYbpKHuslj4Gng="; }; propagatedBuildInputs = [ @@ -70,6 +70,8 @@ buildPythonPackage rec { "test_plt_full_relro" # Test fails "test_tls_pe_incorrect_tls_data_start" + # The required parts is not present on Nix + "test_remote_file_map" ]; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/crytic-compile/default.nix b/pkgs/development/python-modules/crytic-compile/default.nix index 7260310ea03e9..393dcd5e9d83f 100644 --- a/pkgs/development/python-modules/crytic-compile/default.nix +++ b/pkgs/development/python-modules/crytic-compile/default.nix @@ -2,15 +2,15 @@ buildPythonPackage rec { pname = "crytic-compile"; - version = "0.2.2"; + version = "0.2.3"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "crytic"; repo = "crytic-compile"; - rev = version; - sha256 = "sha256-4Lz+jJdKURp+K5XJJb7ksiFbnQwzS71gZWOufBvqz/k="; + rev = "refs/tags/${version}"; + sha256 = "sha256-l8a9QXERpkVrx7zHluMlb3zBvJSODsviNtJPzvL3hDo="; }; propagatedBuildInputs = [ pysha3 setuptools ]; diff --git a/pkgs/development/python-modules/databricks-connect/default.nix b/pkgs/development/python-modules/databricks-connect/default.nix index b86dbb798109f..3475001a58b7d 100644 --- a/pkgs/development/python-modules/databricks-connect/default.nix +++ b/pkgs/development/python-modules/databricks-connect/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "databricks-connect"; - version = "9.1.13"; + version = "9.1.14"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-TpE15UOwbuAvp+ffC9JUnR8yQb0DWvBMkSieMhQGjao="; + sha256 = "sha256-l+mTqiQPuPJfGbEVSILpCTlxAka0GeCgIXjMG4Vs82o="; }; sourceRoot = "."; diff --git a/pkgs/development/python-modules/dataset/default.nix b/pkgs/development/python-modules/dataset/default.nix index 38de0218dec07..514876761ebfe 100644 --- a/pkgs/development/python-modules/dataset/default.nix +++ b/pkgs/development/python-modules/dataset/default.nix @@ -1,22 +1,28 @@ { lib +, alembic +, banal , buildPythonPackage , fetchPypi +, pythonOlder , sqlalchemy -, alembic -, banal }: buildPythonPackage rec { pname = "dataset"; version = "1.5.2"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-TDZ6fAqFxOdI79o07uMAw/zD8HbHXDKQt0mnoFM1yEc="; + hash = "sha256-TDZ6fAqFxOdI79o07uMAw/zD8HbHXDKQt0mnoFM1yEc="; }; propagatedBuildInputs = [ - sqlalchemy alembic banal + alembic + banal + sqlalchemy ]; # checks attempt to import nonexistent module 'test.test' and fail @@ -30,6 +36,6 @@ buildPythonPackage rec { description = "Toolkit for Python-based database access"; homepage = "https://dataset.readthedocs.io"; license = licenses.mit; - maintainers = [ maintainers.xfnw ]; + maintainers = with maintainers; [ xfnw ]; }; } diff --git a/pkgs/development/python-modules/datasets/default.nix b/pkgs/development/python-modules/datasets/default.nix index baf27639fd4a7..aa3cd42e50867 100644 --- a/pkgs/development/python-modules/datasets/default.nix +++ b/pkgs/development/python-modules/datasets/default.nix @@ -1,15 +1,19 @@ { lib +, aiohttp , buildPythonPackage -, fetchFromGitHub , dill -, filelock +, fetchFromGitHub , fsspec , huggingface-hub +, importlib-metadata , multiprocess , numpy +, packaging , pandas , pyarrow +, pythonOlder , requests +, responses , tqdm , xxhash }: @@ -17,26 +21,33 @@ buildPythonPackage rec { pname = "datasets"; version = "1.18.3"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "huggingface"; repo = pname; rev = version; - sha256 = "sha256-2x6DpsDcVF2O5iJKeMEGw/aJwZPc7gSGaK2947c3B6s="; + hash = "sha256-2x6DpsDcVF2O5iJKeMEGw/aJwZPc7gSGaK2947c3B6s="; }; propagatedBuildInputs = [ + aiohttp dill - filelock fsspec huggingface-hub multiprocess numpy + packaging pandas pyarrow requests + responses tqdm xxhash + ] ++ lib.optionals (pythonOlder "3.8") [ + importlib-metadata ]; # Tests require pervasive internet access. @@ -45,11 +56,13 @@ buildPythonPackage rec { # Module import will attempt to create a cache directory. postFixup = "export HF_MODULES_CACHE=$TMPDIR"; - pythonImportsCheck = [ "datasets" ]; + pythonImportsCheck = [ + "datasets" + ]; meta = with lib; { + description = "Open-access datasets and evaluation metrics for natural language processing"; homepage = "https://github.com/huggingface/datasets"; - description = "Fast, efficient, open-access datasets and evaluation metrics for natural language processing"; changelog = "https://github.com/huggingface/datasets/releases/tag/${version}"; license = licenses.asl20; platforms = platforms.unix; diff --git a/pkgs/development/python-modules/deezer-python/default.nix b/pkgs/development/python-modules/deezer-python/default.nix index 0f01ebab4a55e..a694bd2882d06 100644 --- a/pkgs/development/python-modules/deezer-python/default.nix +++ b/pkgs/development/python-modules/deezer-python/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "deezer-python"; - version = "5.2.0"; + version = "5.3.0"; format = "pyproject"; disabled = pythonOlder "3.6"; @@ -21,8 +21,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "browniebroke"; repo = pname; - rev = "v${version}"; - sha256 = "sha256-jaF5vQx8/qP9pGLfilx86v1GxHbjxaRghjjI5Me0pU0="; + rev = "refs/tags/v${version}"; + sha256 = "sha256-Y3nn7q6wGBqWN2JxfpGYd/KDxW5yeuwkos0w1AENkJA="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/dropbox/default.nix b/pkgs/development/python-modules/dropbox/default.nix index f18f6203d1e09..77abbc938eb4a 100644 --- a/pkgs/development/python-modules/dropbox/default.nix +++ b/pkgs/development/python-modules/dropbox/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "dropbox"; - version = "11.29.0"; + version = "11.30.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "dropbox"; repo = "dropbox-sdk-python"; rev = "v${version}"; - sha256 = "sha256-TKJb34hJYzZtQcqgopLpN8c1utWCNjmev9epY+hYU7M="; + sha256 = "sha256-pq/LkyOCS0PnujfN9aIx42aeZ8tw4XvRQ4Vid/nXgWE="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/eagle100/default.nix b/pkgs/development/python-modules/eagle100/default.nix new file mode 100644 index 0000000000000..9d5e5d795028f --- /dev/null +++ b/pkgs/development/python-modules/eagle100/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pythonOlder +, requests +}: + +buildPythonPackage rec { + pname = "eagle100"; + version = "0.1.1"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-eyYY1x8IjIfUx5OiaOomiWunsO1++seFwXlI/iKDDLw="; + }; + + propagatedBuildInputs = [ + requests + ]; + + # Project has no tests + doCheck = false; + + pythonImportsCheck = [ + "eagle100" + ]; + + meta = with lib; { + description = "Python library for interacting with Rainforest EAGLE devices"; + homepage = "https://github.com/hastarin/eagle100"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/elkm1-lib/default.nix b/pkgs/development/python-modules/elkm1-lib/default.nix index 5a6ad1f0facf7..12f9a667fef8a 100644 --- a/pkgs/development/python-modules/elkm1-lib/default.nix +++ b/pkgs/development/python-modules/elkm1-lib/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "elkm1-lib"; - version = "1.3.1"; + version = "1.3.4"; format = "pyproject"; disabled = pythonOlder "3.6"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "gwww"; repo = "elkm1"; rev = version; - hash = "sha256-z6iiXMvBZs4JshQofQpPA7u89wu8owW1wi+JAYk/R9k="; + hash = "sha256-g8tMVH1MZihEEHGQjxX/Mcn5Mu3N9VA3AGdk2avlOoE="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/ffcv/default.nix b/pkgs/development/python-modules/ffcv/default.nix index 2aee132e294fc..809a9ca696d81 100644 --- a/pkgs/development/python-modules/ffcv/default.nix +++ b/pkgs/development/python-modules/ffcv/default.nix @@ -35,7 +35,8 @@ buildPythonPackage rec { --replace "'webdataset'," "" ''; - buildInputs = [ libjpeg pkgconfig ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libjpeg ]; propagatedBuildInputs = [ opencv4 numba pandas pytorch-pfn-extras terminaltables tqdm ]; # `ffcv._libffcv*.so` cannot be loaded in the nix build environment for some diff --git a/pkgs/development/python-modules/fints/default.nix b/pkgs/development/python-modules/fints/default.nix index 7972a9374c785..13f20fbd49d69 100644 --- a/pkgs/development/python-modules/fints/default.nix +++ b/pkgs/development/python-modules/fints/default.nix @@ -8,7 +8,7 @@ }: buildPythonPackage rec { - version = "3.0.1"; + version = "3.1.0"; pname = "fints"; disabled = isPy27; @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "raphaelm"; repo = "python-fints"; rev = "v${version}"; - sha256 = "sha256-P9+3QuB5c7WMjic2fSp8pwXrOUHIrLThvfodtbBXLMY="; + hash = "sha256-3frJIEZgVnZD2spWYIuEtUt7MVsU/Zj82HOB9fKYQWE="; }; propagatedBuildInputs = [ requests mt-940 sepaxml bleach ]; diff --git a/pkgs/development/python-modules/flask-appbuilder/default.nix b/pkgs/development/python-modules/flask-appbuilder/default.nix index 0129c98772307..1d84fb88ed7c4 100644 --- a/pkgs/development/python-modules/flask-appbuilder/default.nix +++ b/pkgs/development/python-modules/flask-appbuilder/default.nix @@ -27,7 +27,7 @@ buildPythonPackage rec { pname = "flask-appbuilder"; - version = "3.4.4"; + version = "4.0.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -35,14 +35,10 @@ buildPythonPackage rec { src = fetchPypi { pname = "Flask-AppBuilder"; inherit version; - sha256 = "sha256-uZzuvNusqMzAS/vmg3CuZ+D442J4LbFwsBboVIx/srE="; + hash = "sha256-g+iHUL83PokXPGu7HJ8ffLocQr0uGpMqS5MbfIlZZ2E="; }; - # See here: https://github.com/dpgaspar/Flask-AppBuilder/commit/7097a7b133f27c78d2b54d2a46e4a4c24478a066.patch - # https://github.com/dpgaspar/Flask-AppBuilder/pull/1610 - # The patch from the PR doesn't apply cleanly so I edited it manually. patches = [ - ./upgrade-to-flask_jwt_extended-4.patch (fetchpatch { # https://github.com/dpgaspar/Flask-AppBuilder/pull/1734 name = "flask-appbuilder-wtf3.patch"; @@ -82,16 +78,11 @@ buildPythonPackage rec { postPatch = '' substituteInPlace setup.py \ --replace "apispec[yaml]>=3.3, <4" "apispec[yaml] >=3.3" \ - --replace "Flask>=0.12, <2" "Flask" \ - --replace "Flask-Login>=0.3, <0.5" "Flask-Login >=0.3, <0.6" \ - --replace "Flask-Babel>=1, <2" "Flask-Babel >=1, <3" \ + --replace "Flask-Login>=0.3, <0.5" "Flask-Login >=0.3" \ --replace "Flask-WTF>=0.14.2, <0.15.0" "Flask-WTF" \ --replace "WTForms<3.0.0" "WTForms" \ --replace "marshmallow-sqlalchemy>=0.22.0, <0.27.0" "marshmallow-sqlalchemy" \ - --replace "Flask-JWT-Extended>=3.18, <4" "Flask-JWT-Extended>=4.1.0" \ - --replace "PyJWT>=1.7.1, <2.0.0" "PyJWT>=2.0.1" \ - --replace "prison>=0.2.1, <1.0.0" "prison" \ - --replace "SQLAlchemy<1.4.0" "SQLAlchemy" + --replace "prison>=0.2.1, <1.0.0" "prison" ''; # Majority of tests require network access or mongo diff --git a/pkgs/development/python-modules/flask-httpauth/default.nix b/pkgs/development/python-modules/flask-httpauth/default.nix index e667e08b144ac..fb313faff2396 100644 --- a/pkgs/development/python-modules/flask-httpauth/default.nix +++ b/pkgs/development/python-modules/flask-httpauth/default.nix @@ -2,14 +2,14 @@ buildPythonPackage rec { pname = "flask-httpauth"; - version = "4.5.0"; + version = "4.6.0"; disabled = python.pythonOlder "3"; src = fetchPypi { pname = "Flask-HTTPAuth"; version = version; - sha256 = "0ada63rkcvwkakjyx4ay98fjzwx5h55br12ys40ghkc5lbyl0l1r"; + sha256 = "sha256-IHbPhuhMaqRC7gM0S/91Hq4TPTWhpIkx5vmfFHFhtVs="; }; checkInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/flax/default.nix b/pkgs/development/python-modules/flax/default.nix index 97f2c3c3862e0..1cd68790479f2 100644 --- a/pkgs/development/python-modules/flax/default.nix +++ b/pkgs/development/python-modules/flax/default.nix @@ -45,6 +45,7 @@ buildPythonPackage rec { pytestFlagsArray = [ "-W ignore::FutureWarning" + "-W ignore::DeprecationWarning" ]; disabledTestPaths = [ diff --git a/pkgs/development/python-modules/geopandas/default.nix b/pkgs/development/python-modules/geopandas/default.nix index b62b2c67ef781..9bacb9fd818c6 100644 --- a/pkgs/development/python-modules/geopandas/default.nix +++ b/pkgs/development/python-modules/geopandas/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, buildPythonPackage, fetchFromGitHub, pythonOlder +{ lib, stdenv, buildPythonPackage, fetchFromGitHub, fetchpatch, pythonOlder , pandas, shapely, fiona, pyproj , pytestCheckHook, Rtree }: @@ -14,6 +14,19 @@ buildPythonPackage rec { sha256 = "14azl3gppqn90k8h4hpjilsivj92k6p1jh7mdr6p4grbww1b7sdq"; }; + patches = [ + # Fixes a test, will be included in the next release after 0.10.2 + (fetchpatch { + url = "https://github.com/geopandas/geopandas/pull/2219/commits/ac67515c9df745b672cca1669adf05eaf5cb0f3b.patch"; + sha256 = "sha256-XcaoFhD6Rq0nfEpMbOJiAWPbaPDrMwFwoyppayq8NHc="; + }) + # 5 commits from post 0.10.2 that fix the test suite compatibility with pandas >=1.4 + (fetchpatch { + url = "https://github.com/geopandas/geopandas/pull/2289.patch"; + sha256 = "sha256-BcZVdaO/DdpZoVGUWaw9etFvvgwizAgrkaBISEOhV4A="; + }) + ]; + propagatedBuildInputs = [ pandas shapely diff --git a/pkgs/development/python-modules/glad/default.nix b/pkgs/development/python-modules/glad/default.nix new file mode 100644 index 0000000000000..9d05720d84dfd --- /dev/null +++ b/pkgs/development/python-modules/glad/default.nix @@ -0,0 +1,18 @@ +{ buildPythonPackage, fetchPypi, lib }: + +buildPythonPackage rec { + pname = "glad"; + version = "0.1.36"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-P7ANv+x65t2+ugTiFUf2fzzPx5X8NFYkUM8/K7Gf28c="; + }; + + meta = with lib; { + description = "Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs"; + homepage = "https://github.com/Dav1dde/glad"; + license = licenses.mit; + maintainers = with maintainers; [ superherointj ]; + }; +} diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix index 8f00c8ec1751b..d54f93b9b2dc9 100644 --- a/pkgs/development/python-modules/hahomematic/default.nix +++ b/pkgs/development/python-modules/hahomematic/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "hahomematic"; - version = "1.1.2"; + version = "1.1.4"; format = "setuptools"; disabled = pythonOlder "3.9"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "danielperna84"; repo = pname; rev = "refs/tags/${version}"; - sha256 = "sha256-yglKgRsjYGzW8PiMWu2YOQRoxei7VFPNrS8VYwDIAA0="; + sha256 = "sha256-it3Hku0k+o2v+KeykCO3W5CxOpkWbGXT055Kq6cSDzo="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/hmmlearn/default.nix b/pkgs/development/python-modules/hmmlearn/default.nix index bdeff30b76129..8c699af975261 100644 --- a/pkgs/development/python-modules/hmmlearn/default.nix +++ b/pkgs/development/python-modules/hmmlearn/default.nix @@ -1,4 +1,6 @@ -{ lib, fetchurl, buildPythonPackage, numpy, scikit-learn, setuptools-scm, cython, pytest }: +{ lib, fetchurl, buildPythonPackage +, numpy, scikit-learn, pybind11, setuptools-scm, cython +, pytestCheckHook }: buildPythonPackage rec { pname = "hmmlearn"; @@ -9,13 +11,12 @@ buildPythonPackage rec { sha256 = "sha256-a0snIPJ6912pNnq02Q3LAPONozFo322Rf57F3mZw9uE="; }; - buildInputs = [ setuptools-scm cython ]; + buildInputs = [ setuptools-scm cython pybind11 ]; propagatedBuildInputs = [ numpy scikit-learn ]; - checkInputs = [ pytest ]; + checkInputs = [ pytestCheckHook ]; - checkPhase = '' - pytest --pyargs hmmlearn - ''; + pythonImportsCheck = [ "hmmlearn" ]; + pytestFlagsArray = [ "--pyargs" "hmmlearn" ]; meta = with lib; { description = "Hidden Markov Models in Python with scikit-learn like API"; diff --git a/pkgs/development/python-modules/hydra-check/default.nix b/pkgs/development/python-modules/hydra-check/default.nix index 48833d77e8bfd..8c1fd56b8d3ae 100644 --- a/pkgs/development/python-modules/hydra-check/default.nix +++ b/pkgs/development/python-modules/hydra-check/default.nix @@ -2,46 +2,39 @@ , buildPythonPackage , pythonOlder , fetchFromGitHub -, docopt +, poetry-core , requests , beautifulsoup4 -, mypy -, types-requests +, colorama }: buildPythonPackage rec { pname = "hydra-check"; - version = "1.2.0"; - disabled = pythonOlder "3.5"; + version = "1.3.4"; + format = "pyproject"; + + disabled = pythonOlder "3.10"; src = fetchFromGitHub { owner = "nix-community"; repo = pname; - rev = version; - sha256 = "EegoQ8qTrFGFYbCDsbAOE4Afg9haLjYdC0Cux/yvSk8="; + rev = "v${version}"; + sha256 = "sha256-voSbpOPJUPjwzdMLVt2TC/FIi6LKk01PLd/GczOAUR8="; }; + nativeBuildInputs = [ poetry-core ]; propagatedBuildInputs = [ - docopt + colorama requests beautifulsoup4 ]; - checkInputs = [ - mypy - types-requests - ]; - - checkPhase = '' - echo -e "\x1b[32m## run mypy\x1b[0m" - mypy hydracheck - ''; + pythonImportsCheck = [ "hydra_check" ]; meta = with lib; { description = "check hydra for the build status of a package"; homepage = "https://github.com/nix-community/hydra-check"; license = licenses.mit; - maintainers = with maintainers; [ makefu ]; + maintainers = with maintainers; [ makefu artturin ]; }; } - diff --git a/pkgs/development/python-modules/hyppo/default.nix b/pkgs/development/python-modules/hyppo/default.nix index b09d5bd565ff1..de089ba39d2d4 100644 --- a/pkgs/development/python-modules/hyppo/default.nix +++ b/pkgs/development/python-modules/hyppo/default.nix @@ -3,6 +3,7 @@ , pythonOlder , fetchFromGitHub , pytestCheckHook +, autograd , numba , numpy , scikit-learn @@ -25,6 +26,7 @@ buildPythonPackage rec { }; propagatedBuildInputs = [ + autograd numba numpy scikit-learn @@ -40,8 +42,8 @@ buildPythonPackage rec { meta = with lib; { homepage = "https://github.com/neurodata/hyppo"; - description = "Indepedence testing in Python"; - license = licenses.asl20; + description = "Python package for multivariate hypothesis testing"; + license = licenses.mit; maintainers = with maintainers; [ bcdarwin ]; }; } diff --git a/pkgs/development/python-modules/ibis-framework/default.nix b/pkgs/development/python-modules/ibis-framework/default.nix index e25832fbfcb36..39d226bb95644 100644 --- a/pkgs/development/python-modules/ibis-framework/default.nix +++ b/pkgs/development/python-modules/ibis-framework/default.nix @@ -58,7 +58,7 @@ buildPythonPackage rec { repo = "ibis"; owner = "ibis-project"; rev = version; - sha256 = "sha256-n3fR6wvcSfIo7760seB+5SxtoYSqQmqkzZ9VlNQF200="; + hash = "sha256-n3fR6wvcSfIo7760seB+5SxtoYSqQmqkzZ9VlNQF200="; }; nativeBuildInputs = [ poetry-core ]; @@ -94,7 +94,8 @@ buildPythonPackage rec { postPatch = '' substituteInPlace pyproject.toml \ - --replace 'atpublic = ">=2.3,<3"' 'atpublic = ">=2.3"' + --replace 'atpublic = ">=2.3,<3"' 'atpublic = ">=2.3"' \ + --replace 'regex = "^2021.7.6"' 'regex = "*"' ''; preBuild = '' diff --git a/pkgs/development/python-modules/ihatemoney/default.nix b/pkgs/development/python-modules/ihatemoney/default.nix index d351f1ca7d44e..ff30196630a9f 100644 --- a/pkgs/development/python-modules/ihatemoney/default.nix +++ b/pkgs/development/python-modules/ihatemoney/default.nix @@ -99,7 +99,8 @@ buildPythonPackage rec { --replace "cachetools>=4.1,<5" "cachetools>=4.1" \ --replace "Flask-WTF>=0.14.3,<1" "Flask-WTF>=0.14.3,<2" \ --replace "SQLAlchemy>=1.3.0,<1.4" "SQLAlchemy>=1.3.0,<1.5" \ - --replace "WTForms>=2.3.1,<2.4" "WTForms" + --replace "WTForms>=2.3.1,<2.4" "WTForms" \ + --replace "Flask-Talisman>=0.8,<1" "Flask-Talisman>=0.8,<2" # https://github.com/spiral-project/ihatemoney/pull/1006 ''; checkInputs = [ diff --git a/pkgs/development/python-modules/impacket/default.nix b/pkgs/development/python-modules/impacket/default.nix index 82c49cae8bfc5..6b6f7e452b279 100644 --- a/pkgs/development/python-modules/impacket/default.nix +++ b/pkgs/development/python-modules/impacket/default.nix @@ -1,20 +1,46 @@ -{ lib, buildPythonPackage, fetchPypi, flask, ldapdomaindump, pycryptodomex, pyasn1, pyopenssl, chardet, setuptools }: +{ lib +, buildPythonPackage +, chardet +, fetchPypi +, flask +, ldapdomaindump +, pyasn1 +, pycryptodomex +, pyopenssl +, pythonOlder +, setuptools +, six +}: buildPythonPackage rec { pname = "impacket"; version = "0.9.24"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "18d557d387f4914fafa739813b9172bc3f8bd9c036e93bf589a8e0ebb7304bba"; + hash = "sha256-GNVX04f0kU+vpzmBO5FyvD+L2cA26Tv1iajg67cwS7o="; }; - propagatedBuildInputs = [ flask ldapdomaindump pycryptodomex pyasn1 pyopenssl chardet setuptools ]; + propagatedBuildInputs = [ + chardet + flask + ldapdomaindump + pyasn1 + pycryptodomex + pyopenssl + setuptools + six + ]; - # fail with: # RecursionError: maximum recursion depth exceeded doCheck = false; - pythonImportsCheck = [ "impacket" ]; + + pythonImportsCheck = [ + "impacket" + ]; meta = with lib; { description = "Network protocols Constructors and Dissectors"; diff --git a/pkgs/development/python-modules/intellifire4py/default.nix b/pkgs/development/python-modules/intellifire4py/default.nix index b93b9b9c957b4..f8cbd93bb35be 100644 --- a/pkgs/development/python-modules/intellifire4py/default.nix +++ b/pkgs/development/python-modules/intellifire4py/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "intellifire4py"; - version = "1.0.2"; + version = "1.0.5"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "jeeftor"; repo = pname; rev = version; - hash = "sha256-t3wJQ7dXX65yqxMYsFggViqqGvLCdASw1QLc5DJBn+4="; + hash = "sha256-wBk9tCVXDxHBnhofFQfMbsrYF4UYRZ2oXEBCldvJTnM="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/invocations/default.nix b/pkgs/development/python-modules/invocations/default.nix index 78ace76b762e9..fef497739cbf6 100644 --- a/pkgs/development/python-modules/invocations/default.nix +++ b/pkgs/development/python-modules/invocations/default.nix @@ -1,11 +1,12 @@ -{ buildPythonPackage +{ lib +, buildPythonPackage , blessings , fetchFromGitHub , invoke -, lib , releases , semantic-version , tabulate +, tqdm , twine }: @@ -27,12 +28,22 @@ buildPythonPackage rec { --replace "tabulate==0.7.5" "tabulate" ''; - propagatedBuildInputs = [ blessings invoke releases semantic-version tabulate twine ]; + propagatedBuildInputs = [ + blessings + invoke + releases + semantic-version + tabulate + tqdm + twine + ]; # There's an error loading the test suite. See https://github.com/pyinvoke/invocations/issues/29. doCheck = false; - pythonImportsCheck = [ "invocations" ]; + pythonImportsCheck = [ + "invocations" + ]; meta = with lib; { description = "Common/best-practice Invoke tasks and collections"; diff --git a/pkgs/development/python-modules/lightwave2/default.nix b/pkgs/development/python-modules/lightwave2/default.nix index 4501eb664e902..77661b3d58ba7 100644 --- a/pkgs/development/python-modules/lightwave2/default.nix +++ b/pkgs/development/python-modules/lightwave2/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "lightwave2"; - version = "0.8.4"; + version = "0.8.9"; format = "setuptools"; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - sha256 = "sha256-WB5U8VjUKx2hCcJX2JeFgEiwzweGzROEK3pox3l/wrE="; + sha256 = "sha256-iSxVnUYohCJMr4ESFhZg0vgg9balP87Hm1hDdpWsnv4="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/marshmallow-dataclass/default.nix b/pkgs/development/python-modules/marshmallow-dataclass/default.nix index 4b36ee9b74ef1..730254bcf8257 100644 --- a/pkgs/development/python-modules/marshmallow-dataclass/default.nix +++ b/pkgs/development/python-modules/marshmallow-dataclass/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "marshmallow-dataclass"; - version = "8.5.3"; + version = "8.5.5"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "lovasoa"; repo = "marshmallow_dataclass"; rev = "v${version}"; - sha256 = "0mngkjfs2nxxr0y77n429hb22rmjxbnn95j4vwqr9y6q16bqxs0w"; + sha256 = "sha256-sozq+L3pa9iprAWtQd/L+LCfTWfDue04WzQ/fbM0mps="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/md-toc/default.nix b/pkgs/development/python-modules/md-toc/default.nix index 5f0f9a434b49c..5d3cde1d038c6 100644 --- a/pkgs/development/python-modules/md-toc/default.nix +++ b/pkgs/development/python-modules/md-toc/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "md-toc"; - version = "8.1.2"; + version = "8.1.3"; format = "setuptools"; disabled = pythonOlder "3.5"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "frnmst"; repo = pname; rev = version; - sha256 = "sha256-EmhCZhxUCzBMqScPeawvcWmP9rrthow1vhTZachjCDI="; + sha256 = "sha256-/Hi2CW3aqbvCr7xGHD9lAe9U84waSjVfTfWq76NXNT4="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/mdurl/default.nix b/pkgs/development/python-modules/mdurl/default.nix index 37b3e9ad56ac5..da44a1dbbc3d6 100644 --- a/pkgs/development/python-modules/mdurl/default.nix +++ b/pkgs/development/python-modules/mdurl/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "mdurl"; - version = "0.1.0"; + version = "0.1.1"; format = "pyproject"; disabled = pythonOlder "3.6"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "hukkin"; repo = pname; rev = version; - sha256 = "sha256-AVklWFc4o5R9OzS9BYauuOaxm89P/Ih5l3Vrb2P0El4="; + sha256 = "sha256-SBJSs+i+I0jF90i3o6BUgLCDR6Et34fXEmQ7fbDoAbA="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/mutmut/default.nix b/pkgs/development/python-modules/mutmut/default.nix index ae0f06213a87d..626c768f2a81c 100644 --- a/pkgs/development/python-modules/mutmut/default.nix +++ b/pkgs/development/python-modules/mutmut/default.nix @@ -7,7 +7,7 @@ , pony , junit-xml , pythonOlder -, testVersion +, testers }: let self = buildPythonApplication rec { @@ -31,7 +31,7 @@ let self = buildPythonApplication rec { propagatedBuildInputs = [ click glob2 parso pony junit-xml ]; - passthru.tests.version = testVersion { package = self; }; + passthru.tests.version = testers.testVersion { package = self; }; meta = with lib; { description = "mutation testing system for Python, with a strong focus on ease of use"; diff --git a/pkgs/development/python-modules/net2grid/default.nix b/pkgs/development/python-modules/net2grid/default.nix deleted file mode 100644 index ef03d45ab6b86..0000000000000 --- a/pkgs/development/python-modules/net2grid/default.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ lib -, aiohttp -, aresponses -, buildPythonPackage -, fetchFromGitHub -, poetry-core -, pytest-asyncio -, pytestCheckHook -, pythonOlder -, yarl -}: - -buildPythonPackage rec { - pname = "net2grid"; - version = "4.0.0"; - format = "pyproject"; - - disabled = pythonOlder "3.9"; - - src = fetchFromGitHub { - owner = "klaasnicolaas"; - repo = "python-net2grid"; - rev = "v${version}"; - hash = "sha256-Ihs8qUx50tAUcRBsVArRhzoLcQUi1vbYh8sPyK75AEk="; - }; - - nativeBuildInputs = [ - poetry-core - ]; - - propagatedBuildInputs = [ - aiohttp - yarl - ]; - - checkInputs = [ - aresponses - pytest-asyncio - pytestCheckHook - ]; - - postPatch = '' - substituteInPlace pyproject.toml \ - --replace '"0.0.0"' '"${version}"' \ - --replace 'addopts = "--cov"' "" - ''; - - pythonImportsCheck = [ - "net2grid" - ]; - - meta = with lib; { - description = "Module for interacting with NET2GRID devices"; - homepage = "https://github.com/klaasnicolaas/python-net2grid"; - license = with licenses; [ mit ]; - maintainers = with maintainers; [ fab ]; - }; -} diff --git a/pkgs/development/python-modules/onnx/default.nix b/pkgs/development/python-modules/onnx/default.nix index e873f3256084d..2846042e8d457 100644 --- a/pkgs/development/python-modules/onnx/default.nix +++ b/pkgs/development/python-modules/onnx/default.nix @@ -1,5 +1,6 @@ { lib , buildPythonPackage +, bash , cmake , fetchPypi , isPy27 @@ -43,8 +44,9 @@ buildPythonPackage rec { postPatch = '' chmod +x tools/protoc-gen-mypy.sh.in - patchShebangs tools/protoc-gen-mypy.sh.in tools/protoc-gen-mypy.py - + patchShebangs tools/protoc-gen-mypy.py + substituteInPlace tools/protoc-gen-mypy.sh.in \ + --replace "/bin/bash" "${bash}/bin/bash" substituteInPlace setup.py \ --replace "setup_requires.append('pytest-runner')" "" ''; diff --git a/pkgs/development/python-modules/parsimonious/default.nix b/pkgs/development/python-modules/parsimonious/default.nix index ccffbc5a2819f..d517e9433e41f 100644 --- a/pkgs/development/python-modules/parsimonious/default.nix +++ b/pkgs/development/python-modules/parsimonious/default.nix @@ -3,6 +3,7 @@ , fetchPypi , regex , pytestCheckHook +, pythonOlder }: buildPythonPackage rec { @@ -10,9 +11,11 @@ buildPythonPackage rec { version = "0.9.0"; format = "setuptools"; + disabled = pythonOlder "3.7"; + src = fetchPypi { inherit pname version; - sha256 = "sha256-sq0a5jovZb149eCorFEKmPNgekPx2yqNRmNqXZ5KMME="; + hash = "sha256-sq0a5jovZb149eCorFEKmPNgekPx2yqNRmNqXZ5KMME="; }; propagatedBuildInputs = [ @@ -23,6 +26,11 @@ buildPythonPackage rec { pytestCheckHook ]; + postPatch = '' + substituteInPlace setup.py \ + --replace "regex>=2022.3.15" "regex" + ''; + pythonImportsCheck = [ "parsimonious" "parsimonious.grammar" @@ -30,9 +38,9 @@ buildPythonPackage rec { ]; meta = with lib; { + description = "Arbitrary-lookahead parser"; homepage = "https://github.com/erikrose/parsimonious"; - description = "Fast arbitrary-lookahead parser written in pure Python"; license = licenses.mit; + maintainers = with maintainers; [ ]; }; - } diff --git a/pkgs/development/python-modules/pex/default.nix b/pkgs/development/python-modules/pex/default.nix index f6b6162634f0c..19bf4676b01a6 100644 --- a/pkgs/development/python-modules/pex/default.nix +++ b/pkgs/development/python-modules/pex/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "pex"; - version = "2.1.81"; + version = "2.1.82"; format = "flit"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-EW7kOUTzLjmBVKcdRrcdx+AAMSp1hw2LJ/mHMuKViLE="; + hash = "sha256-VwbpcKPtPH/43E+lfzUken8JvX8QtTa6o0H0S2RXbYk="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/phe/default.nix b/pkgs/development/python-modules/phe/default.nix index 86a5ec848ace9..0e589a04dbf9c 100644 --- a/pkgs/development/python-modules/phe/default.nix +++ b/pkgs/development/python-modules/phe/default.nix @@ -2,7 +2,7 @@ let pname = "phe"; - version = "1.4.0"; + version = "1.5.0"; in buildPythonPackage { @@ -13,7 +13,7 @@ buildPythonPackage { src = fetchPypi { inherit pname version; - sha256 = "0wzlk7d24kp0f5kpm0kvvc88mm42144f5cg9pcpb1dsfha75qy5m"; + sha256 = "sha256-mS+3CR0kJ/DZczlG+PNQrN1NHQEgV/Kq02S6eflwM5w="; }; buildInputs = [ click gmpy2 numpy ]; diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix index 603980645e4ba..4f8dc93c671ec 100644 --- a/pkgs/development/python-modules/phonenumbers/default.nix +++ b/pkgs/development/python-modules/phonenumbers/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "phonenumbers"; - version = "8.12.46"; + version = "8.12.47"; format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "sha256-HEQPYzbLSYk/8agybHC032k4Aq6YHyEPVFzUIVrEgTM="; + sha256 = "sha256-Vv1gXS9UYOHfIRcIW2U7s4MiKV7GWOasqvycl2hn1SI="; }; checkInputs = [ diff --git a/pkgs/development/python-modules/pillow-simd/default.nix b/pkgs/development/python-modules/pillow-simd/default.nix index e2ea4c7138882..826d9f15252ee 100644 --- a/pkgs/development/python-modules/pillow-simd/default.nix +++ b/pkgs/development/python-modules/pillow-simd/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, buildPythonPackage, fetchFromGitHub, isPyPy, isPy3k , olefile, freetype, libjpeg, zlib, libtiff, libwebp, tcl, lcms2 -, libxcb, tk, libX11, openjpeg, libimagequant, pyroma, numpy +, libxcb, tk, libX11, openjpeg, libimagequant, pyroma, numpy, defusedxml , pytestCheckHook }@args: @@ -8,14 +8,14 @@ import ../pillow/generic.nix (rec { pname = "Pillow-SIMD"; # check for release version on https://pypi.org/project/Pillow-SIMD/#history # does not match the latest pillow release version! - version = "7.0.0.post3"; + version = "9.0.0.post1"; disabled = !isPy3k; src = fetchFromGitHub { owner = "uploadcare"; repo = "pillow-simd"; rev = "v${version}"; - sha256 = "1h832xp1bzf951hr4dmjmxqfsv28sx9lr2cq96qdz1c72k40zj1h"; + sha256 = "sha256-qTZYhgHjVMXqoYl3mG1xVrFaWrPidSY8HlyFQizV27Y="; }; meta = with lib; { diff --git a/pkgs/development/python-modules/policyuniverse/default.nix b/pkgs/development/python-modules/policyuniverse/default.nix index 77b38f7a31804..39f3be83ca2d6 100644 --- a/pkgs/development/python-modules/policyuniverse/default.nix +++ b/pkgs/development/python-modules/policyuniverse/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "policyuniverse"; - version = "1.5.0.20220416"; + version = "1.5.0.20220421"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-RGXOqhXPsEQR5wcXDWz00J6KcdJOY5ZXSLVXT18wDDk="; + sha256 = "sha256-1rY77cIxqVcde+AYE6qfRgZzB8vb3yiQ3Bj+P0o1zFM="; }; # Tests are not shipped and there are no GitHub tags diff --git a/pkgs/development/python-modules/pwntools/default.nix b/pkgs/development/python-modules/pwntools/default.nix index cfcbf14703b01..6a20a5d4bf270 100644 --- a/pkgs/development/python-modules/pwntools/default.nix +++ b/pkgs/development/python-modules/pwntools/default.nix @@ -27,12 +27,12 @@ let debuggerName = lib.strings.getName debugger; in buildPythonPackage rec { - version = "4.7.0"; + version = "4.8.0"; pname = "pwntools"; src = fetchPypi { inherit pname version; - sha256 = "sha256-dDiOKGdeehkp92PfWhzsaj1YlkEEm2z0drscVuxQqI4="; + sha256 = "sha256-QgUuLYg3EOTh2gQekWdabXGftOXvLdJFyyhT2hEmkpA="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pycapnp/default.nix b/pkgs/development/python-modules/pycapnp/default.nix index 8c63a11862239..cd2e8f450cd2b 100644 --- a/pkgs/development/python-modules/pycapnp/default.nix +++ b/pkgs/development/python-modules/pycapnp/default.nix @@ -20,16 +20,18 @@ buildPythonPackage rec { sha256 = "1xi6df93ggkpmwckwbi356v7m32zv5qry8s45hvsps66dz438kmi"; }; - buildInputs = [ capnproto cython pkgconfig ]; + nativeBuildInputs = [ cython pkgconfig ]; - # Tests disabled due to dependency on jinja and various other libraries. + buildInputs = [ capnproto ]; + + # Tests depend on schema_capnp which fails to generate doCheck = false; pythonImportsCheck = [ "capnp" ]; meta = with lib; { + homepage = "https://capnproto.github.io/pycapnp/"; maintainers = with maintainers; [ cstrahan lukeadams ]; license = licenses.bsd2; - homepage = "https://capnproto.github.io/pycapnp/"; }; } diff --git a/pkgs/development/python-modules/pyhanko-certvalidator/default.nix b/pkgs/development/python-modules/pyhanko-certvalidator/default.nix new file mode 100644 index 0000000000000..4675e48a56464 --- /dev/null +++ b/pkgs/development/python-modules/pyhanko-certvalidator/default.nix @@ -0,0 +1,73 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, aiohttp +, asn1crypto +, cryptography +, oscrypto +, requests +, uritools +, openssl +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "pyhanko-certvalidator"; + version = "0.19.5"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + # Tests are only available on GitHub + src = fetchFromGitHub { + owner = "MatthiasValvekens"; + repo = "certvalidator"; + rev = version; + sha256 = "sha256-UxlBggKgqvbKioG98UaKvhW0YgEa6PqV913nqYvTx1I="; + }; + + propagatedBuildInputs = [ + asn1crypto + cryptography + oscrypto + requests + uritools + ]; + + checkInputs = [ + aiohttp + pytestCheckHook + ]; + + disabledTestPaths = [ + # Test looks for libcrypto.so.1.1 + "dev/stress_test.py" + # Requests + "tests/test_crl_client.py" + ]; + + disabledTests = [ + # Look for nonexisting certificates + "test_basic_certificate_validator_tls" + # Failed to fetch OCSP response from http://ocsp.digicert.com + "test_fetch_ocsp_aiohttp" + "test_fetch_ocsp_requests" + "test_fetch_ocsp_err_requests" + # Unable to build a validation path for the certificate "%s" - no issuer matching "%s" was found + "test_revocation_mode_hard_aiohttp_autofetch" + # The path could not be validated because no revocation information could be found for intermediate certificate 1 + "test_revocation_mode_hard" + ]; + + pythonImportsCheck = [ + "pyhanko_certvalidator" + ]; + + meta = with lib; { + description = "Python library for validating X.509 certificates and paths"; + homepage = "https://github.com/MatthiasValvekens/certvalidator"; + license = licenses.mit; + maintainers = with maintainers; [ wolfangaukang ]; + }; +} diff --git a/pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch b/pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch new file mode 100644 index 0000000000000..562dc6461ef93 --- /dev/null +++ b/pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch @@ -0,0 +1,25 @@ +From 942d4fd37786941bae91b769ef6499a4b4da6843 Mon Sep 17 00:00:00 2001 +From: "P. R. d. O" <d.ol.rod@tutanota.com> +Date: Sat, 9 Apr 2022 12:40:59 -0600 +Subject: [PATCH] Updating pytest-aiohttp version + +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index fe33d9a..694fab4 100644 +--- a/setup.py ++++ b/setup.py +@@ -85,7 +85,7 @@ setup( + tests_require=[ + 'pytest>=6.1.1', 'requests-mock>=1.8.0', + 'freezegun>=1.1.0', 'certomancer~=0.8.1', +- 'aiohttp~=3.8.0', 'pytest-aiohttp~=0.3.0', ++ 'aiohttp~=3.8.0', 'pytest-aiohttp~=1.0.3', + 'python-pae==0.1.0' + ], + keywords="signature pdf pades digital-signature pkcs11" +-- +2.35.1 + diff --git a/pkgs/development/python-modules/pyhanko/default.nix b/pkgs/development/python-modules/pyhanko/default.nix new file mode 100644 index 0000000000000..2cd71ae0f33aa --- /dev/null +++ b/pkgs/development/python-modules/pyhanko/default.nix @@ -0,0 +1,132 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, asn1crypto +, click +, cryptography +, pyhanko-certvalidator +, pytz +, pyyaml +, qrcode +, requests +, tzlocal +, certomancer +, freezegun +, python-pae +, pytest-aiohttp +, requests-mock +, pytestCheckHook +# Flags to add to the library +, extraPubkeyAlgsSupport ? false +, oscrypto +, opentypeSupport ? false +, fonttools +, uharfbuzz +, imageSupport ? false +, pillow +, python-barcode +, pkcs11Support ? false +, python-pkcs11 +, asyncHttpSupport ? false +, aiohttp +}: + +buildPythonPackage rec { + pname = "pyhanko"; + version = "0.12.1"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + # Tests are only available on GitHub + src = fetchFromGitHub { + owner = "MatthiasValvekens"; + repo = "pyHanko"; + rev = version; + sha256 = "sha256-W60NTKEtCqJ/QdtNiieKUsrl2jIjIH86Wych68R3mBc="; + }; + + propagatedBuildInputs = [ + click + pyhanko-certvalidator + pytz + pyyaml + qrcode + tzlocal + ] ++ lib.optionals (extraPubkeyAlgsSupport) [ + oscrypto + ] ++ lib.optionals (opentypeSupport) [ + fonttools + uharfbuzz + ] ++ lib.optionals (imageSupport) [ + pillow + python-barcode + ] ++ lib.optionals (pkcs11Support) [ + python-pkcs11 + ] ++ lib.optionals (asyncHttpSupport) [ + aiohttp + ]; + + postPatch = '' + substituteInPlace setup.py \ + --replace ", 'pytest-runner'" "" \ + --replace "pytest-aiohttp~=0.3.0" "pytest-aiohttp~=1.0.3" + ''; + + checkInputs = [ + aiohttp + certomancer + freezegun + python-pae + pytest-aiohttp + requests-mock + pytestCheckHook + ]; + + disabledTestPaths = lib.optionals (!opentypeSupport) [ + "pyhanko_tests/test_stamp.py" + "pyhanko_tests/test_text.py" + ] ++ lib.optionals (!imageSupport) [ + "pyhanko_tests/test_barcode.py" + ] ++ lib.optionals (!pkcs11Support) [ + "pyhanko_tests/test_pkcs11.py" + ]; + + disabledTests = [ + # Most of the test require working with local certificates, + # contacting OSCP or performing requests + "test_generic_data_sign_legacy" + "test_generic_data_sign" + "test_cms_v3_sign" + "test_detached_cms_with_self_reported_timestamp" + "test_detached_cms_with_tst" + "test_detached_cms_with_content_tst" + "test_detached_cms_with_wrong_content_tst" + "test_detached_with_malformed_content_tst" + "test_noop_attribute_prov" + "test_detached_cades_cms_with_tst" + "test_read_qr_config" + "test_no_changes_policy" + "test_bogus_metadata_manipulation" + "test_tamper_sig_obj" + "test_signed_file_diff_proxied_objs" + "test_pades_revinfo_live" + "test_diff_fallback_ok" + "test_no_diff_summary" + "test_ocsp_embed" + "test_ts_fetch_aiohttp" + "test_ts_fetch_requests" + ]; + + pythonImportsCheck = [ + "pyhanko" + ]; + + meta = with lib; { + description = "Sign and stamp PDF files"; + homepage = "https://github.com/MatthiasValvekens/pyHanko"; + license = licenses.mit; + maintainers = with maintainers; [ wolfangaukang ]; + }; +} diff --git a/pkgs/development/python-modules/pyinfra/default.nix b/pkgs/development/python-modules/pyinfra/default.nix index dc25d162445f9..130486a55f171 100644 --- a/pkgs/development/python-modules/pyinfra/default.nix +++ b/pkgs/development/python-modules/pyinfra/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "pyinfra"; - version = "2.0"; + version = "2.0.1"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-rzVirU697wGehCIc/WwE6Rg9AaYYELXfoe10GMRFHgw="; + sha256 = "sha256-157NtpA85FS27Ln1Xsvq5/qumSsr0WSDOhG0UwMUnRE="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pykeyatome/default.nix b/pkgs/development/python-modules/pykeyatome/default.nix index 26b23477f939d..a9bfb58a9c181 100644 --- a/pkgs/development/python-modules/pykeyatome/default.nix +++ b/pkgs/development/python-modules/pykeyatome/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "pykeyatome"; - version = "1.5.1"; + version = "1.5.2"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "jugla"; repo = "pyKeyAtome"; rev = "refs/tags/V${version}"; - sha256 = "sha256-LIPNCItD+qmk9NKAYbhEQC/A05Le9CNXECg7X2SlfdI="; + sha256 = "sha256-9J8MaQs3+/Ld+v3WmA98lSu3iMrX4Se4q1jD1KeRTpw="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pynetdicom/default.nix b/pkgs/development/python-modules/pynetdicom/default.nix index fa2b369aa2bae..32c93b50e55e2 100644 --- a/pkgs/development/python-modules/pynetdicom/default.nix +++ b/pkgs/development/python-modules/pynetdicom/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "pynetdicom"; - version = "2.0.1"; + version = "2.0.2"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "pydicom"; repo = pname; rev = "v${version}"; - sha256 = "sha256-28SoOdS6sAj3KrfJT8PR2k8XLEY2zh0k9w1eq1y7V8M="; + sha256 = "sha256-/JWQUtFBW4uqCbs/nUxj1pRBfTCXV4wcqTkqvzpdFrM="; }; propagatedBuildInputs = [ @@ -40,14 +40,17 @@ buildPythonPackage rec { "TestAEGoodAssociation" "TestEchoSCP" "TestEchoSCPCLI" + "TestEventHandlingAcceptor" "TestFindSCP" "TestFindSCPCLI" "TestGetSCP" "TestGetSCPCLI" "TestMoveSCP" "TestMoveSCPCLI" + "TestPrimitive_N_GET" "TestQRGetServiceClass" "TestQRMoveServiceClass" + "TestSearch" "TestState" "TestStorageServiceClass" "TestStoreSCP" @@ -56,6 +59,11 @@ buildPythonPackage rec { "TestStoreSCUCLI" ]; + disabledTestPaths = [ + # Ignore apps tests + "pynetdicom/apps/tests/" + ]; + pythonImportsCheck = [ "pynetdicom" ]; diff --git a/pkgs/development/python-modules/pyplaato/default.nix b/pkgs/development/python-modules/pyplaato/default.nix index 1870647a34152..f070340f9290c 100644 --- a/pkgs/development/python-modules/pyplaato/default.nix +++ b/pkgs/development/python-modules/pyplaato/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "pyplaato"; - version = "0.0.17"; + version = "0.0.18"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-fd7gHDah5yoqpH5d3bwEDsIfeflXzXevJLMD7lvz180="; + hash = "sha256-HZF3Yxb/dTQSVzTkdAbfeD1Zyf8jFHoF3nt6OcdCnAM="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pyskyqremote/default.nix b/pkgs/development/python-modules/pyskyqremote/default.nix index e72e38b30cbaa..e7e52991f6e84 100644 --- a/pkgs/development/python-modules/pyskyqremote/default.nix +++ b/pkgs/development/python-modules/pyskyqremote/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "pyskyqremote"; - version = "0.3.5"; + version = "0.3.6"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -17,8 +17,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "RogerSelwyn"; repo = "skyq_remote"; - rev = version; - sha256 = "sha256-/BhNoU1dnZj07ZvG126srSb6eW00n8htFuDttq006QE="; + rev = "refs/tags/${version}"; + sha256 = "sha256-CCbLRb8eoMuYH3it2onfiUzHLW6sirePR/lqATpp4K0="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pytest-mpl/default.nix b/pkgs/development/python-modules/pytest-mpl/default.nix index 040299ad54482..f0215ed7d7b2b 100644 --- a/pkgs/development/python-modules/pytest-mpl/default.nix +++ b/pkgs/development/python-modules/pytest-mpl/default.nix @@ -12,11 +12,11 @@ buildPythonPackage rec { pname = "pytest-mpl"; - version = "0.14.0"; + version = "0.15.0"; src = fetchPypi { inherit pname version; - sha256 = "sha256-iE4HjS1TgK9WQzhOIzw1jpZZgl+y2X/9r48YXENMjYk="; + sha256 = "sha256-p5/UKLVoDYclp2o/MBb2oX1pHzxsQpHjmfwU1kFSKbw="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/python-barcode/default.nix b/pkgs/development/python-modules/python-barcode/default.nix new file mode 100644 index 0000000000000..7a586c2caed2a --- /dev/null +++ b/pkgs/development/python-modules/python-barcode/default.nix @@ -0,0 +1,48 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pythonOlder +, setuptools-scm +, imagesSupport ? false +, pillow +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "python-barcode"; + version = "0.13.1"; + format = "setuptools"; + + disabled = pythonOlder "3.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-+vukqiTp2Wl3e+UhwpT/GPbCs2rWO1/C8hCNly4jslI="; + }; + + propagatedBuildInputs = [ + setuptools-scm + ] ++ lib.optionals (imagesSupport) [ + pillow + ]; + + postPatch = '' + substituteInPlace setup.cfg \ + --replace "--cov=barcode" "" \ + --replace "--cov-report=term-missing:skip-covered" "" \ + --replace "--no-cov-on-fail" "" + ''; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ "barcode" ]; + + meta = with lib; { + description = "Create standard barcodes with Python"; + homepage = "https://github.com/WhyNotHugo/python-barcode"; + license = licenses.mit; + maintainers = with maintainers; [ wolfangaukang ]; + }; +} diff --git a/pkgs/development/python-modules/python-pae/default.nix b/pkgs/development/python-modules/python-pae/default.nix new file mode 100644 index 0000000000000..067d2a2843e63 --- /dev/null +++ b/pkgs/development/python-modules/python-pae/default.nix @@ -0,0 +1,39 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, poetry-core +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "python-pae"; + version = "0.1.0"; + format = "pyproject"; + disabled = pythonOlder "3.7"; + + # Tests are on GitHub + src = fetchFromGitHub { + owner = "MatthiasValvekens"; + repo = "python-pae"; + rev = version; + sha256 = "sha256-D0X2T0ze79KR6Gno4UWpA/XvlkK6Y/jXUtLbzlOKr3E="; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ "python_pae" ]; + + meta = with lib; { + description = "Pre-authentication encoding (PAE) implementation in Python"; + homepage = "https://github.com/MatthiasValvekens/python-pae"; + license = licenses.mit; + maintainers = with maintainers; [ wolfangaukang ]; + }; +} diff --git a/pkgs/development/python-modules/pyttsx3/default.nix b/pkgs/development/python-modules/pyttsx3/default.nix new file mode 100644 index 0000000000000..fc47623406027 --- /dev/null +++ b/pkgs/development/python-modules/pyttsx3/default.nix @@ -0,0 +1,24 @@ +{ lib, buildPythonPackage, fetchPypi, espeak-ng }: + +buildPythonPackage rec { + pname = "pyttsx3"; + version = "2.90"; + format = "wheel"; + + src = fetchPypi { + inherit pname version format; + sha256 = "a585b6d8cffc19bd92db1e0ccbd8aa9c6528dd2baa5a47045d6fed542a44aa19"; + dist = "py3"; + python = "py3"; + }; + + # This package has no tests + doCheck = false; + + meta = with lib; { + description = "Offline text-to-speech synthesis library"; + homepage = "https://github.com/nateshmbhat/pyttsx3"; + license = licenses.mpl20; + maintainers = [ maintainers.ethindp ]; + }; +} diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix index e3a810be91602..799271371c7b1 100644 --- a/pkgs/development/python-modules/pyvex/default.nix +++ b/pkgs/development/python-modules/pyvex/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "pyvex"; - version = "9.1.12332"; - format = "setuptools"; + version = "9.2.1"; + format = "pyproject"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-e1lruHgppQ8mJbTx6xsUDSkLCYQISqM9c1vsjdQU4eI="; + hash = "sha256-b6LZJmAyxklvZxvane19dK/kQfbLPjkk29RydiWMZCY="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pyvips/default.nix b/pkgs/development/python-modules/pyvips/default.nix index b25d9d3b5ae44..3974767856677 100644 --- a/pkgs/development/python-modules/pyvips/default.nix +++ b/pkgs/development/python-modules/pyvips/default.nix @@ -1,23 +1,23 @@ -{ buildPythonPackage, fetchPypi, pytest-runner, pytestCheckHook, glib, vips, cffi -, pkg-config, pkgconfig, lib }: +{ buildPythonPackage, fetchFromGitHub, pytestCheckHook, glib, vips, cffi +, pkgconfig, lib }: buildPythonPackage rec { pname = "pyvips"; version = "2.1.16"; - src = fetchPypi { - inherit pname version; - sha256 = "654c03014a15f846786807a2ece6f525a8fec883d1c857742c8e37da149a81ed"; + src = fetchFromGitHub { + owner = "libvips"; + repo = "pyvips"; + rev = "v${version}"; + sha256 = "sha256-8CeQbx3f2i0lEU0wxPeUwHlUGtzOztzTOdFNjIDy8s0="; }; - nativeBuildInputs = [ pytest-runner pkgconfig pkg-config ]; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ glib vips ]; propagatedBuildInputs = [ cffi ]; - # tests are not included in pypi tarball - doCheck = false; checkInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "pyvips" ]; diff --git a/pkgs/development/python-modules/pywebview/default.nix b/pkgs/development/python-modules/pywebview/default.nix index 2a369ca5704fa..eaf4ae64a6538 100644 --- a/pkgs/development/python-modules/pywebview/default.nix +++ b/pkgs/development/python-modules/pywebview/default.nix @@ -2,24 +2,29 @@ , buildPythonPackage , fetchFromGitHub , importlib-resources +, proxy_tools +, pygobject3 , pyqtwebengine , pytest , pythonOlder , qt5 +, qtpy +, six , xvfb-run -, proxy_tools }: buildPythonPackage rec { pname = "pywebview"; - version = "3.6.1"; + version = "3.6.3"; + format = "setuptools"; + disabled = pythonOlder "3.5"; src = fetchFromGitHub { owner = "r0x0r"; repo = "pywebview"; rev = version; - sha256 = "sha256-9o9ghqvU9Hnmf2aj/BqX7WBgS9ilRSnicR+qd25OfjI="; + hash = "sha256-qOLK4MHdpmcCazCNfojncD8XH7OJB2H/pIW5XAJAlDo="; }; nativeBuildInputs = [ @@ -29,10 +34,15 @@ buildPythonPackage rec { propagatedBuildInputs = [ pyqtwebengine proxy_tools - ] ++ lib.optionals (pythonOlder "3.7") [ importlib-resources ]; + six + ] ++ lib.optionals (pythonOlder "3.7") [ + importlib-resources + ]; checkInputs = [ + pygobject3 pytest + qtpy xvfb-run ]; @@ -54,11 +64,13 @@ buildPythonPackage rec { popd ''; - pythonImportsCheck = [ "webview" ]; + pythonImportsCheck = [ + "webview" + ]; meta = with lib; { - homepage = "https://github.com/r0x0r/pywebview"; description = "Lightweight cross-platform wrapper around a webview"; + homepage = "https://github.com/r0x0r/pywebview"; license = licenses.bsd3; maintainers = with maintainers; [ jojosch ]; }; diff --git a/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix b/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix index 8f8d510712c98..ca2f9b22d835a 100644 --- a/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix +++ b/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix @@ -40,15 +40,15 @@ let in buildPythonPackage rec { pname = "qiskit-ibmq-provider"; - version = "0.19.0"; + version = "0.19.1"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "Qiskit"; repo = pname; - rev = version; - sha256 = "sha256-ODu8OgGpzlMjRX7ebMu4DXKj6jUyohCq4Hb8aV5eWIU="; + rev = "refs/tags/${version}"; + sha256 = "sha256-VdGdaOxCwD2Qa0JCCDVZJtcjhmTssS/KgpcjoaPXYB8="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/qiskit-terra/default.nix b/pkgs/development/python-modules/qiskit-terra/default.nix index 8289e3e24ec28..ca71de5dbbd6d 100644 --- a/pkgs/development/python-modules/qiskit-terra/default.nix +++ b/pkgs/development/python-modules/qiskit-terra/default.nix @@ -55,7 +55,7 @@ in buildPythonPackage rec { pname = "qiskit-terra"; - version = "0.20.0"; + version = "0.20.1"; disabled = pythonOlder "3.7"; @@ -63,7 +63,7 @@ buildPythonPackage rec { owner = "qiskit"; repo = pname; rev = version; - sha256 = "sha256-/t87IgazpJlfd8NT2Pkn5b6/Ut104DcJEFCubQ/bBiw="; + sha256 = "sha256-spKLPUlUXBmnIo/rnBPUFf72Vxd53xFhh409KzytpkI="; }; nativeBuildInputs = [ setuptools-rust ] ++ (with rustPlatform; [ rust.rustc rust.cargo cargoSetupHook ]); @@ -71,7 +71,7 @@ buildPythonPackage rec { cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - sha256 = "sha256-tNiBXn32g1PTuTmKNXSac+4PLSc1Ao9n+oAMfvVYR30="; + sha256 = "sha256-KNx7c5Jc1AWIpldMQ1AcWYuMb4W+yLY/cgB87hzPuVY="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/qiskit/default.nix b/pkgs/development/python-modules/qiskit/default.nix index 74d227e22e90b..b3c15b1b3855c 100644 --- a/pkgs/development/python-modules/qiskit/default.nix +++ b/pkgs/development/python-modules/qiskit/default.nix @@ -28,7 +28,7 @@ in buildPythonPackage rec { pname = "qiskit"; # NOTE: This version denotes a specific set of subpackages. See https://qiskit.org/documentation/release_notes.html#version-history - version = "0.36.0"; + version = "0.36.1"; disabled = pythonOlder "3.6"; @@ -36,7 +36,7 @@ buildPythonPackage rec { owner = "Qiskit"; repo = "qiskit"; rev = version; - sha256 = "sha256-zTdvROru56/HNpoHKSVe3pQZeDSMFmaTCUAr1FOaE5A="; + sha256 = "sha256-cprFWWvYgfoJXvK0Xoi67BwOXQfz7XeHT/JbfErqblk="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/readme_renderer/default.nix b/pkgs/development/python-modules/readme_renderer/default.nix index ab062615cc499..1c1ea480cd40c 100644 --- a/pkgs/development/python-modules/readme_renderer/default.nix +++ b/pkgs/development/python-modules/readme_renderer/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "readme-renderer"; - version = "34.0"; + version = "35.0"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -20,7 +20,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "readme_renderer"; inherit version; - sha256 = "sha256-37TRfyFwbRRfdHPgthyiRbpY6BDPmyIJpII5Z3+C5bA="; + sha256 = "sha256-pyeZms/CIvwh2CoS7UjJV8SYl4XlhlgHxlpIfSFndJc="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/rfc6555/default.nix b/pkgs/development/python-modules/rfc6555/default.nix index 5be65fee23951..e866df5d122e8 100644 --- a/pkgs/development/python-modules/rfc6555/default.nix +++ b/pkgs/development/python-modules/rfc6555/default.nix @@ -2,7 +2,7 @@ , buildPythonPackage , fetchFromGitHub , pytestCheckHook -, selectors2 +, pythonOlder }: buildPythonPackage rec { @@ -10,17 +10,15 @@ buildPythonPackage rec { version = "0.1.0"; format = "setuptools"; + disabled = pythonOlder "3.7"; + src = fetchFromGitHub { owner = "sethmlarson"; repo = pname; rev = "v${version}"; - sha256 = "Lmwgusc4EQlF0GHmMTUxWzUCjBk19cvurNwbOnT+1jM="; + hash = "sha256-Lmwgusc4EQlF0GHmMTUxWzUCjBk19cvurNwbOnT+1jM="; }; - propagatedBuildInputs = [ - selectors2 - ]; - checkInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/seabreeze/default.nix b/pkgs/development/python-modules/seabreeze/default.nix index 06802a8a2ce15..6f048144dfa1f 100644 --- a/pkgs/development/python-modules/seabreeze/default.nix +++ b/pkgs/development/python-modules/seabreeze/default.nix @@ -4,7 +4,6 @@ , cython , git , pkgconfig -, pytest-runner , setuptools-scm , future , numpy @@ -31,11 +30,15 @@ buildPythonPackage rec { leaveDotGit = true; }; + postPatch = '' + substituteInPlace setup.py \ + --replace '"pytest-runner",' "" + ''; + nativeBuildInputs = [ cython git pkgconfig - pytest-runner setuptools-scm ]; diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix index 3272c4b612f63..513e0a0acc4f1 100644 --- a/pkgs/development/python-modules/sentry-sdk/default.nix +++ b/pkgs/development/python-modules/sentry-sdk/default.nix @@ -112,6 +112,8 @@ buildPythonPackage rec { "test_auto_session_tracking_with_aggregates" # Network requests to public web "test_crumb_capture" + # TypeError: cannot unpack non-iterable TestResponse object + "test_rpc_error_page" ]; disabledTestPaths = [ @@ -128,6 +130,16 @@ buildPythonPackage rec { "tests/integrations/rq/" # broken since pytest 7.0.1; AssertionError: previous item was not torn down properly "tests/utils/test_contextvars.py" + # broken since Flask and Werkzeug update to 2.1.0 (different error messages) + "tests/integrations/flask/test_flask.py" + "tests/integrations/bottle/test_bottle.py" + "tests/integrations/django/test_basic.py" + "tests/integrations/pyramid/test_pyramid.py" + ] + # test crashes on aarch64 + ++ lib.optionals (stdenv.buildPlatform != "x86_64-linux") [ + "tests/test_transport.py" + "tests/integrations/threading/test_threading.py" ]; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/seventeentrack/default.nix b/pkgs/development/python-modules/seventeentrack/default.nix new file mode 100644 index 0000000000000..edce6b728347e --- /dev/null +++ b/pkgs/development/python-modules/seventeentrack/default.nix @@ -0,0 +1,61 @@ +{ lib +, aiohttp +, aresponses +, async-timeout +, attrs +, buildPythonPackage +, fetchFromGitHub +, poetry-core +, pytest-asyncio +, pytestCheckHook +, pythonOlder +, pytz +}: + +buildPythonPackage rec { + pname = "seventeentrack"; + version = "2022.04.5"; + format = "pyproject"; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "McSwindler"; + repo = pname; + rev = version; + hash = "sha256-IaR0Cfs3FL4Vguc2NLdPaunk23zC8B93Iyqe9xY/hWY="; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + aiohttp + async-timeout + attrs + pytz + ]; + + checkInputs = [ + aresponses + pytest-asyncio + pytestCheckHook + ]; + + disabledTestPaths = [ + # Ignore the examples directory as the files are prefixed with test_ + "examples/" + ]; + + pythonImportsCheck = [ + "seventeentrack" + ]; + + meta = with lib; { + description = "Python library to track package info from 17track.com"; + homepage = "https://github.com/McSwindler/seventeentrack"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/simplejson/default.nix b/pkgs/development/python-modules/simplejson/default.nix index 1e6def5ae78a6..74530b3fb830c 100644 --- a/pkgs/development/python-modules/simplejson/default.nix +++ b/pkgs/development/python-modules/simplejson/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = pname; repo = pname; - rev = "v${version}"; + rev = "refs/tags/v${version}"; sha256 = "1irlp5sakbdfcf717qmrx0r9rjlmwk0vza6zm3y55d32zw5c1cxg"; }; diff --git a/pkgs/development/python-modules/slither-analyzer/default.nix b/pkgs/development/python-modules/slither-analyzer/default.nix index 8eaf442fb5de8..d3295cbb1f8b6 100644 --- a/pkgs/development/python-modules/slither-analyzer/default.nix +++ b/pkgs/development/python-modules/slither-analyzer/default.nix @@ -1,7 +1,7 @@ { lib , stdenv , buildPythonPackage -, fetchPypi +, fetchFromGitHub , makeWrapper , pythonOlder , crytic-compile @@ -13,12 +13,16 @@ buildPythonPackage rec { pname = "slither-analyzer"; - version = "0.8.2"; - disabled = pythonOlder "3.6"; + version = "0.8.3"; + format = "setuptools"; - src = fetchPypi { - inherit pname version; - sha256 = "sha256-77045eB7KvHBb0j61qz4zJTtEprg4/aH6MrPlQY1wiM="; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "crytic"; + repo = "slither"; + rev = version; + sha256 = "sha256-Kh5owlkRB9hDlfIRiS+aNFe4YtZj38CLeE3Fe+R7diM="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/staticjinja/default.nix b/pkgs/development/python-modules/staticjinja/default.nix index ac3c173c09a5b..0c1a698aa63c0 100644 --- a/pkgs/development/python-modules/staticjinja/default.nix +++ b/pkgs/development/python-modules/staticjinja/default.nix @@ -9,7 +9,7 @@ , pytest-check , pythonOlder , markdown -, testVersion +, testers , tomlkit , staticjinja , callPackage @@ -53,7 +53,7 @@ buildPythonPackage rec { ''; passthru.tests = { - version = testVersion { package = staticjinja; }; + version = testers.testVersion { package = staticjinja; }; minimal-template = callPackage ./test-minimal-template {}; }; diff --git a/pkgs/development/python-modules/stripe/default.nix b/pkgs/development/python-modules/stripe/default.nix index c0bd1751bf129..27c3f84331ad2 100644 --- a/pkgs/development/python-modules/stripe/default.nix +++ b/pkgs/development/python-modules/stripe/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "stripe"; - version = "2.73.0"; + version = "2.74.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-Z5JG1mPaX7OElL48OoIljUdqu4TKrmfwrh85Z81i0zo="; + hash = "sha256-+o7StcJBv9peiYTWBnIfnDUqodiG3sVQJBbKBOALktA="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/types-dateutil/default.nix b/pkgs/development/python-modules/types-dateutil/default.nix index 39fb824bdcdc0..5a1e7220ec44b 100644 --- a/pkgs/development/python-modules/types-dateutil/default.nix +++ b/pkgs/development/python-modules/types-dateutil/default.nix @@ -5,12 +5,12 @@ buildPythonPackage rec { pname = "types-python-dateutil"; - version = "2.8.11"; + version = "2.8.12"; format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "sha256-7cBdC5MgGSirC1/ysxRBPdPSsk6xLEcCl++Sned8k+8="; + sha256 = "sha256-7zBTt0XwHERDtRK2s9WwT7ry1HaqUDtsyTIEah7fpWo="; }; pythonImportsCheck = [ "dateutil-stubs" ]; diff --git a/pkgs/development/python-modules/types-decorator/default.nix b/pkgs/development/python-modules/types-decorator/default.nix index 8d6d2038b3b27..114ceade047af 100644 --- a/pkgs/development/python-modules/types-decorator/default.nix +++ b/pkgs/development/python-modules/types-decorator/default.nix @@ -5,12 +5,12 @@ buildPythonPackage rec { pname = "types-decorator"; - version = "5.1.5"; + version = "5.1.6"; format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "sha256-CrPgAZyBGRIrXzD0IlUkcbkc8xOLPI69krQb1d3h3QI="; + sha256 = "sha256-OZ+qczvJMstRtQ08odfpV7KuAvPE1xGcdpYxKCo4aKY="; }; # Modules doesn't have tests diff --git a/pkgs/development/python-modules/types-requests/default.nix b/pkgs/development/python-modules/types-requests/default.nix index deda83411fed1..59f8d50fcb123 100644 --- a/pkgs/development/python-modules/types-requests/default.nix +++ b/pkgs/development/python-modules/types-requests/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "types-requests"; - version = "2.27.19"; + version = "2.27.20"; format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "sha256-eV43gRcIjR5L9BosAaFTtz1upAqp18CsdTq96EwNOo8="; + sha256 = "sha256-YzRFc83mxO/UTYZ8AVjZ+35r65VyHL6YgvP4V+6KU5g="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/uharfbuzz/default.nix b/pkgs/development/python-modules/uharfbuzz/default.nix new file mode 100644 index 0000000000000..f39aa12152a14 --- /dev/null +++ b/pkgs/development/python-modules/uharfbuzz/default.nix @@ -0,0 +1,45 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, cython +, setuptools-scm +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "uharfbuzz"; + version = "0.24.1"; + format = "setuptools"; + + disabled = pythonOlder "3.5"; + + # Fetching from GitHub as Pypi contains different versions + src = fetchFromGitHub { + owner = "harfbuzz"; + repo = "uharfbuzz"; + rev = "v${version}"; + sha256 = "sha256-DyFXbwB28JH2lvmWDezRh49tjCvleviUNSE5LHG3kUg="; + fetchSubmodules = true; + }; + + SETUPTOOLS_SCM_PRETEND_VERSION = version; + + nativeBuildInputs = [ + cython + setuptools-scm + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ "uharfbuzz" ]; + + meta = with lib; { + description = "Streamlined Cython bindings for the harfbuzz shaping engine"; + homepage = "https://github.com/harfbuzz/uharfbuzz"; + license = licenses.asl20; + maintainers = with maintainers; [ wolfangaukang ]; + }; +} diff --git a/pkgs/development/python-modules/vispy/default.nix b/pkgs/development/python-modules/vispy/default.nix index 47a966332548c..c17f372873847 100644 --- a/pkgs/development/python-modules/vispy/default.nix +++ b/pkgs/development/python-modules/vispy/default.nix @@ -16,11 +16,11 @@ buildPythonPackage rec { pname = "vispy"; - version = "0.9.6"; + version = "0.10.0"; src = fetchPypi { inherit pname version; - sha256 = "sha256-ISzVtQgkSZu84+LXQaray3nAt3GsVm+THGE1WXYCi8s="; + sha256 = "sha256-t2rW8+rK2/xJRM+4IR6ttuqEF6WQmT7OWqfKrAgs/8I="; }; patches = [ diff --git a/pkgs/development/python-modules/wandb/default.nix b/pkgs/development/python-modules/wandb/default.nix index b4804176eddc8..90a549c65955e 100644 --- a/pkgs/development/python-modules/wandb/default.nix +++ b/pkgs/development/python-modules/wandb/default.nix @@ -35,13 +35,13 @@ buildPythonPackage rec { pname = "wandb"; - version = "0.12.14"; + version = "0.12.15"; src = fetchFromGitHub { owner = pname; repo = "client"; rev = "v${version}"; - hash = "sha256-60E64ePW+C0C/eG7pLp4SpAFqycOHiCvOvmNOg2yoqY="; + hash = "sha256-Fq+JwUEZP1QDFKYVyiR8DUU0GQV6fK50FW78qaWh+Mo="; }; # setuptools is necessary since pkg_resources is required at runtime. diff --git a/pkgs/development/python-modules/west/default.nix b/pkgs/development/python-modules/west/default.nix index df7d379292630..eb934fde11292 100644 --- a/pkgs/development/python-modules/west/default.nix +++ b/pkgs/development/python-modules/west/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "west"; - version = "0.13.0"; + version = "0.13.1"; format = "setuptools"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-jlOmeIM6NfgYykjhgs7KpnAXFMbT/lpbT/bBaJ2CGY4="; + hash = "sha256-B6B7shZ8FM5pyXzXknJv9mwr+ERq4kiEzRf5jLTCicM="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/wifi/default.nix b/pkgs/development/python-modules/wifi/default.nix new file mode 100644 index 0000000000000..0b5a9444dbfdf --- /dev/null +++ b/pkgs/development/python-modules/wifi/default.nix @@ -0,0 +1,45 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pbkdf2 +, pytestCheckHook +, pythonOlder +, substituteAll +, wirelesstools +}: + +buildPythonPackage rec { + pname = "wifi"; + version = "0.3.5"; + + src = fetchFromGitHub { + owner = "rockymeza"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-scg/DvApvyQZtzDgkHFJzf9gCRfJgBvZ64CG/c2Cx8E="; + }; + + disabled = pythonOlder "2.6"; + + postPatch = '' + substituteInPlace wifi/scan.py \ + --replace "/sbin/iwlist" "${wirelesstools}/bin/iwlist" + ''; + + checkInputs = [ + pytestCheckHook + ]; + + propagatedBuildInputs = [ + pbkdf2 + ]; + + pythonImportsCheck = [ "wifi" ]; + + meta = with lib; { + description = "Provides a command line wrapper for iwlist and /etc/network/interfaces"; + homepage = "https://github.com/rockymeza/wifi"; + maintainers = with maintainers; [ rhoriguchi ]; + license = licenses.bsd2; + }; +} diff --git a/pkgs/development/python-modules/winacl/default.nix b/pkgs/development/python-modules/winacl/default.nix index 76d6d71c0b63c..52ae843d42606 100644 --- a/pkgs/development/python-modules/winacl/default.nix +++ b/pkgs/development/python-modules/winacl/default.nix @@ -1,15 +1,19 @@ { lib , buildPythonPackage , fetchPypi +, pythonOlder }: buildPythonPackage rec { pname = "winacl"; - version = "0.1.2"; + version = "0.1.3"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "187b4394ef247806f50e1d8320bdb9e33ad1f759d9e61e2e391b97b9adf5f58a"; + hash = "sha256-G6xWep0hMACCqiJGuw+UpZH8qOIY4WO6sY3w4y7v6gY="; }; # Project doesn't have tests diff --git a/pkgs/development/python-modules/xdis/default.nix b/pkgs/development/python-modules/xdis/default.nix index ca339b7a4438b..291da467e9ed3 100644 --- a/pkgs/development/python-modules/xdis/default.nix +++ b/pkgs/development/python-modules/xdis/default.nix @@ -1,32 +1,55 @@ -{ lib, buildPythonPackage, fetchFromGitHub, isPy27 +{ lib +, buildPythonPackage , click -, pytest +, fetchFromGitHub +, fetchpatch +, pytestCheckHook +, pythonOlder , six }: buildPythonPackage rec { pname = "xdis"; - version = "6.0.3"; - disabled = isPy27; + version = "unstable-2022-04-13"; + format = "setuptools"; + + disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "rocky"; repo = "python-xdis"; - rev = version; - sha256 = "1qvg3bwqzqxlzlixz2di3si7siy0ismq93wd57r8cqmxl54gva6h"; + # Support for later Python releases is missing in 6.0.3 + rev = "f888df7df5cb8839927e9187c258769cc77fb7a3"; + hash = "sha256-V1ws5GibRkutFRNcjlP7aW+AshSyWavXIxuwznVbRlU="; }; - checkInputs = [ pytest ]; - propagatedBuildInputs = [ six click ]; + propagatedBuildInputs = [ + click + six + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "xdis" + ]; + + disabledTestPaths = [ + # Our Python release is not in the test matrix + "test_unit/test_disasm.py" + ]; - checkPhase = '' - make check - ''; - pythonImportsCheck = [ "xdis" ]; + disabledTests = [ + "test_big_linenos" + "test_basic" + ]; meta = with lib; { description = "Python cross-version byte-code disassembler and marshal routines"; homepage = "https://github.com/rocky/python-xdis/"; license = licenses.gpl2Plus; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/xhtml2pdf/default.nix b/pkgs/development/python-modules/xhtml2pdf/default.nix index 5a47fc90f67fd..230e57a06430e 100644 --- a/pkgs/development/python-modules/xhtml2pdf/default.nix +++ b/pkgs/development/python-modules/xhtml2pdf/default.nix @@ -4,6 +4,7 @@ , fetchFromGitHub , html5lib , pillow +, pyhanko , pypdf3 , pytestCheckHook , python-bidi @@ -14,22 +15,25 @@ buildPythonPackage rec { pname = "xhtml2pdf"; - version = "0.2.6"; + version = "0.2.7"; format = "setuptools"; disabled = pythonOlder "3.7"; + # Tests are only available on GitHub src = fetchFromGitHub { owner = pname; repo = pname; - rev = "v${version}"; - hash = "sha256-EyIERvAC98LqPTMCdwWqTkm1RiMhikscL0tnMZUHIT8="; + # Currently it is not possible to fetch from version as there is a branch with the same name + rev = "afa72cdbbdaf7d459261c1605263101ffcd999af"; + sha256 = "sha256-plyIM7Ohnp5UBWz/UDTJa1UeWK9yckSZR16wxmLrpnc="; }; propagatedBuildInputs = [ arabic-reshaper html5lib pillow + pyhanko pypdf3 python-bidi reportlab diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix index eee9647e709d3..88bf7541428bb 100644 --- a/pkgs/development/python-modules/xknx/default.nix +++ b/pkgs/development/python-modules/xknx/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "xknx"; - version = "0.20.3"; + version = "0.20.4"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -20,8 +20,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "XKNX"; repo = pname; - rev = version; - sha256 = "sha256-RGwo6IH1WDNBanpQ14gB3/75db3NPwNUsFy0wPP1Yok="; + rev = "refs/tags/${version}"; + sha256 = "sha256-uqFS/kveWLEmu+8L9dOprcQcO+Odq9lzfTI9lqIhaSw="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/xml2rfc/default.nix b/pkgs/development/python-modules/xml2rfc/default.nix index c9cf286b6cce4..be9323c774d8f 100644 --- a/pkgs/development/python-modules/xml2rfc/default.nix +++ b/pkgs/development/python-modules/xml2rfc/default.nix @@ -1,6 +1,6 @@ { lib -, fetchPypi , buildPythonPackage +, fetchFromGitHub , pythonOlder , intervaltree , pyflakes @@ -18,19 +18,37 @@ , jinja2 , configargparse , appdirs +, decorator +, pycairo +, pytestCheckHook +, python-fontconfig }: buildPythonPackage rec { pname = "xml2rfc"; - version = "3.12.3"; + version = "3.12.4"; disabled = pythonOlder "3.6"; - src = fetchPypi { - inherit pname version; - sha256 = "sha256-YUrcD3Q1fkDW+nwf6k2T/aBL8+W9iWkPYW/TqdTiuA0="; + src = fetchFromGitHub { + owner = "ietf-tools"; + repo = "xml2rfc"; + rev = "v${version}"; + sha256 = "sha256-TAu2Ls553t7wJ/Jhgu+Ff+H4P6az0Du8OL00JjZyCDs="; }; + postPatch = '' + substituteInPlace Makefile \ + --replace "SHELL := /bin/bash" "SHELL := bash" \ + --replace "test flaketest" "test" \ + --replace "python setup.py --quiet install" "" + substituteInPlace setup.py \ + --replace "'tox'," "" + substituteInPlace requirements.txt \ + --replace "jinja2>=2.11,<3.0" "jinja2" \ + --replace "markupsafe==2.0.1" "markupsafe" + ''; + propagatedBuildInputs = [ intervaltree jinja2 @@ -50,23 +68,25 @@ buildPythonPackage rec { appdirs ]; - postPatch = '' - substituteInPlace requirements.txt \ - --replace "jinja2>=2.11,<3.0" "jinja2>=2.11" - ''; - - preCheck = '' - export HOME=$(mktemp -d) - ''; + checkInputs = [ + decorator + pycairo + pytestCheckHook + python-fontconfig + ]; - # lxml tries to fetch from the internet + # requires Noto Serif and Roboto Mono font doCheck = false; + checkPhase = '' + make tests-no-network + ''; + pythonImportsCheck = [ "xml2rfc" ]; meta = with lib; { description = "Tool generating IETF RFCs and drafts from XML sources"; - homepage = "https://tools.ietf.org/tools/xml2rfc/trac/"; + homepage = "https://github.com/ietf-tools/xml2rfc"; # Well, parts might be considered unfree, if being strict; see: # http://metadata.ftp-master.debian.org/changelogs/non-free/x/xml2rfc/xml2rfc_2.9.6-1_copyright license = licenses.bsd3; diff --git a/pkgs/development/python-modules/xxhash/default.nix b/pkgs/development/python-modules/xxhash/default.nix index f70526da6a106..ff4eeff354594 100644 --- a/pkgs/development/python-modules/xxhash/default.nix +++ b/pkgs/development/python-modules/xxhash/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchPypi +, setuptools-scm }: buildPythonPackage rec { @@ -12,6 +13,10 @@ buildPythonPackage rec { sha256 = "sha256-MLLZeq8R+xIgI/a0TruXxpVengDXRhqWQVygMLXOucc="; }; + nativeBuildInputs = [ + setuptools-scm + ]; + meta = with lib; { homepage = "https://github.com/ifduyue/python-xxhash"; description = "Python Binding for xxHash https://pypi.org/project/xxhash/"; diff --git a/pkgs/development/python-modules/zodbpickle/default.nix b/pkgs/development/python-modules/zodbpickle/default.nix index 864155c2a2053..de1f8dfd3aafe 100644 --- a/pkgs/development/python-modules/zodbpickle/default.nix +++ b/pkgs/development/python-modules/zodbpickle/default.nix @@ -5,12 +5,12 @@ buildPythonPackage rec { pname = "zodbpickle"; - version = "2.2.0"; + version = "2.3"; disabled = isPyPy; # https://github.com/zopefoundation/zodbpickle/issues/10 src = fetchPypi { inherit pname version; - sha256 = "584127173db0a2647af0fc8cb935130b1594398c611e94fb09a719e09e1ed4bd"; + sha256 = "sha256-5MtccZcF6Lseju5Kok4gcaMJTs8ng9h0B6uCLxZto6I="; }; # fails.. diff --git a/pkgs/development/python-modules/zwave-js-server-python/default.nix b/pkgs/development/python-modules/zwave-js-server-python/default.nix index 5f4203634acb0..028e30f4cb740 100644 --- a/pkgs/development/python-modules/zwave-js-server-python/default.nix +++ b/pkgs/development/python-modules/zwave-js-server-python/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "zwave-js-server-python"; - version = "0.35.2"; + version = "0.35.3"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "home-assistant-libs"; repo = pname; rev = version; - sha256 = "sha256-Bte4pAi+atdkMvxYlzdN/UOrHB2WKfl44U9m/vKFMoA="; + sha256 = "sha256-vM5GEqq32VdC5UjGVlnrN8/LRcCHHkJFzEbaA2Snte8="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/quickemu/default.nix b/pkgs/development/quickemu/default.nix index 7aa5b1602c381..0a0dfb004f13b 100644 --- a/pkgs/development/quickemu/default.nix +++ b/pkgs/development/quickemu/default.nix @@ -19,7 +19,7 @@ , zsync , OVMF , quickemu -, testVersion +, testers }: let runtimePaths = [ @@ -73,7 +73,7 @@ stdenv.mkDerivation rec { runHook postInstall ''; - passthru.tests = testVersion { package = quickemu; }; + passthru.tests = testers.testVersion { package = quickemu; }; meta = with lib; { description = "Quickly create and run optimised Windows, macOS and Linux desktop virtual machines"; diff --git a/pkgs/development/tools/amazon-qldb-shell/default.nix b/pkgs/development/tools/amazon-qldb-shell/default.nix index 6f6ef1ca8af79..d017c213415c6 100644 --- a/pkgs/development/tools/amazon-qldb-shell/default.nix +++ b/pkgs/development/tools/amazon-qldb-shell/default.nix @@ -4,7 +4,7 @@ , fetchFromGitHub , llvmPackages , rustPlatform -, testVersion +, testers }: let @@ -27,7 +27,7 @@ let LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib"; - passthru.tests.version = testVersion { inherit package; }; + passthru.tests.version = testers.testVersion { inherit package; }; meta = with lib; { description = "An interface to send PartiQL statements to Amazon Quantum Ledger Database (QLDB)"; diff --git a/pkgs/development/tools/ammonite/default.nix b/pkgs/development/tools/ammonite/default.nix index 080a8362ba70b..efeaf9df50750 100644 --- a/pkgs/development/tools/ammonite/default.nix +++ b/pkgs/development/tools/ammonite/default.nix @@ -9,7 +9,7 @@ let common = { scalaVersion, sha256 }: stdenv.mkDerivation rec { pname = "ammonite"; - version = "2.5.2"; + version = "2.5.3"; src = fetchurl { url = @@ -83,10 +83,10 @@ let in { ammonite_2_12 = common { scalaVersion = "2.12"; - sha256 = "sha256-vj0Ze+Tn8jgq1mIVZWq2q768vW6fNXHB28gMcB9bWHU="; + sha256 = "sha256-Iov55ohFjcGhur5UEng7aAZJPVua1H/JaKKW6OKS6Zg="; }; ammonite_2_13 = common { scalaVersion = "2.13"; - sha256 = "sha256-ZuPyZFD3/VRP/GegcKqXZm3bveQB/Xr5E39eQktDCJI="; + sha256 = "sha256-dzUhKUQDHrYZ4WyCk4z4CTxb6vK05qfApR/WPOwhA5s="; }; } diff --git a/pkgs/development/tools/analysis/actionlint/default.nix b/pkgs/development/tools/analysis/actionlint/default.nix index 6945ea8ca7086..2380c5bd113c1 100644 --- a/pkgs/development/tools/analysis/actionlint/default.nix +++ b/pkgs/development/tools/analysis/actionlint/default.nix @@ -10,7 +10,7 @@ buildGoModule rec { pname = "actionlint"; - version = "1.6.11"; + version = "1.6.12"; subPackages = [ "cmd/actionlint" ]; @@ -18,7 +18,7 @@ buildGoModule rec { owner = "rhysd"; repo = "actionlint"; rev = "v${version}"; - sha256 = "sha256-BlJxgRDnAlfM/81qAEGEW09luScivYSDf5w2lR8hQUA="; + sha256 = "sha256-nFHf+X7Onf06o3G77mrfszfrWGq65y3VJffkuAxXk50="; }; vendorSha256 = "sha256-nG0u5hZ/YRn+yUoEGTBo6ZdOp0e+sH6Jl9F+QhpfYAU="; diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix index 73f32a356f46a..a6d0f5d22612f 100644 --- a/pkgs/development/tools/analysis/checkov/default.nix +++ b/pkgs/development/tools/analysis/checkov/default.nix @@ -32,13 +32,13 @@ with py.pkgs; buildPythonApplication rec { pname = "checkov"; - version = "2.0.1068"; + version = "2.0.1076"; src = fetchFromGitHub { owner = "bridgecrewio"; repo = pname; rev = version; - hash = "sha256-/WJiGWBGcVDoiX+FnEbIFaMRxQSnJTqLqHbKlEoCqWU="; + hash = "sha256-LDO4f8SHyTtJp9zOF+exCrNAMhNoIERqHRk11BJgrFs="; }; nativeBuildInputs = with py.pkgs; [ diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix index 993f5dbe7e91e..f4b3804f02a1b 100644 --- a/pkgs/development/tools/analysis/cppcheck/default.nix +++ b/pkgs/development/tools/analysis/cppcheck/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "cppcheck"; - version = "2.7.4"; + version = "2.7.5"; src = fetchFromGitHub { owner = "danmar"; repo = "cppcheck"; rev = version; - sha256 = "sha256-bMDH3TRAdDoI1AaHTpIl4P/yk9wsV0ReNh6bMmCsKys="; + sha256 = "sha256-GRhQXGldirIhUBI4CucDTTxuZhG0XW0qp1FjYXhVS0o="; }; buildInputs = [ pcre diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix index 8fcd53cf48f75..7d3cdaab0d33d 100644 --- a/pkgs/development/tools/analysis/flow/default.nix +++ b/pkgs/development/tools/analysis/flow/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "flow"; - version = "0.175.1"; + version = "0.176.2"; src = fetchFromGitHub { owner = "facebook"; repo = "flow"; rev = "v${version}"; - sha256 = "sha256-40Kc/Qg0ppTQLU2ySbKXZyhap3hH4BiIMhJeNDU6mKA="; + sha256 = "sha256-/4wEafdmrXj4ALUVYx8DM9XyRP/wvbwAl0St1S/+9Ws="; }; makeFlags = [ "FLOW_RELEASE=1" ]; diff --git a/pkgs/development/tools/analysis/oclgrind/default.nix b/pkgs/development/tools/analysis/oclgrind/default.nix index 3752fa8e251db..9e8d1da4d36a6 100644 --- a/pkgs/development/tools/analysis/oclgrind/default.nix +++ b/pkgs/development/tools/analysis/oclgrind/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, cmake, llvmPackages, readline, python2 }: +{ lib, stdenv, fetchFromGitHub, cmake, llvmPackages, readline, python3 }: stdenv.mkDerivation rec { pname = "oclgrind"; @@ -12,7 +12,8 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ llvmPackages.llvm llvmPackages.clang-unwrapped readline python2 ]; + checkInputs = [ python3 ]; + buildInputs = [ llvmPackages.llvm llvmPackages.clang-unwrapped readline ]; cmakeFlags = [ "-DCLANG_ROOT=${llvmPackages.clang-unwrapped}" diff --git a/pkgs/development/tools/apksigcopier/default.nix b/pkgs/development/tools/apksigcopier/default.nix index cc23081473af6..f8747398c2229 100644 --- a/pkgs/development/tools/apksigcopier/default.nix +++ b/pkgs/development/tools/apksigcopier/default.nix @@ -1,10 +1,10 @@ { lib +, apksigner +, bash , fetchFromGitHub -, python3 , installShellFiles -, bash , pandoc -, apksigner +, python3 }: python3.pkgs.buildPythonApplication rec { @@ -18,33 +18,48 @@ python3.pkgs.buildPythonApplication rec { sha256 = "07ldq3q1x2lpb15q5s5i1pbg89sn6ah45amskm9pndqlh16z9k2x"; }; - nativeBuildInputs = [ installShellFiles pandoc ]; - propagatedBuildInputs = with python3.pkgs; [ click ]; - checkInputs = with python3.pkgs; [ flake8 mypy pylint ]; - makeWrapperArgs = [ "--prefix" "PATH" ":" "${lib.makeBinPath [ apksigner ]}" ]; + nativeBuildInputs = [ + installShellFiles + pandoc + ]; + + propagatedBuildInputs = with python3.pkgs; [ + click + ]; + + makeWrapperArgs = [ + "--prefix" + "PATH" + ":" + "${lib.makeBinPath [ apksigner ]}" + ]; postPatch = '' substituteInPlace Makefile \ - --replace /bin/bash ${bash}/bin/bash \ - --replace 'apksigcopier --version' '${python3.interpreter} apksigcopier --version' + --replace /bin/bash ${bash}/bin/bash ''; postBuild = '' make ${pname}.1 ''; - checkPhase = '' - make test - ''; - postInstall = '' installManPage ${pname}.1 ''; + doInstallCheck = true; + + installCheckPhase = '' + runHook preInstallCheck + $out/bin/apksigcopier --version | grep "${version}" + runHook postInstallCheck + ''; + meta = with lib; { - description = "Copy/extract/patch android apk signatures & compare apks"; + description = "Copy/extract/patch android apk signatures & compare APKs"; longDescription = '' - apksigcopier is a tool for copying android APK signatures from a signed APK to an unsigned one (in order to verify reproducible builds). + apksigcopier is a tool for copying android APK signatures from a signed + APK to an unsigned one (in order to verify reproducible builds). It can also be used to compare two APKs with different signatures. Its command-line tool offers four operations: @@ -55,6 +70,6 @@ python3.pkgs.buildPythonApplication rec { ''; homepage = "https://github.com/obfusk/apksigcopier"; license = with licenses; [ gpl3Plus ]; - maintainers = [ maintainers.obfusk ]; + maintainers = with maintainers; [ obfusk ]; }; } diff --git a/pkgs/development/tools/bingo/default.nix b/pkgs/development/tools/bingo/default.nix index 8fe1dbaa4bea2..6e7ed39a221c8 100644 --- a/pkgs/development/tools/bingo/default.nix +++ b/pkgs/development/tools/bingo/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub, testVersion, bingo }: +{ lib, buildGoModule, fetchFromGitHub, testers, bingo }: buildGoModule rec { pname = "bingo"; @@ -26,7 +26,7 @@ buildGoModule rec { ldflags = [ "-s" "-w" ]; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = bingo; command = "bingo version"; version = "v${version}"; diff --git a/pkgs/development/tools/buf/default.nix b/pkgs/development/tools/buf/default.nix index 0f7904fe9bbbc..746233fb0dee9 100644 --- a/pkgs/development/tools/buf/default.nix +++ b/pkgs/development/tools/buf/default.nix @@ -3,23 +3,23 @@ , fetchFromGitHub , protobuf , git -, testVersion +, testers , buf , installShellFiles }: buildGoModule rec { pname = "buf"; - version = "1.3.0"; + version = "1.4.0"; src = fetchFromGitHub { owner = "bufbuild"; repo = pname; rev = "v${version}"; - sha256 = "sha256-rOT7HuvbJFRyBOmCNmx5Vic4zckYgS+1BB0PcpwD9OQ="; + sha256 = "sha256-cKb9pZYEsO1thgtl/8XFJHpNrO6P3OR8Lox/Gf9ccYk="; }; - vendorSha256 = "sha256-qIWZYsl1hFV4Ts27WSyjQAQ+jWjtLLG+A+yS0Ms7hfI="; + vendorSha256 = "sha256-zXLvKEdiIFnmwWQBgbJHCEBe2i7FobgeUOnA3LvHl8w="; patches = [ # Skip a test that requires networking to be available to work. @@ -70,7 +70,7 @@ buildGoModule rec { runHook postInstall ''; - passthru.tests.version = testVersion { package = buf; }; + passthru.tests.version = testers.testVersion { package = buf; }; meta = with lib; { homepage = "https://buf.build"; diff --git a/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix index 3a5c9e2e76fd7..c5f61e7d25c31 100644 --- a/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix +++ b/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix @@ -186,6 +186,8 @@ stdenv.mkDerivation rec { # we accept this fact because xcode_locator is only a short-lived process used during the build. ./no-arc.patch + ./gcc11.patch + # --experimental_strict_action_env (which may one day become the default # see bazelbuild/bazel#2574) hardcodes the default # action environment to a non hermetic value (e.g. "/usr/local/bin"). diff --git a/pkgs/development/tools/build-managers/bazel/bazel_3/gcc11.patch b/pkgs/development/tools/build-managers/bazel/bazel_3/gcc11.patch new file mode 100644 index 0000000000000..450bcd114776a --- /dev/null +++ b/pkgs/development/tools/build-managers/bazel/bazel_3/gcc11.patch @@ -0,0 +1,24 @@ +diff --git a/third_party/ijar/mapped_file_unix.cc b/third_party/ijar/mapped_file_unix.cc +index 6e3a908..030e9ca 100644 +--- a/third_party/ijar/mapped_file_unix.cc ++++ b/third_party/ijar/mapped_file_unix.cc +@@ -19,6 +19,7 @@ + #include <sys/mman.h> + + #include <algorithm> ++#include <limits> + + #include "third_party/ijar/mapped_file.h" + +diff --git a/third_party/ijar/zlib_client.h b/third_party/ijar/zlib_client.h +index ed66163..c4b051e 100644 +--- a/third_party/ijar/zlib_client.h ++++ b/third_party/ijar/zlib_client.h +@@ -16,6 +16,7 @@ + #define THIRD_PARTY_IJAR_ZLIB_CLIENT_H_ + + #include <limits.h> ++#include <limits> + + #include "third_party/ijar/common.h" + diff --git a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix index b0375db8c65ca..cd313a5bc50bf 100644 --- a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix +++ b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "bazel-buildtools"; - version = "5.0.1"; + version = "5.1.0"; src = fetchFromGitHub { owner = "bazelbuild"; repo = "buildtools"; rev = version; - sha256 = "sha256-AIOfudFxr1obuxABEN0ggainci/EjbBrdgr2cjVu2Io="; + sha256 = "sha256-PNIqsP5p+OdYH0JgOmjqvge9zVOrAcNg0FMflXFJHwQ="; }; - vendorSha256 = "sha256-buMkRxVLlS2LBJGaGWeR41BsmE/0vgDS8s1VcRYN0fA="; + vendorSha256 = "sha256-9WUjQhXWkpSEJj9Xq+9rOe3I1VZ7nqMTnX7DPl+rxsU="; preBuild = '' rm -r warn/docs diff --git a/pkgs/development/tools/build-managers/conan/default.nix b/pkgs/development/tools/build-managers/conan/default.nix index 8978a0635c8cf..78e54028cc9cd 100644 --- a/pkgs/development/tools/build-managers/conan/default.nix +++ b/pkgs/development/tools/build-managers/conan/default.nix @@ -32,22 +32,6 @@ let newPython = python3.override { "test_ec_verify_should_return_false_if_signature_invalid" ]; }); - # conan needs jinja2<3 - jinja2 = super.jinja2.overridePythonAttrs (oldAttrs: rec { - version = "2.11.3"; - src = oldAttrs.src.override { - inherit version; - sha256 = "a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"; - }; - }); - # old jinja2 needs old markupsafe - markupsafe = super.markupsafe.overridePythonAttrs (oldAttrs: rec { - version = "1.1.1"; - src = oldAttrs.src.override { - inherit version; - sha256 = "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"; - }; - }); distro = super.distro.overridePythonAttrs (oldAttrs: rec { version = "1.5.0"; src = oldAttrs.src.override { @@ -59,14 +43,14 @@ let newPython = python3.override { }; in newPython.pkgs.buildPythonApplication rec { - version = "1.43.1"; + version = "1.47.0"; pname = "conan"; src = fetchFromGitHub { owner = "conan-io"; repo = "conan"; rev = version; - sha256 = "0jwi7smgy2d9m49igijqr2p4ncw5nksjbijj8fzjvf1lgxgnyjhr"; + sha256 = "1zs2xb22rsy5fsc0fd7c95vrx1mfz7vasyg1lqkzyfimvn5zah6n"; }; propagatedBuildInputs = with newPython.pkgs; [ diff --git a/pkgs/development/tools/build-managers/scala-cli/default.nix b/pkgs/development/tools/build-managers/scala-cli/default.nix index 81859bcb79958..abeaf0d4cf18c 100644 --- a/pkgs/development/tools/build-managers/scala-cli/default.nix +++ b/pkgs/development/tools/build-managers/scala-cli/default.nix @@ -1,15 +1,15 @@ { stdenv, coreutils, lib, installShellFiles, zlib, autoPatchelfHook, fetchurl }: let - version = "0.1.3"; + version = "0.1.4"; assets = { x86_64-darwin = { asset = "scala-cli-x86_64-apple-darwin.gz"; - sha256 = "UlDF2Eaaet62zZV0z6XOZvg/YeB//AXPDni8h3Wc6rw="; + sha256 = "19bsfkp398rx3f9lnjzhp8pcs77n075v17rpm4hsmrpsz1hih5xy"; }; x86_64-linux = { asset = "scala-cli-x86_64-pc-linux.gz"; - sha256 = "086fi7ma4j9xy6gs0k7i06ql8ranjkjlrir2860q74kinfisk79a"; + sha256 = "0rggf6v32rw3s82a1apz2b8nyiv8rd0lvw1bajl2s7jhlq8l7lc9"; }; }; in diff --git a/pkgs/development/tools/build-managers/tup/setup-hook.sh b/pkgs/development/tools/build-managers/tup/setup-hook.sh index b7962c80d4692..6116e207ac43b 100644 --- a/pkgs/development/tools/build-managers/tup/setup-hook.sh +++ b/pkgs/development/tools/build-managers/tup/setup-hook.sh @@ -19,7 +19,7 @@ tupConfigurePhase() { echo "${tupConfig-}" >> tup.config tup init - tup generate tupBuild.sh + tup generate --verbose tupBuild.sh runHook postConfigure } @@ -33,7 +33,7 @@ tupBuildPhase() { runHook preBuild pushd . - . tupBuild.sh + ./tupBuild.sh popd runHook postBuild diff --git a/pkgs/development/tools/checkmate/default.nix b/pkgs/development/tools/checkmate/default.nix index bcb115e409b7a..6ca90b28f4e7b 100644 --- a/pkgs/development/tools/checkmate/default.nix +++ b/pkgs/development/tools/checkmate/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "checkmate"; - version = "0.5.8"; + version = "0.5.9"; src = fetchFromGitHub { owner = "adedayo"; repo = pname; rev = "v${version}"; - sha256 = "sha256-nzhzeXy70UQ1HP3/PCBnUPhrjg7CnKURMCH0iJ099E0="; + sha256 = "sha256-V7b8NEKzS4wDIhFJkAve94Tl3tzYtnbG01GzyRj8yfA="; }; vendorSha256 = "sha256-uQRAVbLnzY+E3glMJ3AvmbtmwD2LkuqCh2mUpqZbmaA="; diff --git a/pkgs/development/tools/conftest/default.nix b/pkgs/development/tools/conftest/default.nix index f200cd742d904..fa4f9ea438433 100644 --- a/pkgs/development/tools/conftest/default.nix +++ b/pkgs/development/tools/conftest/default.nix @@ -2,15 +2,15 @@ buildGoModule rec { pname = "conftest"; - version = "0.30.0"; + version = "0.31.0"; src = fetchFromGitHub { owner = "open-policy-agent"; repo = "conftest"; rev = "v${version}"; - sha256 = "sha256-8/eZz5ejw5bahCYwz825HI+oZ6D1odeTpMIJh0TcGMY="; + sha256 = "sha256-p3EzJLq+LH8G8P7x6+47XWn8ckFeW2O7xhQGoRQDOOQ="; }; - vendorSha256 = "sha256-wvOtBK3lRK7XwgeClywowgrZLohltSTGdoB+j3NRmkE="; + vendorSha256 = "sha256-WFR0DtOz4dteRWWaqjTIiyTpBTnH6qKivH9t+gRWsvg="; ldflags = [ "-s" diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix index f2989545f5c4a..1fbb42442503b 100644 --- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix +++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix @@ -1,7 +1,7 @@ { lib, buildGoModule, fetchFromGitLab, fetchurl }: let - version = "14.9.1"; + version = "14.10.0"; in buildGoModule rec { inherit version; @@ -20,7 +20,7 @@ buildGoModule rec { owner = "gitlab-org"; repo = "gitlab-runner"; rev = "v${version}"; - sha256 = "1h6fyhbc154fr6a8brva3clirgvga6sal6ikylf9mbkxbh7d9rcn"; + sha256 = "033b68hwqk5hn2by4hk1z7v6p08d505grl9hrx72p4wpyk18c80l"; }; patches = [ diff --git a/pkgs/development/tools/database/clickhouse-backup/default.nix b/pkgs/development/tools/database/clickhouse-backup/default.nix index fdc15a9256dda..a55ed8a3b6504 100644 --- a/pkgs/development/tools/database/clickhouse-backup/default.nix +++ b/pkgs/development/tools/database/clickhouse-backup/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "clickhouse-backup"; - version = "1.3.1"; + version = "1.3.2"; src = fetchFromGitHub { owner = "AlexAkulov"; repo = pname; rev = "v${version}"; - sha256 = "sha256-M9fJFdwNyNOolXFknzEPG7pNDVrqKv/WOQZUHmr8B84="; + sha256 = "sha256-dpVFDLDEqqW1u1afb3klpdqwOptudbjUfoFhFBc85Pg="; }; - vendorSha256 = "sha256-d6h0LK4zbrfkUum7FXHIP+hqBx5A0mQmvW5GOi+EMVQ="; + vendorSha256 = "sha256-wj4N146iqj/YwyBI0XdrvBp1tqeK43Yq4kSpN594hRs="; postConfigure = '' export CGO_ENABLED=0 diff --git a/pkgs/development/tools/efm-langserver/default.nix b/pkgs/development/tools/efm-langserver/default.nix index a030a271b487f..788c4edc9a86f 100644 --- a/pkgs/development/tools/efm-langserver/default.nix +++ b/pkgs/development/tools/efm-langserver/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "efm-langserver"; - version = "0.0.42"; + version = "0.0.44"; src = fetchFromGitHub { owner = "mattn"; repo = "efm-langserver"; rev = "v${version}"; - sha256 = "sha256-1IAPtqIozp9Wp3L95mmhFuWvWvCDuTh1VsCVaJSzyfk="; + sha256 = "sha256-+yN08MAoFaixvt2EexhRNucG6I4v2FdHf44XlYIwzhA="; }; vendorSha256 = "sha256-KABezphT5/o3XWSFNe2OvfawFR8uwsGMnjsI9xh378Q="; diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix index 0ed800eb7c631..1eb6144b4c3be 100644 --- a/pkgs/development/tools/electron/default.nix +++ b/pkgs/development/tools/electron/default.nix @@ -23,7 +23,7 @@ let in rec { - electron = electron_17; + electron = electron_18; electron_9 = mkElectron "9.4.4" { x86_64-linux = "781d6ca834d415c71078e1c2c198faba926d6fce19e31448bbf4450869135450"; @@ -83,33 +83,43 @@ rec { headers = "181b2agnf4b5s81p2rdnd6wkw9c2ri4cv1x0wwf7rj60axvzvydm"; }; - electron_15 = mkElectron "15.5.1" { - armv7l-linux = "222e9ad3210cf538c45f938b5b1a5d901b36fb6ec09461446e4ab4ea6ee9bc1b"; - aarch64-linux = "16a0053036a9f6ba947445c85bacda720975a23a910e78cab8dce1bf8ad2acf7"; - x86_64-linux = "99867ef0eef53f214ef4c8a4ec0223890d9c38b73fd6bf4fb49a9e400dff5726"; - i686-linux = "6d65c900c77b9e259932b20978d78a56bb04fad590f29a5935d8a31f5e0891db"; - x86_64-darwin = "54e6312d5e06e16eab78d86ddb01553864b66f608d017c7a1c4a0a318be32081"; - aarch64-darwin = "6472bea7f38f38c20a8c87e6daf70ca0d00b7c29b1641eeda6c8d45f9e60784b"; - headers = "0dgxyndsyhk5m9m8iiy2h3vg1gz1xg5nj75537apsh9mdiizsfhk"; + electron_15 = mkElectron "15.5.2" { + armv7l-linux = "da434095fd7cc17d85ebca5eab3510ec7ff73ace4edc933fe2f27a716ca711c0"; + aarch64-linux = "bcec3f962c7acefc8690680a19df9d83721db7e5db55c7b7a8946365139457a6"; + x86_64-linux = "a4a95888c313dbe279f5f9d9dfd99f56a2a1b6b905fb6cba3b284322fe19a530"; + i686-linux = "0fd1dd9027bfdbc573fd39e163b6b3f8c07e8ac1586a554e65e7324e7fa7ea35"; + x86_64-darwin = "688cc1d501d32afa5efe1883be42446b61f404d4a5e84bd9815254b5437c869b"; + aarch64-darwin = "b43237d7612ada2f2dccaf6e13fa70ba938dc48f1e2f895558949dd372171db7"; + headers = "0jbxazkjkm8g8b8d0ini2l4q9z7885mz5vyj74lf85lqdfqzgzc0"; }; - electron_16 = mkElectron "16.2.1" { - armv7l-linux = "d55daeffed60cfd0c2de4ea8cab102ec5957dbd0cd863add881080e891b02334"; - aarch64-linux = "6446c665a1c6d7648dbeae94a669423b4c6768bafa96f0d3f8072b8c5d5a949e"; - x86_64-linux = "7b27a8531a8ef60fa27dd119422a81a710e09f7d8cb01777f1fe7b7ab67e3ac4"; - i686-linux = "eb7e0c8113af80f0e4edbae35d2cca718c1e98966da87041304fa6afb2d3e4c0"; - x86_64-darwin = "0386e3318d4b5cfabccc226ca88bd9946669901f381e3817d1d414b1356e472c"; - aarch64-darwin = "280660c0333702de9d95bcf9a21d3db8d148bef2a5946bb57d20b9e5f2aadb96"; - headers = "121wrzy81h9m12y83mb0xs9jbm5l4w31f831lmb4wmkkg54bvcwj"; + electron_16 = mkElectron "16.2.3" { + armv7l-linux = "9b442b17349dcec08e6efadecf9d338a7f4b2955635fed2a78374af850ceee5d"; + aarch64-linux = "eec581d162b494a7bcba4b0221f3beac9f359b48fb8612c83ce6ad7ac63094cd"; + x86_64-linux = "2c032baff08b40f106dfcd86e7b63c6275f13e64d26b8c301af704563edf8600"; + i686-linux = "227e9f5670a2d92a814eeda41c7ef4efd8fc6150bee659e0f322a8d2481ecdec"; + x86_64-darwin = "3a51ad480d4085a822b0526018805e64fe82f93b954abe500eaebb3c81c80d45"; + aarch64-darwin = "38c736c336abf8747040f22542d6a0bd785b5a10f6ba01d71335cc5f77a3d0b5"; + headers = "1a9kb89iigwmahjwq14i74rr6gj21gmpc106pg0il73c50khaxpz"; }; - electron_17 = mkElectron "17.3.1" { - armv7l-linux = "ad7864f9a580b3fd8865480caa6cccbaefa5d7e5fdbe455700ab711b0adf2228"; - aarch64-linux = "e0f03aff5339e4dab85cbc970568ca31599ee0f032d1e766c23deea7d96654b0"; - x86_64-linux = "59d13b1d060523d1098e6e1e5bf7c6f2494b713321541f863dc459a42d2c40a8"; - i686-linux = "6d31d5117f4508bc7e0f9ecb6423d266b47fb5f074b0dfa8ddcfc2298c764151"; - x86_64-darwin = "c70a6e906ae7ce02552f1722022147f2416f27de0f98b88a0b7b1a09e341426f"; - aarch64-darwin = "76a9c8cbfa578c7e6678e6ccab2417374d1b3d3d81c6cac5ceea0aa058c12a8f"; - headers = "11k5sw7wk0fjjdlhcvbkwpffslngm9ns8l4c7rxa4qx8n1six9sf"; + electron_17 = mkElectron "17.4.1" { + armv7l-linux = "d1329468cb21039fb5b503fc813381f9be4d43422383b44f859b450be0e4200c"; + aarch64-linux = "70d29bca5f884753341a11b0445ccf159c0f43dfae16eb60c53946582c3128b0"; + x86_64-linux = "f9437a86947c418d92eabea14b268dcc4a5dde74cc6927530c1e9195e4aeddf8"; + i686-linux = "436f44d778acc41a4a07cc4ee23ab861e2c4d72e4b1335e3c4ccfd4855deb594"; + x86_64-darwin = "0357bcf841bc246d01df8b838fa5de9856bd48f4fa6b2b4f3053ba3db492e54b"; + aarch64-darwin = "827f6ecb7bc4d4ed88eb22e1b02615465ad13ace918d294c873a67a34c207dcf"; + headers = "064qnwv6gqn502r1cv7vi6ahvgyxcqq7mv0rmk2bxfpkr5x6hgmh"; + }; + + electron_18 = mkElectron "18.1.0" { + armv7l-linux = "c2296f3f68938aab4cef07b747d2dd28973625b6717163b9c51fbcf1509fd8ff"; + aarch64-linux = "13bd4998d0d86ccf4cb87d11f9581d5a6063b4585fc4828e130054527dfb9179"; + x86_64-linux = "7f95069d58e6843e6ae2b8f02619d4dcef7db4c35bd6e90b903268d83b939fba"; + i686-linux = "e952d06b3828695636de522e3af8140543ecbe02d7351dd002b0ffb9e2a09705"; + x86_64-darwin = "24dd64a66b820c9553c5e5570907da6c98e808d33fac98072b9c2a8f1659cb14"; + aarch64-darwin = "97adf13306c9b3b304d3e9ddf68f5f7fb9b79c9a1342114e3671182f3cc9e808"; + headers = "0gl30q2igr9c8sjlhyj5w57dm5navpkas5hnz9yl7sasbx66v10v"; }; } diff --git a/pkgs/development/tools/electron/generic.nix b/pkgs/development/tools/electron/generic.nix index 7fefe186c1089..7b1de8045454b 100644 --- a/pkgs/development/tools/electron/generic.nix +++ b/pkgs/development/tools/electron/generic.nix @@ -92,7 +92,8 @@ let patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath "${atomEnv.libPath}:${electronLibPath}:$out/lib/electron" \ - $out/lib/electron/electron + $out/lib/electron/electron \ + ${lib.optionalString (! lib.versionOlder version "15.0.0") "$out/lib/electron/chrome_crashpad_handler" } wrapProgram $out/lib/electron/electron \ --prefix LD_PRELOAD : ${lib.makeLibraryPath [ libXScrnSaver ]}/libXss.so.1 \ diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix index 3a8fcd67dd0c5..1af15e82110e6 100644 --- a/pkgs/development/tools/esbuild/default.nix +++ b/pkgs/development/tools/esbuild/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "esbuild"; - version = "0.14.34"; + version = "0.14.38"; src = fetchFromGitHub { owner = "evanw"; repo = "esbuild"; rev = "v${version}"; - sha256 = "sha256-TnX/vd12GStzFsCaRYOY7VyDYRw5qP4EeAa0GmWlFWc="; + sha256 = "sha256-rvMi1oC7qGidvi4zrm9KCMMntu6LJGVOGN6VmU2ivQE="; }; vendorSha256 = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs="; diff --git a/pkgs/development/tools/flyway/default.nix b/pkgs/development/tools/flyway/default.nix index c7ecf4cace2d8..3f3a2b190eb52 100644 --- a/pkgs/development/tools/flyway/default.nix +++ b/pkgs/development/tools/flyway/default.nix @@ -1,10 +1,10 @@ { lib, stdenv, fetchurl, jre_headless, makeWrapper }: stdenv.mkDerivation rec{ pname = "flyway"; - version = "8.5.1"; + version = "8.5.9"; src = fetchurl { url = "mirror://maven/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz"; - sha256 = "sha256-aD8++IhpV89hgx6pIe8CDg07ps+44si4Z6RcZD8g1Fc="; + sha256 = "sha256-AOfCYWjn8XyyFdz6BbYOysEE1TADfIk8CyPBHsQJTDE="; }; nativeBuildInputs = [ makeWrapper ]; dontBuild = true; diff --git a/pkgs/development/tools/fq/default.nix b/pkgs/development/tools/fq/default.nix index ad8c43195c9d2..add4e21be89da 100644 --- a/pkgs/development/tools/fq/default.nix +++ b/pkgs/development/tools/fq/default.nix @@ -2,7 +2,7 @@ , buildGoModule , fetchFromGitHub , fq -, testVersion +, testers }: buildGoModule rec { @@ -26,7 +26,7 @@ buildGoModule rec { subPackages = [ "." ]; - passthru.tests = testVersion { package = fq; }; + passthru.tests = testers.testVersion { package = fq; }; meta = with lib; { description = "jq for binary formats"; diff --git a/pkgs/development/tools/gojq/default.nix b/pkgs/development/tools/gojq/default.nix index d78c587cfbda8..08fe68e3a0a1f 100644 --- a/pkgs/development/tools/gojq/default.nix +++ b/pkgs/development/tools/gojq/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub, testVersion, gojq }: +{ lib, buildGoModule, fetchFromGitHub, testers, gojq }: buildGoModule rec { pname = "gojq"; @@ -15,7 +15,7 @@ buildGoModule rec { ldflags = [ "-s" "-w" ]; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = gojq; }; diff --git a/pkgs/development/tools/gomplate/default.nix b/pkgs/development/tools/gomplate/default.nix index 10f853a65237f..087c4fcf3c334 100644 --- a/pkgs/development/tools/gomplate/default.nix +++ b/pkgs/development/tools/gomplate/default.nix @@ -2,21 +2,26 @@ buildGoModule rec { pname = "gomplate"; - version = "3.9.0"; + version = "3.10.0"; owner = "hairyhenderson"; rev = "v${version}"; src = fetchFromGitHub { inherit owner rev; repo = pname; - sha256 = "sha256-liy8cqn+hWoTOHchCY1LLu23tNvz7eGA+AN0d0APjC4="; + sha256 = "0dbi9saxbwcvypxc0s656ln9zq2vysx8dhrcz488nmy6rcpqiiah"; }; - vendorSha256 = "sha256-Ph9z/Tom7O7V7yZ/On+etty+Bl653HiY/J3d3yfweeQ="; + vendorSha256 = "0rvki8ghlbbaqgnjfsbs1jswj08jfzmnz9ilynv2c6kfkx9zs108"; - # some tests require network access postPatch = '' - rm net/net_test.go + # some tests require network access + rm net/net_test.go \ + internal/tests/integration/datasources_blob_test.go \ + internal/tests/integration/datasources_git_test.go + # some tests rely on external tools we'd rather not depend on + rm internal/tests/integration/datasources_consul_test.go \ + internal/tests/integration/datasources_vault*_test.go ''; ldflags = [ diff --git a/pkgs/development/tools/gotestsum/default.nix b/pkgs/development/tools/gotestsum/default.nix index 5ab7497c9a225..1f62c61297d98 100644 --- a/pkgs/development/tools/gotestsum/default.nix +++ b/pkgs/development/tools/gotestsum/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "gotestsum"; - version = "1.7.0"; + version = "1.8.0"; src = fetchFromGitHub { owner = "gotestyourself"; repo = "gotestsum"; rev = "v${version}"; - sha256 = "sha256-nZaVi39dOytJTM69xpl+d9XoUt+yHdndPgY2ggfNeMQ="; + sha256 = "sha256-6GEkuVa6RCMv0FsTYXhhscVe3Ya78qwbj7Im9AL0fOo="; }; vendorSha256 = "sha256-wP5y8Ec6eSe+rdMEQQdX0fFTQ0HWuiyBRHxGlraZd+o="; diff --git a/pkgs/development/tools/kube-linter/default.nix b/pkgs/development/tools/kube-linter/default.nix index d234e458c1846..e982cbfed173f 100644 --- a/pkgs/development/tools/kube-linter/default.nix +++ b/pkgs/development/tools/kube-linter/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub, testVersion, kube-linter }: +{ lib, buildGoModule, fetchFromGitHub, testers, kube-linter }: buildGoModule rec { pname = "kube-linter"; @@ -17,7 +17,7 @@ buildGoModule rec { "-s" "-w" "-X golang.stackrox.io/kube-linter/internal/version.version=${version}" ]; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = kube-linter; command = "kube-linter version"; }; diff --git a/pkgs/development/tools/misc/blackfire/default.nix b/pkgs/development/tools/misc/blackfire/default.nix index 6f82e0731088d..16ea9bfabd477 100644 --- a/pkgs/development/tools/misc/blackfire/default.nix +++ b/pkgs/development/tools/misc/blackfire/default.nix @@ -2,56 +2,96 @@ , lib , fetchurl , dpkg -, autoPatchelfHook , writeShellScript , curl , jq , common-updater-scripts }: +let + version = "2.8.0"; + + sources = { + "x86_64-linux" = fetchurl { + url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_amd64.deb"; + sha256 = "0bgd4hnpaxrqw0s0y2qiak8lbskfi2cqp147vj1kbhvm8834hwhg"; + }; + "i686-linux" = fetchurl { + url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_i386.deb"; + sha256 = "06lf642m4imz8xvwipflmvjy1ih7k8bx8jpay0xawvilh14pqz8f"; + }; + "aarch64-linux" = fetchurl { + url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_arm64.deb"; + sha256 = "0rddafjgdnj3na96x83paq5z14grj46v4iv38qbkvmdllrj26a0a"; + }; + "aarch64-darwin" = fetchurl { + url = "https://packages.blackfire.io/blackfire/${version}/blackfire-darwin_arm64.pkg.tar.gz"; + sha256 = "YWiZnYdsW7dyQ0IeKeC1U00ZIdJRnzs9keeQTEU2ozA="; + }; + "x86_64-darwin" = fetchurl { + url = "https://packages.blackfire.io/blackfire/${version}/blackfire-darwin_amd64.pkg.tar.gz"; + sha256 = "391b0d239b11095bb8515cb60ee95f02d5862fcb509724081f314819967206b6"; + }; + }; +in stdenv.mkDerivation rec { pname = "blackfire"; - version = "2.5.2"; + inherit version; - src = fetchurl { - url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_amd64.deb"; - sha256 = "1RO5yabSNpIz5lWXngMOZ1S2vtnLEkXIj1ZoIinRrQ0="; - }; + src = sources.${stdenv.hostPlatform.system}; - nativeBuildInputs = [ - dpkg - autoPatchelfHook - ]; + nativeBuildInputs = lib.optionals stdenv.isLinux [ dpkg ]; dontUnpack = true; installPhase = '' runHook preInstall - dpkg-deb -x $src $out - mv $out/usr/* $out - rmdir $out/usr + if ${ lib.boolToString stdenv.isLinux } + then + dpkg-deb -x $src $out + mv $out/usr/* $out + rmdir $out/usr + + # Fix ExecStart path and replace deprecated directory creation method, + # use dynamic user. + substituteInPlace "$out/lib/systemd/system/blackfire-agent.service" \ + --replace '/usr/' "$out/" \ + --replace 'ExecStartPre=/bin/mkdir -p /var/run/blackfire' 'RuntimeDirectory=blackfire' \ + --replace 'ExecStartPre=/bin/chown blackfire: /var/run/blackfire' "" \ + --replace 'User=blackfire' 'DynamicUser=yes' \ + --replace 'PermissionsStartOnly=true' "" - # Fix ExecStart path and replace deprecated directory creation method, - # use dynamic user. - substituteInPlace "$out/lib/systemd/system/blackfire-agent.service" \ - --replace '/usr/' "$out/" \ - --replace 'ExecStartPre=/bin/mkdir -p /var/run/blackfire' 'RuntimeDirectory=blackfire' \ - --replace 'ExecStartPre=/bin/chown blackfire: /var/run/blackfire' "" \ - --replace 'User=blackfire' 'DynamicUser=yes' \ - --replace 'PermissionsStartOnly=true' "" + # Modernize socket path. + substituteInPlace "$out/etc/blackfire/agent" \ + --replace '/var/run' '/run' + else + mkdir $out - # Modernize socket path. - substituteInPlace "$out/etc/blackfire/agent" \ - --replace '/var/run' '/run' + tar -zxvf $src + + mv etc $out + mv usr/* $out + fi runHook postInstall ''; passthru = { updateScript = writeShellScript "update-${pname}" '' + set -o errexit export PATH="${lib.makeBinPath [ curl jq common-updater-scripts ]}" - update-source-version "$UPDATE_NIX_ATTR_PATH" "$(curl https://blackfire.io/api/v1/releases | jq .cli --raw-output)" + NEW_VERSION=$(curl -s https://blackfire.io/api/v1/releases | jq .cli --raw-output) + + if [[ "${version}" = "$NEW_VERSION" ]]; then + echo "The new version same as the old version." + exit 0 + fi + + for platform in ${lib.concatStringsSep " " meta.platforms}; do + update-source-version "blackfire" "0" "${lib.fakeSha256}" "--system=$platform" + update-source-version "blackfire" "$NEW_VERSION" "--system=$platform" --ignore-same-hash + done ''; }; @@ -59,7 +99,7 @@ stdenv.mkDerivation rec { description = "Blackfire Profiler agent and client"; homepage = "https://blackfire.io/"; license = licenses.unfree; - maintainers = with maintainers; [ jtojnar ]; - platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ jtojnar shyim ]; + platforms = [ "x86_64-linux" "aarch64-linux" "i686-linux" "x86_64-darwin" "aarch64-darwin" ]; }; } diff --git a/pkgs/development/tools/misc/circleci-cli/default.nix b/pkgs/development/tools/misc/circleci-cli/default.nix index 4aa1b8c0b91a0..19984886207c7 100644 --- a/pkgs/development/tools/misc/circleci-cli/default.nix +++ b/pkgs/development/tools/misc/circleci-cli/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "circleci-cli"; - version = "0.1.17110"; + version = "0.1.17142"; src = fetchFromGitHub { owner = "CircleCI-Public"; repo = pname; rev = "v${version}"; - sha256 = "sha256-zCX6LWIPiHDOnSBE+BeePjeQ1evTWhLY0Pqk7NmMMlc="; + sha256 = "sha256-69GGJfnOHry+N3hKZapKz6eFSerqIHt4wRAhm/q/SOQ="; }; vendorSha256 = "sha256-7u2y1yBVpXf+D19tslD4s3B1KmABl4OWNzzLaBNL/2U="; diff --git a/pkgs/development/tools/misc/patchelf/0.13.nix b/pkgs/development/tools/misc/patchelf/0.13.nix new file mode 100644 index 0000000000000..0111a4b065c47 --- /dev/null +++ b/pkgs/development/tools/misc/patchelf/0.13.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, patchelf }: + +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + +stdenv.mkDerivation rec { + pname = "patchelf"; + version = "0.13.1"; + + src = fetchurl { + url = "https://github.com/NixOS/${pname}/releases/download/${version}/${pname}-${version}.tar.bz2"; + sha256 = "sha256-OeiuzNdJXVTfCU0rSnwIAQ/3d3A2+q8k8o4Hd30VmOI="; + }; + + setupHook = [ ./setup-hook.sh ]; + + # fails 8 out of 24 tests, problems when loading libc.so.6 + doCheck = stdenv.name == "stdenv-linux"; + + inherit (patchelf) meta; +} diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix index 6919cd0f23fbe..03e3d003ad1e8 100644 --- a/pkgs/development/tools/misc/patchelf/default.nix +++ b/pkgs/development/tools/misc/patchelf/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/NixOS/patchelf"; - license = licenses.gpl3; + license = licenses.gpl3Plus; description = "A small utility to modify the dynamic linker and RPATH of ELF executables"; maintainers = [ maintainers.eelco ]; platforms = platforms.all; diff --git a/pkgs/development/tools/misc/saleae-logic-2/default.nix b/pkgs/development/tools/misc/saleae-logic-2/default.nix index 3b9ae267d70a1..f90f6b067b7ea 100644 --- a/pkgs/development/tools/misc/saleae-logic-2/default.nix +++ b/pkgs/development/tools/misc/saleae-logic-2/default.nix @@ -1,10 +1,10 @@ { lib, fetchurl, makeDesktopItem, appimageTools, gtk3 }: let name = "saleae-logic-2"; - version = "2.3.47"; + version = "2.3.50"; src = fetchurl { url = "https://downloads.saleae.com/logic2/Logic-${version}-master.AppImage"; - sha256 = "sha256-6/FtdupveKnbAK6LizmJ6BokE0kXgUaMz0sOWi+Fq8k="; + sha256 = "sha256-jkdFdgiSP2ssrUajl85FA4E21Qi6BUgrjKFdlBYyG7c="; }; desktopItem = makeDesktopItem { inherit name; diff --git a/pkgs/development/tools/mold/default.nix b/pkgs/development/tools/mold/default.nix index 491afd68bbb94..3a3563b2481c1 100644 --- a/pkgs/development/tools/mold/default.nix +++ b/pkgs/development/tools/mold/default.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "mold"; - version = "1.1.1"; + version = "1.2.0"; src = fetchFromGitHub { owner = "rui314"; repo = pname; rev = "v${version}"; - sha256 = "sha256-+uPVt3w3A25JFyENxqhAcjZMRzSowi2uHwGjkeQP8Og="; + sha256 = "sha256-KmFNe22XltSrxlINOH/3w79P1CGHwPkxKVyKMD5OcCc="; }; buildInputs = [ zlib openssl ]; diff --git a/pkgs/development/tools/mysql-shell/default.nix b/pkgs/development/tools/mysql-shell/default.nix new file mode 100644 index 0000000000000..caa790e9fd497 --- /dev/null +++ b/pkgs/development/tools/mysql-shell/default.nix @@ -0,0 +1,155 @@ +{ lib +, stdenv +, pkg-config +, cmake +, fetchurl +, git +, bison +, openssl +, protobuf +, curl +, zlib +, libssh +, zstd +, lz4 +, boost +, readline +, libtirpc +, rpcsvc-proto +, libedit +, libevent +, icu +, re2 +, ncurses +, libfido2 +, v8 +, python3 +, cyrus_sasl +, openldap +, numactl +, cctools +, CoreServices +, developer_cmds +, DarwinTools +, testVersion +, mysql-shell +}: + +let + pythonDeps = [ + python3.pkgs.certifi + python3.pkgs.paramiko + ]; + site = '' + + import sys; sys.path.extend([${lib.concatStringsSep ", " (map (x: ''"${x}/${python3.sitePackages}"'') pythonDeps)}]) + ''; +in +stdenv.mkDerivation rec{ + pname = "mysql-shell"; + version = "8.0.28"; + + srcs = [ + (fetchurl { + url = "https://cdn.mysql.com//Downloads/MySQL-Shell/mysql-shell-${version}-src.tar.gz"; + sha256 = "sha256-xm2sepVgI0MPs25vu+BcRQeksaVhHcQlymreN1myu6c="; + }) + (fetchurl { + url = "https://dev.mysql.com/get/Downloads/MySQL-${lib.versions.majorMinor version}/mysql-${version}.tar.gz"; + sha256 = "sha256-2Gk2nrbeTyuy2407Mbe3OWjjVuX/xDVPS5ZlirHkiyI="; + }) + ]; + + sourceRoot = "mysql-shell-${version}-src"; + + postPatch = '' + patch ../mysql-${version}/cmake/fido2.cmake ${./fido2.cmake.patch} + + substituteInPlace ../mysql-${version}/cmake/libutils.cmake --replace /usr/bin/libtool libtool + substituteInPlace ../mysql-${version}/cmake/os/Darwin.cmake --replace /usr/bin/libtool libtool + + substituteInPlace cmake/libutils.cmake --replace /usr/bin/libtool libtool + + # For python dependencies + echo '${site}' >> python/packages/mysqlsh/__init__.py + ''; + + nativeBuildInputs = [ + pkg-config + cmake + git + bison + ] ++ lib.optionals (!stdenv.isDarwin) [ rpcsvc-proto ]; + + buildInputs = [ + boost + curl + libedit + libssh + lz4 + openssl + protobuf + readline + zlib + zstd + libevent + icu + re2 + ncurses + libfido2 + cyrus_sasl + openldap + v8 + ] ++ pythonDeps ++ lib.optionals stdenv.isLinux [ + numactl + libtirpc + ] ++ lib.optionals stdenv.isDarwin [ + cctools + CoreServices + developer_cmds + DarwinTools + ]; + + preConfigure = '' + # Build MySQL + cmake -DWITH_BOOST=system \ + -DWITH_SYSTEM_LIBS=ON \ + -DWITH_ROUTER=OFF \ + -DWITH_UNIT_TESTS=OFF \ + -DFORCE_UNSUPPORTED_COMPILER=1 \ + -S ../mysql-${version} -B ../mysql-${version}/build + + cmake --build ../mysql-${version}/build --parallel ''${NIX_BUILD_CORES:-1} --target mysqlclient mysqlxclient + + # Get libv8_monolith + mkdir -p ../v8/lib + ln -s ${v8}/lib/libv8.a ../v8/lib/libv8_monolith.a + ''; + + cmakeFlags = [ + "-DMYSQL_SOURCE_DIR=../mysql-${version}" + "-DMYSQL_BUILD_DIR=../mysql-${version}/build" + "-DMYSQL_CONFIG_EXECUTABLE=../../mysql-${version}/build/scripts/mysql_config" + "-DWITH_ZSTD=system" + "-DWITH_LZ4=system" + "-DWITH_ZLIB=system" + "-DWITH_PROTOBUF=${protobuf}" + "-DHAVE_V8=1" + "-DV8_INCLUDE_DIR=${v8}/include" + "-DV8_LIB_DIR=../v8/lib" + "-DHAVE_PYTHON=1" + ]; + + CXXFLAGS = [ + "-DV8_COMPRESS_POINTERS=1" + "-DV8_31BIT_SMIS_ON_64BIT_ARCH=1" + ]; + + meta = with lib; { + homepage = "https://dev.mysql.com/doc/mysql-shell/${lib.versions.majorMinor version}/en/"; + description = "A new command line scriptable shell for MySQL"; + license = licenses.gpl2; + maintainers = with maintainers; [ aaronjheng ]; + mainProgram = "mysqlsh"; + }; +} diff --git a/pkgs/development/tools/mysql-shell/fido2.cmake.patch b/pkgs/development/tools/mysql-shell/fido2.cmake.patch new file mode 100644 index 0000000000000..df6005cca1a7b --- /dev/null +++ b/pkgs/development/tools/mysql-shell/fido2.cmake.patch @@ -0,0 +1,25 @@ +diff --git a/cmake/fido2.cmake b/cmake/fido2.cmake +index c20e6e75c0d..f2d5cbd8430 100644 +--- a/cmake/fido2.cmake ++++ b/cmake/fido2.cmake +@@ -30,19 +30,8 @@ MACRO(FIND_FIDO_VERSION) + IF(WITH_FIDO STREQUAL "bundled") + SET(FIDO_VERSION "1.7.0") + ELSE() +- # This does not set any version information: +- # PKG_CHECK_MODULES(SYSTEM_FIDO fido2) +- + MYSQL_CHECK_PKGCONFIG() +- EXECUTE_PROCESS( +- COMMAND ${MY_PKG_CONFIG_EXECUTABLE} --modversion libfido2 +- OUTPUT_VARIABLE MY_FIDO_MODVERSION +- OUTPUT_STRIP_TRAILING_WHITESPACE +- RESULT_VARIABLE MY_MODVERSION_RESULT +- ) +- IF(MY_MODVERSION_RESULT EQUAL 0) +- SET(FIDO_VERSION ${MY_FIDO_MODVERSION}) +- ENDIF() ++ PKG_CHECK_MODULES(FIDO libfido2) + ENDIF() + MESSAGE(STATUS "FIDO_VERSION (${WITH_FIDO}) is ${FIDO_VERSION}") + ENDMACRO(FIND_FIDO_VERSION) diff --git a/pkgs/development/tools/ocaml/dune/3.nix b/pkgs/development/tools/ocaml/dune/3.nix index a43c88671f85b..de661948b9c30 100644 --- a/pkgs/development/tools/ocaml/dune/3.nix +++ b/pkgs/development/tools/ocaml/dune/3.nix @@ -6,11 +6,11 @@ else stdenv.mkDerivation rec { pname = "dune"; - version = "3.1.0"; + version = "3.1.1"; src = fetchurl { url = "https://github.com/ocaml/dune/releases/download/${version}/fiber-${version}.tbz"; - sha256 = "sha256-B31SCwhFxW4Q7FhW18ZuvnofG+pKMCfRgvRLJSlRnYE="; + sha256 = "sha256-AkhEVKsbmYhAx4c1CexrIwHrkmYsEy749fT1abNaa2A="; }; nativeBuildInputs = [ ocaml findlib ]; diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix index b7ae694c9181b..c5820018bb6b2 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix @@ -70,6 +70,7 @@ tree-sitter-ruby = lib.importJSON ./tree-sitter-ruby.json; tree-sitter-rust = lib.importJSON ./tree-sitter-rust.json; tree-sitter-scala = lib.importJSON ./tree-sitter-scala.json; + tree-sitter-scheme = lib.importJSON ./tree-sitter-scheme.json; tree-sitter-scss = lib.importJSON ./tree-sitter-scss.json; tree-sitter-sparql = lib.importJSON ./tree-sitter-sparql.json; tree-sitter-supercollider = lib.importJSON ./tree-sitter-supercollider.json; diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json new file mode 100644 index 0000000000000..d15067e354783 --- /dev/null +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json @@ -0,0 +1,11 @@ +{ + "url": "https://github.com/6cdh/tree-sitter-scheme", + "rev": "a1d2233f4e5498bb305858323c93525e1dd165c0", + "date": "2022-04-07T21:19:08+08:00", + "path": "/nix/store/ljq285gnl26w8jg1ahdhxk2xa4l2s3vn-tree-sitter-scheme", + "sha256": "0ggh2jpgnnakhsry12m31f5ranjhgkkcxp5jhsqxw6ac778n28h9", + "fetchLFS": false, + "fetchSubmodules": false, + "deepClone": false, + "leaveDotGit": false +} diff --git a/pkgs/development/tools/parsing/tree-sitter/update.nix b/pkgs/development/tools/parsing/tree-sitter/update.nix index 961a5e96e0b59..35fa30779d3c2 100644 --- a/pkgs/development/tools/parsing/tree-sitter/update.nix +++ b/pkgs/development/tools/parsing/tree-sitter/update.nix @@ -312,6 +312,10 @@ let orga = "MichaHoffmann"; repo = "tree-sitter-hcl"; }; + "tree-sitter-scheme" = { + orga = "6cdh"; + repo = "tree-sitter-scheme"; + }; }; allGrammars = diff --git a/pkgs/development/tools/quick-lint-js/default.nix b/pkgs/development/tools/quick-lint-js/default.nix index 47151dd1e6623..43a7fa494ba47 100644 --- a/pkgs/development/tools/quick-lint-js/default.nix +++ b/pkgs/development/tools/quick-lint-js/default.nix @@ -1,4 +1,4 @@ -{ cmake, fetchFromGitHub, lib, ninja, stdenv, testVersion, quick-lint-js }: +{ cmake, fetchFromGitHub, lib, ninja, stdenv, testers, quick-lint-js }: stdenv.mkDerivation rec { @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { doCheck = true; passthru.tests = { - version = testVersion { package = quick-lint-js; }; + version = testers.testVersion { package = quick-lint-js; }; }; meta = with lib; { diff --git a/pkgs/development/tools/ronn/Gemfile b/pkgs/development/tools/ronn/Gemfile index 64f1df743abc2..0643ca6ddfdf9 100644 --- a/pkgs/development/tools/ronn/Gemfile +++ b/pkgs/development/tools/ronn/Gemfile @@ -1,3 +1,3 @@ source "https://rubygems.org" -gem "ronn" +gem "ronn-ng" diff --git a/pkgs/development/tools/ronn/Gemfile.lock b/pkgs/development/tools/ronn/Gemfile.lock index ff71ebd7a01c2..a7f76ffd78764 100644 --- a/pkgs/development/tools/ronn/Gemfile.lock +++ b/pkgs/development/tools/ronn/Gemfile.lock @@ -1,19 +1,25 @@ GEM remote: https://rubygems.org/ specs: - hpricot (0.8.6) - mustache (1.0.3) - rdiscount (2.2.0.1) - ronn (0.7.3) - hpricot (>= 0.8.2) - mustache (>= 0.7.0) - rdiscount (>= 1.5.8) + kramdown (2.3.2) + rexml + mini_portile2 (2.8.0) + mustache (0.99.8) + nokogiri (1.13.4) + mini_portile2 (~> 2.8.0) + racc (~> 1.4) + racc (1.6.0) + rexml (3.2.5) + ronn-ng (0.9.1) + kramdown (~> 2.1) + mustache (~> 0.7, >= 0.7.0) + nokogiri (~> 1.9, >= 1.9.0) PLATFORMS ruby DEPENDENCIES - ronn + ronn-ng BUNDLED WITH - 2.1.4 + 2.3.9 diff --git a/pkgs/development/tools/ronn/default.nix b/pkgs/development/tools/ronn/default.nix index 4d06db77a6924..c3f0d26318480 100644 --- a/pkgs/development/tools/ronn/default.nix +++ b/pkgs/development/tools/ronn/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "ronn"; - version = env.gems.ronn.version; + version = env.gems.ronn-ng.version; env = bundlerEnv { name = "ronn-gems"; @@ -11,12 +11,18 @@ stdenv.mkDerivation rec { dontUnpack = true; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ + makeWrapper + ]; installPhase = '' + runHook preInstall + mkdir -p $out/bin makeWrapper ${env}/bin/ronn $out/bin/ronn \ --set PATH ${groff}/bin + + runHook postInstall ''; passthru.updateScript = bundlerUpdateScript "ronn"; @@ -25,7 +31,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "markdown-based tool for building manpages"; - homepage = "https://rtomayko.github.io/ronn/"; + homepage = "https://github.com/apjanke/ronn-ng"; license = licenses.mit; maintainers = with maintainers; [ zimbatm nicknovitski ]; platforms = env.ruby.meta.platforms; diff --git a/pkgs/development/tools/ronn/gemset.nix b/pkgs/development/tools/ronn/gemset.nix index 534741a699381..04703a84a3615 100644 --- a/pkgs/development/tools/ronn/gemset.nix +++ b/pkgs/development/tools/ronn/gemset.nix @@ -1,34 +1,75 @@ { - hpricot = { + kramdown = { + dependencies = ["rexml"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1jn8x9ch79gqmnzgyz78kppavjh5lqx0y0r6frykga2b86rz9s6z"; + sha256 = "0757lqaq593z8hzdv98nai73ag384dkk7jgj3mcq2r6ix7130ifb"; type = "gem"; }; - version = "0.8.6"; + version = "2.3.2"; + }; + mini_portile2 = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rapl1sfmfi3bfr68da4ca16yhc0pp93vjwkj7y3rdqrzy3b41hy"; + type = "gem"; + }; + version = "2.8.0"; }; mustache = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1g5hplm0k06vwxwqzwn1mq5bd02yp0h3rym4zwzw26aqi7drcsl2"; + type = "gem"; + }; + version = "0.99.8"; + }; + nokogiri = { + dependencies = ["mini_portile2" "racc"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1g43ii497cwdqhfnaxfl500bq5yfc5hfv5df1lvf6wcjnd708ihd"; + type = "gem"; + }; + version = "1.13.4"; + }; + racc = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1v4pdvgvs8gw0zbh5sy3l308amlsjg8sdfrkml0g0m0wwj4x7naf"; + sha256 = "0la56m0z26j3mfn1a9lf2l03qx1xifanndf9p3vx1azf6sqy7v9d"; type = "gem"; }; - version = "1.0.3"; + version = "1.6.0"; }; - rdiscount = { + rexml = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1arvk3k06prxasq1djbj065ixar4zl171340g7wr1ww4gj9makx3"; + sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; type = "gem"; }; - version = "2.2.0.1"; + version = "3.2.5"; }; - ronn = { + ronn-ng = { + dependencies = ["kramdown" "mustache" "nokogiri"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07plsxxfx5bxdk72ii9za6km0ziqlq8jh3bicr4774dalga6zpw2"; + sha256 = "1slxfg57cabmh98fw507z4ka6lwq1pvbrqwppflxw6700pi8ykfh"; type = "gem"; }; - version = "0.7.3"; + version = "0.9.1"; }; } diff --git a/pkgs/development/tools/rover/default.nix b/pkgs/development/tools/rover/default.nix index 7232089ee9979..5144ecb38e888 100644 --- a/pkgs/development/tools/rover/default.nix +++ b/pkgs/development/tools/rover/default.nix @@ -3,26 +3,20 @@ , fetchFromGitHub , perl , rustPlatform -, librusty_v8 ? callPackage ./librusty_v8.nix { } }: rustPlatform.buildRustPackage rec { pname = "rover"; - version = "0.4.8"; + version = "0.5.1"; src = fetchFromGitHub { owner = "apollographql"; repo = pname; rev = "v${version}"; - sha256 = "sha256-9o2bGa9vxN7EprKgsy9TI7AFmwjo1OT1pDyiLierTq0="; + sha256 = "sha256-wBHMND/xpm9o7pkWMUj9lEtEkzy3mX+E4Dt7qDn6auY="; }; - cargoSha256 = "sha256-4oNuyZ1xNK2jP9QFEcthCjEQRyvFykd5N0j5KCXrzVY="; - - # The v8 package will try to download a `librusty_v8.a` release at build time - # to our read-only filesystem. To avoid this we pre-download the file and - # export it via RUSTY_V8_ARCHIVE - RUSTY_V8_ARCHIVE = librusty_v8; + cargoSha256 = "sha256-n0R2MdAYGsOsYt4x1N1KdGvBZYTALyhSzCGW29bnFU4="; nativeBuildInputs = [ perl diff --git a/pkgs/development/tools/rover/librusty_v8.nix b/pkgs/development/tools/rover/librusty_v8.nix deleted file mode 100644 index 3dcb1f95acdd3..0000000000000 --- a/pkgs/development/tools/rover/librusty_v8.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ rust, stdenv, fetchurl }: - -let - arch = rust.toRustTarget stdenv.hostPlatform; - fetch_librusty_v8 = args: fetchurl { - name = "librusty_v8-${args.version}"; - url = "https://github.com/denoland/rusty_v8/releases/download/v${args.version}/librusty_v8_release_${arch}.a"; - sha256 = args.shas.${stdenv.hostPlatform.system}; - meta = { inherit (args) version; }; - }; -in -fetch_librusty_v8 { - version = "0.38.1"; - shas = { - x86_64-linux = "sha256-vRkb5ZrIOYSKa84UbsJD+Oua0wve7f1Yf3kMg/kkYSY="; - }; -} diff --git a/pkgs/development/tools/rover/schema/etag.id b/pkgs/development/tools/rover/schema/etag.id index 369872c3115eb..a8b9f0cece3ef 100644 --- a/pkgs/development/tools/rover/schema/etag.id +++ b/pkgs/development/tools/rover/schema/etag.id @@ -1 +1 @@ -1bdcf8916afc3cea660add457724dddd70154904f4e360e15da27fa7d5c43cd0 +2694c7b893d44c9ad8f5d7161116deb9985a6bd05e8e0cdcd7379947430e6f89 diff --git a/pkgs/development/tools/rover/schema/schema.graphql b/pkgs/development/tools/rover/schema/schema.graphql index 58198f7e181d5..b20b21a91e419 100644 --- a/pkgs/development/tools/rover/schema/schema.graphql +++ b/pkgs/development/tools/rover/schema/schema.graphql @@ -7,7 +7,7 @@ argument is used for bandwidth reduction, and should be the size of the image as application. Apollo's media server will downscale larger images to at least the requested size, but this will not happen for third-party media servers.""" avatarUrl(size:Int!=40):String billingInfo:BillingInfo companyUrl:String currentBillingMonth:BillingMonth currentPlan:BillingPlan!currentPlanV2:BillingPlanV2!currentSubscription:BillingSubscription currentSubscriptionV2:BillingSubscriptionV2 experimentalFeatures:AccountExperimentalFeatures!expiredTrialSubscription:BillingSubscription expiredTrialSubscriptionV2:BillingSubscriptionV2 graphIDAvailable(id:ID!):Boolean!hasBeenOnTrial:Boolean!hasBeenOnTrialV2:Boolean!"""Globally unique identifier, which isn't guaranteed stable (can be changed by administrators).""" id:ID!"""Internal immutable identifier for the account. Only visible to Apollo admins (because it really shouldn't be used in normal client apps).""" internalID:ID!invitations(includeAccepted:Boolean!=false):[AccountInvitation!]invoices:[Invoice!]invoicesV2:[InvoiceV2!]!isOnExpiredTrial:Boolean!isOnTrial:Boolean!legacyIsOnTrial:Boolean!memberships:[AccountMembership!]"""Name of the organization, which can change over time and isn't unique.""" name:String!provisionedAt:Timestamp recurlyEmail:String """Returns a different registry related stats pertaining to this account.""" registryStatsWindow(from:Timestamp!resolution:Resolution to:Timestamp):RegistryStatsWindow requests(from:Timestamp!to:Timestamp!):Long requestsInCurrentBillingPeriod:Long roles:AccountRoles """How many seats would be included in your next bill, as best estimated today""" seatCountForNextBill:Int seats:Seats secondaryIDs:[ID!]!"""Graphs belonging to this organization.""" services(includeDeleted:Boolean):[Service!]!"""If non-null, this organization tracks its members through an upstream, eg PingOne; -invitations are not possible on SSO-synchronized account.""" sso:OrganizationSSO state:AccountState """A list of reusable invitations for the organization.""" staticInvitations:[OrganizationInviteLink!]stats(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):AccountStatsWindow!@deprecated(reason:"use Account.statsWindow instead")statsWindow(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):AccountStatsWindow subscriptions:[BillingSubscription!]subscriptionsV2:[BillingSubscriptionV2!]!"""Gets a ticket for this org, by id""" ticket(id:ID!):ZendeskTicket """List of Zendesk tickets submitted for this org""" tickets:[ZendeskTicket!]}"""Columns of AccountBillingUsageStats.""" enum AccountBillingUsageStatsColumn{OPERATION_COUNT OPERATION_COUNT_PROVIDED_EXPLICITLY SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountBillingUsageStatsDimensions{operationCountProvidedExplicitly:String schemaTag:String serviceId:ID}"""Filter for data in AccountBillingUsageStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountBillingUsageStatsFilter{and:[AccountBillingUsageStatsFilter!]in:AccountBillingUsageStatsFilterIn not:AccountBillingUsageStatsFilter """Selects rows whose operationCountProvidedExplicitly dimension equals the given value if not null. To query for the null value, use {in: {operationCountProvidedExplicitly: [null]}} instead.""" operationCountProvidedExplicitly:String or:[AccountBillingUsageStatsFilter!]"""Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountBillingUsageStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountBillingUsageStatsFilterIn{"""Selects rows whose operationCountProvidedExplicitly dimension is in the given list. A null value in the list means a row with null for that dimension.""" operationCountProvidedExplicitly:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountBillingUsageStatsMetrics{operationCount:Long!}input AccountBillingUsageStatsOrderBySpec{column:AccountBillingUsageStatsColumn!direction:Ordering!}type AccountBillingUsageStatsRecord{"""Dimensions of AccountBillingUsageStats that can be grouped by.""" groupBy:AccountBillingUsageStatsDimensions!"""Metrics of AccountBillingUsageStats that can be aggregated over.""" metrics:AccountBillingUsageStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountChecksStatsMetrics{totalFailedChecks:Long!totalSuccessfulChecks:Long!}type AccountChecksStatsRecord{id:ID!metrics:AccountChecksStatsMetrics!timestamp:Timestamp!}"""Columns of AccountEdgeServerInfos.""" enum AccountEdgeServerInfosColumn{BOOT_ID EXECUTABLE_SCHEMA_ID LIBRARY_VERSION PLATFORM RUNTIME_VERSION SCHEMA_TAG SERVER_ID SERVICE_ID TIMESTAMP USER_VERSION}type AccountEdgeServerInfosDimensions{bootId:ID executableSchemaId:ID libraryVersion:String platform:String runtimeVersion:String schemaTag:String serverId:ID serviceId:ID userVersion:String}"""Filter for data in AccountEdgeServerInfos. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountEdgeServerInfosFilter{and:[AccountEdgeServerInfosFilter!]"""Selects rows whose bootId dimension equals the given value if not null. To query for the null value, use {in: {bootId: [null]}} instead.""" bootId:ID """Selects rows whose executableSchemaId dimension equals the given value if not null. To query for the null value, use {in: {executableSchemaId: [null]}} instead.""" executableSchemaId:ID in:AccountEdgeServerInfosFilterIn """Selects rows whose libraryVersion dimension equals the given value if not null. To query for the null value, use {in: {libraryVersion: [null]}} instead.""" libraryVersion:String not:AccountEdgeServerInfosFilter or:[AccountEdgeServerInfosFilter!]"""Selects rows whose platform dimension equals the given value if not null. To query for the null value, use {in: {platform: [null]}} instead.""" platform:String """Selects rows whose runtimeVersion dimension equals the given value if not null. To query for the null value, use {in: {runtimeVersion: [null]}} instead.""" runtimeVersion:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serverId dimension equals the given value if not null. To query for the null value, use {in: {serverId: [null]}} instead.""" serverId:ID """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose userVersion dimension equals the given value if not null. To query for the null value, use {in: {userVersion: [null]}} instead.""" userVersion:String}"""Filter for data in AccountEdgeServerInfos. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountEdgeServerInfosFilterIn{"""Selects rows whose bootId dimension is in the given list. A null value in the list means a row with null for that dimension.""" bootId:[ID]"""Selects rows whose executableSchemaId dimension is in the given list. A null value in the list means a row with null for that dimension.""" executableSchemaId:[ID]"""Selects rows whose libraryVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" libraryVersion:[String]"""Selects rows whose platform dimension is in the given list. A null value in the list means a row with null for that dimension.""" platform:[String]"""Selects rows whose runtimeVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" runtimeVersion:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serverId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serverId:[ID]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose userVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" userVersion:[String]}input AccountEdgeServerInfosOrderBySpec{column:AccountEdgeServerInfosColumn!direction:Ordering!}type AccountEdgeServerInfosRecord{"""Dimensions of AccountEdgeServerInfos that can be grouped by.""" groupBy:AccountEdgeServerInfosDimensions!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountErrorStats.""" enum AccountErrorStatsColumn{CLIENT_NAME CLIENT_VERSION ERRORS_COUNT PATH QUERY_ID QUERY_NAME REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountErrorStatsDimensions{clientName:String clientVersion:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountErrorStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountErrorStatsFilter{and:[AccountErrorStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:AccountErrorStatsFilterIn not:AccountErrorStatsFilter or:[AccountErrorStatsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountErrorStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountErrorStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountErrorStatsMetrics{errorsCount:Long!requestsWithErrorsCount:Long!}input AccountErrorStatsOrderBySpec{column:AccountErrorStatsColumn!direction:Ordering!}type AccountErrorStatsRecord{"""Dimensions of AccountErrorStats that can be grouped by.""" groupBy:AccountErrorStatsDimensions!"""Metrics of AccountErrorStats that can be aggregated over.""" metrics:AccountErrorStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountExperimentalFeatures{auditLogs:Boolean!championDashboard:Boolean!derivedLaunches:Boolean!federation2Preview:Boolean!preRequestPreview:Boolean!publicVariants:Boolean!variantHomepage:Boolean!webhooksPreview:Boolean!}"""Columns of AccountFieldLatencies.""" enum AccountFieldLatenciesColumn{FIELD_HISTOGRAM FIELD_NAME PARENT_TYPE SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountFieldLatenciesDimensions{field:String fieldName:String parentType:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountFieldLatencies. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountFieldLatenciesFilter{and:[AccountFieldLatenciesFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:AccountFieldLatenciesFilterIn not:AccountFieldLatenciesFilter or:[AccountFieldLatenciesFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountFieldLatencies. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountFieldLatenciesFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountFieldLatenciesMetrics{fieldHistogram:DurationHistogram!}input AccountFieldLatenciesOrderBySpec{column:AccountFieldLatenciesColumn!direction:Ordering!}type AccountFieldLatenciesRecord{"""Dimensions of AccountFieldLatencies that can be grouped by.""" groupBy:AccountFieldLatenciesDimensions!"""Metrics of AccountFieldLatencies that can be aggregated over.""" metrics:AccountFieldLatenciesMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountFieldUsage.""" enum AccountFieldUsageColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT EXECUTION_COUNT FIELD_NAME PARENT_TYPE QUERY_ID QUERY_NAME REFERENCING_OPERATION_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountFieldUsageDimensions{clientName:String clientVersion:String fieldName:String parentType:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountFieldUsage. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountFieldUsageFilter{and:[AccountFieldUsageFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:AccountFieldUsageFilterIn not:AccountFieldUsageFilter or:[AccountFieldUsageFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountFieldUsage. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountFieldUsageFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountFieldUsageMetrics{estimatedExecutionCount:Long!executionCount:Long!referencingOperationCount:Long!}input AccountFieldUsageOrderBySpec{column:AccountFieldUsageColumn!direction:Ordering!}type AccountFieldUsageRecord{"""Dimensions of AccountFieldUsage that can be grouped by.""" groupBy:AccountFieldUsageDimensions!"""Metrics of AccountFieldUsage that can be aggregated over.""" metrics:AccountFieldUsageMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountInvitation{"""An accepted invitation cannot be used anymore""" acceptedAt:Timestamp """Who accepted the invitation""" acceptedBy:User """Time the invitation was created""" createdAt:Timestamp!"""Who created the invitation""" createdBy:User email:String!id:ID!"""Last time we sent an email for the invitation""" lastSentAt:Timestamp """Access role for the invitee""" role:UserPermission!}type AccountMembership{account:Account!createdAt:Timestamp!"""If this membership is a free seat (based on role)""" free:Boolean permission:UserPermission!user:User!}type AccountMutation{auditExport(id:String!):AuditLogExportMutation """Cancel a pending change from an annual team subscription to a monthly team subscription when the current period expires.""" cancelConvertAnnualTeamSubscriptionToMonthlyAtNextPeriod:Account """Cancel account subscriptions, subscriptions will remain active until the end of the paid period""" cancelSubscriptions:Account """Changes an annual team subscription to a monthly team subscription when the current period expires.""" convertAnnualTeamSubscriptionToMonthlyAtNextPeriod:Account """Changes a monthly team subscription to an annual team subscription.""" convertMonthlyTeamSubscriptionToAnnual:Account createStaticInvitation(role:UserPermission!):OrganizationInviteLink """Delete the account's avatar. Requires Account.canUpdateAvatar to be true.""" deleteAvatar:AvatarDeleteError """Acknowledge that a trial has expired and return to community""" dismissExpiredTrial:Account """Apollo admins only: extend an ongoing trial""" extendTrial(to:Timestamp!):Account """Hard delete an account and all associated services""" hardDelete:Void """Send an invitation to join the account by E-mail""" invite(email:String!role:UserPermission):AccountInvitation """Reactivate a canceled current subscription""" reactivateCurrentSubscription:Account """Refresh billing information from third-party billing service""" refreshBilling:Void """Delete an invitation""" removeInvitation(id:ID):Void """Remove a member of the account""" removeMember(id:ID!):Account requestAuditExport(actors:[ActorInput!]from:Timestamp!graphIds:[String!]to:Timestamp!):Account """Send a new E-mail for an existing invitation""" resendInvitation(id:ID):AccountInvitation revokeStaticInvitation(token:String!):OrganizationInviteLink """Apollo admins only: set the billing plan to an arbitrary plan""" setPlan(id:ID!):Void """Start a new team subscription with the given billing period""" startTeamSubscription(billingPeriod:BillingPeriod!):Account """Start a team trial""" startTrial:Account """This is called by the form shown to users after they cancel their team subscription.""" submitTeamCancellationFeedback(feedback:String!):Void """Apollo admins only: terminate any ongoing subscriptions in the account, without refunds""" terminateSubscriptions:Account """Update the billing address for a Recurly token""" updateBillingAddress(billingAddress:BillingAddressInput!):Account """Update the billing information from a Recurly token""" updateBillingInfo(token:String!):Void updateCompanyUrl(companyUrl:String):Account """Set the E-mail address of the account, used notably for billing""" updateEmail(email:String!):Void """Update the account ID""" updateID(id:ID!):Account """Update the company name""" updateName(name:String!):Void """Apollo admins only: enable or disable an account for PingOne SSO login""" updatePingOneSSOIDPID(idpid:String):Account """Updates the role assigned to new SSO users.""" updateSSODefaultRole(role:UserPermission!):OrganizationSSO """A (currently) internal to Apollo mutation to update a user's role within an organization""" updateUserPermission(permission:UserPermission!userID:ID!):User}"""Columns of AccountOperationCheckStats.""" enum AccountOperationCheckStatsColumn{CACHED_REQUESTS_COUNT CLIENT_NAME CLIENT_VERSION QUERY_ID QUERY_NAME SCHEMA_TAG SERVICE_ID TIMESTAMP UNCACHED_REQUESTS_COUNT}type AccountOperationCheckStatsDimensions{clientName:String clientVersion:String queryId:ID queryName:String schemaTag:String serviceId:ID}"""Filter for data in AccountOperationCheckStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountOperationCheckStatsFilter{and:[AccountOperationCheckStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:AccountOperationCheckStatsFilterIn not:AccountOperationCheckStatsFilter or:[AccountOperationCheckStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountOperationCheckStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountOperationCheckStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountOperationCheckStatsMetrics{cachedRequestsCount:Long!uncachedRequestsCount:Long!}input AccountOperationCheckStatsOrderBySpec{column:AccountOperationCheckStatsColumn!direction:Ordering!}type AccountOperationCheckStatsRecord{"""Dimensions of AccountOperationCheckStats that can be grouped by.""" groupBy:AccountOperationCheckStatsDimensions!"""Metrics of AccountOperationCheckStats that can be aggregated over.""" metrics:AccountOperationCheckStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountPublishesStatsMetrics{totalPublishes:Long!}type AccountPublishesStatsRecord{id:ID!metrics:AccountPublishesStatsMetrics!timestamp:Timestamp!}"""Columns of AccountQueryStats.""" enum AccountQueryStatsColumn{CACHED_HISTOGRAM CACHED_REQUESTS_COUNT CACHE_TTL_HISTOGRAM CLIENT_NAME CLIENT_VERSION FORBIDDEN_OPERATION_COUNT FROM_ENGINEPROXY QUERY_ID QUERY_NAME REGISTERED_OPERATION_COUNT REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP UNCACHED_HISTOGRAM UNCACHED_REQUESTS_COUNT}type AccountQueryStatsDimensions{clientName:String clientVersion:String fromEngineproxy:String queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountQueryStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountQueryStatsFilter{and:[AccountQueryStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fromEngineproxy dimension equals the given value if not null. To query for the null value, use {in: {fromEngineproxy: [null]}} instead.""" fromEngineproxy:String in:AccountQueryStatsFilterIn not:AccountQueryStatsFilter or:[AccountQueryStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountQueryStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountQueryStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fromEngineproxy dimension is in the given list. A null value in the list means a row with null for that dimension.""" fromEngineproxy:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountQueryStatsMetrics{cacheTtlHistogram:DurationHistogram!cachedHistogram:DurationHistogram!cachedRequestsCount:Long!forbiddenOperationCount:Long!registeredOperationCount:Long!requestsWithErrorsCount:Long!totalLatencyHistogram:DurationHistogram!totalRequestCount:Long!uncachedHistogram:DurationHistogram!uncachedRequestsCount:Long!}input AccountQueryStatsOrderBySpec{column:AccountQueryStatsColumn!direction:Ordering!}type AccountQueryStatsRecord{"""Dimensions of AccountQueryStats that can be grouped by.""" groupBy:AccountQueryStatsDimensions!"""Metrics of AccountQueryStats that can be aggregated over.""" metrics:AccountQueryStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountRoles{canAudit:Boolean!canCreateDevGraph:Boolean!canCreateService:Boolean!canDelete:Boolean!canDownloadInvoice:Boolean!@deprecated(reason:"Use canQueryBillingInfo instead")canManageMembers:Boolean!canQuery:Boolean!canQueryAudit:Boolean!canQueryBillingInfo:Boolean!canQueryInvoices:Boolean!@deprecated(reason:"Use canQueryBillingInfo instead")canQueryMembers:Boolean!canQueryStats:Boolean!canReadTickets:Boolean!canRemoveMembers:Boolean!canSetConstrainedPlan:Boolean!canUpdateBillingInfo:Boolean!canUpdateMetadata:Boolean!}enum AccountState{ACTIVE CLOSED UNKNOWN UNPROVISIONED}"""A time window with a specified granularity over a given account.""" type AccountStatsWindow{billingUsageStats("""Filter to select what rows to return.""" filter:AccountBillingUsageStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountBillingUsageStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountBillingUsageStatsOrderBySpec!]):[AccountBillingUsageStatsRecord!]!edgeServerInfos("""Filter to select what rows to return.""" filter:AccountEdgeServerInfosFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountEdgeServerInfos by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountEdgeServerInfosOrderBySpec!]):[AccountEdgeServerInfosRecord!]!errorStats("""Filter to select what rows to return.""" filter:AccountErrorStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountErrorStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountErrorStatsOrderBySpec!]):[AccountErrorStatsRecord!]!fieldLatencies("""Filter to select what rows to return.""" filter:AccountFieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountFieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountFieldLatenciesOrderBySpec!]):[AccountFieldLatenciesRecord!]!fieldUsage("""Filter to select what rows to return.""" filter:AccountFieldUsageFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountFieldUsage by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountFieldUsageOrderBySpec!]):[AccountFieldUsageRecord!]!operationCheckStats("""Filter to select what rows to return.""" filter:AccountOperationCheckStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountOperationCheckStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountOperationCheckStatsOrderBySpec!]):[AccountOperationCheckStatsRecord!]!queryStats("""Filter to select what rows to return.""" filter:AccountQueryStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountQueryStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountQueryStatsOrderBySpec!]):[AccountQueryStatsRecord!]!"""From field rounded down to the nearest resolution.""" roundedDownFrom:Timestamp!"""To field rounded up to the nearest resolution.""" roundedUpTo:Timestamp!tracePathErrorsRefs("""Filter to select what rows to return.""" filter:AccountTracePathErrorsRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountTracePathErrorsRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountTracePathErrorsRefsOrderBySpec!]):[AccountTracePathErrorsRefsRecord!]!traceRefs("""Filter to select what rows to return.""" filter:AccountTraceRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountTraceRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountTraceRefsOrderBySpec!]):[AccountTraceRefsRecord!]!}"""Columns of AccountTracePathErrorsRefs.""" enum AccountTracePathErrorsRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET ERRORS_COUNT_IN_PATH ERRORS_COUNT_IN_TRACE ERROR_MESSAGE PATH QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_HTTP_STATUS_CODE TRACE_ID TRACE_SIZE_BYTES TRACE_STARTS_AT}type AccountTracePathErrorsRefsDimensions{clientName:String clientVersion:String durationBucket:Int errorMessage:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID traceHttpStatusCode:Int traceId:ID traceStartsAt:Timestamp}"""Filter for data in AccountTracePathErrorsRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountTracePathErrorsRefsFilter{and:[AccountTracePathErrorsRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int """Selects rows whose errorMessage dimension equals the given value if not null. To query for the null value, use {in: {errorMessage: [null]}} instead.""" errorMessage:String in:AccountTracePathErrorsRefsFilterIn not:AccountTracePathErrorsRefsFilter or:[AccountTracePathErrorsRefsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceHttpStatusCode dimension equals the given value if not null. To query for the null value, use {in: {traceHttpStatusCode: [null]}} instead.""" traceHttpStatusCode:Int """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in AccountTracePathErrorsRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountTracePathErrorsRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose errorMessage dimension is in the given list. A null value in the list means a row with null for that dimension.""" errorMessage:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceHttpStatusCode dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceHttpStatusCode:[Int]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type AccountTracePathErrorsRefsMetrics{errorsCountInPath:Long!errorsCountInTrace:Long!traceSizeBytes:Long!}input AccountTracePathErrorsRefsOrderBySpec{column:AccountTracePathErrorsRefsColumn!direction:Ordering!}type AccountTracePathErrorsRefsRecord{"""Dimensions of AccountTracePathErrorsRefs that can be grouped by.""" groupBy:AccountTracePathErrorsRefsDimensions!"""Metrics of AccountTracePathErrorsRefs that can be aggregated over.""" metrics:AccountTracePathErrorsRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountTraceRefs.""" enum AccountTraceRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET DURATION_NS QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_ID TRACE_SIZE_BYTES}type AccountTraceRefsDimensions{clientName:String clientVersion:String durationBucket:Int queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String serviceId:ID traceId:ID}"""Filter for data in AccountTraceRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountTraceRefsFilter{and:[AccountTraceRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int in:AccountTraceRefsFilterIn not:AccountTraceRefsFilter or:[AccountTraceRefsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in AccountTraceRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountTraceRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type AccountTraceRefsMetrics{durationNs:Long!traceSizeBytes:Long!}input AccountTraceRefsOrderBySpec{column:AccountTraceRefsColumn!direction:Ordering!}type AccountTraceRefsRecord{"""Dimensions of AccountTraceRefs that can be grouped by.""" groupBy:AccountTraceRefsDimensions!"""Metrics of AccountTraceRefs that can be aggregated over.""" metrics:AccountTraceRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""An actor (view of Identity) that performed an action within Studio.""" type Actor{actorId:ID!type:ActorType!}input ActorInput{actorId:ID!type:ActorType!}enum ActorType{ANONYMOUS_USER BACKFILL CRON GRAPH INTERNAL_IDENTITY SYNCHRONIZATION SYSTEM USER}union AddOperationCollectionEntryResult=OperationCollectionEntry|PermissionError|ValidationError union AddOperationCollectionToVariantResult=GraphVariant|InvalidTarget|PermissionError|ValidationError type AffectedClient{"""ID, often the name, of the client set by the user and reported alongside metrics""" clientReferenceId:ID@deprecated(reason:"Unsupported.")"""version of the client set by the user and reported alongside metrics""" clientVersion:String@deprecated(reason:"Unsupported.")}type AffectedQuery{"""If the operation would be approved if the check ran again. Returns null if queried from SchemaDiff.changes.affectedQueries.alreadyApproved""" alreadyApproved:Boolean """If the operation would be ignored if the check ran again""" alreadyIgnored:Boolean """List of changes affecting this query. Returns null if queried from SchemaDiff.changes.affectedQueries.changes""" changes:[ChangeOnOperation!]"""Name to display to the user for the operation""" displayName:String id:ID!"""Determines if this query validates against the proposed schema""" isValid:Boolean """Whether this operation was ignored and its severity was downgraded for that reason""" markedAsIgnored:Boolean """Whether the changes were marked as safe and its severity was downgraded for that reason""" markedAsSafe:Boolean """Name provided for the operation, which can be empty string if it is an anonymous operation""" name:String """First 128 characters of query signature for display""" signature:String}interface ApiKey{id:ID!keyName:String token:String!}type ApiKeyProvision{apiKey:ApiKey!created:Boolean!}type AuditLogExport{actors:[Identity!]bigqueryTriggeredAt:Timestamp completedAt:Timestamp createdAt:Timestamp!exportedFiles:[String!]from:Timestamp!graphs:[Service!]id:ID!requester:User status:AuditStatus!to:Timestamp!}type AuditLogExportMutation{cancel:Account delete:Account}enum AuditStatus{CANCELLED COMPLETED EXPIRED FAILED IN_PROGRESS QUEUED}type AvatarDeleteError{clientMessage:String!code:AvatarDeleteErrorCode!serverMessage:String!}enum AvatarDeleteErrorCode{SSO_USERS_CANNOT_DELETE_SELF_AVATAR}type AvatarUploadError{clientMessage:String!code:AvatarUploadErrorCode!serverMessage:String!}enum AvatarUploadErrorCode{SSO_USERS_CANNOT_UPLOAD_SELF_AVATAR}union AvatarUploadResult=AvatarUploadError|MediaUploadInfo type BillingAddress{address1:String address2:String city:String country:String state:String zip:String}"""Billing address inpnut""" input BillingAddressInput{address1:String!address2:String city:String!country:String!state:String!zip:String!}type BillingInfo{address:BillingAddress!cardType:String firstName:String lastFour:Int lastName:String month:Int vatNumber:String year:Int}enum BillingModel{REQUEST_BASED SEAT_BASED}type BillingMonth{end:Timestamp!requests:Long!start:Timestamp!}enum BillingPeriod{MONTHLY QUARTERLY SEMI_ANNUALLY YEARLY}type BillingPlan{addons:[BillingPlanAddon!]!billingModel:BillingModel!billingPeriod:BillingPeriod capabilities:BillingPlanCapabilities!description:String id:ID!isTrial:Boolean!kind:BillingPlanKind!name:String!"""The price of every seat""" pricePerSeatInUsdCents:Int """The price of subscribing to this plan with a quantity of 1 (currently always the case)""" pricePerUnitInUsdCents:Int!"""Whether the plan is accessible by all users in QueryRoot.allPlans, QueryRoot.plan, or AccountMutation.setPlan""" public:Boolean!tier:BillingPlanTier!}type BillingPlanAddon{id:ID!pricePerUnitInUsdCents:Int!}type BillingPlanAddonV2{id:ID!pricePerUnitInUsdCents:Int!}type BillingPlanCapabilities{clients:Boolean!contracts:Boolean!datadog:Boolean!errors:Boolean!federation:Boolean!launches:Boolean!maxAuditInDays:Int!maxRangeInDays:Int maxRequestsPerMonth:Long metrics:Boolean!notifications:Boolean!operationRegistry:Boolean!ranges:[String!]!schemaValidation:Boolean!traces:Boolean!userRoles:Boolean!webhooks:Boolean!}enum BillingPlanKind{COMMUNITY ENTERPRISE_INTERNAL ENTERPRISE_PAID ENTERPRISE_PILOT TEAM_PAID TEAM_TRIAL}enum BillingPlanKindV2{COMMUNITY ENTERPRISE_INTERNAL ENTERPRISE_PAID ENTERPRISE_PILOT TEAM_PAID TEAM_TRIAL UNKNOWN}enum BillingPlanTier{COMMUNITY ENTERPRISE TEAM}enum BillingPlanTierV2{COMMUNITY ENTERPRISE TEAM UNKNOWN}type BillingPlanV2{addons:[BillingPlanAddonV2!]!billingModel:BillingModel!billingPeriod:BillingPeriod clients:Boolean!contracts:Boolean!datadog:Boolean!description:String errors:Boolean!federation:Boolean!id:ID!isTrial:Boolean!kind:BillingPlanKindV2!launches:Boolean!maxAuditInDays:Int!maxRangeInDays:Int maxRequestsPerMonth:Long metrics:Boolean!name:String!notifications:Boolean!operationRegistry:Boolean!"""The price of every seat""" pricePerSeatInUsdCents:Int """The price of subscribing to this plan with a quantity of 1 (currently always the case)""" pricePerUnitInUsdCents:Int!"""Whether the plan is accessible by all users in QueryRoot.allPlans, QueryRoot.plan, or AccountMutation.setPlan""" public:Boolean!ranges:[String!]!schemaValidation:Boolean!tier:BillingPlanTierV2!traces:Boolean!userRoles:Boolean!webhooks:Boolean!}type BillingSubscription{activatedAt:Timestamp!addons:[BillingSubscriptionAddon!]!autoRenew:Boolean!"""The price of the subscription when ignoring add-ons (such as seats), ie quantity * pricePerUnitInUsdCents""" basePriceInUsdCents:Long!canceledAt:Timestamp currentPeriodEndsAt:Timestamp!currentPeriodStartedAt:Timestamp!expiresAt:Timestamp plan:BillingPlan!"""The price of every seat""" pricePerSeatInUsdCents:Int """The price of every unit in the subscription (hence multiplied by quantity to get to the basePriceInUsdCents)""" pricePerUnitInUsdCents:Int!quantity:Int!"""Total price of the subscription when it next renews, including add-ons (such as seats)""" renewalTotalPriceInUsdCents:Long!state:SubscriptionState!"""Total price of the subscription, including add-ons (such as seats)""" totalPriceInUsdCents:Long!"""When this subscription's trial period expires (if it is a trial). Not the same as the +invitations are not possible on SSO-synchronized account.""" sso:OrganizationSSO state:AccountState """A list of reusable invitations for the organization.""" staticInvitations:[OrganizationInviteLink!]stats(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):AccountStatsWindow!@deprecated(reason:"use Account.statsWindow instead")statsWindow(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):AccountStatsWindow subscriptions:[BillingSubscription!]subscriptionsV2:[BillingSubscriptionV2!]!"""Gets a ticket for this org, by id""" ticket(id:ID!):ZendeskTicket """List of Zendesk tickets submitted for this org""" tickets:[ZendeskTicket!]}"""Columns of AccountBillingUsageStats.""" enum AccountBillingUsageStatsColumn{OPERATION_COUNT OPERATION_COUNT_PROVIDED_EXPLICITLY SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountBillingUsageStatsDimensions{operationCountProvidedExplicitly:String schemaTag:String serviceId:ID}"""Filter for data in AccountBillingUsageStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountBillingUsageStatsFilter{and:[AccountBillingUsageStatsFilter!]in:AccountBillingUsageStatsFilterIn not:AccountBillingUsageStatsFilter """Selects rows whose operationCountProvidedExplicitly dimension equals the given value if not null. To query for the null value, use {in: {operationCountProvidedExplicitly: [null]}} instead.""" operationCountProvidedExplicitly:String or:[AccountBillingUsageStatsFilter!]"""Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountBillingUsageStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountBillingUsageStatsFilterIn{"""Selects rows whose operationCountProvidedExplicitly dimension is in the given list. A null value in the list means a row with null for that dimension.""" operationCountProvidedExplicitly:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountBillingUsageStatsMetrics{operationCount:Long!}input AccountBillingUsageStatsOrderBySpec{column:AccountBillingUsageStatsColumn!direction:Ordering!}type AccountBillingUsageStatsRecord{"""Dimensions of AccountBillingUsageStats that can be grouped by.""" groupBy:AccountBillingUsageStatsDimensions!"""Metrics of AccountBillingUsageStats that can be aggregated over.""" metrics:AccountBillingUsageStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountChecksStatsMetrics{totalFailedChecks:Long!totalSuccessfulChecks:Long!}type AccountChecksStatsRecord{id:ID!metrics:AccountChecksStatsMetrics!timestamp:Timestamp!}"""Columns of AccountEdgeServerInfos.""" enum AccountEdgeServerInfosColumn{BOOT_ID EXECUTABLE_SCHEMA_ID LIBRARY_VERSION PLATFORM RUNTIME_VERSION SCHEMA_TAG SERVER_ID SERVICE_ID TIMESTAMP USER_VERSION}type AccountEdgeServerInfosDimensions{bootId:ID executableSchemaId:ID libraryVersion:String platform:String runtimeVersion:String schemaTag:String serverId:ID serviceId:ID userVersion:String}"""Filter for data in AccountEdgeServerInfos. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountEdgeServerInfosFilter{and:[AccountEdgeServerInfosFilter!]"""Selects rows whose bootId dimension equals the given value if not null. To query for the null value, use {in: {bootId: [null]}} instead.""" bootId:ID """Selects rows whose executableSchemaId dimension equals the given value if not null. To query for the null value, use {in: {executableSchemaId: [null]}} instead.""" executableSchemaId:ID in:AccountEdgeServerInfosFilterIn """Selects rows whose libraryVersion dimension equals the given value if not null. To query for the null value, use {in: {libraryVersion: [null]}} instead.""" libraryVersion:String not:AccountEdgeServerInfosFilter or:[AccountEdgeServerInfosFilter!]"""Selects rows whose platform dimension equals the given value if not null. To query for the null value, use {in: {platform: [null]}} instead.""" platform:String """Selects rows whose runtimeVersion dimension equals the given value if not null. To query for the null value, use {in: {runtimeVersion: [null]}} instead.""" runtimeVersion:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serverId dimension equals the given value if not null. To query for the null value, use {in: {serverId: [null]}} instead.""" serverId:ID """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose userVersion dimension equals the given value if not null. To query for the null value, use {in: {userVersion: [null]}} instead.""" userVersion:String}"""Filter for data in AccountEdgeServerInfos. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountEdgeServerInfosFilterIn{"""Selects rows whose bootId dimension is in the given list. A null value in the list means a row with null for that dimension.""" bootId:[ID]"""Selects rows whose executableSchemaId dimension is in the given list. A null value in the list means a row with null for that dimension.""" executableSchemaId:[ID]"""Selects rows whose libraryVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" libraryVersion:[String]"""Selects rows whose platform dimension is in the given list. A null value in the list means a row with null for that dimension.""" platform:[String]"""Selects rows whose runtimeVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" runtimeVersion:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serverId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serverId:[ID]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose userVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" userVersion:[String]}input AccountEdgeServerInfosOrderBySpec{column:AccountEdgeServerInfosColumn!direction:Ordering!}type AccountEdgeServerInfosRecord{"""Dimensions of AccountEdgeServerInfos that can be grouped by.""" groupBy:AccountEdgeServerInfosDimensions!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountErrorStats.""" enum AccountErrorStatsColumn{CLIENT_NAME CLIENT_VERSION ERRORS_COUNT PATH QUERY_ID QUERY_NAME REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountErrorStatsDimensions{clientName:String clientVersion:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountErrorStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountErrorStatsFilter{and:[AccountErrorStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:AccountErrorStatsFilterIn not:AccountErrorStatsFilter or:[AccountErrorStatsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountErrorStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountErrorStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountErrorStatsMetrics{errorsCount:Long!requestsWithErrorsCount:Long!}input AccountErrorStatsOrderBySpec{column:AccountErrorStatsColumn!direction:Ordering!}type AccountErrorStatsRecord{"""Dimensions of AccountErrorStats that can be grouped by.""" groupBy:AccountErrorStatsDimensions!"""Metrics of AccountErrorStats that can be aggregated over.""" metrics:AccountErrorStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountExperimentalFeatures{auditLogs:Boolean!championDashboard:Boolean!federation2Preview:Boolean!preRequestPreview:Boolean!publicVariants:Boolean!variantHomepage:Boolean!webhooksPreview:Boolean!}"""Columns of AccountFieldExecutions.""" enum AccountFieldExecutionsColumn{ESTIMATED_EXECUTION_COUNT FIELD_NAME OBSERVED_EXECUTION_COUNT PARENT_TYPE REFERENCING_OPERATION_COUNT SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountFieldExecutionsDimensions{fieldName:String parentType:String schemaTag:String serviceId:ID}"""Filter for data in AccountFieldExecutions. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountFieldExecutionsFilter{and:[AccountFieldExecutionsFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:AccountFieldExecutionsFilterIn not:AccountFieldExecutionsFilter or:[AccountFieldExecutionsFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountFieldExecutions. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountFieldExecutionsFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountFieldExecutionsMetrics{estimatedExecutionCount:Long!observedExecutionCount:Long!referencingOperationCount:Long!}input AccountFieldExecutionsOrderBySpec{column:AccountFieldExecutionsColumn!direction:Ordering!}type AccountFieldExecutionsRecord{"""Dimensions of AccountFieldExecutions that can be grouped by.""" groupBy:AccountFieldExecutionsDimensions!"""Metrics of AccountFieldExecutions that can be aggregated over.""" metrics:AccountFieldExecutionsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountFieldLatencies.""" enum AccountFieldLatenciesColumn{FIELD_HISTOGRAM FIELD_NAME PARENT_TYPE SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountFieldLatenciesDimensions{field:String fieldName:String parentType:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountFieldLatencies. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountFieldLatenciesFilter{and:[AccountFieldLatenciesFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:AccountFieldLatenciesFilterIn not:AccountFieldLatenciesFilter or:[AccountFieldLatenciesFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountFieldLatencies. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountFieldLatenciesFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountFieldLatenciesMetrics{fieldHistogram:DurationHistogram!}input AccountFieldLatenciesOrderBySpec{column:AccountFieldLatenciesColumn!direction:Ordering!}type AccountFieldLatenciesRecord{"""Dimensions of AccountFieldLatencies that can be grouped by.""" groupBy:AccountFieldLatenciesDimensions!"""Metrics of AccountFieldLatencies that can be aggregated over.""" metrics:AccountFieldLatenciesMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountFieldRequestsByClientVersion.""" enum AccountFieldRequestsByClientVersionColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT FIELD_NAME OBSERVED_EXECUTION_COUNT PARENT_TYPE REFERENCING_OPERATION_COUNT SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountFieldRequestsByClientVersionDimensions{clientName:String clientVersion:String fieldName:String parentType:String schemaTag:String serviceId:ID}"""Filter for data in AccountFieldRequestsByClientVersion. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountFieldRequestsByClientVersionFilter{and:[AccountFieldRequestsByClientVersionFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:AccountFieldRequestsByClientVersionFilterIn not:AccountFieldRequestsByClientVersionFilter or:[AccountFieldRequestsByClientVersionFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountFieldRequestsByClientVersion. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountFieldRequestsByClientVersionFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountFieldRequestsByClientVersionMetrics{estimatedExecutionCount:Long!observedExecutionCount:Long!referencingOperationCount:Long!}input AccountFieldRequestsByClientVersionOrderBySpec{column:AccountFieldRequestsByClientVersionColumn!direction:Ordering!}type AccountFieldRequestsByClientVersionRecord{"""Dimensions of AccountFieldRequestsByClientVersion that can be grouped by.""" groupBy:AccountFieldRequestsByClientVersionDimensions!"""Metrics of AccountFieldRequestsByClientVersion that can be aggregated over.""" metrics:AccountFieldRequestsByClientVersionMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountFieldUsage.""" enum AccountFieldUsageColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT EXECUTION_COUNT FIELD_NAME PARENT_TYPE QUERY_ID QUERY_NAME REFERENCING_OPERATION_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountFieldUsageDimensions{clientName:String clientVersion:String fieldName:String parentType:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountFieldUsage. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountFieldUsageFilter{and:[AccountFieldUsageFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:AccountFieldUsageFilterIn not:AccountFieldUsageFilter or:[AccountFieldUsageFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountFieldUsage. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountFieldUsageFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountFieldUsageMetrics{estimatedExecutionCount:Long!executionCount:Long!referencingOperationCount:Long!}input AccountFieldUsageOrderBySpec{column:AccountFieldUsageColumn!direction:Ordering!}type AccountFieldUsageRecord{"""Dimensions of AccountFieldUsage that can be grouped by.""" groupBy:AccountFieldUsageDimensions!"""Metrics of AccountFieldUsage that can be aggregated over.""" metrics:AccountFieldUsageMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountInvitation{"""An accepted invitation cannot be used anymore""" acceptedAt:Timestamp """Who accepted the invitation""" acceptedBy:User """Time the invitation was created""" createdAt:Timestamp!"""Who created the invitation""" createdBy:User email:String!id:ID!"""Last time we sent an email for the invitation""" lastSentAt:Timestamp """Access role for the invitee""" role:UserPermission!}type AccountMembership{account:Account!createdAt:Timestamp!"""If this membership is a free seat (based on role)""" free:Boolean permission:UserPermission!user:User!}type AccountMutation{auditExport(id:String!):AuditLogExportMutation """Cancel a pending change from an annual team subscription to a monthly team subscription when the current period expires.""" cancelConvertAnnualTeamSubscriptionToMonthlyAtNextPeriod:Account """Cancel account subscriptions, subscriptions will remain active until the end of the paid period""" cancelSubscriptions:Account """Changes an annual team subscription to a monthly team subscription when the current period expires.""" convertAnnualTeamSubscriptionToMonthlyAtNextPeriod:Account """Changes a monthly team subscription to an annual team subscription.""" convertMonthlyTeamSubscriptionToAnnual:Account createStaticInvitation(role:UserPermission!):OrganizationInviteLink """Delete the account's avatar. Requires Account.canUpdateAvatar to be true.""" deleteAvatar:AvatarDeleteError """Acknowledge that a trial has expired and return to community""" dismissExpiredTrial:Account """Apollo admins only: extend an ongoing trial""" extendTrial(to:Timestamp!):Account """Hard delete an account and all associated services""" hardDelete:Void """Send an invitation to join the account by E-mail""" invite(email:String!role:UserPermission):AccountInvitation """Reactivate a canceled current subscription""" reactivateCurrentSubscription:Account """Refresh billing information from third-party billing service""" refreshBilling:Void """Delete an invitation""" removeInvitation(id:ID):Void """Remove a member of the account""" removeMember(id:ID!):Account requestAuditExport(actors:[ActorInput!]from:Timestamp!graphIds:[String!]to:Timestamp!):Account """Send a new E-mail for an existing invitation""" resendInvitation(id:ID):AccountInvitation revokeStaticInvitation(token:String!):OrganizationInviteLink """Apollo admins only: set the billing plan to an arbitrary plan""" setPlan(id:ID!):Void """Start a new team subscription with the given billing period""" startTeamSubscription(billingPeriod:BillingPeriod!):Account """Start a team trial""" startTrial:Account """This is called by the form shown to users after they cancel their team subscription.""" submitTeamCancellationFeedback(feedback:String!):Void """Apollo admins only: terminate any ongoing subscriptions in the account, without refunds""" terminateSubscriptions:Account """Update the billing address for a Recurly token""" updateBillingAddress(billingAddress:BillingAddressInput!):Account """Update the billing information from a Recurly token""" updateBillingInfo(token:String!):Void updateCompanyUrl(companyUrl:String):Account """Set the E-mail address of the account, used notably for billing""" updateEmail(email:String!):Void """Update the account ID""" updateID(id:ID!):Account """Update the company name""" updateName(name:String!):Void """Apollo admins only: enable or disable an account for PingOne SSO login""" updatePingOneSSOIDPID(idpid:String):Account """Updates the role assigned to new SSO users.""" updateSSODefaultRole(role:UserPermission!):OrganizationSSO """A (currently) internal to Apollo mutation to update a user's role within an organization""" updateUserPermission(permission:UserPermission!userID:ID!):User}"""Columns of AccountOperationCheckStats.""" enum AccountOperationCheckStatsColumn{CACHED_REQUESTS_COUNT CLIENT_NAME CLIENT_VERSION QUERY_ID QUERY_NAME SCHEMA_TAG SERVICE_ID TIMESTAMP UNCACHED_REQUESTS_COUNT}type AccountOperationCheckStatsDimensions{clientName:String clientVersion:String queryId:ID queryName:String schemaTag:String serviceId:ID}"""Filter for data in AccountOperationCheckStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountOperationCheckStatsFilter{and:[AccountOperationCheckStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:AccountOperationCheckStatsFilterIn not:AccountOperationCheckStatsFilter or:[AccountOperationCheckStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountOperationCheckStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountOperationCheckStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountOperationCheckStatsMetrics{cachedRequestsCount:Long!uncachedRequestsCount:Long!}input AccountOperationCheckStatsOrderBySpec{column:AccountOperationCheckStatsColumn!direction:Ordering!}type AccountOperationCheckStatsRecord{"""Dimensions of AccountOperationCheckStats that can be grouped by.""" groupBy:AccountOperationCheckStatsDimensions!"""Metrics of AccountOperationCheckStats that can be aggregated over.""" metrics:AccountOperationCheckStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountPublishesStatsMetrics{totalPublishes:Long!}type AccountPublishesStatsRecord{id:ID!metrics:AccountPublishesStatsMetrics!timestamp:Timestamp!}"""Columns of AccountQueryStats.""" enum AccountQueryStatsColumn{CACHED_HISTOGRAM CACHED_REQUESTS_COUNT CACHE_TTL_HISTOGRAM CLIENT_NAME CLIENT_VERSION FORBIDDEN_OPERATION_COUNT FROM_ENGINEPROXY QUERY_ID QUERY_NAME REGISTERED_OPERATION_COUNT REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP UNCACHED_HISTOGRAM UNCACHED_REQUESTS_COUNT}type AccountQueryStatsDimensions{clientName:String clientVersion:String fromEngineproxy:String queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountQueryStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountQueryStatsFilter{and:[AccountQueryStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fromEngineproxy dimension equals the given value if not null. To query for the null value, use {in: {fromEngineproxy: [null]}} instead.""" fromEngineproxy:String in:AccountQueryStatsFilterIn not:AccountQueryStatsFilter or:[AccountQueryStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountQueryStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountQueryStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fromEngineproxy dimension is in the given list. A null value in the list means a row with null for that dimension.""" fromEngineproxy:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountQueryStatsMetrics{cacheTtlHistogram:DurationHistogram!cachedHistogram:DurationHistogram!cachedRequestsCount:Long!forbiddenOperationCount:Long!registeredOperationCount:Long!requestsWithErrorsCount:Long!totalLatencyHistogram:DurationHistogram!totalRequestCount:Long!uncachedHistogram:DurationHistogram!uncachedRequestsCount:Long!}input AccountQueryStatsOrderBySpec{column:AccountQueryStatsColumn!direction:Ordering!}type AccountQueryStatsRecord{"""Dimensions of AccountQueryStats that can be grouped by.""" groupBy:AccountQueryStatsDimensions!"""Metrics of AccountQueryStats that can be aggregated over.""" metrics:AccountQueryStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountRoles{canAudit:Boolean!canCreateDevGraph:Boolean!canCreateService:Boolean!canDelete:Boolean!canDownloadInvoice:Boolean!@deprecated(reason:"Use canQueryBillingInfo instead")canManageMembers:Boolean!canQuery:Boolean!canQueryAudit:Boolean!canQueryBillingInfo:Boolean!canQueryInvoices:Boolean!@deprecated(reason:"Use canQueryBillingInfo instead")canQueryMembers:Boolean!canQueryStats:Boolean!canReadTickets:Boolean!canRemoveMembers:Boolean!canSetConstrainedPlan:Boolean!canUpdateBillingInfo:Boolean!canUpdateMetadata:Boolean!}enum AccountState{ACTIVE CLOSED UNKNOWN UNPROVISIONED}"""A time window with a specified granularity over a given account.""" type AccountStatsWindow{billingUsageStats("""Filter to select what rows to return.""" filter:AccountBillingUsageStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountBillingUsageStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountBillingUsageStatsOrderBySpec!]):[AccountBillingUsageStatsRecord!]!edgeServerInfos("""Filter to select what rows to return.""" filter:AccountEdgeServerInfosFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountEdgeServerInfos by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountEdgeServerInfosOrderBySpec!]):[AccountEdgeServerInfosRecord!]!errorStats("""Filter to select what rows to return.""" filter:AccountErrorStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountErrorStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountErrorStatsOrderBySpec!]):[AccountErrorStatsRecord!]!fieldExecutions("""Filter to select what rows to return.""" filter:AccountFieldExecutionsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountFieldExecutions by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountFieldExecutionsOrderBySpec!]):[AccountFieldExecutionsRecord!]!fieldLatencies("""Filter to select what rows to return.""" filter:AccountFieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountFieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountFieldLatenciesOrderBySpec!]):[AccountFieldLatenciesRecord!]!fieldRequestsByClientVersion("""Filter to select what rows to return.""" filter:AccountFieldRequestsByClientVersionFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountFieldRequestsByClientVersion by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountFieldRequestsByClientVersionOrderBySpec!]):[AccountFieldRequestsByClientVersionRecord!]!fieldUsage("""Filter to select what rows to return.""" filter:AccountFieldUsageFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountFieldUsage by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountFieldUsageOrderBySpec!]):[AccountFieldUsageRecord!]!operationCheckStats("""Filter to select what rows to return.""" filter:AccountOperationCheckStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountOperationCheckStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountOperationCheckStatsOrderBySpec!]):[AccountOperationCheckStatsRecord!]!queryStats("""Filter to select what rows to return.""" filter:AccountQueryStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountQueryStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountQueryStatsOrderBySpec!]):[AccountQueryStatsRecord!]!"""From field rounded down to the nearest resolution.""" roundedDownFrom:Timestamp!"""To field rounded up to the nearest resolution.""" roundedUpTo:Timestamp!tracePathErrorsRefs("""Filter to select what rows to return.""" filter:AccountTracePathErrorsRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountTracePathErrorsRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountTracePathErrorsRefsOrderBySpec!]):[AccountTracePathErrorsRefsRecord!]!traceRefs("""Filter to select what rows to return.""" filter:AccountTraceRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountTraceRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountTraceRefsOrderBySpec!]):[AccountTraceRefsRecord!]!}"""Columns of AccountTracePathErrorsRefs.""" enum AccountTracePathErrorsRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET ERRORS_COUNT_IN_PATH ERRORS_COUNT_IN_TRACE ERROR_MESSAGE PATH QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_HTTP_STATUS_CODE TRACE_ID TRACE_SIZE_BYTES TRACE_STARTS_AT}type AccountTracePathErrorsRefsDimensions{clientName:String clientVersion:String durationBucket:Int errorMessage:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID traceHttpStatusCode:Int traceId:ID traceStartsAt:Timestamp}"""Filter for data in AccountTracePathErrorsRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountTracePathErrorsRefsFilter{and:[AccountTracePathErrorsRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int """Selects rows whose errorMessage dimension equals the given value if not null. To query for the null value, use {in: {errorMessage: [null]}} instead.""" errorMessage:String in:AccountTracePathErrorsRefsFilterIn not:AccountTracePathErrorsRefsFilter or:[AccountTracePathErrorsRefsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceHttpStatusCode dimension equals the given value if not null. To query for the null value, use {in: {traceHttpStatusCode: [null]}} instead.""" traceHttpStatusCode:Int """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in AccountTracePathErrorsRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountTracePathErrorsRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose errorMessage dimension is in the given list. A null value in the list means a row with null for that dimension.""" errorMessage:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceHttpStatusCode dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceHttpStatusCode:[Int]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type AccountTracePathErrorsRefsMetrics{errorsCountInPath:Long!errorsCountInTrace:Long!traceSizeBytes:Long!}input AccountTracePathErrorsRefsOrderBySpec{column:AccountTracePathErrorsRefsColumn!direction:Ordering!}type AccountTracePathErrorsRefsRecord{"""Dimensions of AccountTracePathErrorsRefs that can be grouped by.""" groupBy:AccountTracePathErrorsRefsDimensions!"""Metrics of AccountTracePathErrorsRefs that can be aggregated over.""" metrics:AccountTracePathErrorsRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountTraceRefs.""" enum AccountTraceRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET DURATION_NS QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_ID TRACE_SIZE_BYTES}type AccountTraceRefsDimensions{clientName:String clientVersion:String durationBucket:Int queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String serviceId:ID traceId:ID}"""Filter for data in AccountTraceRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountTraceRefsFilter{and:[AccountTraceRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int in:AccountTraceRefsFilterIn not:AccountTraceRefsFilter or:[AccountTraceRefsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in AccountTraceRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountTraceRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type AccountTraceRefsMetrics{durationNs:Long!traceSizeBytes:Long!}input AccountTraceRefsOrderBySpec{column:AccountTraceRefsColumn!direction:Ordering!}type AccountTraceRefsRecord{"""Dimensions of AccountTraceRefs that can be grouped by.""" groupBy:AccountTraceRefsDimensions!"""Metrics of AccountTraceRefs that can be aggregated over.""" metrics:AccountTraceRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""An actor (view of Identity) that performed an action within Studio.""" type Actor{actorId:ID!type:ActorType!}input ActorInput{actorId:ID!type:ActorType!}enum ActorType{ANONYMOUS_USER BACKFILL CRON GRAPH INTERNAL_IDENTITY SYNCHRONIZATION SYSTEM USER}union AddOperationCollectionEntryResult=OperationCollectionEntry|PermissionError|ValidationError union AddOperationCollectionToVariantResult=GraphVariant|InvalidTarget|PermissionError|ValidationError type AffectedClient{"""ID, often the name, of the client set by the user and reported alongside metrics""" clientReferenceId:ID@deprecated(reason:"Unsupported.")"""version of the client set by the user and reported alongside metrics""" clientVersion:String@deprecated(reason:"Unsupported.")}type AffectedQuery{"""If the operation would be approved if the check ran again. Returns null if queried from SchemaDiff.changes.affectedQueries.alreadyApproved""" alreadyApproved:Boolean """If the operation would be ignored if the check ran again""" alreadyIgnored:Boolean """List of changes affecting this query. Returns null if queried from SchemaDiff.changes.affectedQueries.changes""" changes:[ChangeOnOperation!]"""Name to display to the user for the operation""" displayName:String id:ID!"""Determines if this query validates against the proposed schema""" isValid:Boolean """Whether this operation was ignored and its severity was downgraded for that reason""" markedAsIgnored:Boolean """Whether the changes were marked as safe and its severity was downgraded for that reason""" markedAsSafe:Boolean """Name provided for the operation, which can be empty string if it is an anonymous operation""" name:String """First 128 characters of query signature for display""" signature:String}interface ApiKey{id:ID!keyName:String token:String!}type ApiKeyProvision{apiKey:ApiKey!created:Boolean!}type AuditLogExport{actors:[Identity!]bigqueryTriggeredAt:Timestamp completedAt:Timestamp createdAt:Timestamp!exportedFiles:[String!]from:Timestamp!graphs:[Service!]id:ID!requester:User status:AuditStatus!to:Timestamp!}type AuditLogExportMutation{cancel:Account delete:Account}enum AuditStatus{CANCELLED COMPLETED EXPIRED FAILED IN_PROGRESS QUEUED}type AvatarDeleteError{clientMessage:String!code:AvatarDeleteErrorCode!serverMessage:String!}enum AvatarDeleteErrorCode{SSO_USERS_CANNOT_DELETE_SELF_AVATAR}type AvatarUploadError{clientMessage:String!code:AvatarUploadErrorCode!serverMessage:String!}enum AvatarUploadErrorCode{SSO_USERS_CANNOT_UPLOAD_SELF_AVATAR}union AvatarUploadResult=AvatarUploadError|MediaUploadInfo type BillingAddress{address1:String address2:String city:String country:String state:String zip:String}"""Billing address inpnut""" input BillingAddressInput{address1:String!address2:String city:String!country:String!state:String!zip:String!}type BillingInfo{address:BillingAddress!cardType:String firstName:String lastFour:Int lastName:String month:Int vatNumber:String year:Int}enum BillingModel{REQUEST_BASED SEAT_BASED}type BillingMonth{end:Timestamp!requests:Long!start:Timestamp!}enum BillingPeriod{MONTHLY QUARTERLY SEMI_ANNUALLY YEARLY}type BillingPlan{addons:[BillingPlanAddon!]!billingModel:BillingModel!billingPeriod:BillingPeriod capabilities:BillingPlanCapabilities!description:String id:ID!isTrial:Boolean!kind:BillingPlanKind!name:String!"""The price of every seat""" pricePerSeatInUsdCents:Int """The price of subscribing to this plan with a quantity of 1 (currently always the case)""" pricePerUnitInUsdCents:Int!"""Whether the plan is accessible by all users in QueryRoot.allPlans, QueryRoot.plan, or AccountMutation.setPlan""" public:Boolean!tier:BillingPlanTier!}type BillingPlanAddon{id:ID!pricePerUnitInUsdCents:Int!}type BillingPlanAddonV2{id:ID!pricePerUnitInUsdCents:Int!}type BillingPlanCapabilities{clients:Boolean!contracts:Boolean!datadog:Boolean!errors:Boolean!federation:Boolean!launches:Boolean!maxAuditInDays:Int!maxRangeInDays:Int maxRequestsPerMonth:Long metrics:Boolean!notifications:Boolean!operationRegistry:Boolean!ranges:[String!]!schemaValidation:Boolean!traces:Boolean!userRoles:Boolean!webhooks:Boolean!}enum BillingPlanKind{COMMUNITY ENTERPRISE_INTERNAL ENTERPRISE_PAID ENTERPRISE_PILOT TEAM_PAID TEAM_TRIAL}enum BillingPlanKindV2{COMMUNITY ENTERPRISE_INTERNAL ENTERPRISE_PAID ENTERPRISE_PILOT TEAM_PAID TEAM_TRIAL UNKNOWN}enum BillingPlanTier{COMMUNITY ENTERPRISE TEAM}enum BillingPlanTierV2{COMMUNITY ENTERPRISE TEAM UNKNOWN}type BillingPlanV2{addons:[BillingPlanAddonV2!]!billingModel:BillingModel!billingPeriod:BillingPeriod clients:Boolean!contracts:Boolean!datadog:Boolean!description:String errors:Boolean!federation:Boolean!id:ID!isTrial:Boolean!kind:BillingPlanKindV2!launches:Boolean!maxAuditInDays:Int!maxRangeInDays:Int maxRequestsPerMonth:Long metrics:Boolean!name:String!notifications:Boolean!operationRegistry:Boolean!"""The price of every seat""" pricePerSeatInUsdCents:Int """The price of subscribing to this plan with a quantity of 1 (currently always the case)""" pricePerUnitInUsdCents:Int!"""Whether the plan is accessible by all users in QueryRoot.allPlans, QueryRoot.plan, or AccountMutation.setPlan""" public:Boolean!ranges:[String!]!schemaValidation:Boolean!tier:BillingPlanTierV2!traces:Boolean!userRoles:Boolean!webhooks:Boolean!}type BillingSubscription{activatedAt:Timestamp!addons:[BillingSubscriptionAddon!]!autoRenew:Boolean!"""The price of the subscription when ignoring add-ons (such as seats), ie quantity * pricePerUnitInUsdCents""" basePriceInUsdCents:Long!canceledAt:Timestamp currentPeriodEndsAt:Timestamp!currentPeriodStartedAt:Timestamp!expiresAt:Timestamp plan:BillingPlan!"""The price of every seat""" pricePerSeatInUsdCents:Int """The price of every unit in the subscription (hence multiplied by quantity to get to the basePriceInUsdCents)""" pricePerUnitInUsdCents:Int!quantity:Int!"""Total price of the subscription when it next renews, including add-ons (such as seats)""" renewalTotalPriceInUsdCents:Long!state:SubscriptionState!"""Total price of the subscription, including add-ons (such as seats)""" totalPriceInUsdCents:Long!"""When this subscription's trial period expires (if it is a trial). Not the same as the subscription's Recurly expiration).""" trialExpiresAt:Timestamp uuid:ID!}type BillingSubscriptionAddon{id:ID!pricePerUnitInUsdCents:Int!quantity:Int!}type BillingSubscriptionAddonV2{id:ID!pricePerUnitInUsdCents:Int!quantity:Int!}type BillingSubscriptionV2{"""The price of every unit in the subscription (hence multiplied by quantity to get to the basePriceInUsdCents)""" activatedAt:Timestamp!addons:[BillingSubscriptionAddonV2!]!autoRenew:Boolean!canceledAt:Timestamp currentPeriodEndsAt:Timestamp!currentPeriodStartedAt:Timestamp!expiresAt:Timestamp plan:BillingPlanV2!"""The price of every seat""" pricePerSeatInUsdCents:Int quantity:Int!state:SubscriptionStateV2!"""When this subscription's trial period expires (if it is a trial). Not the same as the subscription's Recurly expiration).""" trialExpiresAt:Timestamp uuid:ID!}"""Columns of BillingUsageStats.""" enum BillingUsageStatsColumn{ACCOUNT_ID OPERATION_COUNT OPERATION_COUNT_PROVIDED_EXPLICITLY SCHEMA_TAG SERVICE_ID TIMESTAMP}type BillingUsageStatsDimensions{accountId:ID operationCountProvidedExplicitly:String schemaTag:String serviceId:ID}"""Filter for data in BillingUsageStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input BillingUsageStatsFilter{"""Selects rows whose accountId dimension equals the given value if not null. To query for the null value, use {in: {accountId: [null]}} instead.""" accountId:ID and:[BillingUsageStatsFilter!]in:BillingUsageStatsFilterIn not:BillingUsageStatsFilter """Selects rows whose operationCountProvidedExplicitly dimension equals the given value if not null. To query for the null value, use {in: {operationCountProvidedExplicitly: [null]}} instead.""" operationCountProvidedExplicitly:String or:[BillingUsageStatsFilter!]"""Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in BillingUsageStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input BillingUsageStatsFilterIn{"""Selects rows whose accountId dimension is in the given list. A null value in the list means a row with null for that dimension.""" accountId:[ID]"""Selects rows whose operationCountProvidedExplicitly dimension is in the given list. A null value in the list means a row with null for that dimension.""" operationCountProvidedExplicitly:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type BillingUsageStatsMetrics{operationCount:Long!}input BillingUsageStatsOrderBySpec{column:BillingUsageStatsColumn!direction:Ordering!}type BillingUsageStatsRecord{"""Dimensions of BillingUsageStats that can be grouped by.""" groupBy:BillingUsageStatsDimensions!"""Metrics of BillingUsageStats that can be aggregated over.""" metrics:BillingUsageStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""A blob (base64'ed in JSON & GraphQL)""" scalar Blob type Build{input:BuildInput!result:BuildResult}type BuildError{code:String locations:[SourceLocation!]!message:String!}type BuildFailure{errorMessages:[BuildError!]!}union BuildInput=CompositionBuildInput|FilterBuildInput union BuildResult=BuildFailure|BuildSuccess type BuildSuccess{coreSchema:CoreSchema!}enum CacheScope{PRIVATE PUBLIC UNKNOWN UNRECOGNIZED}"""A specific change to a definition in your schema.""" type Change{affectedQueries:[AffectedQuery!]"""Target arg of change made.""" argNode:NamedIntrospectionArg """Indication of the category of the change (e.g. addition, removal, edit).""" category:ChangeCategory!"""Node related to the top level node that was changed, such as a field in an object, a value in an enum or the object of an interface.""" childNode:NamedIntrospectionValue """Indication of the kind of target and action of the change, e.g. 'TYPE_REMOVED'.""" code:String!"""Human-readable description of the change.""" description:String!"""Top level node affected by the change.""" parentNode:NamedIntrospectionType """Severity of the change, either failure or warning.""" severity:ChangeSeverity!"""Indication of the success of the overall change, either failure, warning, or notice.""" type:ChangeType!@deprecated(reason:"use severity instead")}"""Defines a set of categories that a schema change @@ -26,13 +26,13 @@ ancestor) was added/removed.""" type ChangeSummary{"""Counts for changes to fiel and all aspects of enums, unions, and scalars.""" type:TypeChangeSummaryCounts!}enum ChangeType{FAILURE NOTICE}type ChangelogLaunchResult{createdAt:Timestamp!schemaTagID:ID!}"""Destination for notifications""" interface Channel{id:ID!name:String!subscriptions:[ChannelSubscription!]!}interface ChannelSubscription{channels:[Channel!]!enabled:Boolean!id:ID!variant:String}type CheckConfiguration{"""Time when check configuration was created""" createdAt:Timestamp!"""Clients to ignore during validation""" excludedClients:[ClientFilter!]!"""Operation names to ignore during validation""" excludedOperationNames:[OperationNameFilter]"""Operations to ignore during validation""" excludedOperations:[ExcludedOperation!]!"""Graph that this check configuration belongs to""" graphID:ID!"""ID of the check configuration""" id:ID!"""Default configuration to include operations on the base variant.""" includeBaseVariant:Boolean!"""Variant overrides for validation""" includedVariants:[String!]!"""Minimum number of requests within the window for an operation to be considered.""" operationCountThreshold:Int!"""Number of requests within the window for an operation to be considered, relative to total request count. Expected values are between 0 and 0.05 (minimum 5% of total request volume)""" operationCountThresholdPercentage:Float!"""Only check operations from the last <timeRangeSeconds> seconds. -The default is 7 days (604,800 seconds).""" timeRangeSeconds:Long!"""Time when check configuration was last updated""" updatedAt:Timestamp!"""Identity of the last user to update the check configuration""" updatedBy:Identity}"""Filter options available when listing checks.""" input CheckFilterInput{authors:[String!]branches:[String!]status:CheckFilterInputStatusOption subgraphs:[String!]}"""Options for filtering CheckWorkflows by status""" enum CheckFilterInputStatusOption{FAILED PASSED PENDING}"""The result of performing a subgraph check, including all steps.""" type CheckPartialSchemaResult{"""Overall result of the check. This will be null if composition validation was unsuccessful.""" checkSchemaResult:CheckSchemaResult """Result of compostion run as part of the overall subgraph check.""" compositionValidationResult:CompositionValidationResult!"""If any modifications were detected in the composed core schema""" coreSchemaModified:Boolean!"""Check workflow associated with the overall subgraph check.""" workflow:CheckWorkflow}type CheckSchemaResult{"""Schema diff and affected operations generated by the schema check""" diffToPrevious:SchemaDiff!"""ID of the operations check that was created""" operationsCheckID:ID!"""Generated url to view schema diff in Engine""" targetUrl:String """Workflow associated with this check result""" workflow:CheckWorkflow}type CheckWorkflow{"""The variant provided as a base to check against. Only the differences from the +The default is 7 days (604,800 seconds).""" timeRangeSeconds:Long!"""Time when check configuration was last updated""" updatedAt:Timestamp!"""Identity of the last user to update the check configuration""" updatedBy:Identity}"""Filter options available when listing checks.""" input CheckFilterInput{authors:[String!]branches:[String!]status:CheckFilterInputStatusOption subgraphs:[String!]}"""Options for filtering CheckWorkflows by status""" enum CheckFilterInputStatusOption{FAILED PASSED PENDING}"""The result of performing a subgraph check, including all steps.""" type CheckPartialSchemaResult{"""Overall result of the check. This will be null if composition validation was unsuccessful.""" checkSchemaResult:CheckSchemaResult """Result of compostion run as part of the overall subgraph check.""" compositionValidationResult:CompositionValidationResult!"""Whether any modifications were detected in the composed core schema.""" coreSchemaModified:Boolean!"""Check workflow associated with the overall subgraph check.""" workflow:CheckWorkflow}type CheckSchemaResult{"""Schema diff and affected operations generated by the schema check""" diffToPrevious:SchemaDiff!"""ID of the operations check that was created""" operationsCheckID:ID!"""Generated url to view schema diff in Engine""" targetUrl:String """Workflow associated with this check result""" workflow:CheckWorkflow}type CheckWorkflow{"""The variant provided as a base to check against. Only the differences from the base schema will be tested in operations checks.""" baseVariant:GraphVariant completedAt:Timestamp createdAt:Timestamp!"""Contextual parameters supplied by the runtime environment where the check was run.""" gitContext:GitContext id:ID!"""The name of the implementing service that was responsible for triggering the validation.""" implementingServiceName:String """If this check is triggered for an sdl fetched using introspection, this is the endpoint where that schema was being served.""" introspectionEndpoint:String """Only true if the check was triggered from Sandbox Checks page.""" isSandboxCheck:Boolean!"""If this check was created by rerunning, the original check that was rerun.""" rerunOf:CheckWorkflow """Checks created by re-running this check, most recent first.""" reruns(limit:Int!=20):[CheckWorkflow!]startedAt:Timestamp """Overall status of the workflow, based on the underlying task statuses.""" status:CheckWorkflowStatus!"""The set of check tasks associated with this workflow, e.g. OperationsCheck, GraphComposition, etc.""" tasks:[CheckWorkflowTask!]!"""Identity of the user who ran this check""" triggeredBy:Identity """Configuration of validation at the time the check was run.""" validationConfig:SchemaDiffValidationConfig}type CheckWorkflowMutation{"""Re-run a check workflow using the current configuration. A new workflow is created and returned.""" rerun:CheckWorkflowRerunResult}type CheckWorkflowRerunResult{"""Check workflow created by re-running.""" result:CheckWorkflow """Check workflow that was rerun.""" source:CheckWorkflow}enum CheckWorkflowStatus{FAILED PASSED PENDING}interface CheckWorkflowTask{completedAt:Timestamp createdAt:Timestamp!id:ID!status:CheckWorkflowTaskStatus!"""The workflow that this task belongs to.""" workflow:CheckWorkflow!}enum CheckWorkflowTaskStatus{BLOCKED FAILED PASSED PENDING}"""Client filter configuration for a graph.""" type ClientFilter{"""name of the client set by the user and reported alongside metrics""" name:String """version of the client set by the user and reported alongside metrics""" version:String}"""Options to filter by client reference ID, client name, and client version. If passing client version, make sure to either provide a client reference ID or client name.""" input ClientFilterInput{"""name of the client set by the user and reported alongside metrics""" name:String """version of the client set by the user and reported alongside metrics""" version:String}"""Filter options to exclude by client reference ID, client name, and client version.""" input ClientInfoFilter{name:String """Ignored""" referenceID:ID version:String}"""Filter options to exclude clients. Used as an output type for SchemaDiffValidationConfig.""" type ClientInfoFilterOutput{name:String version:String}enum ComparisonOperator{EQUALS GREATER_THAN GREATER_THAN_OR_EQUAL_TO LESS_THAN LESS_THAN_OR_EQUAL_TO NOT_EQUALS UNRECOGNIZED}"""The result of composition run in the cloud, upon an attempted subgraph deletion.""" type CompositionAndRemoveResult{"""The produced composition config. Will be null if there are any errors""" compositionConfig:CompositionConfig """Whether the removed implementing service existed.""" didExist:Boolean!""" List of errors during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a GraphQL schema. If present, gateways / routers are not updated.""" errors:[SchemaCompositionError]!"""ID that points to the results of composition.""" graphCompositionID:String!"""List of subgraphs that are included in this composition.""" subgraphConfigs:[SubgraphConfig!]!"""Whether the gateway/router was updated via Uplink, or would have been for dry runs.""" updatedGateway:Boolean!}"""The result of composition run in the cloud, upon attempted publish of a subgraph.""" type CompositionAndUpsertResult{"""The produced composition config, or null if there are any errors.""" compositionConfig:CompositionConfig """List of errors during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If present, gateways / routers -are not updated.""" errors:[SchemaCompositionError]!"""ID that points to the results of composition.""" graphCompositionID:String!"""Copy text for the launch result of a publish.""" launchCliCopy:String """Link to corresponding launches page on Studio if avaliable.""" launchUrl:String """List of subgraphs that are included in this composition.""" subgraphConfigs:[SubgraphConfig!]!"""Whether the gateway/router was updated via Uplink, or would have been for dry runs.""" updatedGateway:Boolean!"""Whether a subgraph was created as part of this mutation.""" wasCreated:Boolean!"""Whether an implementingService was updated as part of this mutation""" wasUpdated:Boolean!}type CompositionBuildInput{subgraphs:[Subgraph!]!version:String}type CompositionCheckTask implements CheckWorkflowTask{completedAt:Timestamp createdAt:Timestamp!id:ID!"""The result of the composition.""" result:CompositionResult status:CheckWorkflowTaskStatus!workflow:CheckWorkflow!}"""Composition configuration exposed to the gateway.""" type CompositionConfig{"""List of GCS links for implementing services that comprise a composed graph. Is empty if tag/inaccessible is enabled.""" implementingServiceLocations:[ImplementingServiceLocation!]!@deprecated(reason:"Soon we will stop writing to GCS locations")"""Hash of the API schema.""" schemaHash:String!}"""The result of composition run in the cloud.""" type CompositionPublishResult implements CompositionResult{"""The produced composition config. Will be null if there are any errors""" compositionConfig:CompositionConfig """Supergraph SDL generated by composition (this is not the CSDL, that is a deprecated format).""" csdl:GraphQLDocument@deprecated(reason:"Use supergraphSdl instead")"""List of errors during composition. Errors mean that Apollo was unable to compose the +are not updated.""" errors:[SchemaCompositionError]!"""ID that points to the results of composition.""" graphCompositionID:String!"""Copy text for the launch result of a publish.""" launchCliCopy:String """Link to corresponding launches page on Studio if available.""" launchUrl:String """List of subgraphs that are included in this composition.""" subgraphConfigs:[SubgraphConfig!]!"""Whether the gateway/router was updated via Uplink, or would have been for dry runs.""" updatedGateway:Boolean!"""Whether a subgraph was created as part of this mutation.""" wasCreated:Boolean!"""Whether an implementingService was updated as part of this mutation""" wasUpdated:Boolean!}type CompositionBuildInput{subgraphs:[Subgraph!]!version:String}type CompositionCheckTask implements CheckWorkflowTask{completedAt:Timestamp createdAt:Timestamp!id:ID!"""The result of the composition.""" result:CompositionResult status:CheckWorkflowTaskStatus!workflow:CheckWorkflow!}"""Composition configuration exposed to the gateway.""" type CompositionConfig{"""List of GCS links for implementing services that comprise a composed graph. Is empty if tag/inaccessible is enabled.""" implementingServiceLocations:[ImplementingServiceLocation!]!@deprecated(reason:"Soon we will stop writing to GCS locations")"""Hash of the API schema.""" schemaHash:String!}"""The result of composition run in the cloud.""" type CompositionPublishResult implements CompositionResult{"""The produced composition config. Will be null if there are any errors""" compositionConfig:CompositionConfig """Supergraph SDL generated by composition (this is not the CSDL, that is a deprecated format).""" csdl:GraphQLDocument@deprecated(reason:"Use supergraphSdl instead")"""List of errors during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If present, gateways / routers are not updated.""" errors:[SchemaCompositionError!]!"""ID for a particular composition.""" graphCompositionID:ID!"""List of subgraphs that are included in this composition.""" subgraphConfigs:[SubgraphConfig!]!"""Supergraph SDL generated by composition.""" supergraphSdl:GraphQLDocument """Whether the gateway/router was updated via Uplink, or would have been for dry runs.""" updatedGateway:Boolean!webhookNotificationBody:String}"""Result of a composition, often as the result of a subgraph check or subgraph publish. See implementations for more details.""" interface CompositionResult{"""Supergraph SDL generated by composition (this is not the cSDL, a deprecated format).""" csdl:GraphQLDocument@deprecated(reason:"Use supergraphSdl instead")"""List of errors during composition. Errors mean that Apollo was unable to compose the @@ -41,12 +41,12 @@ are not updated.""" errors:[SchemaCompositionError!]!"""Globally unique identifi in running composition. Will be null if any errors are encountered. Also may contain a schema hash if one could be computed, which can be used for schema validation.""" compositionValidationDetails:CompositionValidationDetails """Supergraph SDL generated by composition (this is not the CSDL, that is a deprecated format).""" csdl:GraphQLDocument@deprecated(reason:"Use supergraphSdl instead")"""List of errors during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If present, gateways / routers -are not updated.""" errors:[SchemaCompositionError!]!"""ID that points to the results of this composition.""" graphCompositionID:ID!"""The implementing service that was responsible for triggering the validation""" proposedImplementingService:FederatedImplementingServicePartialSchema!"""List of subgraphs that are included in this composition.""" subgraphConfigs:[SubgraphConfig!]!"""Supergraph schema document generated by composition.""" supergraphSdl:GraphQLDocument """If created as part of a check workflow, the associated workflow task.""" workflowTask:CompositionCheckTask}type ContractPreview{result:ContractPreviewResult!upstreamLaunch:Launch!}type ContractPreviewErrors{errors:[String!]!failedAt:ContractVariantFailedStep!}union ContractPreviewResult=ContractPreviewErrors|ContractPreviewSuccess type ContractPreviewSuccess{apiDocument:String!coreDocument:String!fieldCount:Int!typeCount:Int!}enum ContractVariantFailedStep{ADD_DIRECTIVE_DEFINITIONS_IF_NOT_PRESENT DIRECTIVE_DEFINITION_LOCATION_AUGMENTING EMPTY_OBJECT_AND_INTERFACE_MASKING EMPTY_UNION_MASKING INPUT_VALIDATION PARSING PARSING_TAG_DIRECTIVES PARTIAL_INTERFACE_MASKING SCHEMA_RETRIEVAL TAG_INHERITING TAG_MATCHING TO_API_SCHEMA TO_FILTER_SCHEMA UNKNOWN VERSION_CHECK}type ContractVariantPreviewErrors{errorMessages:[String!]!failedStep:ContractVariantFailedStep!}union ContractVariantPreviewResult=ContractVariantPreviewErrors|ContractVariantPreviewSuccess type ContractVariantPreviewSuccess{baseApiSchema:String!baseCoreSchema:String!contractApiSchema:String!contractCoreSchema:String!}type ContractVariantUpsertErrors{errorMessages:[String!]!}union ContractVariantUpsertResult=ContractVariantUpsertErrors|ContractVariantUpsertSuccess type ContractVariantUpsertSuccess{contractVariant:GraphVariant!}type CoreSchema{apiDocument:GraphQLDocument!coreDocument:GraphQLDocument!coreHash:String!fieldCount:Int!typeCount:Int!}union CreateOperationCollectionResult=OperationCollection|PermissionError|ValidationError type CronExecution{completedAt:Timestamp failure:String id:ID!job:CronJob!resolvedAt:Timestamp resolvedBy:Actor schedule:String!startedAt:Timestamp!}type CronJob{group:String!name:String!recentExecutions(n:Int):[CronExecution!]!}enum DatadogApiRegion{EU EU1 US US1 US1FED US3 US5}type DatadogMetricsConfig{apiKey:String!apiRegion:DatadogApiRegion!enabled:Boolean!legacyMetricNames:Boolean!}union DeleteOperationCollectionResult=DeleteOperationCollectionSuccess|PermissionError type DeleteOperationCollectionSuccess{sandboxOwner:User variants:[GraphVariant!]!}"""The result of attempting to delete a graph variant.""" type DeleteSchemaTagResult{"""WHether a variant was deleted or not.""" deleted:Boolean!}enum DeletionTargetType{ACCOUNT USER}"""Support for a single directive on a graph variant""" type DirectiveSupportStatus{"""whether the directive is supported on the current graph variant""" enabled:Boolean!"""name of the directive""" name:String!}union DuplicateOperationCollectionResult=OperationCollection|PermissionError|ValidationError type DurationHistogram{averageDurationMs:Float buckets:[DurationHistogramBucket!]!durationMs("""Percentile (between 0 and 1)""" percentile:Float!):Float """Counts per durationBucket, where sequences of zeroes are replaced with the negative of their size""" sparseBuckets:[Long!]!totalCount:Long!totalDurationMs:Float!}type DurationHistogramBucket{count:Long!index:Int!rangeBeginMs:Float!rangeEndMs:Float!}input EdgeServerInfo{"""A randomly generated UUID, immutable for the lifetime of the edge server runtime.""" bootId:String!"""A unique identifier for the executable GraphQL served by the edge server. length must be <= 64 characters.""" executableSchemaId:String!"""The graph variant, defaults to 'current'""" graphVariant:String!="current" """The version of the edge server reporting agent, e.g. apollo-server-2.8, graphql-java-3.1, etc. length must be <= 256 characters.""" libraryVersion:String """The infra environment in which this edge server is running, e.g. localhost, Kubernetes, AWS Lambda, Google CloudRun, AWS ECS, etc. length must be <= 256 characters.""" platform:String """The runtime in which the edge server is running, e.g. node 12.03, zulu8.46.0.19-ca-jdk8.0.252-macosx_x64, etc. length must be <= 256 characters.""" runtimeVersion:String """If available, an identifier for the edge server instance, such that when restarting this instance it will have the same serverId, with a different bootId. For example, in Kubernetes this might be the pod name. Length must be <= 256 characters.""" serverId:String """An identifier used to distinguish the version (from the user's perspective) of the edge server's code itself. For instance, the git sha of the server's repository or the docker sha of the associated image this server runs with. Length must be <= 256 characters.""" userVersion:String}"""Columns of EdgeServerInfos.""" enum EdgeServerInfosColumn{BOOT_ID EXECUTABLE_SCHEMA_ID LIBRARY_VERSION PLATFORM RUNTIME_VERSION SCHEMA_TAG SERVER_ID SERVICE_ID TIMESTAMP USER_VERSION}type EdgeServerInfosDimensions{bootId:ID executableSchemaId:ID libraryVersion:String platform:String runtimeVersion:String schemaTag:String serverId:ID serviceId:ID userVersion:String}"""Filter for data in EdgeServerInfos. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input EdgeServerInfosFilter{and:[EdgeServerInfosFilter!]"""Selects rows whose bootId dimension equals the given value if not null. To query for the null value, use {in: {bootId: [null]}} instead.""" bootId:ID """Selects rows whose executableSchemaId dimension equals the given value if not null. To query for the null value, use {in: {executableSchemaId: [null]}} instead.""" executableSchemaId:ID in:EdgeServerInfosFilterIn """Selects rows whose libraryVersion dimension equals the given value if not null. To query for the null value, use {in: {libraryVersion: [null]}} instead.""" libraryVersion:String not:EdgeServerInfosFilter or:[EdgeServerInfosFilter!]"""Selects rows whose platform dimension equals the given value if not null. To query for the null value, use {in: {platform: [null]}} instead.""" platform:String """Selects rows whose runtimeVersion dimension equals the given value if not null. To query for the null value, use {in: {runtimeVersion: [null]}} instead.""" runtimeVersion:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serverId dimension equals the given value if not null. To query for the null value, use {in: {serverId: [null]}} instead.""" serverId:ID """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose userVersion dimension equals the given value if not null. To query for the null value, use {in: {userVersion: [null]}} instead.""" userVersion:String}"""Filter for data in EdgeServerInfos. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input EdgeServerInfosFilterIn{"""Selects rows whose bootId dimension is in the given list. A null value in the list means a row with null for that dimension.""" bootId:[ID]"""Selects rows whose executableSchemaId dimension is in the given list. A null value in the list means a row with null for that dimension.""" executableSchemaId:[ID]"""Selects rows whose libraryVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" libraryVersion:[String]"""Selects rows whose platform dimension is in the given list. A null value in the list means a row with null for that dimension.""" platform:[String]"""Selects rows whose runtimeVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" runtimeVersion:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serverId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serverId:[ID]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose userVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" userVersion:[String]}input EdgeServerInfosOrderBySpec{column:EdgeServerInfosColumn!direction:Ordering!}type EdgeServerInfosRecord{"""Dimensions of EdgeServerInfos that can be grouped by.""" groupBy:EdgeServerInfosDimensions!"""Starting segment timestamp.""" timestamp:Timestamp!}enum EmailCategory{EDUCATIONAL}type EmailPreferences{email:String!subscriptions:[EmailCategory!]!unsubscribedFromAll:Boolean!}interface Error{message:String!}"""Columns of ErrorStats.""" enum ErrorStatsColumn{ACCOUNT_ID CLIENT_NAME CLIENT_VERSION ERRORS_COUNT PATH QUERY_ID QUERY_NAME REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type ErrorStatsDimensions{accountId:ID clientName:String clientVersion:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in ErrorStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ErrorStatsFilter{"""Selects rows whose accountId dimension equals the given value if not null. To query for the null value, use {in: {accountId: [null]}} instead.""" accountId:ID and:[ErrorStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:ErrorStatsFilterIn not:ErrorStatsFilter or:[ErrorStatsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in ErrorStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ErrorStatsFilterIn{"""Selects rows whose accountId dimension is in the given list. A null value in the list means a row with null for that dimension.""" accountId:[ID]"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type ErrorStatsMetrics{errorsCount:Long!requestsWithErrorsCount:Long!}input ErrorStatsOrderBySpec{column:ErrorStatsColumn!direction:Ordering!}type ErrorStatsRecord{"""Dimensions of ErrorStats that can be grouped by.""" groupBy:ErrorStatsDimensions!"""Metrics of ErrorStats that can be aggregated over.""" metrics:ErrorStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}""" Input parameters for run explorer operation event.""" enum EventEnum{CLICK_CHECK_LIST CLICK_GO_TO_GRAPH_SETTINGS RUN_EXPLORER_OPERATION}"""Excluded operation for a graph.""" type ExcludedOperation{"""Operation ID to exclude from schema check.""" ID:ID!}"""Option to filter by operation ID.""" input ExcludedOperationInput{"""Operation ID to exclude from schema check.""" ID:ID!}type FeatureIntros{devGraph:Boolean!federatedGraph:Boolean!freeConsumerSeats:Boolean!}"""Feature Intros Input Type""" input FeatureIntrosInput{devGraph:Boolean federatedGraph:Boolean freeConsumerSeats:Boolean}"""Subgraph. Federated graph variants that are managed by Apollo Studio are composed of subgraphs. +are not updated.""" errors:[SchemaCompositionError!]!"""ID that points to the results of this composition.""" graphCompositionID:ID!"""The implementing service that was responsible for triggering the validation""" proposedImplementingService:FederatedImplementingServicePartialSchema!"""List of subgraphs that are included in this composition.""" subgraphConfigs:[SubgraphConfig!]!"""Supergraph schema document generated by composition.""" supergraphSdl:GraphQLDocument """If created as part of a check workflow, the associated workflow task.""" workflowTask:CompositionCheckTask}type ContractPreview{result:ContractPreviewResult!upstreamLaunch:Launch!}type ContractPreviewErrors{errors:[String!]!failedAt:ContractVariantFailedStep!}union ContractPreviewResult=ContractPreviewErrors|ContractPreviewSuccess type ContractPreviewSuccess{apiDocument:String!coreDocument:String!fieldCount:Int!typeCount:Int!}enum ContractVariantFailedStep{ADD_DIRECTIVE_DEFINITIONS_IF_NOT_PRESENT DIRECTIVE_DEFINITION_LOCATION_AUGMENTING EMPTY_ENUM_MASKING EMPTY_INPUT_OBJECT_MASKING EMPTY_OBJECT_AND_INTERFACE_FIELD_MASKING EMPTY_OBJECT_AND_INTERFACE_MASKING EMPTY_UNION_MASKING INPUT_VALIDATION PARSING PARSING_TAG_DIRECTIVES PARTIAL_INTERFACE_MASKING SCHEMA_RETRIEVAL TAG_INHERITING TAG_MATCHING TO_API_SCHEMA TO_FILTER_SCHEMA UNKNOWN VERSION_CHECK}type ContractVariantPreviewErrors{errorMessages:[String!]!failedStep:ContractVariantFailedStep!}union ContractVariantPreviewResult=ContractVariantPreviewErrors|ContractVariantPreviewSuccess type ContractVariantPreviewSuccess{baseApiSchema:String!baseCoreSchema:String!contractApiSchema:String!contractCoreSchema:String!}type ContractVariantUpsertErrors{errorMessages:[String!]!}union ContractVariantUpsertResult=ContractVariantUpsertErrors|ContractVariantUpsertSuccess type ContractVariantUpsertSuccess{contractVariant:GraphVariant!}type CoreSchema{apiDocument:GraphQLDocument!coreDocument:GraphQLDocument!coreHash:String!fieldCount:Int!tags:[String!]!typeCount:Int!}union CreateOperationCollectionResult=OperationCollection|PermissionError|ValidationError type CronExecution{completedAt:Timestamp failure:String id:ID!job:CronJob!resolvedAt:Timestamp resolvedBy:Actor schedule:String!startedAt:Timestamp!}type CronJob{group:String!name:String!recentExecutions(n:Int):[CronExecution!]!}enum DatadogApiRegion{EU EU1 US US1 US1FED US3 US5}type DatadogMetricsConfig{apiKey:String!apiRegion:DatadogApiRegion!enabled:Boolean!legacyMetricNames:Boolean!}union DeleteOperationCollectionResult=DeleteOperationCollectionSuccess|PermissionError type DeleteOperationCollectionSuccess{sandboxOwner:User variants:[GraphVariant!]!}"""The result of attempting to delete a graph variant.""" type DeleteSchemaTagResult{"""WHether a variant was deleted or not.""" deleted:Boolean!}enum DeletionTargetType{ACCOUNT USER}"""Support for a single directive on a graph variant""" type DirectiveSupportStatus{"""whether the directive is supported on the current graph variant""" enabled:Boolean!"""name of the directive""" name:String!}union DuplicateOperationCollectionResult=OperationCollection|PermissionError|ValidationError type DurationHistogram{averageDurationMs:Float buckets:[DurationHistogramBucket!]!durationMs("""Percentile (between 0 and 1)""" percentile:Float!):Float """Counts per durationBucket, where sequences of zeroes are replaced with the negative of their size""" sparseBuckets:[Long!]!totalCount:Long!totalDurationMs:Float!}type DurationHistogramBucket{count:Long!index:Int!rangeBeginMs:Float!rangeEndMs:Float!}input EdgeServerInfo{"""A randomly generated UUID, immutable for the lifetime of the edge server runtime.""" bootId:String!"""A unique identifier for the executable GraphQL served by the edge server. length must be <= 64 characters.""" executableSchemaId:String!"""The graph variant, defaults to 'current'""" graphVariant:String!="current" """The version of the edge server reporting agent, e.g. apollo-server-2.8, graphql-java-3.1, etc. length must be <= 256 characters.""" libraryVersion:String """The infra environment in which this edge server is running, e.g. localhost, Kubernetes, AWS Lambda, Google CloudRun, AWS ECS, etc. length must be <= 256 characters.""" platform:String """The runtime in which the edge server is running, e.g. node 12.03, zulu8.46.0.19-ca-jdk8.0.252-macosx_x64, etc. length must be <= 256 characters.""" runtimeVersion:String """If available, an identifier for the edge server instance, such that when restarting this instance it will have the same serverId, with a different bootId. For example, in Kubernetes this might be the pod name. Length must be <= 256 characters.""" serverId:String """An identifier used to distinguish the version (from the user's perspective) of the edge server's code itself. For instance, the git sha of the server's repository or the docker sha of the associated image this server runs with. Length must be <= 256 characters.""" userVersion:String}"""Columns of EdgeServerInfos.""" enum EdgeServerInfosColumn{BOOT_ID EXECUTABLE_SCHEMA_ID LIBRARY_VERSION PLATFORM RUNTIME_VERSION SCHEMA_TAG SERVER_ID SERVICE_ID TIMESTAMP USER_VERSION}type EdgeServerInfosDimensions{bootId:ID executableSchemaId:ID libraryVersion:String platform:String runtimeVersion:String schemaTag:String serverId:ID serviceId:ID userVersion:String}"""Filter for data in EdgeServerInfos. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input EdgeServerInfosFilter{and:[EdgeServerInfosFilter!]"""Selects rows whose bootId dimension equals the given value if not null. To query for the null value, use {in: {bootId: [null]}} instead.""" bootId:ID """Selects rows whose executableSchemaId dimension equals the given value if not null. To query for the null value, use {in: {executableSchemaId: [null]}} instead.""" executableSchemaId:ID in:EdgeServerInfosFilterIn """Selects rows whose libraryVersion dimension equals the given value if not null. To query for the null value, use {in: {libraryVersion: [null]}} instead.""" libraryVersion:String not:EdgeServerInfosFilter or:[EdgeServerInfosFilter!]"""Selects rows whose platform dimension equals the given value if not null. To query for the null value, use {in: {platform: [null]}} instead.""" platform:String """Selects rows whose runtimeVersion dimension equals the given value if not null. To query for the null value, use {in: {runtimeVersion: [null]}} instead.""" runtimeVersion:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serverId dimension equals the given value if not null. To query for the null value, use {in: {serverId: [null]}} instead.""" serverId:ID """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose userVersion dimension equals the given value if not null. To query for the null value, use {in: {userVersion: [null]}} instead.""" userVersion:String}"""Filter for data in EdgeServerInfos. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input EdgeServerInfosFilterIn{"""Selects rows whose bootId dimension is in the given list. A null value in the list means a row with null for that dimension.""" bootId:[ID]"""Selects rows whose executableSchemaId dimension is in the given list. A null value in the list means a row with null for that dimension.""" executableSchemaId:[ID]"""Selects rows whose libraryVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" libraryVersion:[String]"""Selects rows whose platform dimension is in the given list. A null value in the list means a row with null for that dimension.""" platform:[String]"""Selects rows whose runtimeVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" runtimeVersion:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serverId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serverId:[ID]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose userVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" userVersion:[String]}input EdgeServerInfosOrderBySpec{column:EdgeServerInfosColumn!direction:Ordering!}type EdgeServerInfosRecord{"""Dimensions of EdgeServerInfos that can be grouped by.""" groupBy:EdgeServerInfosDimensions!"""Starting segment timestamp.""" timestamp:Timestamp!}enum EmailCategory{EDUCATIONAL}type EmailPreferences{email:String!subscriptions:[EmailCategory!]!unsubscribedFromAll:Boolean!}interface Error{message:String!}"""Columns of ErrorStats.""" enum ErrorStatsColumn{ACCOUNT_ID CLIENT_NAME CLIENT_VERSION ERRORS_COUNT PATH QUERY_ID QUERY_NAME REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type ErrorStatsDimensions{accountId:ID clientName:String clientVersion:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in ErrorStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ErrorStatsFilter{"""Selects rows whose accountId dimension equals the given value if not null. To query for the null value, use {in: {accountId: [null]}} instead.""" accountId:ID and:[ErrorStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:ErrorStatsFilterIn not:ErrorStatsFilter or:[ErrorStatsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in ErrorStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ErrorStatsFilterIn{"""Selects rows whose accountId dimension is in the given list. A null value in the list means a row with null for that dimension.""" accountId:[ID]"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type ErrorStatsMetrics{errorsCount:Long!requestsWithErrorsCount:Long!}input ErrorStatsOrderBySpec{column:ErrorStatsColumn!direction:Ordering!}type ErrorStatsRecord{"""Dimensions of ErrorStats that can be grouped by.""" groupBy:ErrorStatsDimensions!"""Metrics of ErrorStats that can be aggregated over.""" metrics:ErrorStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}""" Input parameters for run explorer operation event.""" enum EventEnum{CLICK_CHECK_LIST CLICK_GO_TO_GRAPH_SETTINGS RUN_EXPLORER_OPERATION}"""Excluded operation for a graph.""" type ExcludedOperation{"""Operation ID to exclude from schema check.""" ID:ID!}"""Option to filter by operation ID.""" input ExcludedOperationInput{"""Operation ID to exclude from schema check.""" ID:ID!}type FeatureIntros{devGraph:Boolean!federatedGraph:Boolean!freeConsumerSeats:Boolean!}"""Feature Intros Input Type""" input FeatureIntrosInput{devGraph:Boolean federatedGraph:Boolean freeConsumerSeats:Boolean}"""Subgraph. Federated graph variants that are managed by Apollo Studio are composed of subgraphs. See https://www.apollographql.com/docs/federation/managed-federation/overview/ for more information.""" type FederatedImplementingService{"""The subgraph schema actively published, used for composition for the graph variant this subgraph belongs to.""" activePartialSchema:PartialSchema!"""Timestamp of when this subgraph was created.""" createdAt:Timestamp!"""The ID of the graph this subgraph belongs to.""" graphID:String!"""Which variant of a graph this subgraph belongs to.""" graphVariant:String!"""Name of the subgraph.""" name:String!"""The particular version/edition of a subgraph, entered by users. Typically a Git SHA or docker image ID.""" revision:String!"""Timestamp for when this subgraph was updated.""" updatedAt:Timestamp!"""URL of the subgraph's GraphQL endpoint.""" url:String}"""A minimal representation of a federated implementing service, using only a name and partial schema SDL""" type FederatedImplementingServicePartialSchema{"""The name of the implementing service""" name:String!"""The partial schema of the implementing service""" sdl:String!}"""Container for a list of subgraphs composing a graph.""" type FederatedImplementingServices{"""The list of underlying subgraphs.""" services:[FederatedImplementingService!]!}"""Counts of changes at the field level, including objects, interfaces, and input fields.""" type FieldChangeSummaryCounts{"""Number of changes that are additions of fields to object, interface, and input types.""" additions:Int!"""Number of changes that are field edits. This includes fields changing type and any field deprecation and description changes, but also includes any argument changes and any input object -field changes.""" edits:Int!"""Number of changes that are removals of fields from object, interface, and input types.""" removals:Int!}"""Columns of FieldLatencies.""" enum FieldLatenciesColumn{FIELD_HISTOGRAM FIELD_NAME PARENT_TYPE SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type FieldLatenciesDimensions{field:String fieldName:String parentType:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in FieldLatencies. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input FieldLatenciesFilter{and:[FieldLatenciesFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:FieldLatenciesFilterIn not:FieldLatenciesFilter or:[FieldLatenciesFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in FieldLatencies. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input FieldLatenciesFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type FieldLatenciesMetrics{fieldHistogram:DurationHistogram!}input FieldLatenciesOrderBySpec{column:FieldLatenciesColumn!direction:Ordering!}type FieldLatenciesRecord{"""Dimensions of FieldLatencies that can be grouped by.""" groupBy:FieldLatenciesDimensions!"""Metrics of FieldLatencies that can be aggregated over.""" metrics:FieldLatenciesMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of FieldUsage.""" enum FieldUsageColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT EXECUTION_COUNT FIELD_NAME PARENT_TYPE QUERY_ID QUERY_NAME REFERENCING_OPERATION_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type FieldUsageDimensions{clientName:String clientVersion:String fieldName:String parentType:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in FieldUsage. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input FieldUsageFilter{and:[FieldUsageFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:FieldUsageFilterIn not:FieldUsageFilter or:[FieldUsageFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in FieldUsage. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input FieldUsageFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type FieldUsageMetrics{estimatedExecutionCount:Long!executionCount:Long!referencingOperationCount:Long!}input FieldUsageOrderBySpec{column:FieldUsageColumn!direction:Ordering!}type FieldUsageRecord{"""Dimensions of FieldUsage that can be grouped by.""" groupBy:FieldUsageDimensions!"""Metrics of FieldUsage that can be aggregated over.""" metrics:FieldUsageMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type FilterBuildInput{filterConfig:FilterConfig!schemaHash:String!}type FilterConfig{exclude:[String!]!include:[String!]!}input FilterConfigInput{exclude:[String!]!include:[String!]!}type GitContext{branch:String commit:ID commitUrl:String committer:String message:String remoteHost:GitRemoteHost remoteUrl:String}"""This is stored with a schema when it is uploaded""" input GitContextInput{branch:String commit:ID committer:String message:String remoteUrl:String}enum GitRemoteHost{BITBUCKET GITHUB GITLAB}type GlobalExperimentalFeatures{operationsCollections:Boolean!sandboxesFullRelease:Boolean!sandboxesPreview:Boolean!sandboxesSchemaChecksPage:Boolean!sandboxesSchemaDiffPage:Boolean!subgraphsInSandbox:Boolean!}type GraphApiKey implements ApiKey{createdAt:Timestamp!createdBy:Identity id:ID!keyName:String role:UserPermission!token:String!}"""A union of all combinations that can comprise the implementingServices for a Service""" union GraphImplementors=FederatedImplementingServices|NonFederatedImplementingService scalar GraphQLDocument """A variant of a graph, often corresponding to an environment where a graph runs (e.g. staging). -See https://www.apollographql.com/docs/studio/org/graphs/ for more details.""" type GraphVariant{"""As new schema tags keep getting published, activeSchemaPublish refers to the latest.""" activeSchemaPublish:SchemaTag """The version of composition currently in use, if applicable""" compositionVersion:String """Filter configuration used to create the contract schema""" contractFilterConfig:FilterConfig """Preview a Contract schema built from this source variant.""" contractPreview(filters:FilterConfigInput!):ContractPreview!"""Explorer setting for default headers for a graph""" defaultHeaders:String derivedVariantCount:Int!"""Graph the variant belongs to.""" graph:Service!"""Graph ID of the variant. Prefer using graph { id } when feasible.""" graphId:String!"""If the variant has managed subgraphs.""" hasManagedSubgraphs:Boolean """Global identifier for the graph variant, in the form `graph@variant`.""" id:ID!"""Represents whether this variant is a Contract.""" isContract:Boolean!"""Is this variant one of the current user's favorite variants?""" isFavoriteOfCurrentUser:Boolean!"""If the variant has managed subgraphs.""" isFederated:Boolean@deprecated(reason:"Replaced by hasManagedSubgraphs")"""If the variant is protected""" isProtected:Boolean!isPublic:Boolean!"""Represents whether this variant should be listed in the public variants directory. This can only be true if the variant is also public.""" isPubliclyListed:Boolean!"""Represents whether Apollo has verified the authenticity of this public variant. This can only be true if the variant is also public.""" isVerified:Boolean!"""Latest approved launch for the variant, and what is served through Uplink.""" latestApprovedLaunch:Launch """Latest launch for the variant, whether successful or not.""" latestLaunch:Launch """Latest publication for the variant.""" latestPublication:SchemaTag launch(id:ID!):Launch launchHistory(limit:Int!=100):[Launch!]!links:[LinkInfo!]"""Name of the variant, like `variant`.""" name:String!operationCollections:[OperationCollection!]!"""Which permissions the current user has for interacting with this variant""" permissions:GraphVariantPermissions!"""Generate a federated operation plan for a given operation""" plan(document:GraphQLDocument!operationName:String):QueryPlan """Explorer setting for preflight script to run before the actual GraphQL operations is run.""" preflightScript:String readme:Readme """Registry stats for this particular graph variant""" registryStatsWindow(from:Timestamp!resolution:Resolution to:Timestamp):RegistryStatsWindow """The total number of requests for this variant in the last 24 hours""" requestsInLastDay:Long """If the graphql endpoint is set up to accept cookies.""" sendCookies:Boolean sourceVariant:GraphVariant """List of subgraphs that comprise a variant, null if not federated. -Set includeDeleted to see deleted subgraphs.""" subgraphs(includeDeleted:Boolean!=false):[FederatedImplementingService!]"""URL where subscription operations can be executed.""" subscriptionUrl:String """A list of supported directives""" supportedDirectives:[DirectiveSupportStatus!]"""URL where non-subscription operations can be executed.""" url:String """The last instant that usage information (e.g. operation stat, client stats) was reported for this variant""" usageLastReportedAt:Timestamp}"""Result of looking up a variant by ref""" union GraphVariantLookup=GraphVariant|InvalidRefFormat """Modifies a variant of a graph, also called a schema tag in parts of our product.""" type GraphVariantMutation{addLinkToVariant(title:String type:LinkInfoType!url:String!):GraphVariant!configureComposition(enableTagAndInaccessible:Boolean version:String):GraphVariant enableTagAndInaccessible(enabled:Boolean!):GraphVariant@deprecated(reason:"Use configureComposition instead")"""Graph ID of the variant""" graphId:String!"""Global identifier for the graph variant, in the form `graph@variant`.""" id:ID!"""Name of the variant, like `variant`.""" name:String!relaunch:RelaunchResult!removeLinkFromVariant(linkInfoId:ID!):GraphVariant!setIsFavoriteOfCurrentUser(favorite:Boolean!):GraphVariant!updateDefaultHeaders(defaultHeaders:String):GraphVariant updateIsProtected(isProtected:Boolean!):GraphVariant updatePreflightScript(preflightScript:String):GraphVariant updateSendCookies(sendCookies:Boolean!):GraphVariant updateSubscriptionURL(subscriptionUrl:String):GraphVariant updateURL(url:String):GraphVariant updateVariantIsPublic(isPublic:Boolean!):GraphVariant updateVariantIsPubliclyListed(isPubliclyListed:Boolean!):GraphVariant updateVariantIsVerified(isVerified:Boolean!):GraphVariant updateVariantReadme(readme:String!):GraphVariant}"""A map from permission String to boolean that the currently authenticated user is allowed for a particular graph variant.""" type GraphVariantPermissions{canCreateCollectionInVariant:Boolean!"""Whether the currently authenticated user is permitted to manage/update the build configuration (e.g. build pipeline version) for this variant.""" canManageBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to update variant-level settings for the Schema Explorer.""" canManageExplorerSettings:Boolean!"""Whether the currently authenticated user is permitted to publish schemas to this variant.""" canPushSchemas:Boolean!"""Whether the currently authenticated user is permitted to view details regarding the build configuration (e.g. build pipeline version) for this variant.""" canQueryBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to download schemas associated to this variant.""" canQuerySchemas:Boolean!canShareCollectionInVariant:Boolean!canUpdateVariantLinkInfo:Boolean!"""Whether the currently authenticated user is permitted to update the README for this variant.""" canUpdateVariantReadme:Boolean!variantId:ID!}enum HTTPMethod{CONNECT DELETE GET HEAD OPTIONS PATCH POST PUT TRACE UNKNOWN UNRECOGNIZED}input HistoricQueryParameters{"""A list of clients to filter out during validation.""" excludedClients:[ClientInfoFilter!]=null """A list of operation names to filter out during validation.""" excludedOperationNames:[OperationNameFilterInput!]=null from:Timestamp="-86400" """A list of operation IDs to filter out during validation.""" ignoredOperations:[ID!]=null """A list of variants to include in the validation. If no variants are provided +field changes.""" edits:Int!"""Number of changes that are removals of fields from object, interface, and input types.""" removals:Int!}"""Columns of FieldExecutions.""" enum FieldExecutionsColumn{ESTIMATED_EXECUTION_COUNT FIELD_NAME OBSERVED_EXECUTION_COUNT PARENT_TYPE REFERENCING_OPERATION_COUNT SCHEMA_TAG SERVICE_ID TIMESTAMP}type FieldExecutionsDimensions{fieldName:String parentType:String schemaTag:String serviceId:ID}"""Filter for data in FieldExecutions. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input FieldExecutionsFilter{and:[FieldExecutionsFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:FieldExecutionsFilterIn not:FieldExecutionsFilter or:[FieldExecutionsFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in FieldExecutions. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input FieldExecutionsFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type FieldExecutionsMetrics{estimatedExecutionCount:Long!observedExecutionCount:Long!referencingOperationCount:Long!}input FieldExecutionsOrderBySpec{column:FieldExecutionsColumn!direction:Ordering!}type FieldExecutionsRecord{"""Dimensions of FieldExecutions that can be grouped by.""" groupBy:FieldExecutionsDimensions!"""Metrics of FieldExecutions that can be aggregated over.""" metrics:FieldExecutionsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of FieldLatencies.""" enum FieldLatenciesColumn{FIELD_HISTOGRAM FIELD_NAME PARENT_TYPE SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type FieldLatenciesDimensions{field:String fieldName:String parentType:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in FieldLatencies. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input FieldLatenciesFilter{and:[FieldLatenciesFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:FieldLatenciesFilterIn not:FieldLatenciesFilter or:[FieldLatenciesFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in FieldLatencies. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input FieldLatenciesFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type FieldLatenciesMetrics{fieldHistogram:DurationHistogram!}input FieldLatenciesOrderBySpec{column:FieldLatenciesColumn!direction:Ordering!}type FieldLatenciesRecord{"""Dimensions of FieldLatencies that can be grouped by.""" groupBy:FieldLatenciesDimensions!"""Metrics of FieldLatencies that can be aggregated over.""" metrics:FieldLatenciesMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of FieldRequestsByClientVersion.""" enum FieldRequestsByClientVersionColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT FIELD_NAME OBSERVED_EXECUTION_COUNT PARENT_TYPE REFERENCING_OPERATION_COUNT SCHEMA_TAG SERVICE_ID TIMESTAMP}type FieldRequestsByClientVersionDimensions{clientName:String clientVersion:String fieldName:String parentType:String schemaTag:String serviceId:ID}"""Filter for data in FieldRequestsByClientVersion. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input FieldRequestsByClientVersionFilter{and:[FieldRequestsByClientVersionFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:FieldRequestsByClientVersionFilterIn not:FieldRequestsByClientVersionFilter or:[FieldRequestsByClientVersionFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in FieldRequestsByClientVersion. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input FieldRequestsByClientVersionFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type FieldRequestsByClientVersionMetrics{estimatedExecutionCount:Long!observedExecutionCount:Long!referencingOperationCount:Long!}input FieldRequestsByClientVersionOrderBySpec{column:FieldRequestsByClientVersionColumn!direction:Ordering!}type FieldRequestsByClientVersionRecord{"""Dimensions of FieldRequestsByClientVersion that can be grouped by.""" groupBy:FieldRequestsByClientVersionDimensions!"""Metrics of FieldRequestsByClientVersion that can be aggregated over.""" metrics:FieldRequestsByClientVersionMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of FieldUsage.""" enum FieldUsageColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT EXECUTION_COUNT FIELD_NAME PARENT_TYPE QUERY_ID QUERY_NAME REFERENCING_OPERATION_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type FieldUsageDimensions{clientName:String clientVersion:String fieldName:String parentType:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in FieldUsage. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input FieldUsageFilter{and:[FieldUsageFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:FieldUsageFilterIn not:FieldUsageFilter or:[FieldUsageFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in FieldUsage. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input FieldUsageFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type FieldUsageMetrics{estimatedExecutionCount:Long!executionCount:Long!referencingOperationCount:Long!}input FieldUsageOrderBySpec{column:FieldUsageColumn!direction:Ordering!}type FieldUsageRecord{"""Dimensions of FieldUsage that can be grouped by.""" groupBy:FieldUsageDimensions!"""Metrics of FieldUsage that can be aggregated over.""" metrics:FieldUsageMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type FilterBuildInput{filterConfig:FilterConfig!schemaHash:String!}type FilterConfig{exclude:[String!]!include:[String!]!}input FilterConfigInput{exclude:[String!]!include:[String!]!}type GitContext{branch:String commit:ID commitUrl:String committer:String message:String remoteHost:GitRemoteHost remoteUrl:String}"""This is stored with a schema when it is uploaded""" input GitContextInput{branch:String commit:ID committer:String message:String remoteUrl:String}enum GitRemoteHost{BITBUCKET GITHUB GITLAB}type GlobalExperimentalFeatures{operationsCollections:Boolean!sandboxesFullRelease:Boolean!sandboxesPreview:Boolean!sandboxesSchemaChecksPage:Boolean!sandboxesSchemaDiffPage:Boolean!subgraphsInSandbox:Boolean!}type GraphApiKey implements ApiKey{createdAt:Timestamp!createdBy:Identity id:ID!keyName:String role:UserPermission!token:String!}"""A union of all combinations that can comprise the implementingServices for a Service""" union GraphImplementors=FederatedImplementingServices|NonFederatedImplementingService scalar GraphQLDocument """A variant of a graph, often corresponding to an environment where a graph runs (e.g. staging). +See https://www.apollographql.com/docs/studio/org/graphs/ for more details.""" type GraphVariant{"""As new schema tags keep getting published, activeSchemaPublish refers to the latest.""" activeSchemaPublish:SchemaTag """The version of composition currently in use, if applicable""" compositionVersion:String """Filter configuration used to create the contract schema""" contractFilterConfig:FilterConfig """Preview a Contract schema built from this source variant.""" contractPreview(filters:FilterConfigInput!):ContractPreview!defaultHeaders:String@deprecated(reason:"Use sharedHeaders instead")derivedVariantCount:Int!"""Graph the variant belongs to.""" graph:Service!"""Graph ID of the variant. Prefer using graph { id } when feasible.""" graphId:String!"""If the variant has managed subgraphs.""" hasManagedSubgraphs:Boolean """Global identifier for the graph variant, in the form `graph@variant`.""" id:ID!"""Represents whether this variant is a Contract.""" isContract:Boolean!"""Is this variant one of the current user's favorite variants?""" isFavoriteOfCurrentUser:Boolean!"""If the variant has managed subgraphs.""" isFederated:Boolean@deprecated(reason:"Replaced by hasManagedSubgraphs")"""If the variant is protected""" isProtected:Boolean!isPublic:Boolean!"""Represents whether this variant should be listed in the public variants directory. This can only be true if the variant is also public.""" isPubliclyListed:Boolean!"""Represents whether Apollo has verified the authenticity of this public variant. This can only be true if the variant is also public.""" isVerified:Boolean!"""Latest approved launch for the variant, and what is served through Uplink.""" latestApprovedLaunch:Launch """Latest launch for the variant, whether successful or not.""" latestLaunch:Launch """Latest publication for the variant.""" latestPublication:SchemaTag launch(id:ID!):Launch launchHistory(limit:Int!=100):[Launch!]!links:[LinkInfo!]"""Name of the variant, like `variant`.""" name:String!operationCollections:[OperationCollection!]!"""Which permissions the current user has for interacting with this variant""" permissions:GraphVariantPermissions!"""Generate a federated operation plan for a given operation""" plan(document:GraphQLDocument!operationName:String):QueryPlan """Explorer setting for preflight script to run before the actual GraphQL operations is run.""" preflightScript:String readme:Readme """Registry stats for this particular graph variant""" registryStatsWindow(from:Timestamp!resolution:Resolution to:Timestamp):RegistryStatsWindow """The total number of requests for this variant in the last 24 hours""" requestsInLastDay:Long """If the graphql endpoint is set up to accept cookies.""" sendCookies:Boolean """Explorer setting for shared headers for a graph""" sharedHeaders:String sourceVariant:GraphVariant """Subgraph of a given name, null if non-existent.""" subgraph(name:ID!):FederatedImplementingService """List of subgraphs that comprise a variant, null if not federated. +Set includeDeleted to see deleted subgraphs.""" subgraphs(includeDeleted:Boolean!=false):[FederatedImplementingService!]"""URL where subscription operations can be executed.""" subscriptionUrl:String """A list of supported directives""" supportedDirectives:[DirectiveSupportStatus!]"""URL where non-subscription operations can be executed.""" url:String """The last instant that usage information (e.g. operation stat, client stats) was reported for this variant""" usageLastReportedAt:Timestamp}"""Result of looking up a variant by ref""" union GraphVariantLookup=GraphVariant|InvalidRefFormat """Modifies a variant of a graph, also called a schema tag in parts of our product.""" type GraphVariantMutation{addLinkToVariant(title:String type:LinkInfoType!url:String!):GraphVariant!configureComposition(enableTagAndInaccessible:Boolean version:String):GraphVariant """Delete the variant.""" delete:DeleteSchemaTagResult!enableTagAndInaccessible(enabled:Boolean!):GraphVariant@deprecated(reason:"Use configureComposition instead")"""Graph ID of the variant""" graphId:String!"""Global identifier for the graph variant, in the form `graph@variant`.""" id:ID!"""Name of the variant, like `variant`.""" name:String!relaunch:RelaunchResult!removeLinkFromVariant(linkInfoId:ID!):GraphVariant!setIsFavoriteOfCurrentUser(favorite:Boolean!):GraphVariant!updateDefaultHeaders(defaultHeaders:String):GraphVariant@deprecated(reason:"Use updateSharedHeaders instead")updateIsProtected(isProtected:Boolean!):GraphVariant updatePreflightScript(preflightScript:String):GraphVariant updateSendCookies(sendCookies:Boolean!):GraphVariant updateSharedHeaders(sharedHeaders:String):GraphVariant updateSubscriptionURL(subscriptionUrl:String):GraphVariant updateURL(url:String):GraphVariant updateVariantIsPublic(isPublic:Boolean!):GraphVariant updateVariantIsPubliclyListed(isPubliclyListed:Boolean!):GraphVariant updateVariantIsVerified(isVerified:Boolean!):GraphVariant updateVariantReadme(readme:String!):GraphVariant}"""A map from permission String to boolean that the currently authenticated user is allowed for a particular graph variant.""" type GraphVariantPermissions{canCreateCollectionInVariant:Boolean!"""Whether the currently authenticated user is permitted to manage/update the build configuration (e.g. build pipeline version) for this variant.""" canManageBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to update variant-level settings for the Schema Explorer.""" canManageExplorerSettings:Boolean!"""Whether the currently authenticated user is permitted to publish schemas to this variant.""" canPushSchemas:Boolean!"""Whether the currently authenticated user is permitted to view details regarding the build configuration (e.g. build pipeline version) for this variant.""" canQueryBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to download schemas associated to this variant.""" canQuerySchemas:Boolean!canShareCollectionInVariant:Boolean!canUpdateVariantLinkInfo:Boolean!"""Whether the currently authenticated user is permitted to update the README for this variant.""" canUpdateVariantReadme:Boolean!variantId:ID!}enum HTTPMethod{CONNECT DELETE GET HEAD OPTIONS PATCH POST PUT TRACE UNKNOWN UNRECOGNIZED}input HistoricQueryParameters{"""A list of clients to filter out during validation.""" excludedClients:[ClientInfoFilter!]=null """A list of operation names to filter out during validation.""" excludedOperationNames:[OperationNameFilterInput!]=null from:Timestamp="-86400" """A list of operation IDs to filter out during validation.""" ignoredOperations:[ID!]=null """A list of variants to include in the validation. If no variants are provided then this defaults to the "current" variant along with the base variant. The base variant indicates the schema that generates diff and marks the metrics that are checked for broken queries. We union this base variant with the untagged values('', @@ -54,10 +54,10 @@ same as null inside of `in`, and 'current') in this metrics fetch. This strategy supports users who have not tagged their metrics or schema.""" includedVariants:[String!]=null """Minimum number of requests within the window for a query to be considered.""" queryCountThreshold:Int=1 """Number of requests within the window for a query to be considered, relative to total request count. Expected values are between 0 and 0.05 (minimum 5% of total request volume)""" queryCountThresholdPercentage:Float=0 to:Timestamp="-0"}"""An identity (e.g. Anonymous, a specific User) within Apollo Studio. See implementations.""" interface Identity{"""A view of the identity as an Actor type.""" asActor:Actor!"""An identifier for a given identity, unique within the context of the identity type.""" id:ID!"""A human-readable name for the identity in question.""" name:String!}"""An actor's identity and info about the client they used to perform the action""" type IdentityAndClientInfo{"""Client name provided when the actor performed the action""" clientName:String """Client version provided when the actor performed the action""" clientVersion:String """Identity info about the actor""" identity:Identity}union IdentityMutation=ServiceMutation|UserMutation type IgnoreOperationsInChecksResult{graph:Service!}"""The location of the implementing service config file in storage""" type ImplementingServiceLocation{"""The name of the implementing service""" name:String!"""The path in storage to access the implementing service config file""" path:String!}type InternalAdminUser{role:InternalMdgAdminRole!userID:String!}type InternalIdentity implements Identity{accounts:[Account!]!asActor:Actor!email:String id:ID!name:String!}enum InternalMdgAdminRole{INTERNAL_MDG_READ_ONLY INTERNAL_MDG_SALES INTERNAL_MDG_SUPER_ADMIN INTERNAL_MDG_SUPPORT}type IntrospectionDirective{args:[IntrospectionInputValue!]!description:String locations:[IntrospectionDirectiveLocation!]!name:String!}input IntrospectionDirectiveInput{args:[IntrospectionInputValueInput!]!description:String isRepeatable:Boolean locations:[IntrospectionDirectiveLocation!]!name:String!}"""__DirectiveLocation introspection type""" enum IntrospectionDirectiveLocation{"""Location adjacent to an argument definition.""" ARGUMENT_DEFINITION """Location adjacent to an enum definition.""" ENUM """Location adjacent to an enum value definition.""" ENUM_VALUE """Location adjacent to a field.""" FIELD """Location adjacent to a field definition.""" FIELD_DEFINITION """Location adjacent to a fragment definition.""" FRAGMENT_DEFINITION """Location adjacent to a fragment spread.""" FRAGMENT_SPREAD """Location adjacent to an inline fragment.""" INLINE_FRAGMENT """Location adjacent to an input object field definition.""" INPUT_FIELD_DEFINITION """Location adjacent to an input object type definition.""" INPUT_OBJECT """Location adjacent to an interface definition.""" INTERFACE """Location adjacent to a mutation operation.""" MUTATION """Location adjacent to an object type definition.""" OBJECT """Location adjacent to a query operation.""" QUERY """Location adjacent to a scalar definition.""" SCALAR """Location adjacent to a schema definition.""" SCHEMA """Location adjacent to a subscription operation.""" SUBSCRIPTION """Location adjacent to a union definition.""" UNION """Location adjacent to a variable definition.""" VARIABLE_DEFINITION}"""Values associated with introspection result for an enum value""" type IntrospectionEnumValue{depreactionReason:String@deprecated(reason:"Use deprecationReason instead")deprecationReason:String description:String isDeprecated:Boolean!name:String!}"""__EnumValue introspection type""" input IntrospectionEnumValueInput{deprecationReason:String description:String isDeprecated:Boolean!name:String!}"""Values associated with introspection result for field""" type IntrospectionField{args:[IntrospectionInputValue!]!deprecationReason:String description:String isDeprecated:Boolean!name:String!type:IntrospectionType!}"""__Field introspection type""" input IntrospectionFieldInput{args:[IntrospectionInputValueInput!]!deprecationReason:String description:String isDeprecated:Boolean!name:String!type:IntrospectionTypeInput!}"""Values associated with introspection result for an input field""" type IntrospectionInputValue{defaultValue:String description:String name:String!type:IntrospectionType!}"""__Value introspection type""" input IntrospectionInputValueInput{defaultValue:String deprecationReason:String description:String isDeprecated:Boolean name:String!type:IntrospectionTypeInput!}type IntrospectionSchema{directives:[IntrospectionDirective!]!mutationType:IntrospectionType queryType:IntrospectionType!subscriptionType:IntrospectionType types(filter:TypeFilterConfig={includeAbstractTypes:true includeBuiltInTypes:true includeIntrospectionTypes:true}):[IntrospectionType!]!}"""__Schema introspection type""" input IntrospectionSchemaInput{description:String directives:[IntrospectionDirectiveInput!]!mutationType:IntrospectionTypeRefInput queryType:IntrospectionTypeRefInput!subscriptionType:IntrospectionTypeRefInput types:[IntrospectionTypeInput!]}"""Object containing all possible values for an introspectionType""" type IntrospectionType{"""the base kind of the type this references, ignoring lists and nullability""" baseKind:IntrospectionTypeKind description:String enumValues(includeDeprecated:Boolean=false):[IntrospectionEnumValue!]fields:[IntrospectionField!]inputFields:[IntrospectionInputValue!]interfaces:[IntrospectionType!]kind:IntrospectionTypeKind name:String ofType:IntrospectionType possibleTypes:[IntrospectionType!]"""printed representation of type, including nested nullability and list ofTypes""" printed:String!}"""__Type introspection type""" input IntrospectionTypeInput{description:String enumValues:[IntrospectionEnumValueInput!]fields:[IntrospectionFieldInput!]inputFields:[IntrospectionInputValueInput!]interfaces:[IntrospectionTypeInput!]kind:IntrospectionTypeKind!name:String ofType:IntrospectionTypeInput possibleTypes:[IntrospectionTypeInput!]specifiedByUrl:String}enum IntrospectionTypeKind{"""Indicates this type is an enum. 'enumValues' is a valid field.""" ENUM """Indicates this type is an input object. 'inputFields' is a valid field.""" INPUT_OBJECT """Indicates this type is an interface. 'fields' and 'possibleTypes' are valid -fields""" INTERFACE """Indicates this type is a list. 'ofType' is a valid field.""" LIST """Indicates this type is a non-null. 'ofType' is a valid field.""" NON_NULL """Indicates this type is an object. 'fields' and 'interfaces' are valid fields.""" OBJECT """Indicates this type is a scalar.""" SCALAR """Indicates this type is a union. 'possibleTypes' is a valid field.""" UNION}"""Shallow __Type introspection type""" input IntrospectionTypeRefInput{kind:String name:String!}type InvalidOperation{errors:[OperationValidationError!]signature:ID!}"""Type returned by reference lookup when the reference was invalid""" type InvalidRefFormat implements Error{message:String!}type InvalidTarget implements Error{message:String!}type Invoice{closedAt:Timestamp collectionMethod:String createdAt:Timestamp!invoiceNumber:Int!state:InvoiceState!totalInCents:Int!updatedAt:Timestamp!uuid:ID!}enum InvoiceState{COLLECTED FAILED OPEN PAST_DUE UNKNOWN}enum InvoiceStateV2{COLLECTED FAILED OPEN PAST_DUE UNKNOWN}type InvoiceV2{closedAt:Timestamp collectionMethod:String createdAt:Timestamp!invoiceNumber:Int!state:InvoiceStateV2!totalInCents:Int!updatedAt:Timestamp!uuid:ID!}type Launch{approvedAt:Timestamp build:Build buildInput:BuildInput!completedAt:Timestamp createdAt:Timestamp!downstreamLaunches:[Launch!]!graphId:String!graphVariant:String!id:ID!isAvailable:Boolean isCompleted:Boolean isPublished:Boolean isTarget:Boolean latestSequenceStep:LaunchSequenceStep publication:SchemaTag results:[LaunchResult!]!schemaTag:SchemaTag sequence:[LaunchSequenceStep!]!shortenedID:String!status:LaunchStatus!subgraphChanges:[SubgraphChange!]supersededAt:Timestamp supersededBy:Launch upstreamLaunch:Launch}"""more result types will be supported in the future""" union LaunchResult=ChangelogLaunchResult type LaunchSequenceBuildStep{completedAt:Timestamp startedAt:Timestamp}type LaunchSequenceCheckStep{completedAt:Timestamp startedAt:Timestamp}type LaunchSequenceCompletedStep{completedAt:Timestamp}type LaunchSequenceInitiatedStep{startedAt:Timestamp}type LaunchSequencePublishStep{completedAt:Timestamp startedAt:Timestamp}union LaunchSequenceStep=LaunchSequenceBuildStep|LaunchSequenceCheckStep|LaunchSequenceCompletedStep|LaunchSequenceInitiatedStep|LaunchSequencePublishStep|LaunchSequenceSupersededStep type LaunchSequenceSupersededStep{completedAt:Timestamp}enum LaunchStatus{LAUNCH_COMPLETED LAUNCH_FAILED LAUNCH_INITIATED}type LinkInfo{createdAt:Timestamp!id:ID!title:String type:LinkInfoType!url:String!}enum LinkInfoType{DEVELOPER_PORTAL OTHER REPOSITORY}"""Long type""" scalar Long type MarkChangesForOperationAsSafeResult{"""Nice to have for the frontend since the Apollo cache is already watching for AffectedQuery to update. +fields""" INTERFACE """Indicates this type is a list. 'ofType' is a valid field.""" LIST """Indicates this type is a non-null. 'ofType' is a valid field.""" NON_NULL """Indicates this type is an object. 'fields' and 'interfaces' are valid fields.""" OBJECT """Indicates this type is a scalar.""" SCALAR """Indicates this type is a union. 'possibleTypes' is a valid field.""" UNION}"""Shallow __Type introspection type""" input IntrospectionTypeRefInput{kind:String name:String!}type InvalidOperation{errors:[OperationValidationError!]signature:ID!}"""Type returned by reference lookup when the reference was invalid""" type InvalidRefFormat implements Error{message:String!}type InvalidTarget implements Error{message:String!}type Invoice{closedAt:Timestamp collectionMethod:String createdAt:Timestamp!invoiceNumber:Int!state:InvoiceState!totalInCents:Int!updatedAt:Timestamp!uuid:ID!}enum InvoiceState{COLLECTED FAILED OPEN PAST_DUE UNKNOWN}enum InvoiceStateV2{COLLECTED FAILED OPEN PAST_DUE UNKNOWN}type InvoiceV2{closedAt:Timestamp collectionMethod:String createdAt:Timestamp!invoiceNumber:Int!state:InvoiceStateV2!totalInCents:Int!updatedAt:Timestamp!uuid:ID!}"""A Launch represents the complete process of making a set of updates to your deployed graph.""" type Launch{"""The time at which this launch was approved.""" approvedAt:Timestamp """The build for the variant being launched. Is non-null once the build is initiated.""" build:Build """Set of items that will be passed to the build.""" buildInput:BuildInput!"""The time at which this launch completed.""" completedAt:Timestamp """The time at which this launch initiated.""" createdAt:Timestamp!"""Contract launches that were triggered by this launch.""" downstreamLaunches:[Launch!]!"""The ID of the graph that this launch was initiated for.""" graphId:String!"""The name of the variant that this launch was initiated for.""" graphVariant:String!"""Unique identifier for this launch.""" id:ID!isAvailable:Boolean """Whether the launch completed.""" isCompleted:Boolean """Whether the launch was published.""" isPublished:Boolean isTarget:Boolean """Returns the most recent launch sequence step.""" latestSequenceStep:LaunchSequenceStep """A specific publication of a graph variant pertaining to this launch.""" publication:SchemaTag """The outcome of the launch.""" results:[LaunchResult!]!schemaTag:SchemaTag """This represents a sequence in the Launch. Returns a list of sequence steps that represents points of time in the launch.""" sequence:[LaunchSequenceStep!]!"""A shortened version of Launch.id. Contains the first 8 characters of the ID.""" shortenedID:String!"""The status of the launch.""" status:LaunchStatus!"""Changes that were made to the subgraphs for this launch.""" subgraphChanges:[SubgraphChange!]"""The time at which this launch was superseded by another launch.""" supersededAt:Timestamp """Represents the launch that caused this launch to not continue/publish.""" supersededBy:Launch """Upstream launch represents the launch of the source variant.""" upstreamLaunch:Launch}"""more result types will be supported in the future""" union LaunchResult=ChangelogLaunchResult type LaunchSequenceBuildStep{completedAt:Timestamp startedAt:Timestamp}type LaunchSequenceCheckStep{completedAt:Timestamp startedAt:Timestamp}type LaunchSequenceCompletedStep{completedAt:Timestamp}type LaunchSequenceInitiatedStep{startedAt:Timestamp}type LaunchSequencePublishStep{completedAt:Timestamp startedAt:Timestamp}union LaunchSequenceStep=LaunchSequenceBuildStep|LaunchSequenceCheckStep|LaunchSequenceCompletedStep|LaunchSequenceInitiatedStep|LaunchSequencePublishStep|LaunchSequenceSupersededStep type LaunchSequenceSupersededStep{completedAt:Timestamp}enum LaunchStatus{LAUNCH_COMPLETED LAUNCH_FAILED LAUNCH_INITIATED}type LinkInfo{createdAt:Timestamp!id:ID!title:String type:LinkInfoType!url:String!}enum LinkInfoType{DEVELOPER_PORTAL OTHER REPOSITORY}"""Long type""" scalar Long type MarkChangesForOperationAsSafeResult{"""Nice to have for the frontend since the Apollo cache is already watching for AffectedQuery to update. This might return null if no behavior changes were found for the affected operation ID. This is a weird situation that should never happen.""" affectedOperation:AffectedQuery message:String!success:Boolean!}type MediaUploadInfo{csrfToken:String!maxContentLength:Int!url:String!}union MoveOperationCollectionEntryResult=InvalidTarget|MoveOperationCollectionEntrySuccess|PermissionError type MoveOperationCollectionEntrySuccess{operation:OperationCollectionEntry!originCollection:OperationCollection!targetCollection:OperationCollection!}type Mutation{account(id:ID!):AccountMutation """Creates an operation collection for the given variantRefs, or make a sandbox collection without variantRefs.""" createOperationCollection(description:String editRoles:[UserPermission!]isSandbox:Boolean!isShared:Boolean!name:String!variantRefs:[ID!]):CreateOperationCollectionResult!"""Finalize a password reset with a token included in the E-mail link, -returns the corresponding login email when successful""" finalizePasswordReset(newPassword:String!resetToken:String!):String """Mutation a graph.""" graph(id:ID!):ServiceMutation """Join an account with a token""" joinAccount(accountId:ID!joinToken:String!):Account me:IdentityMutation newAccount(companyUrl:String id:ID!):Account newService(accountId:ID!description:String hiddenFromUninvitedNonAdminAccountMembers:Boolean!=false id:ID!isDev:Boolean!=false name:String title:String):Service operationCollection(id:ID!):OperationCollectionMutation """Refresh all plans from third-party billing service""" plansRefreshBilling:Void """Report a running GraphQL server's schema.""" reportSchema("""Only sent if previously requested i.e. received ReportSchemaResult with withCoreSchema = true. This is a GraphQL schema document as a string. Note that for a GraphQL server with a core schema, this should be the core schema, not the API schema.""" coreSchema:String """Information about server and its schema.""" report:SchemaReport!):ReportSchemaResult """Ask for a user's password to be reset by E-mail""" resetPassword(email:String!):Void resolveAllInternalCronExecutions(group:String name:String):Void resolveInternalCronExecution(id:ID!):CronExecution service(id:ID!):ServiceMutation """Set the subscriptions for a given email""" setSubscriptions(email:String!subscriptions:[EmailCategory!]!token:String!):EmailPreferences """Set the studio settings for the current user""" setUserSettings(newSettings:UserSettingsInput):UserSettings signUp(email:String!fullName:String!password:String!referrer:String trackingGoogleClientId:String trackingMarketoClientId:String userSegment:UserSegment utmCampaign:String utmMedium:String utmSource:String):User """This is called by the form shown to users after they delete their user or organization account.""" submitPostDeletionFeedback(feedback:String!targetIdentifier:ID!targetType:DeletionTargetType!):Void """Mutation for basic engagement tracking in studio""" track(event:EventEnum!graphID:String!graphVariant:String!="current"):Void """Rover session tracking. Reserved to https://rover.apollo.dev/telemetry (https://github.com/apollographql/orbiter).""" trackRoverSession(anonymousId:ID!arguments:[RoverArgumentInput!]!ci:String command:String!cwdHash:SHA256!os:String!remoteUrlHash:SHA256!sessionId:ID!version:String!):Void """Unsubscribe a given email from all emails""" unsubscribeFromAll(email:String!token:String!):EmailPreferences user(id:ID!):UserMutation}type NamedIntrospectionArg{description:String name:String}type NamedIntrospectionArgNoDescription{name:String}"""The shared fields for a named introspection type. Currently this is returned for the +returns the corresponding login email when successful""" finalizePasswordReset(newPassword:String!resetToken:String!):String """Mutation a graph.""" graph(id:ID!):ServiceMutation """Join an account with a token""" joinAccount(accountId:ID!joinToken:String!):Account me:IdentityMutation newAccount(companyUrl:String id:ID!):Account newService(accountId:ID!description:String hiddenFromUninvitedNonAdminAccountMembers:Boolean!=false id:ID!isDev:Boolean!=false name:String onboardingArchitecture:OnboardingArchitecture title:String):Service operationCollection(id:ID!):OperationCollectionMutation """Report a running GraphQL server's schema.""" reportSchema("""Only sent if previously requested i.e. received ReportSchemaResult with withCoreSchema = true. This is a GraphQL schema document as a string. Note that for a GraphQL server with a core schema, this should be the core schema, not the API schema.""" coreSchema:String """Information about server and its schema.""" report:SchemaReport!):ReportSchemaResult """Ask for a user's password to be reset by E-mail""" resetPassword(email:String!):Void resolveAllInternalCronExecutions(group:String name:String):Void resolveInternalCronExecution(id:ID!):CronExecution service(id:ID!):ServiceMutation """Set the subscriptions for a given email""" setSubscriptions(email:String!subscriptions:[EmailCategory!]!token:String!):EmailPreferences """Set the studio settings for the current user""" setUserSettings(newSettings:UserSettingsInput):UserSettings signUp(email:String!fullName:String!password:String!referrer:String trackingGoogleClientId:String trackingMarketoClientId:String userSegment:UserSegment utmCampaign:String utmMedium:String utmSource:String):User """This is called by the form shown to users after they delete their user or organization account.""" submitPostDeletionFeedback(feedback:String!targetIdentifier:ID!targetType:DeletionTargetType!):Void """Mutation for basic engagement tracking in studio""" track(event:EventEnum!graphID:String!graphVariant:String!="current"):Void """Rover session tracking. Reserved to https://rover.apollo.dev/telemetry (https://github.com/apollographql/orbiter).""" trackRoverSession(anonymousId:ID!arguments:[RoverArgumentInput!]!ci:String command:String!cwdHash:SHA256!os:String!remoteUrlHash:SHA256 sessionId:ID!version:String!):Void """Unsubscribe a given email from all emails""" unsubscribeFromAll(email:String!token:String!):EmailPreferences user(id:ID!):UserMutation}type NamedIntrospectionArg{description:String name:String}type NamedIntrospectionArgNoDescription{name:String}"""The shared fields for a named introspection type. Currently this is returned for the top level value affected by a change. In the future, we may update this type to be an interface, which is extended by the more specific types: scalar, object, input object, union, interface, and enum @@ -68,8 +68,8 @@ as input fields, objects in interfaces, enum values. In the future, this value could become an interface to allow fields specific to the types returned.""" type NamedIntrospectionValue{description:String name:String printedType:String}type NamedIntrospectionValueNoDescription{name:String printedType:String}"""A non-federated service for a monolithic graph.""" type NonFederatedImplementingService{"""Timestamp of when this implementing service was created.""" createdAt:Timestamp!"""Identifies which graph this non-implementing service belongs to. Formerly known as "service_id".""" graphID:String!"""Specifies which variant of a graph this implementing service belongs to". -Formerly known as "tag".""" graphVariant:String!}type NotFoundError implements Error{message:String!}"""Arbitrary JSON object""" scalar Object type OdysseyCertification{certificationId:String!earnedAt:Timestamp!id:ID!owner:OdysseyCertificationOwner}type OdysseyCertificationOwner{fullName:String!id:ID!}type OdysseyCourse{completedAt:Timestamp enrolledAt:Timestamp id:ID!}input OdysseyCourseInput{completedAt:Timestamp courseId:String!}type OdysseyTask{completedAt:Timestamp id:ID!value:String}input OdysseyTaskInput{completedAt:Timestamp taskId:String!value:String}type Operation{id:ID!name:String signature:String truncated:Boolean!}type OperationAcceptedChange{acceptedAt:Timestamp!acceptedBy:Identity!change:StoredApprovedChange!checkID:ID!graphID:ID!id:ID!operationID:String!}"""Columns of OperationCheckStats.""" enum OperationCheckStatsColumn{CACHED_REQUESTS_COUNT CLIENT_NAME CLIENT_VERSION QUERY_ID QUERY_NAME SCHEMA_TAG SERVICE_ID TIMESTAMP UNCACHED_REQUESTS_COUNT}type OperationCheckStatsDimensions{clientName:String clientVersion:String queryId:ID queryName:String schemaTag:String serviceId:ID}"""Filter for data in OperationCheckStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input OperationCheckStatsFilter{and:[OperationCheckStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:OperationCheckStatsFilterIn not:OperationCheckStatsFilter or:[OperationCheckStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in OperationCheckStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input OperationCheckStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type OperationCheckStatsMetrics{cachedRequestsCount:Long!uncachedRequestsCount:Long!}input OperationCheckStatsOrderBySpec{column:OperationCheckStatsColumn!direction:Ordering!}type OperationCheckStatsRecord{"""Dimensions of OperationCheckStats that can be grouped by.""" groupBy:OperationCheckStatsDimensions!"""Metrics of OperationCheckStats that can be aggregated over.""" metrics:OperationCheckStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type OperationCollection{createdAt:Timestamp!createdBy:Identity description:String """If a user has any of these roles, they will be able to edit this -collection. This will be null if and only if \`isShared\` is false""" editRoles:[UserPermission!]id:ID!isFavorite:Boolean!isSandbox:Boolean!isShared:Boolean!lastUpdatedAt:Timestamp!lastUpdatedBy:Identity name:String!operation(id:ID!):OperationCollectionEntryResult operations:[OperationCollectionEntry!]!""" Permissions the current user has for this collection""" permissions:OperationCollectionPermissions!variants:[GraphVariant!]!}type OperationCollectionEntry{collection:OperationCollection!createdAt:Timestamp!createdBy:Identity currentOperationRevision:OperationCollectionEntryState!id:ID!lastUpdatedAt:Timestamp!lastUpdatedBy:Identity name:String!orderingIndex:String!}type OperationCollectionEntryMutation{moveToCollection(collectionId:ID!lowerOrderingBound:String upperOrderingBound:String):MoveOperationCollectionEntryResult!reorderEntry(lowerOrderingBound:String upperOrderingBound:String):UpdateOperationCollectionResult updateName(name:String!):UpdateOperationCollectionEntryResult updateValues(operationInput:OperationCollectionEntryStateInput!):UpdateOperationCollectionEntryResult}union OperationCollectionEntryMutationResult=NotFoundError|OperationCollectionEntryMutation|PermissionError union OperationCollectionEntryResult=NotFoundError|OperationCollectionEntry type OperationCollectionEntryState{body:String!createdAt:Timestamp!createdBy:Identity headers:[OperationHeader!]variables:String}input OperationCollectionEntryStateInput{body:String!headers:[OperationHeaderInput!]""" I'm assuming this is non null""" variables:String}type OperationCollectionMutation{addOperation(name:String!operationInput:OperationCollectionEntryStateInput!):AddOperationCollectionEntryResult addToVariant(variantRef:ID!):AddOperationCollectionToVariantResult!@deprecated(reason:"Will throw NotImplemented")delete:DeleteOperationCollectionResult deleteOperation(id:ID!):RemoveOperationCollectionEntryResult duplicateCollection(description:String isSandbox:Boolean!isShared:Boolean!name:String!variantRef:ID):DuplicateOperationCollectionResult!operation(id:ID!):OperationCollectionEntryMutationResult removeFromVariant(variantRef:ID!):RemoveOperationCollectionFromVariantResult!@deprecated(reason:"Will throw NotImplemented")updateDescription(description:String):UpdateOperationCollectionResult updateEditRoles(editRoles:[UserPermission!]!):UpdateOperationCollectionResult updateIsFavorite(isFavorite:Boolean!):UpdateOperationCollectionResult updateIsShared(isShared:Boolean!):UpdateOperationCollectionResult updateName(name:String!):UpdateOperationCollectionResult}type OperationCollectionPermissions{canEditOperations:Boolean!canManage:Boolean!canReadOperations:Boolean!}union OperationCollectionResult=NotFoundError|OperationCollection|PermissionError type OperationDocument{"""Operation document body""" body:String!"""Operation name""" name:String}input OperationDocumentInput{"""Operation document body""" body:String!"""Operation name""" name:String}type OperationHeader{name:String!value:String!}input OperationHeaderInput{name:String!value:String!}"""Operation name filter configuration for a graph.""" type OperationNameFilter{"""name of the operation by the user and reported alongside metrics""" name:String!}"""Options to filter by operation name.""" input OperationNameFilterInput{"""name of the operation set by the user and reported alongside metrics""" name:String!}type OperationValidationError{message:String!}type OperationsCheckResult{"""Operations affected by all changes in diff""" affectedQueries:[AffectedQuery!]"""Summary/counts for all changes in diff""" changeSummary:ChangeSummary!"""List of schema changes with associated affected clients and operations""" changes:[Change!]!"""Indication of the success of the change, either failure, warning, or notice.""" checkSeverity:ChangeSeverity!"""The variant that was used as a base to check against""" checkedVariant:GraphVariant!createdAt:Timestamp!id:ID!"""Number of affected query operations that are neither marked as SAFE or IGNORED""" numberOfAffectedOperations:Int!"""Number of operations that were validated during schema diff""" numberOfCheckedOperations:Int!workflowTask:OperationsCheckTask!}type OperationsCheckTask implements CheckWorkflowTask{completedAt:Timestamp createdAt:Timestamp!id:ID!"""The result of the check.""" result:OperationsCheckResult status:CheckWorkflowTaskStatus!workflow:CheckWorkflow!}enum Ordering{ASCENDING DESCENDING}"""A reusable invite link for an organization.""" type OrganizationInviteLink{createdAt:Timestamp!"""A joinToken that can be passed to Mutation.joinAccount to join the organization.""" joinToken:String!"""The role that the user will receive if they join the organization with this link.""" role:UserPermission!}type OrganizationSSO{defaultRole:UserPermission!idpid:ID!provider:OrganizationSSOProvider!}enum OrganizationSSOProvider{PINGONE}"""PagerDuty notification channel""" type PagerDutyChannel implements Channel{id:ID!name:String!routingKey:String!subscriptions:[ChannelSubscription!]!}"""PagerDuty notification channel parameters""" input PagerDutyChannelInput{name:String routingKey:String!}"""Schema for a subgraph with associated metadata""" type PartialSchema{"""Timestamp for when the partial schema was created""" createdAt:Timestamp!"""If this sdl is currently actively composed in the gateway, this is true""" isLive:Boolean!"""The GraphQL document for a subgraph schema.""" sdl:String!"""The path of deep storage to find the raw enriched partial schema file""" sdlPath:String!}"""Input for registering a partial schema to an implementing service. +Formerly known as "tag".""" graphVariant:String!}type NotFoundError implements Error{message:String!}"""Arbitrary JSON object""" scalar Object type OdysseyAttempt{completedAt:Timestamp id:ID!responses:[OdysseyResponse!]!startedAt:Timestamp!testId:String!}type OdysseyCertification{certificationId:String!earnedAt:Timestamp!id:ID!owner:OdysseyCertificationOwner}type OdysseyCertificationOwner{fullName:String!id:ID!}type OdysseyCourse{completedAt:Timestamp enrolledAt:Timestamp id:ID!}input OdysseyCourseInput{completedAt:Timestamp courseId:String!}type OdysseyResponse{correct:Boolean!id:ID!questionId:String!values:[OdysseyValue!]!}input OdysseyResponseInput{attemptId:ID!correct:Boolean!questionId:String!values:[String!]!}type OdysseyTask{completedAt:Timestamp id:ID!value:String}input OdysseyTaskInput{completedAt:Timestamp taskId:String!value:String}type OdysseyValue{id:ID!value:String!}enum OnboardingArchitecture{MONOLITH SUPERGRAPH}type Operation{id:ID!name:String signature:String truncated:Boolean!}type OperationAcceptedChange{acceptedAt:Timestamp!acceptedBy:Identity!change:StoredApprovedChange!checkID:ID!graphID:ID!id:ID!operationID:String!}"""Columns of OperationCheckStats.""" enum OperationCheckStatsColumn{CACHED_REQUESTS_COUNT CLIENT_NAME CLIENT_VERSION QUERY_ID QUERY_NAME SCHEMA_TAG SERVICE_ID TIMESTAMP UNCACHED_REQUESTS_COUNT}type OperationCheckStatsDimensions{clientName:String clientVersion:String queryId:ID queryName:String schemaTag:String serviceId:ID}"""Filter for data in OperationCheckStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input OperationCheckStatsFilter{and:[OperationCheckStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:OperationCheckStatsFilterIn not:OperationCheckStatsFilter or:[OperationCheckStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in OperationCheckStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input OperationCheckStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type OperationCheckStatsMetrics{cachedRequestsCount:Long!uncachedRequestsCount:Long!}input OperationCheckStatsOrderBySpec{column:OperationCheckStatsColumn!direction:Ordering!}type OperationCheckStatsRecord{"""Dimensions of OperationCheckStats that can be grouped by.""" groupBy:OperationCheckStatsDimensions!"""Metrics of OperationCheckStats that can be aggregated over.""" metrics:OperationCheckStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type OperationCollection{createdAt:Timestamp!createdBy:Identity description:String """If a user has any of these roles, they will be able to edit this +collection. This will be null if and only if \`isShared\` is false""" editRoles:[UserPermission!]@deprecated(reason:"deprecated in favour of minEditRole")id:ID!isFavorite:Boolean!isSandbox:Boolean!isShared:Boolean!lastUpdatedAt:Timestamp!lastUpdatedBy:Identity minEditRole:UserPermission name:String!operation(id:ID!):OperationCollectionEntryResult operations:[OperationCollectionEntry!]!""" Permissions the current user has for this collection""" permissions:OperationCollectionPermissions!variants:[GraphVariant!]!}type OperationCollectionEntry{collection:OperationCollection!createdAt:Timestamp!createdBy:Identity currentOperationRevision:OperationCollectionEntryState!id:ID!lastUpdatedAt:Timestamp!lastUpdatedBy:Identity name:String!orderingIndex:String!}type OperationCollectionEntryMutation{moveToCollection(collectionId:ID!lowerOrderingBound:String upperOrderingBound:String):MoveOperationCollectionEntryResult!reorderEntry(lowerOrderingBound:String upperOrderingBound:String):UpdateOperationCollectionResult updateName(name:String!):UpdateOperationCollectionEntryResult updateValues(operationInput:OperationCollectionEntryStateInput!):UpdateOperationCollectionEntryResult}union OperationCollectionEntryMutationResult=NotFoundError|OperationCollectionEntryMutation|PermissionError union OperationCollectionEntryResult=NotFoundError|OperationCollectionEntry type OperationCollectionEntryState{body:String!createdAt:Timestamp!createdBy:Identity headers:[OperationHeader!]variables:String}input OperationCollectionEntryStateInput{body:String!headers:[OperationHeaderInput!]""" I'm assuming this is non null""" variables:String}type OperationCollectionMutation{addOperation(name:String!operationInput:OperationCollectionEntryStateInput!):AddOperationCollectionEntryResult addToVariant(variantRef:ID!):AddOperationCollectionToVariantResult!@deprecated(reason:"Will throw NotImplemented")delete:DeleteOperationCollectionResult deleteOperation(id:ID!):RemoveOperationCollectionEntryResult duplicateCollection(description:String isSandbox:Boolean!isShared:Boolean!name:String!variantRef:ID):DuplicateOperationCollectionResult!operation(id:ID!):OperationCollectionEntryMutationResult removeFromVariant(variantRef:ID!):RemoveOperationCollectionFromVariantResult!@deprecated(reason:"Will throw NotImplemented")setMinEditRole(editRole:UserPermission):UpdateOperationCollectionResult updateDescription(description:String):UpdateOperationCollectionResult updateEditRoles(editRoles:[UserPermission!]!):UpdateOperationCollectionResult@deprecated(reason:"Deprecated in favour of setMinEditRole")updateIsFavorite(isFavorite:Boolean!):UpdateOperationCollectionResult updateIsShared(isShared:Boolean!):UpdateOperationCollectionResult updateName(name:String!):UpdateOperationCollectionResult}type OperationCollectionPermissions{canEditOperations:Boolean!canManage:Boolean!canReadOperations:Boolean!}union OperationCollectionResult=NotFoundError|OperationCollection|PermissionError type OperationDocument{"""Operation document body""" body:String!"""Operation name""" name:String}input OperationDocumentInput{"""Operation document body""" body:String!"""Operation name""" name:String}type OperationHeader{name:String!value:String!}input OperationHeaderInput{name:String!value:String!}"""Operation name filter configuration for a graph.""" type OperationNameFilter{"""name of the operation by the user and reported alongside metrics""" name:String!}"""Options to filter by operation name.""" input OperationNameFilterInput{"""name of the operation set by the user and reported alongside metrics""" name:String!}type OperationValidationError{message:String!}type OperationsCheckResult{"""Operations affected by all changes in diff""" affectedQueries:[AffectedQuery!]"""Summary/counts for all changes in diff""" changeSummary:ChangeSummary!"""List of schema changes with associated affected clients and operations""" changes:[Change!]!"""Indication of the success of the change, either failure, warning, or notice.""" checkSeverity:ChangeSeverity!"""The variant that was used as a base to check against""" checkedVariant:GraphVariant!createdAt:Timestamp!id:ID!"""Number of affected query operations that are neither marked as SAFE or IGNORED""" numberOfAffectedOperations:Int!"""Number of operations that were validated during schema diff""" numberOfCheckedOperations:Int!workflowTask:OperationsCheckTask!}type OperationsCheckTask implements CheckWorkflowTask{completedAt:Timestamp createdAt:Timestamp!id:ID!"""The result of the check.""" result:OperationsCheckResult status:CheckWorkflowTaskStatus!workflow:CheckWorkflow!}enum Ordering{ASCENDING DESCENDING}"""A reusable invite link for an organization.""" type OrganizationInviteLink{createdAt:Timestamp!"""A joinToken that can be passed to Mutation.joinAccount to join the organization.""" joinToken:String!"""The role that the user will receive if they join the organization with this link.""" role:UserPermission!}type OrganizationSSO{defaultRole:UserPermission!idpid:ID!provider:OrganizationSSOProvider!}enum OrganizationSSOProvider{PINGONE}"""PagerDuty notification channel""" type PagerDutyChannel implements Channel{id:ID!name:String!routingKey:String!subscriptions:[ChannelSubscription!]!}"""PagerDuty notification channel parameters""" input PagerDutyChannelInput{name:String routingKey:String!}"""Schema for a subgraph with associated metadata""" type PartialSchema{"""Timestamp for when the partial schema was created""" createdAt:Timestamp!"""If this sdl is currently actively composed in the gateway, this is true""" isLive:Boolean!"""The GraphQL document for a subgraph schema.""" sdl:String!"""The path of deep storage to find the raw enriched partial schema file""" sdlPath:String!}"""Input for registering a partial schema to an implementing service. One of the fields must be specified (validated server-side). If a new partialSchemaSDL is passed in, this operation will store it before @@ -79,7 +79,7 @@ If both the sdl and hash are specified, an error will be thrown if the provided hash doesn't match our hash of the sdl contents. If the sdl field is specified, the hash does not need to be and will be computed server-side.""" input PartialSchemaInput{"""Hash of the partial schema to associate; error is thrown if only the hash is specified and the hash has not been seen before""" hash:String """Contents of the partial schema in SDL syntax, but may reference types -that aren't defined in this document""" sdl:String}type PermissionError implements Error{message:String!}type PromoteSchemaError{code:PromoteSchemaErrorCode!message:String!}enum PromoteSchemaErrorCode{CANNOT_PROMOTE_SCHEMA_FOR_FEDERATED_GRAPH}type PromoteSchemaResponse{code:PromoteSchemaResponseCode!tag:SchemaTag!}enum PromoteSchemaResponseCode{NO_CHANGES_DETECTED PROMOTION_SUCCESS}union PromoteSchemaResponseOrError=PromoteSchemaError|PromoteSchemaResponse type Protobuf{json:String!object:Object!raw:Blob!text:String!}type Query{"""Account by ID""" account(id:ID!):Account """Retrieve account by billing provider identifier""" accountByBillingCode(id:ID!):Account """Whether an account ID is available for mutation{newAccount(id:)}""" accountIDAvailable(id:ID!):Boolean!"""All accounts""" allAccounts(search:String tier:BillingPlanTier):[Account!]"""All available plans""" allPlans:[BillingPlan!]!allPublicVariants:[GraphVariant!]"""All services""" allServices(search:String):[Service!]"""All timezones with their offsets from UTC""" allTimezoneOffsets:[TimezoneOffset!]!"""All users""" allUsers(search:String):[User!]"""Look up a plan by ID""" billingPlan(id:ID):BillingPlanV2 """All available plans""" billingPlans:[BillingPlanV2!]!"""If this is true, the user is an Apollo administrator who can ignore restrictions based purely on billing plan.""" canBypassPlanRestrictions:Boolean!diffSchemas(baseSchema:String!nextSchema:String!):[Change!]!"""Get the unsubscribe settings for a given email.""" emailPreferences(email:String!token:String!):EmailPreferences experimentalFeatures:GlobalExperimentalFeatures!"""Address of the Studio frontend.""" frontendUrlRoot:String!"""Access a graph by ID.""" graph(id:ID!):Service internalActiveCronJobs:[CronJob!]!internalAdminUsers:[InternalAdminUser!]internalUnresolvedCronExecutionFailures:[CronExecution!]!"""User or graph querying the API, null if not authenticated.""" me:Identity odysseyCertification(id:ID!):OdysseyCertification operationCollection(id:ID!):OperationCollectionResult!operationCollectionEntries(collectionEntryIds:[ID!]!):[OperationCollectionEntry!]!"""Access an organization by ID.""" organization(id:ID!):Account """Look up a plan by ID""" plan(id:ID):BillingPlan """A list of public variants that have been selected to be shown on our Graph Directory.""" publiclyListedVariants:[GraphVariant!]"""Service by ID""" service(id:ID!):Service """Query statistics across all services. For admins only; normal users must go through AccountsStatsWindow or ServiceStatsWindow.""" stats(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):StatsWindow!"""Get the studio settings for the current user""" studioSettings:UserSettings """The plan started by AccountMutation.startTeamSubscription""" teamBillingPlan(billingPeriod:BillingPeriod!):BillingPlanV2!"""The plan started by AccountMutation.startTeamSubscription""" teamPlan(billingPeriod:BillingPeriod!):BillingPlan!"""Schema transformation for the Apollo platform API. Renames types. Internal to Apollo.""" transformSchemaForPlatformApi(baseSchema:GraphQLDocument!):GraphQLDocument """The plan started by AccountMutation.startTrial""" trialBillingPlan:BillingPlanV2!"""The plan started by AccountMutation.startTrial""" trialPlan:BillingPlan!"""User by ID""" user(id:ID!):User """Access a variant by reference of the form `graphID@variantName`, or `graphID` for the default `current` variant. +that aren't defined in this document""" sdl:String}type PermissionError implements Error{message:String!}type PromoteSchemaError{code:PromoteSchemaErrorCode!message:String!}enum PromoteSchemaErrorCode{CANNOT_PROMOTE_SCHEMA_FOR_FEDERATED_GRAPH}type PromoteSchemaResponse{code:PromoteSchemaResponseCode!tag:SchemaTag!}enum PromoteSchemaResponseCode{NO_CHANGES_DETECTED PROMOTION_SUCCESS}union PromoteSchemaResponseOrError=PromoteSchemaError|PromoteSchemaResponse type Protobuf{json:String!object:Object!raw:Blob!text:String!}type Query{"""Account by ID""" account(id:ID!):Account """Retrieve account by billing provider identifier""" accountByBillingCode(id:ID!):Account """Retrieve account by internal id""" accountByInternalID(id:ID!):Account """Whether an account ID is available for mutation{newAccount(id:)}""" accountIDAvailable(id:ID!):Boolean!"""All accounts""" allAccounts(search:String tier:BillingPlanTier):[Account!]"""All available plans""" allPlans:[BillingPlan!]!allPublicVariants:[GraphVariant!]"""All services""" allServices(search:String):[Service!]"""All timezones with their offsets from UTC""" allTimezoneOffsets:[TimezoneOffset!]!"""All users""" allUsers(search:String):[User!]"""Look up a plan by ID""" billingPlan(id:ID):BillingPlanV2 """All available plans""" billingPlans:[BillingPlanV2!]!"""If this is true, the user is an Apollo administrator who can ignore restrictions based purely on billing plan.""" canBypassPlanRestrictions:Boolean!diffSchemas(baseSchema:String!nextSchema:String!):[Change!]!"""Get the unsubscribe settings for a given email.""" emailPreferences(email:String!token:String!):EmailPreferences experimentalFeatures:GlobalExperimentalFeatures!"""Address of the Studio frontend.""" frontendUrlRoot:String!"""Access a graph by ID.""" graph(id:ID!):Service internalActiveCronJobs:[CronJob!]!internalAdminUsers:[InternalAdminUser!]internalUnresolvedCronExecutionFailures:[CronExecution!]!"""User or graph querying the API, null if not authenticated.""" me:Identity odysseyCertification(id:ID!):OdysseyCertification operationCollection(id:ID!):OperationCollectionResult!operationCollectionEntries(collectionEntryIds:[ID!]!):[OperationCollectionEntry!]!"""Access an organization by ID.""" organization(id:ID!):Account """Look up a plan by ID""" plan(id:ID):BillingPlan """A list of public variants that have been selected to be shown on our Graph Directory.""" publiclyListedVariants:[GraphVariant!]"""Service by ID""" service(id:ID!):Service """Query statistics across all services. For admins only; normal users must go through AccountsStatsWindow or ServiceStatsWindow.""" stats(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):StatsWindow!"""Get the studio settings for the current user""" studioSettings:UserSettings """The plan started by AccountMutation.startTeamSubscription""" teamBillingPlan(billingPeriod:BillingPeriod!):BillingPlanV2!"""The plan started by AccountMutation.startTeamSubscription""" teamPlan(billingPeriod:BillingPeriod!):BillingPlan!"""Schema transformation for the Apollo platform API. Renames types. Internal to Apollo.""" transformSchemaForPlatformApi(baseSchema:GraphQLDocument!):GraphQLDocument """The plan started by AccountMutation.startTrial""" trialBillingPlan:BillingPlanV2!"""The plan started by AccountMutation.startTrial""" trialPlan:BillingPlan!"""User by ID""" user(id:ID!):User """Access a variant by reference of the form `graphID@variantName`, or `graphID` for the default `current` variant. Returns null when the graph or variant do not exist, or when the graph cannot be accessed. Note that we can return more types implementing Error in the future.""" variant(ref:ID!):GraphVariantLookup}"""query documents to validate against""" input QueryDocumentInput{document:String}type QueryPlan{json:String!object:Object!text:String!}"""Columns of QueryStats.""" enum QueryStatsColumn{ACCOUNT_ID CACHED_HISTOGRAM CACHED_REQUESTS_COUNT CACHE_TTL_HISTOGRAM CLIENT_NAME CLIENT_VERSION FORBIDDEN_OPERATION_COUNT FROM_ENGINEPROXY QUERY_ID QUERY_NAME REGISTERED_OPERATION_COUNT REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP UNCACHED_HISTOGRAM UNCACHED_REQUESTS_COUNT}type QueryStatsDimensions{accountId:ID clientName:String clientVersion:String fromEngineproxy:String queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in QueryStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input QueryStatsFilter{"""Selects rows whose accountId dimension equals the given value if not null. To query for the null value, use {in: {accountId: [null]}} instead.""" accountId:ID and:[QueryStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fromEngineproxy dimension equals the given value if not null. To query for the null value, use {in: {fromEngineproxy: [null]}} instead.""" fromEngineproxy:String in:QueryStatsFilterIn not:QueryStatsFilter or:[QueryStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in QueryStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input QueryStatsFilterIn{"""Selects rows whose accountId dimension is in the given list. A null value in the list means a row with null for that dimension.""" accountId:[ID]"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fromEngineproxy dimension is in the given list. A null value in the list means a row with null for that dimension.""" fromEngineproxy:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type QueryStatsMetrics{cacheTtlHistogram:DurationHistogram!cachedHistogram:DurationHistogram!cachedRequestsCount:Long!forbiddenOperationCount:Long!registeredOperationCount:Long!requestsWithErrorsCount:Long!totalLatencyHistogram:DurationHistogram!totalRequestCount:Long!uncachedHistogram:DurationHistogram!uncachedRequestsCount:Long!}input QueryStatsOrderBySpec{column:QueryStatsColumn!direction:Ordering!}type QueryStatsRecord{"""Dimensions of QueryStats that can be grouped by.""" groupBy:QueryStatsDimensions!"""Metrics of QueryStats that can be aggregated over.""" metrics:QueryStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Query Trigger""" type QueryTrigger implements ChannelSubscription{channels:[Channel!]!comparisonOperator:ComparisonOperator!enabled:Boolean!excludedOperationNames:[String!]!id:ID!metric:QueryTriggerMetric!operationNames:[String!]!percentile:Float scope:QueryTriggerScope!serviceId:String!state:QueryTriggerState!threshold:Float!variant:String window:QueryTriggerWindow!}"""Query trigger""" input QueryTriggerInput{channelIds:[String!]comparisonOperator:ComparisonOperator!enabled:Boolean excludedOperationNames:[String!]metric:QueryTriggerMetric!operationNames:[String!]percentile:Float scope:QueryTriggerScope threshold:Float!variant:String window:QueryTriggerWindow!}enum QueryTriggerMetric{"""Number of requests within the window that resulted in an error. Ignores `percentile`.""" ERROR_COUNT """Number of error requests divided by total number of requests. Ignores `percentile`.""" ERROR_PERCENTAGE """Number of requests within the window. Ignores `percentile`.""" REQUEST_COUNT """Request latency in ms. Requires `percentile`.""" REQUEST_SERVICE_TIME}enum QueryTriggerScope{ALL ANY UNRECOGNIZED}"""Query trigger state""" type QueryTriggerState{evaluatedAt:Timestamp!lastTriggeredAt:Timestamp operations:[QueryTriggerStateOperation!]!triggered:Boolean!}type QueryTriggerStateOperation{count:Long!operation:String!triggered:Boolean!value:Float!}enum QueryTriggerWindow{FIFTEEN_MINUTES FIVE_MINUTES ONE_MINUTE UNRECOGNIZED}"""The documentation for a graph variant, as display in Studio.""" type Readme{"""Content of the document.""" content:String!id:ID!"""Last time the document was updated.""" lastUpdatedAt:Timestamp!"""Identity of who updated the document last.""" lastUpdatedBy:Identity}type RegisterOperationsMutationResponse{invalidOperations:[InvalidOperation!]newOperations:[RegisteredOperation!]registrationSuccess:Boolean!}input RegisteredClientIdentityInput{identifier:String!name:String!version:String}type RegisteredOperation{signature:ID!}input RegisteredOperationInput{document:String metadata:RegisteredOperationMetadataInput signature:ID!}input RegisteredOperationMetadataInput{"""This will be used to link existing records in Engine to a new ID.""" engineSignature:String}type RegistryApiKey{keyName:String token:String!}type RegistryStatsWindow{schemaCheckStats:[AccountChecksStatsRecord!]!schemaPublishStats:[AccountPublishesStatsRecord!]!}type RegistrySubscription implements ChannelSubscription{channel:Channel channels:[Channel!]!@deprecated(reason:"Use channels list instead")createdAt:Timestamp!enabled:Boolean!id:ID!lastUpdatedAt:Timestamp!options:SubscriptionOptions!variant:String}type RelaunchComplete{latestLaunch:Launch!updated:Boolean!}type RelaunchError{message:String!}union RelaunchResult=RelaunchComplete|RelaunchError union RemoveOperationCollectionEntryResult=OperationCollection|PermissionError union RemoveOperationCollectionFromVariantResult=GraphVariant|NotFoundError|PermissionError|ValidationError union ReorderOperationCollectionResult=OperationCollection|PermissionError type ReportSchemaError implements ReportSchemaResult{code:ReportSchemaErrorCode!inSeconds:Int!message:String!withCoreSchema:Boolean!}enum ReportSchemaErrorCode{BOOT_ID_IS_NOT_VALID_UUID BOOT_ID_IS_REQUIRED CORE_SCHEMA_HASH_IS_NOT_SCHEMA_SHA256 CORE_SCHEMA_HASH_IS_REQUIRED CORE_SCHEMA_HASH_IS_TOO_LONG EXECUTABLE_SCHEMA_ID_IS_NOT_SCHEMA_SHA256 EXECUTABLE_SCHEMA_ID_IS_REQUIRED EXECUTABLE_SCHEMA_ID_IS_TOO_LONG GRAPH_REF_INVALID_FORMAT GRAPH_REF_IS_REQUIRED GRAPH_VARIANT_DOES_NOT_MATCH_REGEX GRAPH_VARIANT_IS_REQUIRED LIBRARY_VERSION_IS_TOO_LONG PLATFORM_IS_TOO_LONG RUNTIME_VERSION_IS_TOO_LONG SCHEMA_IS_NOT_PARSABLE SCHEMA_IS_NOT_VALID SERVER_ID_IS_TOO_LONG USER_VERSION_IS_TOO_LONG}type ReportSchemaResponse implements ReportSchemaResult{inSeconds:Int!withCoreSchema:Boolean!}interface ReportSchemaResult{inSeconds:Int!withCoreSchema:Boolean!}type ReportServerInfoError implements ReportServerInfoResult{code:ReportSchemaErrorCode!inSeconds:Int!message:String!withExecutableSchema:Boolean!}type ReportServerInfoResponse implements ReportServerInfoResult{inSeconds:Int!withExecutableSchema:Boolean!}interface ReportServerInfoResult{inSeconds:Int!withExecutableSchema:Boolean!}enum Resolution{R1D R1H R1M R5M R6H R15M}enum ResponseHints{NONE SAMPLE_RESPONSES SUBGRAPHS TIMINGS TRACE_TIMINGS}type RoleOverride{graph:Service!lastUpdatedAt:Timestamp!role:UserPermission!user:User!}input RoverArgumentInput{key:String!value:Object}"""SHA-256 hash, represented in lowercase hexadecimal""" scalar SHA256 type ScheduledSummary implements ChannelSubscription{channel:Channel@deprecated(reason:"Use channels list instead")channels:[Channel!]!enabled:Boolean!id:ID!timezone:String!variant:String!}"""A GraphQL schema document, which may optionally map back to context with which the schema was ingested.""" type Schema{createTemporaryURL(expiresInSeconds:Int!=86400):TemporaryURL """The timestamp of initial ingestion of a schema to a graph.""" createdAt:Timestamp!"""The raw GraphQL document for the schema in question""" document:GraphQLDocument!"""The number of fields; this includes user defined fields only, excluding built-in types and fields""" fieldCount:Int!gitContext:GitContext """The hex representation of the SHA256 of the GraphQL document.""" hash:ID!introspection:IntrospectionSchema!"""The number of types; this includes user defined types only, excluding built-in types""" typeCount:Int!}"""Represents an error from running schema composition on a list of subgraph definitions.""" type SchemaCompositionError{"""A machine-readable error code.""" code:String """Affected locations.""" locations:[SourceLocation]!"""A human-readable locations.""" message:String!}"""The difference between two schemas, as usually computed during a schema check.""" type SchemaDiff{"""Clients affected by all changes in the diff.""" affectedClients:[AffectedClient!]@deprecated(reason:"Unsupported.")"""Operations affected by all changes in the diff.""" affectedQueries:[AffectedQuery!]"""Numeric summary of all changes in the diff.""" changeSummary:ChangeSummary!"""List of schema changes with associated affected clients and operations.""" changes:[Change!]!"""Number of affected query operations that are neither marked as safe or ignored.""" numberOfAffectedOperations:Int!"""Number of operations that were validated during the check.""" numberOfCheckedOperations:Int """Indication of the success of the change; either failure, warning, or notice.""" severity:ChangeSeverity!"""The tag against which this diff was created""" tag:String type:ChangeType!@deprecated(reason:"use severity instead")"""Configuration of validation""" validationConfig:SchemaDiffValidationConfig}type SchemaDiffValidationConfig{"""Clients to ignore during validation.""" excludedClients:[ClientInfoFilterOutput!]"""Operation names to ignore during validation.""" excludedOperationNames:[OperationNameFilter]"""delta in seconds from current time that determines the start of the window for reported metrics included in a schema diff. A day window from the present @@ -112,12 +112,12 @@ application. Apollo's media server will downscale larger images to at least the but this will not happen for third-party media servers.""" avatarUrl(size:Int!=40):String """Get available notification endpoints""" channels(channelIds:[ID!]):[Channel!]"""Get check configuration for this graph.""" checkConfiguration:CheckConfiguration """Get a check workflow for this graph by its ID""" checkWorkflow(id:ID!):CheckWorkflow """Get check workflows for this graph ordered by creation time, most recent first.""" checkWorkflows(filter:CheckFilterInput limit:Int!=100):[CheckWorkflow!]!"""List of options available for filtering checks for this graph by author. If a filter is passed, constrains results to match the filter.""" checksAuthorOptions(filter:CheckFilterInput):[String!]!"""List of options available for filtering checks for this graph by branch. If a filter is passed, constrains results to match the filter.""" checksBranchOptions(filter:CheckFilterInput):[String!]!"""List of options available for filtering checks for this graph by subgraph name. -If a filter is passed, constrains results to match the filter.""" checksSubgraphOptions(filter:CheckFilterInput):[String!]!"""Given a graphCompositionID, return the results of composition. This can represent either a validation or a publish.""" compositionResultById(id:ID!):CompositionResult createdAt:Timestamp!createdBy:Identity datadogMetricsConfig:DatadogMetricsConfig deletedAt:Timestamp description:String devGraphOwner:User """Get a GraphQL document by hash""" document(hash:SHA256):GraphQLDocument """When this is true, this graph will be hidden from non-admin members of the org who haven't been explicitly assigned a +If a filter is passed, constrains results to match the filter.""" checksSubgraphOptions(filter:CheckFilterInput):[String!]!"""Given a graphCompositionID, return the results of composition. This can represent either a validation or a publish.""" compositionResultById(id:ID!):CompositionResult createdAt:Timestamp!createdBy:Identity datadogMetricsConfig:DatadogMetricsConfig defaultBuildPipelineTrack:String deletedAt:Timestamp description:String devGraphOwner:User """Get a GraphQL document by hash""" document(hash:SHA256):GraphQLDocument """When this is true, this graph will be hidden from non-admin members of the org who haven't been explicitly assigned a role on this graph.""" hiddenFromUninvitedNonAdminAccountMembers:Boolean!"""Globally unique identifier for this graph.""" id:ID!"""List of subgraphs that comprise a graph. A non-federated graph should have a single implementing service. -Set includeDeleted to see deleted subgraphs.""" implementingServices(graphVariant:String!includeDeleted:Boolean):GraphImplementors lastReportedAt(graphVariant:String):Timestamp """Current identity, null if not authenticated.""" me:Identity """The composition result that was most recently published to a graph variant.""" mostRecentCompositionPublish(graphVariant:String!):CompositionPublishResult """Permissions of the current user in this graph.""" myRole:UserPermission """Name of this graph. Note that this field is deprecated.""" name:String!@deprecated(reason:"Use Service.title")operation(id:ID!):Operation """Gets the operations and their approved changes for this graph, checkID, and operationID.""" operationsAcceptedChanges(checkID:ID!operationID:String!):[OperationAcceptedChange!]!"""Get an operations check result for a specific check ID""" operationsCheck(checkID:ID!):OperationsCheckResult """Get query triggers for a given variant. If variant is null all the triggers for this service will be gotten.""" queryTriggers(graphVariant:String operationNames:[String!]):[QueryTrigger!]readme:Readme """Registry specific stats for this graph.""" registryStatsWindow(from:Timestamp!resolution:Resolution to:Timestamp):RegistryStatsWindow """Whether registry subscriptions (with any options) are enabled. If variant is not passed, returns true if configuration is present for any variant""" registrySubscriptionsEnabled(graphVariant:String):Boolean!@deprecated(reason:"This field will be removed")reportingEnabled:Boolean!"""The list of members that can access this graph, accounting for graph role overrides""" roleOverrides:[RoleOverride!]"""Which permissions the current user has for interacting with this graph""" roles:ServiceRoles scheduledSummaries:[ScheduledSummary!]!"""Get a schema by hash or current tag""" schema(hash:ID tag:String):Schema """The current publish associated to a given variant (with 'tag' as the variant name).""" schemaTag(tag:String!):SchemaTag schemaTagById(id:ID!):SchemaTag """Get schema tags, with optional filtering to a set of tags. Always sorted by creation +Set includeDeleted to see deleted subgraphs.""" implementingServices(graphVariant:String!includeDeleted:Boolean):GraphImplementors lastReportedAt(graphVariant:String):Timestamp """Current identity, null if not authenticated.""" me:Identity """The composition result that was most recently published to a graph variant.""" mostRecentCompositionPublish(graphVariant:String!):CompositionPublishResult """Permissions of the current user in this graph.""" myRole:UserPermission """Name of this graph. Note that this field is deprecated.""" name:String!@deprecated(reason:"Use Service.title")onboardingArchitecture:OnboardingArchitecture operation(id:ID!):Operation """Gets the operations and their approved changes for this graph, checkID, and operationID.""" operationsAcceptedChanges(checkID:ID!operationID:String!):[OperationAcceptedChange!]!"""Get an operations check result for a specific check ID""" operationsCheck(checkID:ID!):OperationsCheckResult """Get query triggers for a given variant. If variant is null all the triggers for this service will be gotten.""" queryTriggers(graphVariant:String operationNames:[String!]):[QueryTrigger!]readme:Readme """Registry specific stats for this graph.""" registryStatsWindow(from:Timestamp!resolution:Resolution to:Timestamp):RegistryStatsWindow """Whether registry subscriptions (with any options) are enabled. If variant is not passed, returns true if configuration is present for any variant""" registrySubscriptionsEnabled(graphVariant:String):Boolean!@deprecated(reason:"This field will be removed")reportingEnabled:Boolean!"""The list of members that can access this graph, accounting for graph role overrides""" roleOverrides:[RoleOverride!]"""Which permissions the current user has for interacting with this graph""" roles:ServiceRoles scheduledSummaries:[ScheduledSummary!]!"""Get a schema by hash or current tag""" schema(hash:ID tag:String):Schema """The current publish associated to a given variant (with 'tag' as the variant name).""" schemaTag(tag:String!):SchemaTag schemaTagById(id:ID!):SchemaTag """Get schema tags, with optional filtering to a set of tags. Always sorted by creation date in reverse chronological order.""" schemaTags(tags:[String!]):[SchemaTag!]stats(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):ServiceStatsWindow!@deprecated(reason:"use Service.statsWindow instead")statsWindow(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):ServiceStatsWindow """Generate a test schema publish notification body""" testSchemaPublishBody(variant:String!):String!"""Name of this graph.""" title:String!trace(id:ID!):Trace traceStorageEnabled:Boolean!"""A particular variant often representing a live traffic environment (such as "dev", "staging", or "prod"). Each variant can represent a specific URL or destination to query at, analytics, and its own schema history. -Pass in a name to get a specific variant. Use `Graph.variants` to get a list of variants.""" variant(name:String!):GraphVariant """The list of variants that exist for this graph""" variants:[GraphVariant!]!}"""Columns of ServiceBillingUsageStats.""" enum ServiceBillingUsageStatsColumn{OPERATION_COUNT OPERATION_COUNT_PROVIDED_EXPLICITLY SCHEMA_TAG TIMESTAMP}type ServiceBillingUsageStatsDimensions{operationCountProvidedExplicitly:String schemaTag:String}"""Filter for data in ServiceBillingUsageStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceBillingUsageStatsFilter{and:[ServiceBillingUsageStatsFilter!]in:ServiceBillingUsageStatsFilterIn not:ServiceBillingUsageStatsFilter """Selects rows whose operationCountProvidedExplicitly dimension equals the given value if not null. To query for the null value, use {in: {operationCountProvidedExplicitly: [null]}} instead.""" operationCountProvidedExplicitly:String or:[ServiceBillingUsageStatsFilter!]"""Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceBillingUsageStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceBillingUsageStatsFilterIn{"""Selects rows whose operationCountProvidedExplicitly dimension is in the given list. A null value in the list means a row with null for that dimension.""" operationCountProvidedExplicitly:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceBillingUsageStatsMetrics{operationCount:Long!}input ServiceBillingUsageStatsOrderBySpec{column:ServiceBillingUsageStatsColumn!direction:Ordering!}type ServiceBillingUsageStatsRecord{"""Dimensions of ServiceBillingUsageStats that can be grouped by.""" groupBy:ServiceBillingUsageStatsDimensions!"""Metrics of ServiceBillingUsageStats that can be aggregated over.""" metrics:ServiceBillingUsageStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceEdgeServerInfos.""" enum ServiceEdgeServerInfosColumn{BOOT_ID EXECUTABLE_SCHEMA_ID LIBRARY_VERSION PLATFORM RUNTIME_VERSION SCHEMA_TAG SERVER_ID TIMESTAMP USER_VERSION}type ServiceEdgeServerInfosDimensions{bootId:ID executableSchemaId:ID libraryVersion:String platform:String runtimeVersion:String schemaTag:String serverId:ID userVersion:String}"""Filter for data in ServiceEdgeServerInfos. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceEdgeServerInfosFilter{and:[ServiceEdgeServerInfosFilter!]"""Selects rows whose bootId dimension equals the given value if not null. To query for the null value, use {in: {bootId: [null]}} instead.""" bootId:ID """Selects rows whose executableSchemaId dimension equals the given value if not null. To query for the null value, use {in: {executableSchemaId: [null]}} instead.""" executableSchemaId:ID in:ServiceEdgeServerInfosFilterIn """Selects rows whose libraryVersion dimension equals the given value if not null. To query for the null value, use {in: {libraryVersion: [null]}} instead.""" libraryVersion:String not:ServiceEdgeServerInfosFilter or:[ServiceEdgeServerInfosFilter!]"""Selects rows whose platform dimension equals the given value if not null. To query for the null value, use {in: {platform: [null]}} instead.""" platform:String """Selects rows whose runtimeVersion dimension equals the given value if not null. To query for the null value, use {in: {runtimeVersion: [null]}} instead.""" runtimeVersion:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serverId dimension equals the given value if not null. To query for the null value, use {in: {serverId: [null]}} instead.""" serverId:ID """Selects rows whose userVersion dimension equals the given value if not null. To query for the null value, use {in: {userVersion: [null]}} instead.""" userVersion:String}"""Filter for data in ServiceEdgeServerInfos. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceEdgeServerInfosFilterIn{"""Selects rows whose bootId dimension is in the given list. A null value in the list means a row with null for that dimension.""" bootId:[ID]"""Selects rows whose executableSchemaId dimension is in the given list. A null value in the list means a row with null for that dimension.""" executableSchemaId:[ID]"""Selects rows whose libraryVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" libraryVersion:[String]"""Selects rows whose platform dimension is in the given list. A null value in the list means a row with null for that dimension.""" platform:[String]"""Selects rows whose runtimeVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" runtimeVersion:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serverId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serverId:[ID]"""Selects rows whose userVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" userVersion:[String]}input ServiceEdgeServerInfosOrderBySpec{column:ServiceEdgeServerInfosColumn!direction:Ordering!}type ServiceEdgeServerInfosRecord{"""Dimensions of ServiceEdgeServerInfos that can be grouped by.""" groupBy:ServiceEdgeServerInfosDimensions!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceErrorStats.""" enum ServiceErrorStatsColumn{CLIENT_NAME CLIENT_VERSION ERRORS_COUNT PATH QUERY_ID QUERY_NAME REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG TIMESTAMP}type ServiceErrorStatsDimensions{clientName:String clientVersion:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String}"""Filter for data in ServiceErrorStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceErrorStatsFilter{and:[ServiceErrorStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:ServiceErrorStatsFilterIn not:ServiceErrorStatsFilter or:[ServiceErrorStatsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceErrorStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceErrorStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceErrorStatsMetrics{errorsCount:Long!requestsWithErrorsCount:Long!}input ServiceErrorStatsOrderBySpec{column:ServiceErrorStatsColumn!direction:Ordering!}type ServiceErrorStatsRecord{"""Dimensions of ServiceErrorStats that can be grouped by.""" groupBy:ServiceErrorStatsDimensions!"""Metrics of ServiceErrorStats that can be aggregated over.""" metrics:ServiceErrorStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceFieldLatencies.""" enum ServiceFieldLatenciesColumn{FIELD_HISTOGRAM FIELD_NAME PARENT_TYPE SCHEMA_HASH SCHEMA_TAG TIMESTAMP}type ServiceFieldLatenciesDimensions{field:String fieldName:String parentType:String schemaHash:String schemaTag:String}"""Filter for data in ServiceFieldLatencies. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceFieldLatenciesFilter{and:[ServiceFieldLatenciesFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:ServiceFieldLatenciesFilterIn not:ServiceFieldLatenciesFilter or:[ServiceFieldLatenciesFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceFieldLatencies. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceFieldLatenciesFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceFieldLatenciesMetrics{fieldHistogram:DurationHistogram!}input ServiceFieldLatenciesOrderBySpec{column:ServiceFieldLatenciesColumn!direction:Ordering!}type ServiceFieldLatenciesRecord{"""Dimensions of ServiceFieldLatencies that can be grouped by.""" groupBy:ServiceFieldLatenciesDimensions!"""Metrics of ServiceFieldLatencies that can be aggregated over.""" metrics:ServiceFieldLatenciesMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceFieldUsage.""" enum ServiceFieldUsageColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT EXECUTION_COUNT FIELD_NAME PARENT_TYPE QUERY_ID QUERY_NAME REFERENCING_OPERATION_COUNT SCHEMA_HASH SCHEMA_TAG TIMESTAMP}type ServiceFieldUsageDimensions{clientName:String clientVersion:String fieldName:String parentType:String queryId:ID queryName:String schemaHash:String schemaTag:String}"""Filter for data in ServiceFieldUsage. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceFieldUsageFilter{and:[ServiceFieldUsageFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:ServiceFieldUsageFilterIn not:ServiceFieldUsageFilter or:[ServiceFieldUsageFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceFieldUsage. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceFieldUsageFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceFieldUsageMetrics{estimatedExecutionCount:Long!executionCount:Long!referencingOperationCount:Long!}input ServiceFieldUsageOrderBySpec{column:ServiceFieldUsageColumn!direction:Ordering!}type ServiceFieldUsageRecord{"""Dimensions of ServiceFieldUsage that can be grouped by.""" groupBy:ServiceFieldUsageDimensions!"""Metrics of ServiceFieldUsage that can be aggregated over.""" metrics:ServiceFieldUsageMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Mutations to a graph.""" type ServiceMutation{"""Check a proposed subgraph schema change. +Pass in a name to get a specific variant. Use `Graph.variants` to get a list of variants.""" variant(name:String!):GraphVariant """The list of variants that exist for this graph""" variants:[GraphVariant!]!}"""Columns of ServiceBillingUsageStats.""" enum ServiceBillingUsageStatsColumn{OPERATION_COUNT OPERATION_COUNT_PROVIDED_EXPLICITLY SCHEMA_TAG TIMESTAMP}type ServiceBillingUsageStatsDimensions{operationCountProvidedExplicitly:String schemaTag:String}"""Filter for data in ServiceBillingUsageStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceBillingUsageStatsFilter{and:[ServiceBillingUsageStatsFilter!]in:ServiceBillingUsageStatsFilterIn not:ServiceBillingUsageStatsFilter """Selects rows whose operationCountProvidedExplicitly dimension equals the given value if not null. To query for the null value, use {in: {operationCountProvidedExplicitly: [null]}} instead.""" operationCountProvidedExplicitly:String or:[ServiceBillingUsageStatsFilter!]"""Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceBillingUsageStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceBillingUsageStatsFilterIn{"""Selects rows whose operationCountProvidedExplicitly dimension is in the given list. A null value in the list means a row with null for that dimension.""" operationCountProvidedExplicitly:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceBillingUsageStatsMetrics{operationCount:Long!}input ServiceBillingUsageStatsOrderBySpec{column:ServiceBillingUsageStatsColumn!direction:Ordering!}type ServiceBillingUsageStatsRecord{"""Dimensions of ServiceBillingUsageStats that can be grouped by.""" groupBy:ServiceBillingUsageStatsDimensions!"""Metrics of ServiceBillingUsageStats that can be aggregated over.""" metrics:ServiceBillingUsageStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceEdgeServerInfos.""" enum ServiceEdgeServerInfosColumn{BOOT_ID EXECUTABLE_SCHEMA_ID LIBRARY_VERSION PLATFORM RUNTIME_VERSION SCHEMA_TAG SERVER_ID TIMESTAMP USER_VERSION}type ServiceEdgeServerInfosDimensions{bootId:ID executableSchemaId:ID libraryVersion:String platform:String runtimeVersion:String schemaTag:String serverId:ID userVersion:String}"""Filter for data in ServiceEdgeServerInfos. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceEdgeServerInfosFilter{and:[ServiceEdgeServerInfosFilter!]"""Selects rows whose bootId dimension equals the given value if not null. To query for the null value, use {in: {bootId: [null]}} instead.""" bootId:ID """Selects rows whose executableSchemaId dimension equals the given value if not null. To query for the null value, use {in: {executableSchemaId: [null]}} instead.""" executableSchemaId:ID in:ServiceEdgeServerInfosFilterIn """Selects rows whose libraryVersion dimension equals the given value if not null. To query for the null value, use {in: {libraryVersion: [null]}} instead.""" libraryVersion:String not:ServiceEdgeServerInfosFilter or:[ServiceEdgeServerInfosFilter!]"""Selects rows whose platform dimension equals the given value if not null. To query for the null value, use {in: {platform: [null]}} instead.""" platform:String """Selects rows whose runtimeVersion dimension equals the given value if not null. To query for the null value, use {in: {runtimeVersion: [null]}} instead.""" runtimeVersion:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serverId dimension equals the given value if not null. To query for the null value, use {in: {serverId: [null]}} instead.""" serverId:ID """Selects rows whose userVersion dimension equals the given value if not null. To query for the null value, use {in: {userVersion: [null]}} instead.""" userVersion:String}"""Filter for data in ServiceEdgeServerInfos. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceEdgeServerInfosFilterIn{"""Selects rows whose bootId dimension is in the given list. A null value in the list means a row with null for that dimension.""" bootId:[ID]"""Selects rows whose executableSchemaId dimension is in the given list. A null value in the list means a row with null for that dimension.""" executableSchemaId:[ID]"""Selects rows whose libraryVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" libraryVersion:[String]"""Selects rows whose platform dimension is in the given list. A null value in the list means a row with null for that dimension.""" platform:[String]"""Selects rows whose runtimeVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" runtimeVersion:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serverId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serverId:[ID]"""Selects rows whose userVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" userVersion:[String]}input ServiceEdgeServerInfosOrderBySpec{column:ServiceEdgeServerInfosColumn!direction:Ordering!}type ServiceEdgeServerInfosRecord{"""Dimensions of ServiceEdgeServerInfos that can be grouped by.""" groupBy:ServiceEdgeServerInfosDimensions!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceErrorStats.""" enum ServiceErrorStatsColumn{CLIENT_NAME CLIENT_VERSION ERRORS_COUNT PATH QUERY_ID QUERY_NAME REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG TIMESTAMP}type ServiceErrorStatsDimensions{clientName:String clientVersion:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String}"""Filter for data in ServiceErrorStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceErrorStatsFilter{and:[ServiceErrorStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:ServiceErrorStatsFilterIn not:ServiceErrorStatsFilter or:[ServiceErrorStatsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceErrorStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceErrorStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceErrorStatsMetrics{errorsCount:Long!requestsWithErrorsCount:Long!}input ServiceErrorStatsOrderBySpec{column:ServiceErrorStatsColumn!direction:Ordering!}type ServiceErrorStatsRecord{"""Dimensions of ServiceErrorStats that can be grouped by.""" groupBy:ServiceErrorStatsDimensions!"""Metrics of ServiceErrorStats that can be aggregated over.""" metrics:ServiceErrorStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceFieldExecutions.""" enum ServiceFieldExecutionsColumn{ESTIMATED_EXECUTION_COUNT FIELD_NAME OBSERVED_EXECUTION_COUNT PARENT_TYPE REFERENCING_OPERATION_COUNT SCHEMA_TAG TIMESTAMP}type ServiceFieldExecutionsDimensions{fieldName:String parentType:String schemaTag:String}"""Filter for data in ServiceFieldExecutions. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceFieldExecutionsFilter{and:[ServiceFieldExecutionsFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:ServiceFieldExecutionsFilterIn not:ServiceFieldExecutionsFilter or:[ServiceFieldExecutionsFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceFieldExecutions. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceFieldExecutionsFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceFieldExecutionsMetrics{estimatedExecutionCount:Long!observedExecutionCount:Long!referencingOperationCount:Long!}input ServiceFieldExecutionsOrderBySpec{column:ServiceFieldExecutionsColumn!direction:Ordering!}type ServiceFieldExecutionsRecord{"""Dimensions of ServiceFieldExecutions that can be grouped by.""" groupBy:ServiceFieldExecutionsDimensions!"""Metrics of ServiceFieldExecutions that can be aggregated over.""" metrics:ServiceFieldExecutionsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceFieldLatencies.""" enum ServiceFieldLatenciesColumn{FIELD_HISTOGRAM FIELD_NAME PARENT_TYPE SCHEMA_HASH SCHEMA_TAG TIMESTAMP}type ServiceFieldLatenciesDimensions{field:String fieldName:String parentType:String schemaHash:String schemaTag:String}"""Filter for data in ServiceFieldLatencies. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceFieldLatenciesFilter{and:[ServiceFieldLatenciesFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:ServiceFieldLatenciesFilterIn not:ServiceFieldLatenciesFilter or:[ServiceFieldLatenciesFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceFieldLatencies. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceFieldLatenciesFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceFieldLatenciesMetrics{fieldHistogram:DurationHistogram!}input ServiceFieldLatenciesOrderBySpec{column:ServiceFieldLatenciesColumn!direction:Ordering!}type ServiceFieldLatenciesRecord{"""Dimensions of ServiceFieldLatencies that can be grouped by.""" groupBy:ServiceFieldLatenciesDimensions!"""Metrics of ServiceFieldLatencies that can be aggregated over.""" metrics:ServiceFieldLatenciesMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceFieldRequestsByClientVersion.""" enum ServiceFieldRequestsByClientVersionColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT FIELD_NAME OBSERVED_EXECUTION_COUNT PARENT_TYPE REFERENCING_OPERATION_COUNT SCHEMA_TAG TIMESTAMP}type ServiceFieldRequestsByClientVersionDimensions{clientName:String clientVersion:String fieldName:String parentType:String schemaTag:String}"""Filter for data in ServiceFieldRequestsByClientVersion. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceFieldRequestsByClientVersionFilter{and:[ServiceFieldRequestsByClientVersionFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:ServiceFieldRequestsByClientVersionFilterIn not:ServiceFieldRequestsByClientVersionFilter or:[ServiceFieldRequestsByClientVersionFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceFieldRequestsByClientVersion. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceFieldRequestsByClientVersionFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceFieldRequestsByClientVersionMetrics{estimatedExecutionCount:Long!observedExecutionCount:Long!referencingOperationCount:Long!}input ServiceFieldRequestsByClientVersionOrderBySpec{column:ServiceFieldRequestsByClientVersionColumn!direction:Ordering!}type ServiceFieldRequestsByClientVersionRecord{"""Dimensions of ServiceFieldRequestsByClientVersion that can be grouped by.""" groupBy:ServiceFieldRequestsByClientVersionDimensions!"""Metrics of ServiceFieldRequestsByClientVersion that can be aggregated over.""" metrics:ServiceFieldRequestsByClientVersionMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceFieldUsage.""" enum ServiceFieldUsageColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT EXECUTION_COUNT FIELD_NAME PARENT_TYPE QUERY_ID QUERY_NAME REFERENCING_OPERATION_COUNT SCHEMA_HASH SCHEMA_TAG TIMESTAMP}type ServiceFieldUsageDimensions{clientName:String clientVersion:String fieldName:String parentType:String queryId:ID queryName:String schemaHash:String schemaTag:String}"""Filter for data in ServiceFieldUsage. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceFieldUsageFilter{and:[ServiceFieldUsageFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:ServiceFieldUsageFilterIn not:ServiceFieldUsageFilter or:[ServiceFieldUsageFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceFieldUsage. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceFieldUsageFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceFieldUsageMetrics{estimatedExecutionCount:Long!executionCount:Long!referencingOperationCount:Long!}input ServiceFieldUsageOrderBySpec{column:ServiceFieldUsageColumn!direction:Ordering!}type ServiceFieldUsageRecord{"""Dimensions of ServiceFieldUsage that can be grouped by.""" groupBy:ServiceFieldUsageDimensions!"""Metrics of ServiceFieldUsage that can be aggregated over.""" metrics:ServiceFieldUsageMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Mutations to a graph.""" type ServiceMutation{"""Check a proposed subgraph schema change. If the proposal composes successfully, perform a usage check for the resulting schema.""" checkPartialSchema("""Deprecated and ignored.""" frontend:String gitContext:GitContextInput """Specifies which variant of a graph this mutation operates on.""" graphVariant:String!historicParameters:HistoricQueryParameters """Name of the implementing service to validate the partial schema against""" implementingServiceName:String!"""If this check is triggered for an sdl fetched using introspection, this is the endpoint where that schema was being served.""" introspectionEndpoint:String isSandboxCheck:Boolean!=false """The partial schema to validate against an implementing service""" partialSchema:PartialSchemaInput!"""Whether to use the maximum retention for historical validation. This only takes effect if historicParameters is null.""" useMaximumRetention:Boolean):CheckPartialSchemaResult!"""Checks a proposed schema against the schema that has been published to a particular variant, using metrics corresponding to `historicParameters`. @@ -131,10 +131,10 @@ changes affecting it will be tracked, but won't affect the outcome of the check. Returns true if the operation is newly ignored, false if it already was.""" ignoreOperationsInChecks(ids:[ID!]!):IgnoreOperationsInChecksResult """Mark the changeset that affects an operation in a given check instance as safe. -Note that only operations marked as behavior changes are allowed to be marked as safe.""" markChangesForOperationAsSafe("""ID of the schema check.""" checkID:ID!"""ID of the operation to accept changes for.""" operationID:ID!):MarkChangesForOperationAsSafeResult!newKey(keyName:String role:UserPermission!=GRAPH_ADMIN):GraphApiKey!"""Adds an override to the given users permission for this graph""" overrideUserPermission(permission:UserPermission userID:ID!):Service """Returns a preview of the Core and API schema contracts derived from a source variant and a set of filter configurations""" previewContractVariant(filterConfig:FilterConfigInput!sourceVariant:String!):ContractVariantPreviewResult!@deprecated(reason:"use GraphVariant.contractPreview instead")"""Promote the schema with the given SHA-256 hash to active for the given variant/tag.""" promoteSchema(graphVariant:String!historicParameters:HistoricQueryParameters overrideComposedSchema:Boolean!=false sha256:SHA256!):PromoteSchemaResponseOrError!"""Publish to a subgraph. If composition is successful, this will update running routers.""" publishSubgraph(activePartialSchema:PartialSchemaInput!gitContext:GitContextInput graphVariant:String!name:String!revision:String!url:String):CompositionAndUpsertResult registerOperationsWithResponse(clientIdentity:RegisteredClientIdentityInput gitContext:GitContextInput """Specifies which variant of a graph these operations belong to. +Note that only operations marked as behavior changes are allowed to be marked as safe.""" markChangesForOperationAsSafe("""ID of the schema check.""" checkID:ID!"""ID of the operation to accept changes for.""" operationID:ID!):MarkChangesForOperationAsSafeResult!newKey(keyName:String role:UserPermission!=GRAPH_ADMIN):GraphApiKey!"""Adds an override to the given users permission for this graph""" overrideUserPermission(permission:UserPermission userID:ID!):Service """Promote the schema with the given SHA-256 hash to active for the given variant/tag.""" promoteSchema(graphVariant:String!historicParameters:HistoricQueryParameters overrideComposedSchema:Boolean!=false sha256:SHA256!):PromoteSchemaResponseOrError!"""Publish to a subgraph. If composition is successful, this will update running routers.""" publishSubgraph(activePartialSchema:PartialSchemaInput!gitContext:GitContextInput graphVariant:String!name:String!revision:String!url:String):CompositionAndUpsertResult registerOperationsWithResponse(clientIdentity:RegisteredClientIdentityInput gitContext:GitContextInput """Specifies which variant of a graph these operations belong to. Formerly known as "tag" Defaults to "current" -""" graphVariant:String!="current" manifestVersion:Int operations:[RegisteredOperationInput!]!):RegisterOperationsMutationResponse """Removes a subgraph. If composition is successful, this will update running routers.""" removeImplementingServiceAndTriggerComposition("""Do not remove the service, but recompose without it and report any errors.""" dryRun:Boolean!=false graphVariant:String!name:String!):CompositionAndRemoveResult!removeKey("""API key ID""" id:ID):Void renameKey(id:ID!newKeyName:String):GraphApiKey reportServerInfo("""Only sent if previously requested i.e. received ReportServerInfoResult with withExecutableSchema = true. An executable schema is a schema document that describes the full GraphQL schema that an external client could execute queries against. This must be a valid GraphQL schema document, as per the GraphQL specification: https://spec.graphql.org/""" executableSchema:String """Information about the edge server, see descriptions for individual fields.""" info:EdgeServerInfo!):ReportServerInfoResult@deprecated(reason:"use Mutation.reportSchema instead")service:Service!"""Store a given schema document. This schema will be attached to the graph but +""" graphVariant:String!="current" manifestVersion:Int operations:[RegisteredOperationInput!]!):RegisterOperationsMutationResponse """Removes a subgraph. If composition is successful, this will update running routers.""" removeImplementingServiceAndTriggerComposition("""Do not remove the service, but recompose without it and report any errors.""" dryRun:Boolean!=false graphVariant:String!name:String!):CompositionAndRemoveResult!removeKey("""API key ID""" id:ID):Void renameKey(id:ID!newKeyName:String):GraphApiKey reportServerInfo("""Only sent if previously requested i.e. received ReportServerInfoResult with withExecutableSchema = true. An executable schema is a schema document that describes the full GraphQL schema that an external client could execute queries against. This must be a valid GraphQL schema document, as per the GraphQL specification: https://spec.graphql.org/""" executableSchema:String """Information about the edge server, see descriptions for individual fields.""" info:EdgeServerInfo!):ReportServerInfoResult@deprecated(reason:"use Mutation.reportSchema instead")service:Service!setDefaultBuildPipelineTrack(version:String!):String """Store a given schema document. This schema will be attached to the graph but not be associated with any variant. On success, returns the schema hash.""" storeSchemaDocument(schemaDocument:String!):StoreSchemaResponseOrError!"""Test Slack notification channel""" testSlackChannel(id:ID!notification:SlackNotificationInput!):Void testSubscriptionForChannel(channelID:ID!subscriptionID:ID!):String!transfer(to:String!):Service triggerRepublish(graphVariant:String!):Void undelete:Service """Revert the effects of ignoreOperation. Returns true if the operation is no longer ignored, false if it wasn't.""" unignoreOperationsInChecks(ids:[ID!]!):UnignoreOperationsInChecksResult """Unmark changes for an operation as safe.""" unmarkChangesForOperationAsSafe("""ID of the schema check.""" checkID:ID!"""ID of the operation to unmark changes for.""" operationID:ID!):MarkChangesForOperationAsSafeResult!"""Update schema check configuration for a graph.""" updateCheckConfiguration("""Clients to ignore during validation.""" excludedClients:[ClientFilterInput!]"""Operation names to ignore during validation.""" excludedOperationNames:[OperationNameFilterInput!]"""Operations to ignore during validation.""" excludedOperations:[ExcludedOperationInput!]"""Default configuration to include operations on the base variant.""" includeBaseVariant:Boolean """Variant overrides for validation.""" includedVariants:[String!]"""Minimum number of requests within the window for a query to be considered.""" operationCountThreshold:Int """Number of requests within the window for a query to be considered, relative to @@ -143,13 +143,13 @@ total request volume)""" operationCountThresholdPercentage:Float """Only check o Run composition with the Implementing Service's partial schema replaced with the one provided in the mutation's input. Store the composed schema, return the hash of the composed schema, and any warnings and errors pertaining to composition. -This mutation will not run validation against operations.""" validatePartialSchemaOfImplementingServiceAgainstGraph(graphVariant:String!implementingServiceName:String!partialSchema:PartialSchemaInput!):CompositionValidationResult!"""Make changes to a graph variant.""" variant(name:String!):GraphVariantMutation}"""Columns of ServiceOperationCheckStats.""" enum ServiceOperationCheckStatsColumn{CACHED_REQUESTS_COUNT CLIENT_NAME CLIENT_VERSION QUERY_ID QUERY_NAME SCHEMA_TAG TIMESTAMP UNCACHED_REQUESTS_COUNT}type ServiceOperationCheckStatsDimensions{clientName:String clientVersion:String queryId:ID queryName:String schemaTag:String}"""Filter for data in ServiceOperationCheckStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceOperationCheckStatsFilter{and:[ServiceOperationCheckStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:ServiceOperationCheckStatsFilterIn not:ServiceOperationCheckStatsFilter or:[ServiceOperationCheckStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceOperationCheckStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceOperationCheckStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceOperationCheckStatsMetrics{cachedRequestsCount:Long!uncachedRequestsCount:Long!}input ServiceOperationCheckStatsOrderBySpec{column:ServiceOperationCheckStatsColumn!direction:Ordering!}type ServiceOperationCheckStatsRecord{"""Dimensions of ServiceOperationCheckStats that can be grouped by.""" groupBy:ServiceOperationCheckStatsDimensions!"""Metrics of ServiceOperationCheckStats that can be aggregated over.""" metrics:ServiceOperationCheckStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceQueryStats.""" enum ServiceQueryStatsColumn{CACHED_HISTOGRAM CACHED_REQUESTS_COUNT CACHE_TTL_HISTOGRAM CLIENT_NAME CLIENT_VERSION FORBIDDEN_OPERATION_COUNT FROM_ENGINEPROXY QUERY_ID QUERY_NAME REGISTERED_OPERATION_COUNT REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG TIMESTAMP UNCACHED_HISTOGRAM UNCACHED_REQUESTS_COUNT}type ServiceQueryStatsDimensions{clientName:String clientVersion:String fromEngineproxy:String queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String}"""Filter for data in ServiceQueryStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceQueryStatsFilter{and:[ServiceQueryStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fromEngineproxy dimension equals the given value if not null. To query for the null value, use {in: {fromEngineproxy: [null]}} instead.""" fromEngineproxy:String in:ServiceQueryStatsFilterIn not:ServiceQueryStatsFilter or:[ServiceQueryStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceQueryStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceQueryStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fromEngineproxy dimension is in the given list. A null value in the list means a row with null for that dimension.""" fromEngineproxy:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceQueryStatsMetrics{cacheTtlHistogram:DurationHistogram!cachedHistogram:DurationHistogram!cachedRequestsCount:Long!forbiddenOperationCount:Long!registeredOperationCount:Long!requestsWithErrorsCount:Long!totalLatencyHistogram:DurationHistogram!totalRequestCount:Long!uncachedHistogram:DurationHistogram!uncachedRequestsCount:Long!}input ServiceQueryStatsOrderBySpec{column:ServiceQueryStatsColumn!direction:Ordering!}type ServiceQueryStatsRecord{"""Dimensions of ServiceQueryStats that can be grouped by.""" groupBy:ServiceQueryStatsDimensions!"""Metrics of ServiceQueryStats that can be aggregated over.""" metrics:ServiceQueryStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""A map from role (permission) String to boolean that the current user is allowed for a particular graph.""" type ServiceRoles{"""Whether the currently authenticated user is permitted to perform schema checks (i.e. run `rover (sub)graph check`).""" canCheckSchemas:Boolean!"""Whether the currently authenticated user is permitted to create new graph variants.""" canCreateVariants:Boolean!"""Whether the currently authenticated user is permitted to delete the graph in question""" canDelete:Boolean!"""Whether the currently authenticated user is permitted to manage user access to the graph in question.""" canManageAccess:Boolean!"""Whether the currently authenticated user is permitted to manage the build configuration (e.g. build pipeline version).""" canManageBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to manage 3rd party integrations (e.g. Datadog forwarding).""" canManageIntegrations:Boolean!"""Whether the currently authenticated user is permitted to manage graph-level API keys.""" canManageKeys:Boolean!"""Whether the currently authenticated user is permitted to perform basic administration (e.g. set to public) over variants.""" canManageVariants:Boolean!"""Whether the currently authenticated user is permitted to view details about the build configuration (e.g. build pipeline version).""" canQueryBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to view details of the check configuration for this graph.""" canQueryCheckConfiguration:Boolean!canQueryDeletedImplementingServices:Boolean!"""Whether the currently authenticated user is permitted to view which subgraphs the graph is composed of.""" canQueryImplementingServices:Boolean!canQueryIntegrations:Boolean!canQueryPrivateInfo:Boolean!canQueryPublicInfo:Boolean!canQueryReadmeAuthor:Boolean!canQueryRoleOverrides:Boolean!"""Whether the currently authenticated user is permitted to download schemas owned by this graph.""" canQuerySchemas:Boolean!canQueryStats:Boolean!canQueryTokens:Boolean!canQueryTraces:Boolean!"""Whether the currently authenticated user is permitted to register operations (i.e. `apollo client:push`) for this graph.""" canRegisterOperations:Boolean!canStoreSchemasWithoutVariant:Boolean!canUndelete:Boolean!canUpdateAvatar:Boolean!canUpdateDescription:Boolean!canUpdateTitle:Boolean!canVisualizeStats:Boolean!@deprecated(reason:"Replaced with canQueryTraces and canQueryStats")"""Whether the currently authenticated user is permitted to make updates to the check configuration for this graph.""" canWriteCheckConfiguration:Boolean!canWriteTraces:Boolean!@deprecated(reason:"Never worked, not replaced")}"""A time window with a specified granularity over a given service.""" type ServiceStatsWindow{billingUsageStats("""Filter to select what rows to return.""" filter:ServiceBillingUsageStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceBillingUsageStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceBillingUsageStatsOrderBySpec!]):[ServiceBillingUsageStatsRecord!]!edgeServerInfos("""Filter to select what rows to return.""" filter:ServiceEdgeServerInfosFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceEdgeServerInfos by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceEdgeServerInfosOrderBySpec!]):[ServiceEdgeServerInfosRecord!]!errorStats("""Filter to select what rows to return.""" filter:ServiceErrorStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceErrorStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceErrorStatsOrderBySpec!]):[ServiceErrorStatsRecord!]!fieldLatencies("""Filter to select what rows to return.""" filter:ServiceFieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldLatenciesOrderBySpec!]):[ServiceFieldLatenciesRecord!]!fieldStats("""Filter to select what rows to return.""" filter:ServiceFieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldLatenciesOrderBySpec!]):[ServiceFieldLatenciesRecord!]!fieldUsage("""Filter to select what rows to return.""" filter:ServiceFieldUsageFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldUsage by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldUsageOrderBySpec!]):[ServiceFieldUsageRecord!]!operationCheckStats("""Filter to select what rows to return.""" filter:ServiceOperationCheckStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceOperationCheckStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceOperationCheckStatsOrderBySpec!]):[ServiceOperationCheckStatsRecord!]!queryStats("""Filter to select what rows to return.""" filter:ServiceQueryStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceQueryStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceQueryStatsOrderBySpec!]):[ServiceQueryStatsRecord!]!"""From field rounded down to the nearest resolution.""" roundedDownFrom:Timestamp!"""To field rounded up to the nearest resolution.""" roundedUpTo:Timestamp!tracePathErrorsRefs("""Filter to select what rows to return.""" filter:ServiceTracePathErrorsRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceTracePathErrorsRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceTracePathErrorsRefsOrderBySpec!]):[ServiceTracePathErrorsRefsRecord!]!traceRefs("""Filter to select what rows to return.""" filter:ServiceTraceRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceTraceRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceTraceRefsOrderBySpec!]):[ServiceTraceRefsRecord!]!}"""Columns of ServiceTracePathErrorsRefs.""" enum ServiceTracePathErrorsRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET ERRORS_COUNT_IN_PATH ERRORS_COUNT_IN_TRACE ERROR_MESSAGE PATH QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG TIMESTAMP TRACE_HTTP_STATUS_CODE TRACE_ID TRACE_SIZE_BYTES TRACE_STARTS_AT}type ServiceTracePathErrorsRefsDimensions{clientName:String clientVersion:String durationBucket:Int errorMessage:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String traceHttpStatusCode:Int traceId:ID traceStartsAt:Timestamp}"""Filter for data in ServiceTracePathErrorsRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceTracePathErrorsRefsFilter{and:[ServiceTracePathErrorsRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int """Selects rows whose errorMessage dimension equals the given value if not null. To query for the null value, use {in: {errorMessage: [null]}} instead.""" errorMessage:String in:ServiceTracePathErrorsRefsFilterIn not:ServiceTracePathErrorsRefsFilter or:[ServiceTracePathErrorsRefsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose traceHttpStatusCode dimension equals the given value if not null. To query for the null value, use {in: {traceHttpStatusCode: [null]}} instead.""" traceHttpStatusCode:Int """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in ServiceTracePathErrorsRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceTracePathErrorsRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose errorMessage dimension is in the given list. A null value in the list means a row with null for that dimension.""" errorMessage:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose traceHttpStatusCode dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceHttpStatusCode:[Int]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type ServiceTracePathErrorsRefsMetrics{errorsCountInPath:Long!errorsCountInTrace:Long!traceSizeBytes:Long!}input ServiceTracePathErrorsRefsOrderBySpec{column:ServiceTracePathErrorsRefsColumn!direction:Ordering!}type ServiceTracePathErrorsRefsRecord{"""Dimensions of ServiceTracePathErrorsRefs that can be grouped by.""" groupBy:ServiceTracePathErrorsRefsDimensions!"""Metrics of ServiceTracePathErrorsRefs that can be aggregated over.""" metrics:ServiceTracePathErrorsRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceTraceRefs.""" enum ServiceTraceRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET DURATION_NS QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG TIMESTAMP TRACE_ID TRACE_SIZE_BYTES}type ServiceTraceRefsDimensions{clientName:String clientVersion:String durationBucket:Int queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String traceId:ID}"""Filter for data in ServiceTraceRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceTraceRefsFilter{and:[ServiceTraceRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int in:ServiceTraceRefsFilterIn not:ServiceTraceRefsFilter or:[ServiceTraceRefsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in ServiceTraceRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceTraceRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type ServiceTraceRefsMetrics{durationNs:Long!traceSizeBytes:Long!}input ServiceTraceRefsOrderBySpec{column:ServiceTraceRefsColumn!direction:Ordering!}type ServiceTraceRefsRecord{"""Dimensions of ServiceTraceRefs that can be grouped by.""" groupBy:ServiceTraceRefsDimensions!"""Metrics of ServiceTraceRefs that can be aggregated over.""" metrics:ServiceTraceRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Slack notification channel""" type SlackChannel implements Channel{id:ID!name:String!subscriptions:[ChannelSubscription!]!url:String!}"""Slack notification channel parameters""" input SlackChannelInput{name:String url:String!}input SlackNotificationField{key:String!value:String!}"""Slack notification message""" input SlackNotificationInput{color:String fallback:String!fields:[SlackNotificationField!]iconUrl:String text:String timestamp:Timestamp title:String titleLink:String username:String}type SourceLocation{column:Int!line:Int!}"""A time window with a specified granularity.""" type StatsWindow{billingUsageStats("""Filter to select what rows to return.""" filter:BillingUsageStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order BillingUsageStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[BillingUsageStatsOrderBySpec!]):[BillingUsageStatsRecord!]!edgeServerInfos("""Filter to select what rows to return.""" filter:EdgeServerInfosFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order EdgeServerInfos by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[EdgeServerInfosOrderBySpec!]):[EdgeServerInfosRecord!]!errorStats("""Filter to select what rows to return.""" filter:ErrorStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ErrorStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ErrorStatsOrderBySpec!]):[ErrorStatsRecord!]!fieldLatencies("""Filter to select what rows to return.""" filter:FieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order FieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[FieldLatenciesOrderBySpec!]):[FieldLatenciesRecord!]!fieldUsage("""Filter to select what rows to return.""" filter:FieldUsageFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order FieldUsage by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[FieldUsageOrderBySpec!]):[FieldUsageRecord!]!operationCheckStats("""Filter to select what rows to return.""" filter:OperationCheckStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order OperationCheckStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[OperationCheckStatsOrderBySpec!]):[OperationCheckStatsRecord!]!queryStats("""Filter to select what rows to return.""" filter:QueryStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order QueryStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[QueryStatsOrderBySpec!]):[QueryStatsRecord!]!"""From field rounded down to the nearest resolution.""" roundedDownFrom:Timestamp!"""To field rounded up to the nearest resolution.""" roundedUpTo:Timestamp!tracePathErrorsRefs("""Filter to select what rows to return.""" filter:TracePathErrorsRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order TracePathErrorsRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[TracePathErrorsRefsOrderBySpec!]):[TracePathErrorsRefsRecord!]!traceRefs("""Filter to select what rows to return.""" filter:TraceRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order TraceRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[TraceRefsOrderBySpec!]):[TraceRefsRecord!]!}type StoreSchemaError{code:StoreSchemaErrorCode!message:String!}enum StoreSchemaErrorCode{SCHEMA_IS_NOT_PARSABLE SCHEMA_IS_NOT_VALID}type StoreSchemaResponse{sha256:SHA256!}union StoreSchemaResponseOrError=StoreSchemaError|StoreSchemaResponse type StoredApprovedChange{argNode:NamedIntrospectionArgNoDescription childNode:NamedIntrospectionValueNoDescription code:ChangeCode!parentNode:NamedIntrospectionTypeNoDescription}scalar StringOrInt type StringToString{key:String!value:String!}input StringToStringInput{key:String!value:String!}type Subgraph{hash:String!name:String!routingURL:String!}type SubgraphChange{name:ID!type:SubgraphChangeType!}enum SubgraphChangeType{ADDITION DELETION MODIFICATION}type SubgraphConfig{id:ID!name:String!schemaHash:String!sdl:String!url:String!}type SubscriptionOptions{"""Enables notifications for schema updates""" schemaUpdates:Boolean!}input SubscriptionOptionsInput{"""Enables notifications for schema updates""" schemaUpdates:Boolean!}enum SubscriptionState{ACTIVE CANCELED EXPIRED FUTURE PAST_DUE PAUSED PENDING UNKNOWN}enum SubscriptionStateV2{ACTIVE CANCELED EXPIRED FUTURE PAST_DUE PAUSED PENDING UNKNOWN}type TemporaryURL{url:String!}enum ThemeName{DARK LIGHT}enum TicketPriority{P0 P1 P2 P3}enum TicketStatus{CLOSED HOLD NEW OPEN PENDING SOLVED}"""ISO 8601, extended format with nanoseconds, Zulu (or '[+-]seconds' for times relative to now)""" scalar Timestamp type TimezoneOffset{minutesOffsetFromUTC:Int!zoneID:String!}"""Counts of changes.""" type TotalChangeSummaryCounts{"""Number of changes that are additions. This includes adding types, adding fields to object, input +This mutation will not run validation against operations.""" validatePartialSchemaOfImplementingServiceAgainstGraph(graphVariant:String!implementingServiceName:String!partialSchema:PartialSchemaInput!):CompositionValidationResult!"""Make changes to a graph variant.""" variant(name:String!):GraphVariantMutation}"""Columns of ServiceOperationCheckStats.""" enum ServiceOperationCheckStatsColumn{CACHED_REQUESTS_COUNT CLIENT_NAME CLIENT_VERSION QUERY_ID QUERY_NAME SCHEMA_TAG TIMESTAMP UNCACHED_REQUESTS_COUNT}type ServiceOperationCheckStatsDimensions{clientName:String clientVersion:String queryId:ID queryName:String schemaTag:String}"""Filter for data in ServiceOperationCheckStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceOperationCheckStatsFilter{and:[ServiceOperationCheckStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:ServiceOperationCheckStatsFilterIn not:ServiceOperationCheckStatsFilter or:[ServiceOperationCheckStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceOperationCheckStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceOperationCheckStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceOperationCheckStatsMetrics{cachedRequestsCount:Long!uncachedRequestsCount:Long!}input ServiceOperationCheckStatsOrderBySpec{column:ServiceOperationCheckStatsColumn!direction:Ordering!}type ServiceOperationCheckStatsRecord{"""Dimensions of ServiceOperationCheckStats that can be grouped by.""" groupBy:ServiceOperationCheckStatsDimensions!"""Metrics of ServiceOperationCheckStats that can be aggregated over.""" metrics:ServiceOperationCheckStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceQueryStats.""" enum ServiceQueryStatsColumn{CACHED_HISTOGRAM CACHED_REQUESTS_COUNT CACHE_TTL_HISTOGRAM CLIENT_NAME CLIENT_VERSION FORBIDDEN_OPERATION_COUNT FROM_ENGINEPROXY QUERY_ID QUERY_NAME REGISTERED_OPERATION_COUNT REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG TIMESTAMP UNCACHED_HISTOGRAM UNCACHED_REQUESTS_COUNT}type ServiceQueryStatsDimensions{clientName:String clientVersion:String fromEngineproxy:String queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String}"""Filter for data in ServiceQueryStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceQueryStatsFilter{and:[ServiceQueryStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fromEngineproxy dimension equals the given value if not null. To query for the null value, use {in: {fromEngineproxy: [null]}} instead.""" fromEngineproxy:String in:ServiceQueryStatsFilterIn not:ServiceQueryStatsFilter or:[ServiceQueryStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceQueryStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceQueryStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fromEngineproxy dimension is in the given list. A null value in the list means a row with null for that dimension.""" fromEngineproxy:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceQueryStatsMetrics{cacheTtlHistogram:DurationHistogram!cachedHistogram:DurationHistogram!cachedRequestsCount:Long!forbiddenOperationCount:Long!registeredOperationCount:Long!requestsWithErrorsCount:Long!totalLatencyHistogram:DurationHistogram!totalRequestCount:Long!uncachedHistogram:DurationHistogram!uncachedRequestsCount:Long!}input ServiceQueryStatsOrderBySpec{column:ServiceQueryStatsColumn!direction:Ordering!}type ServiceQueryStatsRecord{"""Dimensions of ServiceQueryStats that can be grouped by.""" groupBy:ServiceQueryStatsDimensions!"""Metrics of ServiceQueryStats that can be aggregated over.""" metrics:ServiceQueryStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""A map from role (permission) String to boolean that the current user is allowed for a particular graph.""" type ServiceRoles{"""Whether the currently authenticated user is permitted to perform schema checks (i.e. run `rover (sub)graph check`).""" canCheckSchemas:Boolean!"""Whether the currently authenticated user is permitted to create new graph variants.""" canCreateVariants:Boolean!"""Whether the currently authenticated user is permitted to delete the graph in question""" canDelete:Boolean!"""Whether the currently authenticated user is permitted to manage user access to the graph in question.""" canManageAccess:Boolean!"""Whether the currently authenticated user is permitted to manage the build configuration (e.g. build pipeline version).""" canManageBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to manage 3rd party integrations (e.g. Datadog forwarding).""" canManageIntegrations:Boolean!"""Whether the currently authenticated user is permitted to manage graph-level API keys.""" canManageKeys:Boolean!"""Whether the currently authenticated user is permitted to perform basic administration (e.g. set to public) over variants.""" canManageVariants:Boolean!"""Whether the currently authenticated user is permitted to view details about the build configuration (e.g. build pipeline version).""" canQueryBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to view details of the check configuration for this graph.""" canQueryCheckConfiguration:Boolean!canQueryDeletedImplementingServices:Boolean!"""Whether the currently authenticated user is permitted to view which subgraphs the graph is composed of.""" canQueryImplementingServices:Boolean!canQueryIntegrations:Boolean!canQueryPrivateInfo:Boolean!canQueryPublicInfo:Boolean!canQueryReadmeAuthor:Boolean!canQueryRoleOverrides:Boolean!"""Whether the currently authenticated user is permitted to download schemas owned by this graph.""" canQuerySchemas:Boolean!canQueryStats:Boolean!canQueryTokens:Boolean!canQueryTraces:Boolean!"""Whether the currently authenticated user is permitted to register operations (i.e. `apollo client:push`) for this graph.""" canRegisterOperations:Boolean!canStoreSchemasWithoutVariant:Boolean!canUndelete:Boolean!canUpdateAvatar:Boolean!canUpdateDescription:Boolean!canUpdateTitle:Boolean!canVisualizeStats:Boolean!@deprecated(reason:"Replaced with canQueryTraces and canQueryStats")"""Whether the currently authenticated user is permitted to make updates to the check configuration for this graph.""" canWriteCheckConfiguration:Boolean!canWriteTraces:Boolean!@deprecated(reason:"Never worked, not replaced")}"""A time window with a specified granularity over a given service.""" type ServiceStatsWindow{billingUsageStats("""Filter to select what rows to return.""" filter:ServiceBillingUsageStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceBillingUsageStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceBillingUsageStatsOrderBySpec!]):[ServiceBillingUsageStatsRecord!]!edgeServerInfos("""Filter to select what rows to return.""" filter:ServiceEdgeServerInfosFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceEdgeServerInfos by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceEdgeServerInfosOrderBySpec!]):[ServiceEdgeServerInfosRecord!]!errorStats("""Filter to select what rows to return.""" filter:ServiceErrorStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceErrorStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceErrorStatsOrderBySpec!]):[ServiceErrorStatsRecord!]!fieldExecutions("""Filter to select what rows to return.""" filter:ServiceFieldExecutionsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldExecutions by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldExecutionsOrderBySpec!]):[ServiceFieldExecutionsRecord!]!fieldLatencies("""Filter to select what rows to return.""" filter:ServiceFieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldLatenciesOrderBySpec!]):[ServiceFieldLatenciesRecord!]!fieldRequestsByClientVersion("""Filter to select what rows to return.""" filter:ServiceFieldRequestsByClientVersionFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldRequestsByClientVersion by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldRequestsByClientVersionOrderBySpec!]):[ServiceFieldRequestsByClientVersionRecord!]!fieldStats("""Filter to select what rows to return.""" filter:ServiceFieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldLatenciesOrderBySpec!]):[ServiceFieldLatenciesRecord!]!fieldUsage("""Filter to select what rows to return.""" filter:ServiceFieldUsageFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldUsage by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldUsageOrderBySpec!]):[ServiceFieldUsageRecord!]!operationCheckStats("""Filter to select what rows to return.""" filter:ServiceOperationCheckStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceOperationCheckStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceOperationCheckStatsOrderBySpec!]):[ServiceOperationCheckStatsRecord!]!queryStats("""Filter to select what rows to return.""" filter:ServiceQueryStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceQueryStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceQueryStatsOrderBySpec!]):[ServiceQueryStatsRecord!]!"""From field rounded down to the nearest resolution.""" roundedDownFrom:Timestamp!"""To field rounded up to the nearest resolution.""" roundedUpTo:Timestamp!tracePathErrorsRefs("""Filter to select what rows to return.""" filter:ServiceTracePathErrorsRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceTracePathErrorsRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceTracePathErrorsRefsOrderBySpec!]):[ServiceTracePathErrorsRefsRecord!]!traceRefs("""Filter to select what rows to return.""" filter:ServiceTraceRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceTraceRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceTraceRefsOrderBySpec!]):[ServiceTraceRefsRecord!]!}"""Columns of ServiceTracePathErrorsRefs.""" enum ServiceTracePathErrorsRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET ERRORS_COUNT_IN_PATH ERRORS_COUNT_IN_TRACE ERROR_MESSAGE PATH QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG TIMESTAMP TRACE_HTTP_STATUS_CODE TRACE_ID TRACE_SIZE_BYTES TRACE_STARTS_AT}type ServiceTracePathErrorsRefsDimensions{clientName:String clientVersion:String durationBucket:Int errorMessage:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String traceHttpStatusCode:Int traceId:ID traceStartsAt:Timestamp}"""Filter for data in ServiceTracePathErrorsRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceTracePathErrorsRefsFilter{and:[ServiceTracePathErrorsRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int """Selects rows whose errorMessage dimension equals the given value if not null. To query for the null value, use {in: {errorMessage: [null]}} instead.""" errorMessage:String in:ServiceTracePathErrorsRefsFilterIn not:ServiceTracePathErrorsRefsFilter or:[ServiceTracePathErrorsRefsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose traceHttpStatusCode dimension equals the given value if not null. To query for the null value, use {in: {traceHttpStatusCode: [null]}} instead.""" traceHttpStatusCode:Int """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in ServiceTracePathErrorsRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceTracePathErrorsRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose errorMessage dimension is in the given list. A null value in the list means a row with null for that dimension.""" errorMessage:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose traceHttpStatusCode dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceHttpStatusCode:[Int]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type ServiceTracePathErrorsRefsMetrics{errorsCountInPath:Long!errorsCountInTrace:Long!traceSizeBytes:Long!}input ServiceTracePathErrorsRefsOrderBySpec{column:ServiceTracePathErrorsRefsColumn!direction:Ordering!}type ServiceTracePathErrorsRefsRecord{"""Dimensions of ServiceTracePathErrorsRefs that can be grouped by.""" groupBy:ServiceTracePathErrorsRefsDimensions!"""Metrics of ServiceTracePathErrorsRefs that can be aggregated over.""" metrics:ServiceTracePathErrorsRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceTraceRefs.""" enum ServiceTraceRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET DURATION_NS QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG TIMESTAMP TRACE_ID TRACE_SIZE_BYTES}type ServiceTraceRefsDimensions{clientName:String clientVersion:String durationBucket:Int queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String traceId:ID}"""Filter for data in ServiceTraceRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceTraceRefsFilter{and:[ServiceTraceRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int in:ServiceTraceRefsFilterIn not:ServiceTraceRefsFilter or:[ServiceTraceRefsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in ServiceTraceRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceTraceRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type ServiceTraceRefsMetrics{durationNs:Long!traceSizeBytes:Long!}input ServiceTraceRefsOrderBySpec{column:ServiceTraceRefsColumn!direction:Ordering!}type ServiceTraceRefsRecord{"""Dimensions of ServiceTraceRefs that can be grouped by.""" groupBy:ServiceTraceRefsDimensions!"""Metrics of ServiceTraceRefs that can be aggregated over.""" metrics:ServiceTraceRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Slack notification channel""" type SlackChannel implements Channel{id:ID!name:String!subscriptions:[ChannelSubscription!]!url:String!}"""Slack notification channel parameters""" input SlackChannelInput{name:String url:String!}input SlackNotificationField{key:String!value:String!}"""Slack notification message""" input SlackNotificationInput{color:String fallback:String!fields:[SlackNotificationField!]iconUrl:String text:String timestamp:Timestamp title:String titleLink:String username:String}type SourceLocation{column:Int!line:Int!}"""A time window with a specified granularity.""" type StatsWindow{billingUsageStats("""Filter to select what rows to return.""" filter:BillingUsageStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order BillingUsageStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[BillingUsageStatsOrderBySpec!]):[BillingUsageStatsRecord!]!edgeServerInfos("""Filter to select what rows to return.""" filter:EdgeServerInfosFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order EdgeServerInfos by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[EdgeServerInfosOrderBySpec!]):[EdgeServerInfosRecord!]!errorStats("""Filter to select what rows to return.""" filter:ErrorStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ErrorStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ErrorStatsOrderBySpec!]):[ErrorStatsRecord!]!fieldExecutions("""Filter to select what rows to return.""" filter:FieldExecutionsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order FieldExecutions by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[FieldExecutionsOrderBySpec!]):[FieldExecutionsRecord!]!fieldLatencies("""Filter to select what rows to return.""" filter:FieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order FieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[FieldLatenciesOrderBySpec!]):[FieldLatenciesRecord!]!fieldRequestsByClientVersion("""Filter to select what rows to return.""" filter:FieldRequestsByClientVersionFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order FieldRequestsByClientVersion by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[FieldRequestsByClientVersionOrderBySpec!]):[FieldRequestsByClientVersionRecord!]!fieldUsage("""Filter to select what rows to return.""" filter:FieldUsageFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order FieldUsage by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[FieldUsageOrderBySpec!]):[FieldUsageRecord!]!operationCheckStats("""Filter to select what rows to return.""" filter:OperationCheckStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order OperationCheckStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[OperationCheckStatsOrderBySpec!]):[OperationCheckStatsRecord!]!queryStats("""Filter to select what rows to return.""" filter:QueryStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order QueryStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[QueryStatsOrderBySpec!]):[QueryStatsRecord!]!"""From field rounded down to the nearest resolution.""" roundedDownFrom:Timestamp!"""To field rounded up to the nearest resolution.""" roundedUpTo:Timestamp!tracePathErrorsRefs("""Filter to select what rows to return.""" filter:TracePathErrorsRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order TracePathErrorsRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[TracePathErrorsRefsOrderBySpec!]):[TracePathErrorsRefsRecord!]!traceRefs("""Filter to select what rows to return.""" filter:TraceRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order TraceRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[TraceRefsOrderBySpec!]):[TraceRefsRecord!]!}type StoreSchemaError{code:StoreSchemaErrorCode!message:String!}enum StoreSchemaErrorCode{SCHEMA_IS_NOT_PARSABLE SCHEMA_IS_NOT_VALID}type StoreSchemaResponse{sha256:SHA256!}union StoreSchemaResponseOrError=StoreSchemaError|StoreSchemaResponse type StoredApprovedChange{argNode:NamedIntrospectionArgNoDescription childNode:NamedIntrospectionValueNoDescription code:ChangeCode!parentNode:NamedIntrospectionTypeNoDescription}scalar StringOrInt type StringToString{key:String!value:String!}input StringToStringInput{key:String!value:String!}type Subgraph{hash:String!name:String!routingURL:String!}type SubgraphChange{name:ID!type:SubgraphChangeType!}enum SubgraphChangeType{ADDITION DELETION MODIFICATION}type SubgraphConfig{id:ID!name:String!schemaHash:String!sdl:String!url:String!}type SubscriptionOptions{"""Enables notifications for schema updates""" schemaUpdates:Boolean!}input SubscriptionOptionsInput{"""Enables notifications for schema updates""" schemaUpdates:Boolean!}enum SubscriptionState{ACTIVE CANCELED EXPIRED FUTURE PAST_DUE PAUSED PENDING UNKNOWN}enum SubscriptionStateV2{ACTIVE CANCELED EXPIRED FUTURE PAST_DUE PAUSED PENDING UNKNOWN}type TemporaryURL{url:String!}enum ThemeName{DARK LIGHT}enum TicketPriority{P0 P1 P2 P3}enum TicketStatus{CLOSED HOLD NEW OPEN PENDING SOLVED}"""ISO 8601, extended format with nanoseconds, Zulu (or '[+-]seconds' for times relative to now)""" scalar Timestamp type TimezoneOffset{minutesOffsetFromUTC:Int!zoneID:String!}"""Counts of changes.""" type TotalChangeSummaryCounts{"""Number of changes that are additions. This includes adding types, adding fields to object, input object, and interface types, adding values to enums, adding members to interfaces and unions, and adding arguments.""" additions:Int!"""Number of changes that are new usages of the @deprecated directive.""" deprecations:Int!"""Number of changes that are edits. This includes types changing kind, fields and arguments changing type, arguments changing default value, and any description changes. This also includes edits to @deprecated reason strings.""" edits:Int!"""Number of changes that are removals. This includes removing types, removing fields from object, input object, and interface types, removing values from enums, removing members from interfaces -and unions, and removing arguments. This also includes removing @deprecated usages.""" removals:Int!}type Trace{cacheMaxAgeMs:Float cacheScope:CacheScope clientName:String clientVersion:String durationMs:Float!endTime:Timestamp!http:TraceHTTP id:ID!operationName:String protobuf:Protobuf!root:TraceNode!signature:String!startTime:Timestamp!variablesJSON:[StringToString!]!}type TraceError{json:String!locations:[TraceSourceLocation!]!message:String!timestamp:Timestamp}type TraceHTTP{host:String method:HTTPMethod!path:String protocol:String requestHeaders:[StringToString!]!responseHeaders:[StringToString!]!secure:Boolean!statusCode:Int!}type TraceNode{cacheMaxAgeMs:Float cacheScope:CacheScope children:[TraceNode!]!childrenIds:[ID!]!descendants:[TraceNode!]!descendantsIds:[ID!]!endTime:Timestamp!errors:[TraceError!]!id:ID!key:StringOrInt originalFieldName:String parent:ID!parentId:ID path:[String!]!startTime:Timestamp!type:String}"""Columns of TracePathErrorsRefs.""" enum TracePathErrorsRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET ERRORS_COUNT_IN_PATH ERRORS_COUNT_IN_TRACE ERROR_MESSAGE PATH QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_HTTP_STATUS_CODE TRACE_ID TRACE_SIZE_BYTES TRACE_STARTS_AT}type TracePathErrorsRefsDimensions{clientName:String clientVersion:String durationBucket:Int errorMessage:String """If metrics were collected from a federated service, this field will be prefixed with `service:<SERVICE_NAME>.`""" path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID traceHttpStatusCode:Int traceId:ID traceStartsAt:Timestamp}"""Filter for data in TracePathErrorsRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input TracePathErrorsRefsFilter{and:[TracePathErrorsRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int """Selects rows whose errorMessage dimension equals the given value if not null. To query for the null value, use {in: {errorMessage: [null]}} instead.""" errorMessage:String in:TracePathErrorsRefsFilterIn not:TracePathErrorsRefsFilter or:[TracePathErrorsRefsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceHttpStatusCode dimension equals the given value if not null. To query for the null value, use {in: {traceHttpStatusCode: [null]}} instead.""" traceHttpStatusCode:Int """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in TracePathErrorsRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input TracePathErrorsRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose errorMessage dimension is in the given list. A null value in the list means a row with null for that dimension.""" errorMessage:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceHttpStatusCode dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceHttpStatusCode:[Int]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type TracePathErrorsRefsMetrics{errorsCountInPath:Long!errorsCountInTrace:Long!traceSizeBytes:Long!}input TracePathErrorsRefsOrderBySpec{column:TracePathErrorsRefsColumn!direction:Ordering!}type TracePathErrorsRefsRecord{"""Dimensions of TracePathErrorsRefs that can be grouped by.""" groupBy:TracePathErrorsRefsDimensions!"""Metrics of TracePathErrorsRefs that can be aggregated over.""" metrics:TracePathErrorsRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of TraceRefs.""" enum TraceRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET DURATION_NS QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_ID TRACE_SIZE_BYTES}type TraceRefsDimensions{clientName:String clientVersion:String durationBucket:Int queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String serviceId:ID traceId:ID}"""Filter for data in TraceRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input TraceRefsFilter{and:[TraceRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int in:TraceRefsFilterIn not:TraceRefsFilter or:[TraceRefsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in TraceRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input TraceRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type TraceRefsMetrics{durationNs:Long!traceSizeBytes:Long!}input TraceRefsOrderBySpec{column:TraceRefsColumn!direction:Ordering!}type TraceRefsRecord{"""Dimensions of TraceRefs that can be grouped by.""" groupBy:TraceRefsDimensions!"""Metrics of TraceRefs that can be aggregated over.""" metrics:TraceRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type TraceSourceLocation{column:Int!line:Int!}"""Counts of changes at the type level, including interfaces, unions, enums, scalars, input objects, etc.""" type TypeChangeSummaryCounts{"""Number of changes that are additions of types.""" additions:Int!"""Number of changes that are edits. This includes types changing kind and any type description +and unions, and removing arguments. This also includes removing @deprecated usages.""" removals:Int!}type Trace{cacheMaxAgeMs:Float cacheScope:CacheScope clientName:String clientVersion:String durationMs:Float!endTime:Timestamp!http:TraceHTTP id:ID!operationName:String protobuf:Protobuf!root:TraceNode!signature:String!startTime:Timestamp!unexecutedOperationBody:String unexecutedOperationName:String variablesJSON:[StringToString!]!}type TraceError{json:String!locations:[TraceSourceLocation!]!message:String!timestamp:Timestamp}type TraceHTTP{host:String method:HTTPMethod!path:String protocol:String requestHeaders:[StringToString!]!responseHeaders:[StringToString!]!secure:Boolean!statusCode:Int!}type TraceNode{cacheMaxAgeMs:Float cacheScope:CacheScope children:[TraceNode!]!childrenIds:[ID!]!descendants:[TraceNode!]!descendantsIds:[ID!]!endTime:Timestamp!errors:[TraceError!]!id:ID!key:StringOrInt originalFieldName:String parent:ID!parentId:ID path:[String!]!startTime:Timestamp!type:String}"""Columns of TracePathErrorsRefs.""" enum TracePathErrorsRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET ERRORS_COUNT_IN_PATH ERRORS_COUNT_IN_TRACE ERROR_MESSAGE PATH QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_HTTP_STATUS_CODE TRACE_ID TRACE_SIZE_BYTES TRACE_STARTS_AT}type TracePathErrorsRefsDimensions{clientName:String clientVersion:String durationBucket:Int errorMessage:String """If metrics were collected from a federated service, this field will be prefixed with `service:<SERVICE_NAME>.`""" path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID traceHttpStatusCode:Int traceId:ID traceStartsAt:Timestamp}"""Filter for data in TracePathErrorsRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input TracePathErrorsRefsFilter{and:[TracePathErrorsRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int """Selects rows whose errorMessage dimension equals the given value if not null. To query for the null value, use {in: {errorMessage: [null]}} instead.""" errorMessage:String in:TracePathErrorsRefsFilterIn not:TracePathErrorsRefsFilter or:[TracePathErrorsRefsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceHttpStatusCode dimension equals the given value if not null. To query for the null value, use {in: {traceHttpStatusCode: [null]}} instead.""" traceHttpStatusCode:Int """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in TracePathErrorsRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input TracePathErrorsRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose errorMessage dimension is in the given list. A null value in the list means a row with null for that dimension.""" errorMessage:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceHttpStatusCode dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceHttpStatusCode:[Int]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type TracePathErrorsRefsMetrics{errorsCountInPath:Long!errorsCountInTrace:Long!traceSizeBytes:Long!}input TracePathErrorsRefsOrderBySpec{column:TracePathErrorsRefsColumn!direction:Ordering!}type TracePathErrorsRefsRecord{"""Dimensions of TracePathErrorsRefs that can be grouped by.""" groupBy:TracePathErrorsRefsDimensions!"""Metrics of TracePathErrorsRefs that can be aggregated over.""" metrics:TracePathErrorsRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of TraceRefs.""" enum TraceRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET DURATION_NS QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_ID TRACE_SIZE_BYTES}type TraceRefsDimensions{clientName:String clientVersion:String durationBucket:Int queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String serviceId:ID traceId:ID}"""Filter for data in TraceRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input TraceRefsFilter{and:[TraceRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int in:TraceRefsFilterIn not:TraceRefsFilter or:[TraceRefsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in TraceRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input TraceRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type TraceRefsMetrics{durationNs:Long!traceSizeBytes:Long!}input TraceRefsOrderBySpec{column:TraceRefsColumn!direction:Ordering!}type TraceRefsRecord{"""Dimensions of TraceRefs that can be grouped by.""" groupBy:TraceRefsDimensions!"""Metrics of TraceRefs that can be aggregated over.""" metrics:TraceRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type TraceSourceLocation{column:Int!line:Int!}"""Counts of changes at the type level, including interfaces, unions, enums, scalars, input objects, etc.""" type TypeChangeSummaryCounts{"""Number of changes that are additions of types.""" additions:Int!"""Number of changes that are edits. This includes types changing kind and any type description changes, but also includes adding/removing values from enums, adding/removing members from interfaces and unions, and any enum value deprecation and description changes.""" edits:Int!"""Number of changes that are removals of types.""" removals:Int!}"""the TypeFilterConfig is used to isolate types, and subsequent fields, through @@ -164,9 +164,9 @@ MediaUploadInfo.csrfToken.""" avatarUpload:AvatarUploadResult """Get an image UR argument is used for bandwidth reduction, and should be the size of the image as displayed in the application. Apollo's media server will downscale larger images to at least the requested size, but this will not happen for third-party media servers.""" avatarUrl(size:Int!=40):String betaFeaturesOn:Boolean!canUpdateAvatar:Boolean!canUpdateEmail:Boolean!canUpdateFullName:Boolean!createdAt:Timestamp!email:String emailModifiedAt:Timestamp emailVerified:Boolean!experimentalFeatures:UserExperimentalFeatures!featureIntros:FeatureIntros fullName:String!"""The user's GitHub username, if they log in via GitHub. May be null even for GitHub users in some edge cases.""" githubUsername:String """The unique identifier for a user.""" id:ID!"""This role is reserved exclusively for internal MDG employees, and it controls what access they may have to other -organizations. Only admins are allowed to see this field.""" internalAdminRole:InternalMdgAdminRole """Last time any API token from this user was used against AGM services""" lastAuthenticatedAt:Timestamp logoutAfterIdleMs:Int """Which organizations a user belongs to.""" memberships:[UserMembership!]!"""The name (first and last) of a user.""" name:String!odysseyCertifications:[OdysseyCertification!]odysseyCourses:[OdysseyCourse!]odysseyHasEarlyAccess:Boolean!odysseyHasRequestedEarlyAccess:Boolean!odysseyTasks:[OdysseyTask!]sandboxOperationCollections:[OperationCollection!]!synchronized:Boolean!"""List of Zendesk tickets this user has submitted""" tickets:[ZendeskTicket!]type:UserType!}type UserApiKey implements ApiKey{id:ID!keyName:String token:String!}type UserExperimentalFeatures{exampleFeature:Boolean!}"""An organization a given user belongs to.""" type UserMembership{"""The organization a user is a member of.""" account:Account!"""When the user joined the organization.""" createdAt:Timestamp!"""What level of access a use has to an organization.""" permission:UserPermission!"""The user that is a member of an organization.""" user:User!}type UserMutation{acceptPrivacyPolicy:Void """Change the user's password""" changePassword(newPassword:String!previousPassword:String!):Void createOdysseyCertification(certificationId:String!):OdysseyCertification createOdysseyCourses(courses:[OdysseyCourseInput!]!):[OdysseyCourse!]createOdysseyTasks(tasks:[OdysseyTaskInput!]!):[OdysseyTask!]"""Delete the user's avatar. Requires User.canUpdateAvatar to be true.""" deleteAvatar:AvatarDeleteError """Hard deletes the associated user. Throws an error otherwise with reason included.""" hardDelete:Void """Create a new API key for this user. Must take in a name for this key.""" newKey(keyName:String!):UserApiKey!"""Create a new API key for this user if there are no current API keys. -If an API key already exists, this will return one at random and not create a new one.""" provisionKey(keyName:String!="add-a-name"):ApiKeyProvision """Refresh information about the user from its upstream service (eg list of organizations from GitHub)""" refresh:User """Removes the given key from this user. Can be used to remove either a web cookie or a user API key.""" removeKey(id:ID!):Void """Renames the given key to the new key name.""" renameKey(id:ID!newKeyName:String):UserApiKey resendVerificationEmail:Void setOdysseyCourse(course:OdysseyCourseInput!):OdysseyCourse setOdysseyTask(task:OdysseyTaskInput!):OdysseyTask """Submit a zendesk ticket for this user""" submitZendeskTicket(collaborators:[String!]email:String!ticket:ZendeskTicketInput!):ZendeskTicket """Update information about a user; all arguments are optional""" update(email:String fullName:String referrer:String trackingGoogleClientId:String trackingMarketoClientId:String userSegment:UserSegment utmCampaign:String utmMedium:String utmSource:String):User """Updates this users' preference concerning opting into beta features.""" updateBetaFeaturesOn(betaFeaturesOn:Boolean!):User """Update the status of a feature for this. For example, if you want to hide an introductory popup.""" updateFeatureIntros(newFeatureIntros:FeatureIntrosInput):User """Update user to have the given internal mdg admin role. +organizations. Only admins are allowed to see this field.""" internalAdminRole:InternalMdgAdminRole """Last time any API token from this user was used against AGM services""" lastAuthenticatedAt:Timestamp logoutAfterIdleMs:Int """Which organizations a user belongs to.""" memberships:[UserMembership!]!"""The name (first and last) of a user.""" name:String!odysseyAttempt(id:ID!):OdysseyAttempt odysseyAttempts:[OdysseyAttempt!]!odysseyCertifications:[OdysseyCertification!]odysseyCourses:[OdysseyCourse!]odysseyHasEarlyAccess:Boolean!odysseyHasRequestedEarlyAccess:Boolean!odysseyTasks:[OdysseyTask!]sandboxOperationCollections:[OperationCollection!]!synchronized:Boolean!"""List of Zendesk tickets this user has submitted""" tickets:[ZendeskTicket!]type:UserType!}type UserApiKey implements ApiKey{id:ID!keyName:String token:String!}type UserExperimentalFeatures{exampleFeature:Boolean!}"""An organization a given user belongs to.""" type UserMembership{"""The organization a user is a member of.""" account:Account!"""When the user joined the organization.""" createdAt:Timestamp!"""What level of access a use has to an organization.""" permission:UserPermission!"""The user that is a member of an organization.""" user:User!}type UserMutation{acceptPrivacyPolicy:Void """Change the user's password""" changePassword(newPassword:String!previousPassword:String!):Void createOdysseyAttempt(testId:String!):OdysseyAttempt createOdysseyCertification(certificationId:String!):OdysseyCertification createOdysseyCourses(courses:[OdysseyCourseInput!]!):[OdysseyCourse!]createOdysseyTasks(tasks:[OdysseyTaskInput!]!):[OdysseyTask!]"""Delete the user's avatar. Requires User.canUpdateAvatar to be true.""" deleteAvatar:AvatarDeleteError """Hard deletes the associated user. Throws an error otherwise with reason included.""" hardDelete:Void """Create a new API key for this user. Must take in a name for this key.""" newKey(keyName:String!):UserApiKey!"""Create a new API key for this user if there are no current API keys. +If an API key already exists, this will return one at random and not create a new one.""" provisionKey(keyName:String!="add-a-name"):ApiKeyProvision """Refresh information about the user from its upstream service (eg list of organizations from GitHub)""" refresh:User """Removes the given key from this user. Can be used to remove either a web cookie or a user API key.""" removeKey(id:ID!):Void """Renames the given key to the new key name.""" renameKey(id:ID!newKeyName:String):UserApiKey resendVerificationEmail:Void setOdysseyCourse(course:OdysseyCourseInput!):OdysseyCourse setOdysseyResponse(response:OdysseyResponseInput!):OdysseyResponse setOdysseyTask(task:OdysseyTaskInput!):OdysseyTask """Submit a zendesk ticket for this user""" submitZendeskTicket(collaborators:[String!]email:String!ticket:ZendeskTicketInput!):ZendeskTicket """Update information about a user; all arguments are optional""" update(email:String fullName:String referrer:String trackingGoogleClientId:String trackingMarketoClientId:String userSegment:UserSegment utmCampaign:String utmMedium:String utmSource:String):User """Updates this users' preference concerning opting into beta features.""" updateBetaFeaturesOn(betaFeaturesOn:Boolean!):User """Update the status of a feature for this. For example, if you want to hide an introductory popup.""" updateFeatureIntros(newFeatureIntros:FeatureIntrosInput):User updateOdysseyAttempt(completedAt:Timestamp id:ID!):OdysseyAttempt """Update user to have the given internal mdg admin role. It is necessary to be an MDG_INTERNAL_SUPER_ADMIN to perform update. Additionally, upserting a null value explicitly revokes this user's -admin status.""" updateRole(newRole:InternalMdgAdminRole):User user:User!verifyEmail(token:String!):User}enum UserPermission{BILLING_MANAGER CONSUMER CONTRIBUTOR GRAPH_ADMIN LEGACY_GRAPH_KEY OBSERVER ORG_ADMIN}enum UserSegment{JOIN_MY_TEAM LOCAL_DEVELOPMENT NOT_SPECIFIED PRODUCTION_GRAPHS SANDBOX SANDBOX_OPERATION_COLLECTIONS TRY_TEAM}type UserSettings{appNavCollapsed:Boolean!autoManageVariables:Boolean!id:String!mockingResponses:Boolean!preflightScriptEnabled:Boolean!responseHints:ResponseHints!tableMode:Boolean!themeName:ThemeName!}"""Explorer user settings input""" input UserSettingsInput{appNavCollapsed:Boolean autoManageVariables:Boolean mockingResponses:Boolean preflightScriptEnabled:Boolean responseHints:ResponseHints tableMode:Boolean themeName:ThemeName}enum UserType{APOLLO GITHUB SSO}type ValidateOperationsResult{validationResults:[ValidationResult!]!}type ValidationError implements Error{message:String!}enum ValidationErrorCode{DEPRECATED_FIELD INVALID_OPERATION NON_PARSEABLE_DOCUMENT}enum ValidationErrorType{FAILURE INVALID WARNING}"""Represents a single validation error, with information relating to the error +admin status.""" updateRole(newRole:InternalMdgAdminRole):User user:User!verifyEmail(token:String!):User}enum UserPermission{BILLING_MANAGER CONSUMER CONTRIBUTOR DOCUMENTER GRAPH_ADMIN LEGACY_GRAPH_KEY OBSERVER ORG_ADMIN}enum UserSegment{JOIN_MY_TEAM LOCAL_DEVELOPMENT NOT_SPECIFIED PRODUCTION_GRAPHS SANDBOX SANDBOX_OPERATION_COLLECTIONS TRY_TEAM}type UserSettings{appNavCollapsed:Boolean!autoManageVariables:Boolean!id:String!mockingResponses:Boolean!preflightScriptEnabled:Boolean!responseHints:ResponseHints!tableMode:Boolean!themeName:ThemeName!}"""Explorer user settings input""" input UserSettingsInput{appNavCollapsed:Boolean autoManageVariables:Boolean mockingResponses:Boolean preflightScriptEnabled:Boolean responseHints:ResponseHints tableMode:Boolean themeName:ThemeName}enum UserType{APOLLO GITHUB SSO}type ValidateOperationsResult{validationResults:[ValidationResult!]!}type ValidationError implements Error{message:String!}enum ValidationErrorCode{DEPRECATED_FIELD INVALID_OPERATION NON_PARSEABLE_DOCUMENT}enum ValidationErrorType{FAILURE INVALID WARNING}"""Represents a single validation error, with information relating to the error and its respective operation""" type ValidationResult{"""The validation result's error code""" code:ValidationErrorCode!"""Description of the validation error""" description:String!"""The operation related to this validation result""" operation:OperationDocument!"""The type of validation error thrown - warning, failure, or invalid.""" type:ValidationErrorType!}"""Always null""" scalar Void """Webhook notification channel""" type WebhookChannel implements Channel{id:ID!name:String!secretToken:String subscriptions:[ChannelSubscription!]!url:String!}"""PagerDuty notification channel parameters""" input WebhookChannelInput{name:String secretToken:String url:String!}type ZendeskTicket{createdAt:Timestamp!description:String!graph:Service id:Int!organization:Account priority:TicketPriority!status:TicketStatus subject:String!user:User}"""Zendesk ticket input""" input ZendeskTicketInput{description:String!graphId:String organizationId:String priority:TicketPriority!subject:String!} diff --git a/pkgs/development/tools/rover/update.sh b/pkgs/development/tools/rover/update.sh index 50a9945884b71..fbf6fba989c47 100755 --- a/pkgs/development/tools/rover/update.sh +++ b/pkgs/development/tools/rover/update.sh @@ -26,17 +26,6 @@ rover_tar_url="https://github.com/apollographql/rover/archive/refs/tags/${rover_ # Convert hash to SRI representation rover_sri_hash=$(nix hash to-sri --type sha256 "$rover_hash") -# Identify librusty version and hash -librusty_version=$( - sed --quiet '/^name = "v8"$/{n;p}' "${repo}/Cargo.lock" \ - | grep --only-matching --perl-regexp '^version = "\K[^"]+' -) -librusty_arch=x86_64-unknown-linux-gnu -librusty_url="https://github.com/denoland/rusty_v8/releases/download/v${librusty_version}/librusty_v8_release_${librusty_arch}.a" -echo "Fetching librusty" -librusty_hash=$(nix-prefetch-url "$librusty_url" --type sha256) -librusty_sri_hash=$(nix hash to-sri --type sha256 "$librusty_hash") - # Update rover version. sed --in-place \ "s|version = \"[0-9.]*\"|version = \"$rover_version\"|" \ @@ -61,16 +50,6 @@ sed --in-place \ "s|cargoSha256 = \".*\"|cargoSha256 = \"$cargoSha256\"|" \ "$dirname/default.nix" -# Update librusty version -sed --in-place \ - "s|version = \"[0-9.]*\"|version = \"$librusty_version\"|" \ - "$dirname/librusty_v8.nix" - -# Update librusty hash -sed --in-place \ - "s|x86_64-linux = \"[^\"]*\"|x86_64-linux = \"$librusty_sri_hash\"|" \ - "$dirname/librusty_v8.nix" - # Update apollo api schema info response="$(mktemp)" schemaUrl=https://graphql.api.apollographql.com/api/schema diff --git a/pkgs/development/tools/rust/cargo-depgraph/default.nix b/pkgs/development/tools/rust/cargo-depgraph/default.nix index ab45d053477c8..3ec0c110a69d8 100644 --- a/pkgs/development/tools/rust/cargo-depgraph/default.nix +++ b/pkgs/development/tools/rust/cargo-depgraph/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-depgraph"; - version = "1.2.2"; + version = "1.2.4"; src = fetchFromSourcehut { owner = "~jplatte"; repo = pname; rev = "v${version}"; - sha256 = "sha256-Zt60F43hhFSj9zfAkEbgRqODvBRmzn04dHMijbz+uX0="; + sha256 = "sha256-EbAV2VM73K0KiEKcy9kkK1TQHFQ1jRmKG3Tn9GAsWIk="; }; - cargoSha256 = "sha256-mMXIiAfYBqOS3z4735T9dB9TEo7Ph2JCNq0QfyetxJg="; + cargoSha256 = "sha256-AAZlAYhl62c8nFvFtwwGniGbQqXu2vHTO4++O1VJ4LM="; meta = with lib; { description = "Create dependency graphs for cargo projects using `cargo metadata` and graphviz"; diff --git a/pkgs/development/tools/rust/cargo-diet/default.nix b/pkgs/development/tools/rust/cargo-diet/default.nix index 471b7454684a8..a809e02fe313a 100644 --- a/pkgs/development/tools/rust/cargo-diet/default.nix +++ b/pkgs/development/tools/rust/cargo-diet/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-diet"; - version = "1.2.3"; + version = "1.2.4"; src = fetchFromGitHub { owner = "the-lean-crate"; repo = pname; rev = "v${version}"; - sha256 = "sha256-R40cggAdNbd8/+fG87PYHIbmgIsrhEwQ9ocB4p22bL4="; + sha256 = "sha256-olF+F2y7F3ZpyluyslRDlfRKkWmE+zJ01bXyzy9x5EQ="; }; - cargoSha256 = "sha256-lgCP5P7X9B4sTND+p8repZB63c64o1QuozJoz6KQXiE="; + cargoSha256 = "sha256-ayi7Px1A8XzswlGnm31YWF7+8+lBChBaVJFwozSAimw="; meta = with lib; { description = "Help computing optimal include directives for your Cargo.toml manifest"; diff --git a/pkgs/development/tools/rust/cargo-nextest/default.nix b/pkgs/development/tools/rust/cargo-nextest/default.nix index ed0c8c870096d..2c00f12f11123 100644 --- a/pkgs/development/tools/rust/cargo-nextest/default.nix +++ b/pkgs/development/tools/rust/cargo-nextest/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-nextest"; - version = "0.9.12"; + version = "0.9.14"; src = fetchFromGitHub { owner = "nextest-rs"; repo = "nextest"; rev = "cargo-nextest-${version}"; - sha256 = "sha256-E3/AgzLvjlMfbmvAOYx4V1/1wSLKlFo61tGv79ow7XY="; + sha256 = "sha256-g2kgMMmztURik/aSgP76vG+yI3vSqX9k836ACtLviFk="; }; - cargoSha256 = "sha256-zrYmZG3VAneanHaNoG3txv7LbKCYvqIf60g1W7CmPG8="; + cargoSha256 = "sha256-1TJ96ilHX+LGkrMLXIK4rAebVxNQpRTYo9RnPE6BmmU="; cargoTestFlags = [ # TODO: investigate some more why these tests fail in nix "--" diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix index a75488a229dff..66a73b1c1e98f 100644 --- a/pkgs/development/tools/selenium/chromedriver/default.nix +++ b/pkgs/development/tools/selenium/chromedriver/default.nix @@ -2,7 +2,7 @@ , cairo, fontconfig, freetype, gdk-pixbuf, glib , glibc, gtk2, libX11, nspr, nss, pango , libxcb, libXi, libXrender, libXext, dbus -, testVersion, chromedriver +, testers, chromedriver }: let @@ -56,7 +56,7 @@ in stdenv.mkDerivation rec { wrapProgram "$out/bin/chromedriver" --prefix LD_LIBRARY_PATH : "${libs}" ''; - passthru.tests.version = testVersion { package = chromedriver; }; + passthru.tests.version = testers.testVersion { package = chromedriver; }; meta = with lib; { homepage = "https://chromedriver.chromium.org/"; diff --git a/pkgs/development/tools/sq/default.nix b/pkgs/development/tools/sq/default.nix index 4141fd59733ca..0be6e6c7bb6e0 100644 --- a/pkgs/development/tools/sq/default.nix +++ b/pkgs/development/tools/sq/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testVersion, sq }: +{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, sq }: buildGoModule rec { pname = "sq"; version = "0.15.4"; @@ -29,7 +29,7 @@ buildGoModule rec { ''; passthru.tests = { - version = testVersion { package = sq; }; + version = testers.testVersion { package = sq; }; }; meta = with lib; { diff --git a/pkgs/development/tools/winpdb/default.nix b/pkgs/development/tools/winpdb/default.nix deleted file mode 100644 index 8f8d03db950b1..0000000000000 --- a/pkgs/development/tools/winpdb/default.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ lib, fetchurl, python2Packages, makeDesktopItem }: - -python2Packages.buildPythonApplication rec { - pname = "winpdb"; - version = "1.4.8"; - namePrefix = ""; - - src = fetchurl { - url = "https://winpdb.googlecode.com/files/${pname}-${version}.tar.gz"; - sha256 = "0vkpd24r40j928vc04c721innv0168sbllg97v4zw10adm24d8fs"; - }; - - propagatedBuildInputs = [ python2Packages.wxPython ]; - - desktopItem = makeDesktopItem { - name = "winpdb"; - exec = "winpdb"; - icon = "winpdb"; - comment = "Platform independend Python debugger"; - desktopName = "Winpdb"; - genericName = "Python Debugger"; - categories = [ "Development" "Debugger" ]; - }; - - # Don't call gnome-terminal with "--disable-factory" flag, which is - # unsupported since GNOME >= 3.10. Apparently, debian also does this fix: - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=757718 - postPatch = '' - sed -i "s/--disable-factory//" rpdb2.py - ''; - - postInstall = '' - mkdir -p "$out"/share/applications - cp "$desktopItem"/share/applications/* "$out"/share/applications/ - - mkdir -p "$out"/share/icons - cp artwork/winpdb-icon.svg "$out"/share/icons/winpdb.svg - ''; - - # no tests - doCheck = false; - - meta = with lib; { - description = "Platform independent Python debugger"; - longDescription = '' - Winpdb is a platform independent GPL Python debugger with support for - multiple threads, namespace modification, embedded debugging, encrypted - communication and is up to 20 times faster than pdb. - ''; - homepage = "http://winpdb.org/"; - license = licenses.gpl2Plus; - platforms = platforms.all; - maintainers = [ maintainers.bjornfor ]; - }; -} diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix index 0e39a714ccda6..d934eadcdf8a1 100644 --- a/pkgs/development/tools/yarn/default.nix +++ b/pkgs/development/tools/yarn/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, nodejs, fetchzip, testVersion, yarn }: +{ lib, stdenv, nodejs, fetchzip, testers, yarn }: stdenv.mkDerivation rec { pname = "yarn"; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { ln -s $out/libexec/yarn/bin/yarn.js $out/bin/yarnpkg ''; - passthru.tests = testVersion { package = yarn; }; + passthru.tests = testers.testVersion { package = yarn; }; meta = with lib; { homepage = "https://yarnpkg.com/"; diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix index 1bcb1f4fc60b2..d61b7433bdf24 100644 --- a/pkgs/development/web/deno/default.nix +++ b/pkgs/development/web/deno/default.nix @@ -2,7 +2,6 @@ , lib , callPackage , fetchFromGitHub -, rust , rustPlatform , installShellFiles , libiconv @@ -17,15 +16,21 @@ rustPlatform.buildRustPackage rec { pname = "deno"; - version = "1.20.5"; + version = "1.21.0"; src = fetchFromGitHub { owner = "denoland"; repo = pname; rev = "v${version}"; - sha256 = "sha256-j8aYps70yPH7excYdU99zWbtVsr/ok5cRX2Z6DAW0qU="; + sha256 = "sha256-Sv9Keb+6vc6Lr+H/gAi9/4bmBO18gv9bqAjBIpOrtnk="; }; - cargoSha256 = "sha256-NIUb9ifA06cPwMU3tY0lWJLcK8a8hjkdu/nlADPxWNg="; + cargoSha256 = "sha256-EykIg8rU2VBag+3834SwMYkz9ZR6brOo/0NXXvrGqsU="; + + postPatch = '' + # upstream uses lld on aarch64-darwin for faster builds + # within nix lld looks for CoreFoundation rather than CoreFoundation.tbd and fails + substituteInPlace .cargo/config --replace '"-C", "link-arg=-fuse-ld=lld"' "" + ''; # Install completions post-install nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/development/web/deno/librusty_v8.nix b/pkgs/development/web/deno/librusty_v8.nix index d60fdad1b081f..e1a9b0de75367 100644 --- a/pkgs/development/web/deno/librusty_v8.nix +++ b/pkgs/development/web/deno/librusty_v8.nix @@ -11,11 +11,11 @@ let }; in fetch_librusty_v8 { - version = "0.41.0"; + version = "0.42.0"; shas = { - x86_64-linux = "sha256-f5HWLe1wF6nA+e5SwWd+DwXtYnOrcXI8kLIwdi8scmg="; - aarch64-linux = "sha256-tLCR1CBeM+1vRThsJNtEtKH6iJluxdCfnbCNkQQjNfM="; - x86_64-darwin = "sha256-KVBskUTr1SXL/hm9gnHvGGd3TO3QVESiZy0EYXDwPo0="; - aarch64-darwin = "sha256-KjBO6cgibo98P8n1kiMIT1cJ7Aa6BnQeMku71j4sgZY="; + x86_64-linux = "sha256-p8wC2r9+PKEabaHj0NF059TBSKOpE+rtZkqk1SXINzQ="; + aarch64-linux = "sha256-1mQQ5XmR+WcYW6BGfnUdsG4yzhwIal80Y5fWw4XAJ3g="; + x86_64-darwin = "sha256-a5Mu33gXn2X02WRdtO1hb9JRctmFTiCaLNhScz2D0J8="; + aarch64-darwin = "sha256-THEFn8nQDktXJlY1zpi2760KAS2eKEQ9O3Y+yqI2OYw="; }; } diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix index 317de55ada566..7f8178838677c 100644 --- a/pkgs/development/web/nodejs/nodejs.nix +++ b/pkgs/development/web/nodejs/nodejs.nix @@ -136,7 +136,7 @@ let ${optionalString (enableNpm && stdenv.hostPlatform == stdenv.buildPlatform) '' mkdir -p $out/share/bash-completion/completions/ - $out/bin/npm completion > $out/share/bash-completion/completions/npm + $out/bin/npm completion > $out/share/bash-completion/completions/npm || : for dir in "$out/lib/node_modules/npm/man/"*; do mkdir -p $out/share/man/$(basename "$dir") for page in "$dir"/*; do diff --git a/pkgs/development/web/nodejs/v18.nix b/pkgs/development/web/nodejs/v18.nix new file mode 100644 index 0000000000000..562989d2fd313 --- /dev/null +++ b/pkgs/development/web/nodejs/v18.nix @@ -0,0 +1,15 @@ +{ callPackage, python3, enableNpm ? true }: + +let + buildNodejs = callPackage ./nodejs.nix { + python = python3; + }; +in +buildNodejs { + inherit enableNpm; + version = "18.0.0"; + sha256 = "sha256-NE0OZUC1JMaal5/1w+eM2nJU/XLANpmSa+sLhVi4znU="; + patches = [ + ./disable-darwin-v8-system-instrumentation.patch + ]; +} diff --git a/pkgs/games/bzflag/default.nix b/pkgs/games/bzflag/default.nix index 35a481fb2f42c..6715c1b362507 100644 --- a/pkgs/games/bzflag/default.nix +++ b/pkgs/games/bzflag/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "bzflag"; - version = "2.4.22"; + version = "2.4.24"; src = fetchurl { url = "https://download.bzflag.org/${pname}/source/${version}/${pname}-${version}.tar.bz2"; - sha256 = "sha256-nmRlMwK2V72LX5b+EVCp/4Ch1Tptfoo1E4xrGwIAak0="; + sha256 = "sha256-X4Exvrf8i6UeMjoG7NfY6rkVN8NCzoehE+XrbqmM48Q="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/games/heroic/default.nix b/pkgs/games/heroic/default.nix index c0416d0dd7e8a..565bb87f7e01d 100644 --- a/pkgs/games/heroic/default.nix +++ b/pkgs/games/heroic/default.nix @@ -2,11 +2,11 @@ let pname = "heroic"; - version = "2.2.1"; + version = "2.2.6"; name = "${pname}-${version}"; src = fetchurl { url = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/download/v${version}/Heroic-${version}.AppImage"; - sha256 = "sha256-zzxf3eM1fUWTVtzzABcwlmptNuCVQafvotnbOiCzu0c="; + sha256 = "sha256-kL30/G4DpDPwGN7PvbWest7TcgL4Rd1c2OM4nRCT3bg="; }; appimageContents = appimageTools.extractType2 { inherit name src; }; diff --git a/pkgs/games/lgames/barrage/default.nix b/pkgs/games/lgames/barrage/default.nix new file mode 100644 index 0000000000000..70f97b591001b --- /dev/null +++ b/pkgs/games/lgames/barrage/default.nix @@ -0,0 +1,31 @@ +{ lib +, stdenv +, fetchurl +, SDL +, SDL_mixer +}: + +stdenv.mkDerivation rec { + pname = "barrage"; + version = "1.0.5"; + + src = fetchurl { + url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz"; + hash = "sha256-p4iXq2qM9tU9QJO7irriBN36OiLFyrnnYiDkmH3naQQ="; + }; + + buildInputs = [ + SDL + SDL_mixer + ]; + + hardeningDisable = [ "format" ]; + + meta = with lib; { + homepage = "https://lgames.sourceforge.io/Barrage/"; + description = "A destructive action game"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ AndersonTorres ]; + inherit (SDL.meta) platforms; + }; +} diff --git a/pkgs/games/lgames/lbreakout2/default.nix b/pkgs/games/lgames/lbreakout2/default.nix index 818cd31fa59a0..4645baf062441 100644 --- a/pkgs/games/lgames/lbreakout2/default.nix +++ b/pkgs/games/lgames/lbreakout2/default.nix @@ -1,19 +1,34 @@ -{ lib, stdenv, fetchurl, SDL, SDL_mixer, zlib, libpng, libintl }: +{ lib +, stdenv +, fetchurl +, SDL +, SDL_mixer +, libintl +, libpng +, zlib +}: stdenv.mkDerivation rec { pname = "lbreakout2"; version = "2.6.5"; - buildInputs = [ SDL SDL_mixer zlib libpng libintl ]; src = fetchurl { url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz"; sha256 = "0vwdlyvh7c4y80q5vp7fyfpzbqk9lq3w8pvavi139njkalbxc14i"; }; + buildInputs = [ + SDL + SDL_mixer + libintl + libpng + zlib + ]; + meta = with lib; { - description = "Breakout clone from the LGames series"; homepage = "http://lgames.sourceforge.net/LBreakout2/"; - license = licenses.gpl2; + description = "Breakout clone from the LGames series"; + license = licenses.gpl2Plus; maintainers = [ maintainers.ciil ]; platforms = platforms.unix; hydraPlatforms = lib.platforms.linux; # sdl-config times out on darwin diff --git a/pkgs/games/lgames/lbreakouthd/default.nix b/pkgs/games/lgames/lbreakouthd/default.nix new file mode 100644 index 0000000000000..4a6e2c31bbf6b --- /dev/null +++ b/pkgs/games/lgames/lbreakouthd/default.nix @@ -0,0 +1,35 @@ +{ lib +, stdenv +, fetchurl +, SDL2 +, SDL2_image +, SDL2_mixer +, SDL2_ttf +}: + +stdenv.mkDerivation rec { + pname = "lbreakouthd"; + version = "1.0.9"; + + src = fetchurl { + url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz"; + hash = "sha256-MHwK4jeDfZSS4jh///jW0/q4ntM4IuB0fQ8Bsaq0d0s="; + }; + + buildInputs = [ + SDL2 + SDL2_image + SDL2_mixer + SDL2_ttf + ]; + + hardeningDisable = [ "format" ]; + + meta = with lib; { + homepage = "https://lgames.sourceforge.io/LBreakoutHD/"; + description = "A widescreen Breakout clone"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ AndersonTorres ]; + inherit (SDL2.meta) platforms; + }; +} diff --git a/pkgs/games/lgames/lpairs2/default.nix b/pkgs/games/lgames/lpairs2/default.nix new file mode 100644 index 0000000000000..4011dd9a29486 --- /dev/null +++ b/pkgs/games/lgames/lpairs2/default.nix @@ -0,0 +1,33 @@ +{ lib +, stdenv +, fetchurl +, SDL2 +, SDL2_image +, SDL2_mixer +, SDL2_ttf +}: + +stdenv.mkDerivation rec { + pname = "lpairs2"; + version = "2.1"; + + src = fetchurl { + url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz"; + hash = "sha256-35KYDnPWOjNPu9wz9AWvSBAo1tdVDo7I2TNxtxE5RRg="; + }; + + buildInputs = [ + SDL2 + SDL2_image + SDL2_mixer + SDL2_ttf + ]; + + meta = with lib; { + homepage = "http://lgames.sourceforge.net/LPairs/"; + description = "Matching the pairs - a typical Memory Game"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/games/lgogdownloader/default.nix b/pkgs/games/lgogdownloader/default.nix index 0c40d537fcec9..ab029e055aa9c 100644 --- a/pkgs/games/lgogdownloader/default.nix +++ b/pkgs/games/lgogdownloader/default.nix @@ -11,7 +11,7 @@ , rhash , tinyxml-2 , help2man -, testVersion +, testers , lgogdownloader }: @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { ]; passthru.tests = { - version = testVersion { package = lgogdownloader; }; + version = testers.testVersion { package = lgogdownloader; }; }; meta = with lib; { diff --git a/pkgs/games/opensupaplex/default.nix b/pkgs/games/opensupaplex/default.nix index d3f8155f546c5..dc5d9aae690ce 100644 --- a/pkgs/games/opensupaplex/default.nix +++ b/pkgs/games/opensupaplex/default.nix @@ -4,7 +4,7 @@ , fetchurl , makeDesktopItem , copyDesktopItems -, testVersion +, testers , opensupaplex , SDL2 , SDL2_mixer @@ -62,7 +62,7 @@ stdenv.mkDerivation rec { runHook postInstall ''; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = opensupaplex; command = "opensupaplex --help"; version = "v${version}"; diff --git a/pkgs/games/polymc/default.nix b/pkgs/games/polymc/default.nix index 57d6a0c9faaef..4c5c8f6b7808b 100644 --- a/pkgs/games/polymc/default.nix +++ b/pkgs/games/polymc/default.nix @@ -18,18 +18,18 @@ mkDerivation rec { pname = "polymc"; - version = "1.1.1"; + version = "1.2.1"; src = fetchFromGitHub { owner = "PolyMC"; repo = "PolyMC"; rev = version; - sha256 = "sha256-virXfnjCzuR2cJoyzapIopT9B+Yi1neff2ZqfOvsmxY="; + sha256 = "sha256-pnMmmeIKAaX+z1YzzowotjaG/HKdiqcz2tJ5eGRR77I="; fetchSubmodules = true; }; nativeBuildInputs = [ cmake file makeWrapper ]; - buildInputs = [ qtbase jdk8 zlib ]; + buildInputs = [ qtbase jdk zlib ]; postPatch = '' # hardcode jdk paths diff --git a/pkgs/games/rili/default.nix b/pkgs/games/rili/default.nix index a0082d28d506b..3a87fc0523c7b 100644 --- a/pkgs/games/rili/default.nix +++ b/pkgs/games/rili/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, SDL_mixer, SDL, autoreconfHook }: +{ lib, stdenv, fetchurl, fetchpatch, SDL_mixer, SDL, autoreconfHook }: stdenv.mkDerivation rec { pname = "ri_li"; @@ -9,7 +9,17 @@ stdenv.mkDerivation rec { sha256 = "f71ccc20c37c601358d963e087ac0d524de8c68e96df09c3aac1ae65edd38dbd"; }; - patches = [ ./moderinze_cpp.patch ]; + patches = [ + ./moderinze_cpp.patch + + # Build fix for gcc-11 pending upstream inclusion: + # https://sourceforge.net/p/ri-li/bugs/2/ + (fetchpatch { + name = "gcc-11.patch"; + url = "https://sourceforge.net/p/ri-li/bugs/2/attachment/0001-Fix-build-on-gcc-11.patch"; + sha256 = "01il9lm3amwp3b435ka9q63p0jwlzajwnbshyazx6n9vcnrr17yw"; + }) + ]; CPPFLAGS = "-I${SDL.dev}/include -I${SDL.dev}/include/SDL -I${SDL_mixer}/include"; diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix index a44f965b0e557..2df306d686f23 100644 --- a/pkgs/games/warzone2100/default.nix +++ b/pkgs/games/warzone2100/default.nix @@ -26,7 +26,7 @@ , vulkan-loader , shaderc -, testVersion +, testers , warzone2100 , withVideos ? false @@ -104,7 +104,7 @@ stdenv.mkDerivation rec { ''; passthru.tests = { - version = testVersion { + version = testers.testVersion { package = warzone2100; # The command always exits with code 1 command = "(warzone2100 --version || [ $? -eq 1 ])"; diff --git a/pkgs/games/xconq/default.nix b/pkgs/games/xconq/default.nix index 10a959a676b49..2d28090c595ce 100644 --- a/pkgs/games/xconq/default.nix +++ b/pkgs/games/xconq/default.nix @@ -19,6 +19,8 @@ stdenv.mkDerivation rec { "--with-tkconfig=${tk}/lib" ]; + CXXFLAGS = " --std=c++11 "; + hardeningDisable = [ "format" ]; patchPhase = '' diff --git a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix index d3b00e6a6a683..0c70d9bc258f2 100644 --- a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix +++ b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix @@ -1,4 +1,4 @@ -# Current as of 10.9 +# Current as of 10.12 # Epic weird knot-tying happening here. # TODO: clean up the process for generating this and include it diff --git a/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix index 4ade35845ecbf..72ae31c4b2dc6 100644 --- a/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix +++ b/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation { pname = "raspberrypi-wireless-firmware"; - version = "2021-11-02"; + version = "2021-12-06"; srcs = [ (fetchFromGitHub { @@ -10,14 +10,14 @@ stdenv.mkDerivation { owner = "RPi-Distro"; repo = "bluez-firmware"; rev = "e7fd166981ab4bb9a36c2d1500205a078a35714d"; - sha256 = "1dkg8mzn7n4afi50ibrda2s33nw2qj52jjjdv9w560q601gms47b"; + hash = "sha256-6xBdXwAGA1N42k1KKYrEgtsxtFAtrwhKdIrYY39Fb7Y="; }) (fetchFromGitHub { name = "firmware-nonfree"; owner = "RPi-Distro"; repo = "firmware-nonfree"; - rev = "54ffdd6e2ea6055d46656b78e148fe7def3ec9d8"; - sha256 = "4WTrs/tUyOugufRrrh0qsEmhPclQD64ypYysxsnOyS8="; + rev = "99d5c588e95ec9c9b86d7e88d3cf85b4f729d2bc"; + hash = "sha256-xg6fYQvg7t2ikyLI8/XfpiNaNTf7CNFQlAzpTldTz10="; }) ]; @@ -44,7 +44,7 @@ stdenv.mkDerivation { outputHashMode = "recursive"; outputHashAlgo = "sha256"; - outputHash = "l+7VOq7CV5QA8/FWjMBGDcxq8Qe7NFf6E2Y42htZEgE="; + outputHash = "sha256-Fw8EC1jzszWg9rNH01oaOIHnSYDuF6ov6ulmIAPuNz4="; meta = with lib; { description = "Firmware for builtin Wifi/Bluetooth devices in the Raspberry Pi 3+ and Zero W"; diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix index 7f0eef05dc4ee..9181a94dcb66a 100644 --- a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix +++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix @@ -1,17 +1,17 @@ -{ lib, stdenvNoCC, fetchurl, unzip }: +{ lib, stdenvNoCC, fetchFromGitHub }: stdenvNoCC.mkDerivation rec { # NOTE: this should be updated with linux_rpi pname = "raspberrypi-firmware"; - version = "1.20220118"; + version = "1.20220331"; - src = fetchurl { - url = "https://github.com/raspberrypi/firmware/archive/${version}.zip"; - sha256 = "sha256-98rbwKIuB7vb4MWbFCr7TYsvJB0HzPdH8Tw0+bktK/M="; + src = fetchFromGitHub { + owner = "raspberrypi"; + repo = "firmware"; + rev = version; + hash = "sha256-TxlpHPEJAtVJTtDghuJpx2mLjEPiKkcAr7S9Cd/cocE="; }; - nativeBuildInputs = [ unzip ]; - installPhase = '' mkdir -p $out/share/raspberrypi/ mv boot "$out/share/raspberrypi/" @@ -26,5 +26,6 @@ stdenvNoCC.mkDerivation rec { homepage = "https://github.com/raspberrypi/firmware"; license = licenses.unfreeRedistributableFirmware; # See https://github.com/raspberrypi/firmware/blob/master/boot/LICENCE.broadcom maintainers = with maintainers; [ dezgeg ]; + broken = stdenvNoCC.isDarwin; # Hash mismatch on source, mystery. }; } diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix index 99b966ac5cdea..8654bc432ceb3 100644 --- a/pkgs/os-specific/linux/kernel/linux-rpi.nix +++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix @@ -2,9 +2,8 @@ let # NOTE: raspberrypifw & raspberryPiWirelessFirmware should be updated with this - modDirVersion = "5.10.92"; - tag = "1.20220118"; - rev = "650082a559a570d6c9d2739ecc62843d6f951059"; + modDirVersion = "5.15.32"; + tag = "1.20220331"; in lib.overrideDerivation (buildLinux (args // { version = "${modDirVersion}-${tag}"; @@ -13,8 +12,8 @@ lib.overrideDerivation (buildLinux (args // { src = fetchFromGitHub { owner = "raspberrypi"; repo = "linux"; - inherit rev; - sha256 = "sha256-OSDx9dzqm8JnLUvdiv1aKqhRz80uWqfjXLd7m6ycXME="; + rev = tag; + hash = "sha256-dJtOXe4yvZz/iu0Ly5F9/E/2GbpTJF/9ZMU3rC1nKMw="; }; defconfig = { diff --git a/pkgs/os-specific/linux/kernel/linux-xanmod.nix b/pkgs/os-specific/linux/kernel/linux-xanmod.nix deleted file mode 100644 index b170ec044b05e..0000000000000 --- a/pkgs/os-specific/linux/kernel/linux-xanmod.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ lib, stdenv, buildLinux, fetchFromGitHub, ... } @ args: - -let - version = "5.15.27"; - release = "1"; - suffix = "xanmod${release}-tt"; -in -buildLinux (args // rec { - inherit version; - modDirVersion = "${version}-${suffix}"; - - src = fetchFromGitHub { - owner = "xanmod"; - repo = "linux"; - rev = modDirVersion; - sha256 = "sha256-ycUvTXDKnffxs8FKZJurX2bDr85gMQlSIFD0nST2Q98="; - }; - - structuredExtraConfig = with lib.kernel; { - # removed options - CFS_BANDWIDTH = lib.mkForce (option no); - RT_GROUP_SCHED = lib.mkForce (option no); - SCHED_AUTOGROUP = lib.mkForce (option no); - - # AMD P-state driver - X86_AMD_PSTATE = yes; - - # Linux RNG framework - LRNG = yes; - - # Paragon's NTFS3 driver - NTFS3_FS = module; - NTFS3_LZX_XPRESS = yes; - NTFS3_FS_POSIX_ACL = yes; - - # Preemptive Full Tickless Kernel at 500Hz - SCHED_CORE = lib.mkForce (option no); - PREEMPT_VOLUNTARY = lib.mkForce no; - PREEMPT = lib.mkForce yes; - NO_HZ_FULL = yes; - HZ_500 = yes; - - # Google's BBRv2 TCP congestion Control - TCP_CONG_BBR2 = yes; - DEFAULT_BBR2 = yes; - - # FQ-PIE Packet Scheduling - NET_SCH_DEFAULT = yes; - DEFAULT_FQ_PIE = yes; - - # Graysky's additional CPU optimizations - CC_OPTIMIZE_FOR_PERFORMANCE_O3 = yes; - - # Futex WAIT_MULTIPLE implementation for Wine / Proton Fsync. - FUTEX = yes; - FUTEX_PI = yes; - - # WineSync driver for fast kernel-backed Wine - WINESYNC = module; - }; - - extraMeta = { - branch = "5.15-tt"; - maintainers = with lib.maintainers; [ fortuneteller2k lovesegfault ]; - description = "Built with custom settings and new features built to provide a stable, responsive and smooth desktop experience"; - broken = stdenv.isAarch64; - }; -} // (args.argsOverride or { })) diff --git a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix new file mode 100644 index 0000000000000..8464b9ad25f82 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix @@ -0,0 +1,81 @@ +{ lib, stdenv, fetchFromGitHub, buildLinux, ... } @ args: + +let + stableVariant = { + version = "5.15.34"; + suffix = "xanmod1"; + hash = "sha256-sfrcaFhrdvupygXvajGyl6ruuBu+vFsAKjLyINyV3pw="; + }; + + edgeVariant = { + version = "5.17.2"; + suffix = "xanmod1"; + hash = "sha256-DK6yFZewqmr/BXFW5tqKXtWb1OLfqokZRQLOQxvBg6Q="; + }; + + xanmodKernelFor = { version, suffix, hash }: buildLinux (args // rec { + inherit version; + modDirVersion = "${version}-${suffix}"; + + src = fetchFromGitHub { + owner = "xanmod"; + repo = "linux"; + rev = modDirVersion; + inherit hash; + }; + + structuredExtraConfig = with lib.kernel; { + # removed options + CFS_BANDWIDTH = lib.mkForce (option no); + RT_GROUP_SCHED = lib.mkForce (option no); + SCHED_AUTOGROUP = lib.mkForce (option no); + + # AMD P-state driver + X86_AMD_PSTATE = yes; + + # Linux RNG framework + LRNG = yes; + + # Paragon's NTFS3 driver + NTFS3_FS = module; + NTFS3_LZX_XPRESS = yes; + NTFS3_FS_POSIX_ACL = yes; + + # Preemptive Full Tickless Kernel at 500Hz + SCHED_CORE = lib.mkForce (option no); + PREEMPT_VOLUNTARY = lib.mkForce no; + PREEMPT = lib.mkForce yes; + NO_HZ_FULL = yes; + HZ_500 = yes; + + # Google's BBRv2 TCP congestion Control + TCP_CONG_BBR2 = yes; + DEFAULT_BBR2 = yes; + + # FQ-PIE Packet Scheduling + NET_SCH_DEFAULT = yes; + DEFAULT_FQ_PIE = yes; + + # Graysky's additional CPU optimizations + CC_OPTIMIZE_FOR_PERFORMANCE_O3 = yes; + + # Futex WAIT_MULTIPLE implementation for Wine / Proton Fsync. + FUTEX = yes; + FUTEX_PI = yes; + + # WineSync driver for fast kernel-backed Wine + WINESYNC = module; + }; + + extraMeta = { + branch = lib.versions.majorMinor version; + maintainers = with lib.maintainers; [ fortuneteller2k lovesegfault ]; + description = "Built with custom settings and new features built to provide a stable, responsive and smooth desktop experience"; + broken = stdenv.isAarch64; + }; + } // (args.argsOverride or { })); +in +{ + stable = xanmodKernelFor stableVariant; + edge = xanmodKernelFor edgeVariant; +} diff --git a/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix b/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix index 2cefc9b0216d8..a29fe923f60d0 100644 --- a/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix +++ b/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix @@ -8,7 +8,13 @@ , iw , makeWrapper , qrencode -, hostapd }: +, hostapd +, getopt +, dnsmasq +, iproute2 +, flock +, iptables +, gawk }: stdenv.mkDerivation rec { pname = "linux-wifi-hotspot"; @@ -41,9 +47,6 @@ stdenv.mkDerivation rec { --replace "etc" "$out/etc" substituteInPlace ./src/scripts/wihotspot \ --replace "/usr" "$out" - substituteInPlace ./src/scripts/create_ap.service \ - --replace "/usr/bin/create_ap" "$out/bin/create_cap" \ - --replace "/etc/create_ap.conf" "$out/etc/create_cap.conf" ''; makeFlags = [ @@ -52,7 +55,9 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/create_ap \ - --prefix PATH : ${lib.makeBinPath [ hostapd ]} + --prefix PATH : ${lib.makeBinPath [ + hostapd getopt iw which dnsmasq iproute2 flock iptables gawk + ]} wrapProgram $out/bin/wihotspot-gui \ --prefix PATH : ${lib.makeBinPath [ iw ]} \ diff --git a/pkgs/os-specific/linux/lvm2/common.nix b/pkgs/os-specific/linux/lvm2/common.nix index 641945a5685a5..4cb86bf3d8b93 100644 --- a/pkgs/os-specific/linux/lvm2/common.nix +++ b/pkgs/os-specific/linux/lvm2/common.nix @@ -4,18 +4,19 @@ , fetchpatch , fetchurl , pkg-config -, util-linux , coreutils , libuuid , libaio , substituteAll , enableCmdlib ? false , enableDmeventd ? false -, udevSupport ? !stdenv.hostPlatform.isStatic, udev ? null +, udevSupport ? !stdenv.hostPlatform.isStatic, udev , onlyLib ? stdenv.hostPlatform.isStatic -, enableVDO ? false, vdo ? null -, enableMdadm ? false, mdadm ? null -, enableMultipath ? false, multipath-tools ? null + # Otherwise we have a infinity recursion during static compilation +, enableUtilLinux ? !stdenv.hostPlatform.isStatic, util-linux +, enableVDO ? false, vdo +, enableMdadm ? false, mdadm +, enableMultipath ? false, multipath-tools , nixosTests }: @@ -95,14 +96,15 @@ stdenv.mkDerivation rec { sed -i 's|^#define LVM_CONFIGURE_LINE.*$|#define LVM_CONFIGURE_LINE "<removed>"|g' ./include/configure.h ''; - patches = [ + patches = lib.optionals (lib.versionAtLeast version "2.03.15") [ # fixes paths to and checks for tools + # TODO: needs backport to LVM 2.02 used by static/musl (substituteAll (let optionalTool = cond: pkg: if cond then pkg else "/run/current-system/sw"; in { src = ./fix-blkdeactivate.patch; inherit coreutils; - util_linux = util-linux; + util_linux = optionalTool enableUtilLinux util-linux; mdadm = optionalTool enableMdadm mdadm; multipath_tools = optionalTool enableMultipath multipath-tools; vdo = optionalTool enableVDO vdo; diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix index f19c7ea7a44ba..fb0d19115da38 100644 --- a/pkgs/os-specific/linux/musl/default.nix +++ b/pkgs/os-specific/linux/musl/default.nix @@ -40,11 +40,11 @@ let in stdenv.mkDerivation rec { pname = "musl"; - version = "1.2.2"; + version = "1.2.3"; src = fetchurl { url = "https://musl.libc.org/releases/${pname}-${version}.tar.gz"; - sha256 = "1p8r6bac64y98ln0wzmnixysckq3crca69ys7p16sy9d04i975lv"; + sha256 = "sha256-fVsLYGJSHkYn4JnkydyCSNMqMChelZt+7Kp4DPjP1KQ="; }; enableParallelBuilding = true; diff --git a/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix b/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix index c68d40583968e..c2ce195faf1c7 100644 --- a/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix +++ b/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix @@ -3,18 +3,13 @@ }: stdenvNoCC.mkDerivation rec { pname = "raspberrypi-eeprom"; - version = "2021.12.02"; - # From 3fdf703f3f7bbe57eacceada3b558031229a34b0 Mon Sep 17 00:00:00 2001 - # From: Peter Harper <peter.harper@raspberrypi.com> - # Date: Mon, 13 Dec 2021 11:56:11 +0000 - # Subject: [PATCH] 2021-12-02: Promote the 2021-12-02 beta release to LATEST/STABLE - commit = "3fdf703f3f7bbe57eacceada3b558031229a34b0"; + version = "unstable-2022-03-10"; src = fetchFromGitHub { owner = "raspberrypi"; repo = "rpi-eeprom"; - rev = commit; - sha256 = "sha256-JTL2ziOkT0tnOrOS08ttNtxj3qegsacP73xZBVur7xM="; + rev = "e8927007e3800db3a72100ee6cd38b0d9b687c16"; + hash = "sha256-/hn6l5gheh6E3zoANwU1SXYgdry2IjOT9Muw2jkrtCU="; }; buildInputs = [ python3 ]; diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix index 37e6f1fd24305..c59d53897fcb4 100644 --- a/pkgs/servers/amqp/rabbitmq-server/default.nix +++ b/pkgs/servers/amqp/rabbitmq-server/default.nix @@ -3,7 +3,7 @@ , fetchurl , erlang , elixir -, python2 +, python3 , libxml2 , libxslt , xmlto @@ -35,8 +35,8 @@ stdenv.mkDerivation rec { sha256 = "sha256-c6GpB6CSCHiU9hTC9FkxyTc1UpNWxx5iP3y2dbTUfS0="; }; - nativeBuildInputs = [ unzip xmlto docbook_xml_dtd_45 docbook_xsl zip rsync ]; - buildInputs = [ erlang elixir python2 libxml2 libxslt glibcLocales ] + nativeBuildInputs = [ unzip xmlto docbook_xml_dtd_45 docbook_xsl zip rsync python3 ]; + buildInputs = [ erlang elixir libxml2 libxslt glibcLocales ] ++ lib.optionals stdenv.isDarwin [ AppKit Carbon Cocoa ]; outputs = [ "out" "man" "doc" ]; diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix index fa711d1dff4f0..9d0737a8f32cc 100644 --- a/pkgs/servers/http/nginx/generic.nix +++ b/pkgs/servers/http/nginx/generic.nix @@ -18,6 +18,7 @@ , sha256 ? null # when not specifying src , configureFlags ? [] , buildInputs ? [] +, extraPatches ? [] , fixPatch ? p: p , preConfigure ? "" , postInstall ? null @@ -134,7 +135,8 @@ stdenv.mkDerivation { url = "https://raw.githubusercontent.com/openwrt/packages/c057dfb09c7027287c7862afab965a4cd95293a3/net/nginx/patches/103-sys_nerr.patch"; sha256 = "0s497x6mkz947aw29wdy073k8dyjq8j99lax1a1mzpikzr4rxlmd"; }) - ] ++ mapModules "patches"); + ] ++ mapModules "patches") + ++ extraPatches; hardeningEnable = optional (!stdenv.isDarwin) "pie"; diff --git a/pkgs/servers/http/nginx/stable.nix b/pkgs/servers/http/nginx/stable.nix index 5db7c65daa404..c219b01fbb31c 100644 --- a/pkgs/servers/http/nginx/stable.nix +++ b/pkgs/servers/http/nginx/stable.nix @@ -1,6 +1,13 @@ -{ callPackage, ... } @ args: +{ callPackage, fetchpatch, ... } @ args: callPackage ./generic.nix args { version = "1.20.2"; sha256 = "0hjsyjzd35qyw49w210f67g678kvzinw4kg1acb0l6c2fxspd24m"; + extraPatches = [ + (fetchpatch { + name = "CVE-2021-3618.patch"; + url = "https://github.com/nginx/nginx/commit/173f16f736c10eae46cd15dd861b04b82d91a37a.patch"; + sha256 = "0cnxmbkp6ip61w7y1ihhnvziiwzz3p3wi2vpi5c7yaj5m964k5db"; + }) + ]; } diff --git a/pkgs/servers/icingaweb2/default.nix b/pkgs/servers/icingaweb2/default.nix index 75282ad15c4f0..651c739886822 100644 --- a/pkgs/servers/icingaweb2/default.nix +++ b/pkgs/servers/icingaweb2/default.nix @@ -2,13 +2,13 @@ stdenvNoCC.mkDerivation rec { pname = "icingaweb2"; - version = "2.10.0"; + version = "2.10.1"; src = fetchFromGitHub { owner = "Icinga"; repo = "icingaweb2"; rev = "v${version}"; - sha256 = "sha256:0fhhq6mzpwj3dh6w583n4sngshf15dm8zgbli5cacy7jkzmsz0wn"; + sha256 = "sha256-X4RaAJjhUnSALJyFYiwagN3cHyW+GyB5MPkW7l+Zv10="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix index e6ec006333865..2f3a4d807d2fa 100644 --- a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix +++ b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix @@ -1,13 +1,13 @@ { lib, stdenv, fetchFromGitHub, autoconf, automake, sqlite, pkg-config, dovecot, libtool, xapian, icu64 }: stdenv.mkDerivation rec { pname = "dovecot-fts-xapian"; - version = "1.5.4b"; + version = "1.5.5"; src = fetchFromGitHub { owner = "grosjo"; repo = "fts-xapian"; rev = version; - sha256 = "sha256-RzwJjcUgk1XXQZpNdz86Pr9HsUaQCOSt5oSejnGVmgA="; + sha256 = "sha256-KAZno4N/4dFH3QHFTs0wkY4PtGF+j4ZEjZzn9ljCjrM="; }; buildInputs = [ dovecot xapian icu64 sqlite ]; diff --git a/pkgs/servers/monitoring/alerta/client.nix b/pkgs/servers/monitoring/alerta/client.nix index 31f31d0740579..cd969d9dbba50 100644 --- a/pkgs/servers/monitoring/alerta/client.nix +++ b/pkgs/servers/monitoring/alerta/client.nix @@ -4,11 +4,11 @@ python3.pkgs.buildPythonApplication rec { pname = "alerta"; - version = "8.4.0"; + version = "8.5.1"; src = python3.pkgs.fetchPypi { inherit pname version; - sha256 = "260ff3118e73396104129928217b0f317ac5afdff8221874d8986df22ecf5f34"; + sha256 = "sha256-O13Ic2iHjNF/llp6vdaAiiWExcTBPsz46GAWY3oGDY8="; }; propagatedBuildInputs = with python3.pkgs; [ diff --git a/pkgs/servers/monitoring/alerta/default.nix b/pkgs/servers/monitoring/alerta/default.nix index e69a594a728bc..c3758c26b253b 100644 --- a/pkgs/servers/monitoring/alerta/default.nix +++ b/pkgs/servers/monitoring/alerta/default.nix @@ -4,11 +4,11 @@ python3.pkgs.buildPythonApplication rec { pname = "alerta-server"; - version = "8.3.3"; + version = "8.7.0"; src = python3.pkgs.fetchPypi { inherit pname version; - sha256 = "a2713a31c6e326c774a3ee0328f424f944b951935ff1b893a4a66598d61c5a97"; + sha256 = "sha256-EM3owmj+6gFjU0ARaQP3FLYXliGaGCRSaLgkiPwhGdU="; }; propagatedBuildInputs = with python3.pkgs; [ @@ -21,6 +21,7 @@ python3.pkgs.buildPythonApplication rec { psycopg2 pyjwt pymongo + pyparsing python-dateutil pytz pyyaml @@ -29,13 +30,17 @@ python3.pkgs.buildPythonApplication rec { sentry-sdk ]; - doCheck = false; # We can't run the tests from Nix, because they rely on the presence of a working MongoDB server + # We can't run the tests from Nix, because they rely on the presence of a working MongoDB server + doCheck = false; - disabled = python3.pythonOlder "3.6"; + pythonImportsCheck = [ + "alerta" + ]; meta = with lib; { homepage = "https://alerta.io"; description = "Alerta Monitoring System server"; license = licenses.asl20; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/servers/monitoring/grafana-agent/default.nix b/pkgs/servers/monitoring/grafana-agent/default.nix index 4ef0c34e393f8..ab342acb258df 100644 --- a/pkgs/servers/monitoring/grafana-agent/default.nix +++ b/pkgs/servers/monitoring/grafana-agent/default.nix @@ -2,20 +2,20 @@ buildGoModule rec { pname = "grafana-agent"; - version = "0.21.2"; + version = "0.24.1"; src = fetchFromGitHub { rev = "v${version}"; owner = "grafana"; repo = "agent"; - sha256 = "sha256-s++21feD3L2HuVYFjWhNIOGTjjX+lXwURc4PqbwFnhI="; + sha256 = "sha256-WxULVtqKxYXMWNY4l0wvTkqcDkPrlHcS70NgQhe8nzU="; }; - vendorSha256 = "sha256-kxLtbElzfimC/ZefUyTlfQiUZo4y0f1riajRm5shVdU="; + vendorSha256 = "sha256-hdo8uiVJAMMPo1N8kLDFPSbyTr5WxNKtq8E7pj6Plak="; - patches = [ - # https://github.com/grafana/agent/issues/731 - ./skip_test_requiring_network.patch + tags = [ + "nonetwork" + "nodocker" ]; # uses go-systemd, which uses libsystemd headers diff --git a/pkgs/servers/monitoring/grafana-agent/skip_test_requiring_network.patch b/pkgs/servers/monitoring/grafana-agent/skip_test_requiring_network.patch deleted file mode 100644 index fcba11dd2fb41..0000000000000 --- a/pkgs/servers/monitoring/grafana-agent/skip_test_requiring_network.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/pkg/operator/selector_eventhandler_test.go b/pkg/operator/selector_eventhandler_test.go -index 7b6ec602..e79bae0e 100644 ---- a/pkg/operator/selector_eventhandler_test.go -+++ b/pkg/operator/selector_eventhandler_test.go -@@ -39,6 +39,10 @@ var ( - // TestEnqueueRequestForSelector creates an example Kubenretes cluster and runs - // EnqueueRequestForSelector to validate it works. - func TestEnqueueRequestForSelector(t *testing.T) { -+ // Requires network access, which is not available during -+ // the nixpkgs sandboxed build -+ t.Skip() -+ - l := log.NewNopLogger() - - ctx, cancel := context.WithTimeout(context.Background(), 5*time.Minute) diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix index 22b886b2d24fb..4152e8bf98482 100644 --- a/pkgs/servers/monitoring/grafana/default.nix +++ b/pkgs/servers/monitoring/grafana/default.nix @@ -2,7 +2,7 @@ buildGoModule rec { pname = "grafana"; - version = "8.4.6"; + version = "8.4.7"; excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" ]; @@ -10,15 +10,15 @@ buildGoModule rec { rev = "v${version}"; owner = "grafana"; repo = "grafana"; - sha256 = "sha256-BXAvsHP6bDMrSk5jMCJmvrS1w/d+Mmym+OMCqO2YozY="; + sha256 = "sha256-8owcfWTiXhejFc5P0AM6POXBXuAABn4M/uX9X68Zn8k="; }; srcStatic = fetchurl { url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz"; - sha256 = "1af0277kb2msjqjv2kxajpxia4q4y2bslf009fx13h2c0grv8j7f"; + sha256 = "1wi28v1xhav8p2jqkf2gmk1accfcf1w0d6h312d4pns6pkhdabxv"; }; - vendorSha256 = "sha256-iOJEy7dCZGRTaOuL/09wcMlNDHjRi9SIr9bialdcKi4="; + vendorSha256 = "sha256-7ZeOncdiA/0Awg+olJvsLneLQH4zBQka4M81jsxwUdE="; nativeBuildInputs = [ wire ]; diff --git a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix index dc0aa891bdf71..c4fb36d5a3b93 100644 --- a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix +++ b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "check_ssl_cert"; - version = "2.24.0"; + version = "2.25.0"; src = fetchFromGitHub { owner = "matteocorti"; repo = "check_ssl_cert"; rev = "v${version}"; - sha256 = "sha256-TZT37W4A09t7okPFfcOJOQEAKAchH1FJ+LRftdHZQsM="; + sha256 = "sha256-WjiUsf8PMlTsldMaxnQbgnC1XLVW6wz50JyX/3MbZ+k="; }; nativeBuildInputs = [ diff --git a/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix b/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix index 4f96e516278fb..386e49594d248 100644 --- a/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "prometheus-nextcloud-exporter"; - version = "0.5.0"; + version = "0.5.1"; src = fetchFromGitHub { owner = "xperimental"; repo = "nextcloud-exporter"; rev = "v${version}"; - sha256 = "sha256-73IxGxnKgbG50nr57Wft+hh0KT7redrwXc4EZFn25qs="; + sha256 = "18xvxx0aplkj7xzi0zfsz7a5d45hh8blfqb105360pknvvi6apjv"; }; - vendorSha256 = "sha256-vIhHUFg8m6raKF82DcXRGKCgSM2FJ2VTM+MdMjP7KUY="; + vendorSha256 = "1wr1ckz0klk9sqpyk96h8bwr1dg6aiirr1l1f23kbib91pfpd08r"; passthru.tests = { inherit (nixosTests.prometheus-exporters) nextcloud; }; diff --git a/pkgs/servers/monitoring/prometheus/promscale/default.nix b/pkgs/servers/monitoring/prometheus/promscale/default.nix index dd297d4c25854..fbd1661c5f8b1 100644 --- a/pkgs/servers/monitoring/prometheus/promscale/default.nix +++ b/pkgs/servers/monitoring/prometheus/promscale/default.nix @@ -2,7 +2,7 @@ , buildGoModule , fetchFromGitHub , promscale -, testVersion +, testers }: buildGoModule rec { @@ -40,7 +40,7 @@ buildGoModule rec { runHook postCheck ''; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = promscale; command = "promscale -version"; }; diff --git a/pkgs/servers/monitoring/thanos/default.nix b/pkgs/servers/monitoring/thanos/default.nix index 8692b5b558ab9..7b1bd2960ab90 100644 --- a/pkgs/servers/monitoring/thanos/default.nix +++ b/pkgs/servers/monitoring/thanos/default.nix @@ -1,13 +1,13 @@ { lib, buildGoModule, fetchFromGitHub }: buildGoModule rec { pname = "thanos"; - version = "0.25.1"; + version = "0.25.2"; src = fetchFromGitHub { rev = "v${version}"; owner = "thanos-io"; repo = "thanos"; - sha256 = "sha256-yisJqr2JMpXSo9O3q7WpNe1r6w7E3XyeLpVlbdest3s="; + sha256 = "sha256-CAeI+5aC8kSQaKOk/5WCQiQMOX82hogAQGP2Em3DJAw="; }; vendorSha256 = "sha256-tHtfS4PnO9n3ckUdaG6dQAIE2D2PG6km4Tqofaab/eg="; diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix index 92e8d6ff5d21e..e71fb9db115ed 100644 --- a/pkgs/servers/nextcloud/default.nix +++ b/pkgs/servers/nextcloud/default.nix @@ -46,13 +46,13 @@ in { ''; nextcloud22 = generic { - version = "22.2.6"; - sha256 = "0f1d0f0cb000c51b11886be25a8adce478846c3233572fcf28b44c5d4036e235"; + version = "22.2.7"; + sha256 = "5ada41cb3e69665e8a13946f71978829c0a0163d0277a49e599c9e8ccf960eab"; }; nextcloud23 = generic { - version = "23.0.3"; - sha256 = "39401d400fab02a84a175ea6e995b8ed4110fbaea48c876230b4f09755a62986"; + version = "23.0.4"; + sha256 = "67191c2b8b41591ae42accfb32216313fde0e107201682cb39029f890712bc6a"; }; # tip: get she sha with: # curl 'https://download.nextcloud.com/server/releases/nextcloud-${version}.tar.bz2.sha256' diff --git a/pkgs/servers/plex/raw.nix b/pkgs/servers/plex/raw.nix index 520a7317c4a46..dc65911a06652 100644 --- a/pkgs/servers/plex/raw.nix +++ b/pkgs/servers/plex/raw.nix @@ -12,16 +12,16 @@ # server, and the FHS userenv and corresponding NixOS module should # automatically pick up the changes. stdenv.mkDerivation rec { - version = "1.25.9.5721-965587f64"; + version = "1.26.0.5715-8cf78dab3"; pname = "plexmediaserver"; # Fetch the source src = if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl { url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb"; - hash = "sha256-qD4VZ0ksR+VyBVVjeSCC2EG+uUHh5RE2fihHrIJUItY="; + hash = "sha256-Ou5DlQPk+zAt/wE5Nry4nzLaR1Id6tQdwl73qawig4M="; } else fetchurl { url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb"; - hash = "sha256-NPfpQ8JwXDaq8xpvSabyqdDqMWjoqbeoJdu41nhdsI0="; + hash = "sha256-DQbRobiJwT7Xr4NzKS2iQOszOsd/bS/+kJ4p+QUVXfg="; }; outputs = [ "out" "basedb" ]; diff --git a/pkgs/servers/sql/dolt/default.nix b/pkgs/servers/sql/dolt/default.nix index a1db051e7b2d9..072bd793346c9 100644 --- a/pkgs/servers/sql/dolt/default.nix +++ b/pkgs/servers/sql/dolt/default.nix @@ -2,24 +2,24 @@ buildGoModule rec { pname = "dolt"; - version = "0.37.4"; + version = "0.39.2"; src = fetchFromGitHub { - owner = "liquidata-inc"; + owner = "dolthub"; repo = "dolt"; rev = "v${version}"; - sha256 = "sha256-cKX8idMmh9hQVPjO8rJWlp1nhtnzwwlLkelNw+LLBag="; + sha256 = "sha256-rCGjBb5aiDLPBKYX4jhHxtBDf3Xs1/p1DdsFmdfLNLM="; }; modRoot = "./go"; subPackages = [ "cmd/dolt" "cmd/git-dolt" "cmd/git-dolt-smudge" ]; - vendorSha256 = "sha256-vaYCo+jvw3qcLQ63oA8tq6G6Gxq50VTxK6IMBcEZXqs="; + vendorSha256 = "sha256-yemt7hUcLXgC42B2q4+1MalGd3jCMHcVD/Bpq8B2x7M="; doCheck = false; meta = with lib; { description = "Relational database with version control and CLI a-la Git"; - homepage = "https://github.com/liquidata-inc/dolt"; + homepage = "https://github.com/dolthub/dolt"; license = licenses.asl20; maintainers = with maintainers; [ danbst ]; }; diff --git a/pkgs/servers/stayrtr/default.nix b/pkgs/servers/stayrtr/default.nix index cee68bd2f61b9..a168cf5b1eec0 100644 --- a/pkgs/servers/stayrtr/default.nix +++ b/pkgs/servers/stayrtr/default.nix @@ -2,7 +2,7 @@ , fetchFromGitHub , buildGoModule , stayrtr -, testVersion +, testers }: buildGoModule rec { @@ -23,7 +23,7 @@ buildGoModule rec { "-X main.version=${version}" ]; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = stayrtr; }; diff --git a/pkgs/servers/tailscale/default.nix b/pkgs/servers/tailscale/default.nix index 7c7bb84e15b7e..2ccabb3f21b91 100644 --- a/pkgs/servers/tailscale/default.nix +++ b/pkgs/servers/tailscale/default.nix @@ -2,20 +2,20 @@ buildGoModule rec { pname = "tailscale"; - version = "1.22.2"; + version = "1.24.0"; src = fetchFromGitHub { owner = "tailscale"; repo = "tailscale"; rev = "v${version}"; - sha256 = "sha256-W4BcUDMxUZKFXueSI/Xlml17Jabi/hnnOyXgitao76A="; + sha256 = "12dn2dkk86ni7wqpl7zaxb8n840fnvg8kcjsg1lvf9k432dqhksn"; }; nativeBuildInputs = lib.optionals stdenv.isLinux [ makeWrapper ]; CGO_ENABLED = 0; - vendorSha256 = "sha256-Bu0a9JI0rlsA4wvvX9Mj4+QH0ot6Jdl+t246HbXu6OA="; + vendorSha256 = "01hh8v3mvl7fgv4w4y78jg50b383lgxfy876lkn7wg0sgg336dc8"; doCheck = false; @@ -35,6 +35,6 @@ buildGoModule rec { homepage = "https://tailscale.com"; description = "The node agent for Tailscale, a mesh VPN built on WireGuard"; license = licenses.bsd3; - maintainers = with maintainers; [ danderson mbaillie ]; + maintainers = with maintainers; [ danderson mbaillie twitchyliquid64 ]; }; } diff --git a/pkgs/servers/web-apps/jitsi-meet/default.nix b/pkgs/servers/web-apps/jitsi-meet/default.nix index 05f33bb47de92..e31327927fa98 100644 --- a/pkgs/servers/web-apps/jitsi-meet/default.nix +++ b/pkgs/servers/web-apps/jitsi-meet/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "jitsi-meet"; - version = "1.0.5913"; + version = "1.0.6091"; src = fetchurl { url = "https://download.jitsi.org/jitsi-meet/src/jitsi-meet-${version}.tar.bz2"; - sha256 = "NQxGkwEqnrOrkB+Rtka1n1SDqcQqp7epmDBuXKR/qFQ="; + sha256 = "lYQGrH7D2xsRdwDC0yXB+tt4nOawEkq9A5tDIwl6pRk="; }; dontBuild = true; diff --git a/pkgs/shells/oksh/default.nix b/pkgs/shells/oksh/default.nix index 9ea851adbbf6a..418a453d9e9a7 100644 --- a/pkgs/shells/oksh/default.nix +++ b/pkgs/shells/oksh/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub }: +{ stdenv, lib, fetchFromGitHub, buildPackages }: stdenv.mkDerivation rec { pname = "oksh"; @@ -11,6 +11,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-076nD0aPps6n5qkR3LQJ6Kn2g3mkov+/M0qSvxNLZ6o="; }; + postPatch = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + substituteInPlace configure --replace "./conftest" "echo" + ''; + + configureFlags = [ "--no-strip" ]; + meta = with lib; { description = "Portable OpenBSD ksh, based on the Public Domain Korn Shell (pdksh)"; homepage = "https://github.com/ibara/oksh"; diff --git a/pkgs/tools/admin/aliyun-cli/default.nix b/pkgs/tools/admin/aliyun-cli/default.nix index 69900238c5e61..7747e46b26a52 100644 --- a/pkgs/tools/admin/aliyun-cli/default.nix +++ b/pkgs/tools/admin/aliyun-cli/default.nix @@ -2,14 +2,14 @@ buildGoModule rec { pname = "aliyun-cli"; - version = "3.0.116"; + version = "3.0.117"; src = fetchFromGitHub { rev = "v${version}"; owner = "aliyun"; repo = pname; fetchSubmodules = true; - sha256 = "sha256-KZZT7XVhJLfrQ7L3FFOTw9bLT5GqewvDTGQQd/ovjbg="; + sha256 = "sha256-iltyw2Qw7WSq96T/upGwSyjqWK8KOo/pK7HR+25n2js="; }; vendorSha256 = "sha256-f3GXkAvTe8rPFWCR5TM4mDK/VOQWt2lrZrfJ/Wvw8Uc="; diff --git a/pkgs/tools/admin/colmena/default.nix b/pkgs/tools/admin/colmena/default.nix index d17366b38a812..8d7982060de69 100644 --- a/pkgs/tools/admin/colmena/default.nix +++ b/pkgs/tools/admin/colmena/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, rustPlatform, fetchFromGitHub, installShellFiles, colmena, testVersion }: +{ stdenv, lib, rustPlatform, fetchFromGitHub, installShellFiles, colmena, testers }: rustPlatform.buildRustPackage rec { pname = "colmena"; @@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec { # We guarantee CLI and Nix API stability for the same minor version apiVersion = builtins.concatStringsSep "." (lib.take 2 (lib.splitString "." version)); - tests.version = testVersion { package = colmena; }; + tests.version = testers.testVersion { package = colmena; }; }; meta = with lib; { diff --git a/pkgs/tools/admin/ejson2env/default.nix b/pkgs/tools/admin/ejson2env/default.nix index 9cc65b4944eeb..e7ac6d7426dae 100644 --- a/pkgs/tools/admin/ejson2env/default.nix +++ b/pkgs/tools/admin/ejson2env/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "ejson2env"; - version = "2.0.4"; + version = "2.0.5"; src = fetchFromGitHub { owner = "Shopify"; repo = pname; rev = "v${version}"; - sha256 = "sha256-Oc0fWihOUafYN5t9SxHxaYJEv5e46CCDNe4xo+Dcjrs="; + sha256 = "sha256-HcUmFajbOUZ0T5Th6OA9WBtfTz646qLbXx8NVeJsVng="; }; - vendorSha256 = "sha256-BY45WirK9AVhvFGB5uqI4dLxzO2WuNNhhJbQ6nsRXao="; + vendorSha256 = "sha256-agWcD8vFNde1SCdkRovMNPf+1KODxV8wW1mXvE0w/CI="; ldflags = [ "-X main.version=${version}" diff --git a/pkgs/tools/admin/realvnc-vnc-viewer/default.nix b/pkgs/tools/admin/realvnc-vnc-viewer/default.nix index 4a11d1e5440fd..4f990c5380863 100644 --- a/pkgs/tools/admin/realvnc-vnc-viewer/default.nix +++ b/pkgs/tools/admin/realvnc-vnc-viewer/default.nix @@ -2,16 +2,16 @@ stdenv.mkDerivation rec { pname = "realvnc-vnc-viewer"; - version = "6.21.1109"; + version = "6.22.207"; src = { "x86_64-linux" = fetchurl { url = "https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-${version}-Linux-x64.rpm"; - sha256 = "12zxp9kvi070nzxbrnrfsyla38ryb69zlidw6cvypmsgqnylfxj7"; + sha256 = "0jybfqj1svkb297ahyp07xf4b8qyb5h1l2kp50a50ivb6flqd3jr"; }; "i686-linux" = fetchurl { url = "https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-${version}-Linux-x86.rpm"; - sha256 = "03vhdmzyd16r0kdxpkq9azyy1h705lk4sbgnbw5fr8gkifwng60f"; + sha256 = "06jmkd474nql6p3hnqwnwj5ac29m2021flnvf44mfhrhaa5wnpz6"; }; }.${stdenv.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix index 1824265b84af3..f5cd6f03b963d 100644 --- a/pkgs/tools/admin/tigervnc/default.nix +++ b/pkgs/tools/admin/tigervnc/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub +{ lib, stdenv, fetchFromGitHub, fetchpatch , xorg, xkeyboard_config, zlib , libjpeg_turbo, pixman, fltk , cmake, gettext, libtool @@ -23,11 +23,22 @@ stdenv.mkDerivation rec { }; + patches = [ + (fetchpatch { + url = "https://patch-diff.githubusercontent.com/raw/TigerVNC/tigervnc/pull/1383.patch"; + sha256 = "sha256-r3QLtxVD0wIv2NWVN9r0LVxSlLurDHgkAZfkpIjmZyU="; + name = "Xvnc-support-Xorg-1.21-PR1383.patch"; + }) + ]; + postPatch = '' sed -i -e '/^\$cmd \.= " -pn";/a$cmd .= " -xkbdir ${xkeyboard_config}/etc/X11/xkb";' unix/vncserver/vncserver.in fontPath= substituteInPlace vncviewer/vncviewer.cxx \ --replace '"/usr/bin/ssh' '"${openssh}/bin/ssh' + + cp unix/xserver21.1.1.patch unix/xserver211.patch + source_top="$(pwd)" ''; dontUseCmakeBuildDir = true; @@ -46,7 +57,7 @@ stdenv.mkDerivation rec { cp -R xorg*/* unix/xserver pushd unix/xserver version=$(echo ${xorg.xorgserver.name} | sed 's/.*-\([0-9]\+\).\([0-9]\+\).*/\1\2/g') - patch -p1 < ${src}/unix/xserver$version.patch + patch -p1 < "$source_top/unix/xserver$version.patch" autoreconf -vfi ./configure $configureFlags --disable-devel-docs --disable-docs \ --disable-xorg --disable-xnest --disable-xvfb --disable-dmx \ diff --git a/pkgs/tools/archivers/7zz/default.nix b/pkgs/tools/archivers/7zz/default.nix index 03c95378a0ae9..b734232ca053f 100644 --- a/pkgs/tools/archivers/7zz/default.nix +++ b/pkgs/tools/archivers/7zz/default.nix @@ -12,7 +12,7 @@ # For tests , _7zz -, testVersion +, testers }: let @@ -79,7 +79,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = ./update.sh; - tests.version = testVersion { + tests.version = testers.testVersion { package = _7zz; command = "7zz --help"; }; diff --git a/pkgs/tools/archivers/bomutils/default.nix b/pkgs/tools/archivers/bomutils/default.nix index c4ff957135ff4..90a97af03678e 100644 --- a/pkgs/tools/archivers/bomutils/default.nix +++ b/pkgs/tools/archivers/bomutils/default.nix @@ -18,6 +18,11 @@ stdenv.mkDerivation rec { "CXX=${stdenv.cc.targetPrefix}c++" ]; + # fix + # src/lsbom.cpp:70:10: error: reference to 'data' is ambiguous + # which refers to std::data from C++17 + NIX_CFLAGS_COMPILE = [ "-std=c++14" ]; + meta = with lib; { homepage = "https://github.com/hogliux/bomutils"; description = "Open source tools to create bill-of-materials files used in macOS installers"; diff --git a/pkgs/tools/audio/yabridge/default.nix b/pkgs/tools/audio/yabridge/default.nix index 40c3b594dc98a..eb897f839a8fc 100644 --- a/pkgs/tools/audio/yabridge/default.nix +++ b/pkgs/tools/audio/yabridge/default.nix @@ -1,7 +1,6 @@ { lib , multiStdenv , fetchFromGitHub -, fetchpatch , substituteAll , pkgsi686Linux , libnotify @@ -49,14 +48,14 @@ let }; in multiStdenv.mkDerivation rec { pname = "yabridge"; - version = "3.8.0"; + version = "3.8.1"; # NOTE: Also update yabridgectl's cargoHash when this is updated src = fetchFromGitHub { owner = "robbert-vdh"; repo = pname; rev = version; - sha256 = "sha256-XacJjHxsp60/l36pFPGonUyOsyFF2lmqplAaisHXZDY="; + sha256 = "sha256-5Mi/aIjOKbn7guTj+AKGQRv+k7w4gzfdA9Mw4ocUlOE="; }; # Unpack subproject sources @@ -78,14 +77,6 @@ in multiStdenv.mkDerivation rec { libxcb32 = pkgsi686Linux.xorg.libxcb; inherit libnotify wine; }) - # Remove with next yabridge update - (fetchpatch { - name = "fix-for-wine-7.1.patch"; - url = "https://github.com/robbert-vdh/yabridge/commit/de470d345ab206b08f6d4a147b6af1d285a4211f.patch"; - sha256 = "sha256-xJx1zvxD+DIjbkm7Ovoy4RaAvjx936/j/7AYUPh/kOo="; - includes = [ "src/wine-host/xdnd-proxy.cpp" ]; - }) - ]; postPatch = '' diff --git a/pkgs/tools/audio/yabridge/hardcode-dependencies.patch b/pkgs/tools/audio/yabridge/hardcode-dependencies.patch index 9f6bc0c9a9d5c..16385db69e9a2 100644 --- a/pkgs/tools/audio/yabridge/hardcode-dependencies.patch +++ b/pkgs/tools/audio/yabridge/hardcode-dependencies.patch @@ -1,5 +1,5 @@ diff --git a/meson.build b/meson.build -index 95ecb728..cb30f3af 100644 +index c71d4fdb..b3f381ba 100644 --- a/meson.build +++ b/meson.build @@ -201,6 +201,7 @@ if with_32bit_libraries or with_bitbridge @@ -20,7 +20,7 @@ index 95ecb728..cb30f3af 100644 # These are all headers-only libraries, and thus won't require separate 32-bit diff --git a/src/plugin/utils.cpp b/src/plugin/utils.cpp -index 1a457f03..20ca1e63 100644 +index fc2c8b25..c73249e3 100644 --- a/src/plugin/utils.cpp +++ b/src/plugin/utils.cpp @@ -107,7 +107,7 @@ std::string PluginInfo::wine_version() const { diff --git a/pkgs/tools/audio/yabridgectl/default.nix b/pkgs/tools/audio/yabridgectl/default.nix index d2e8438e0c9e1..6ab94ef363021 100644 --- a/pkgs/tools/audio/yabridgectl/default.nix +++ b/pkgs/tools/audio/yabridgectl/default.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { src = yabridge.src; sourceRoot = "source/tools/yabridgectl"; - cargoSha256 = "sha256-pwy2Q2HUCihr7W81hGvDm9EiZHk9G8knSy0yxPy6hl8="; + cargoSha256 = "sha256-ducF55d5OvCwlNFtt2r6pG5e9VevM2AzHSvPnWvIp1Y="; patches = [ # By default, yabridgectl locates libyabridge.so by using diff --git a/pkgs/tools/backup/discordchatexporter-cli/default.nix b/pkgs/tools/backup/discordchatexporter-cli/default.nix index 8e98ea3c7c28a..96de897c5f34c 100644 --- a/pkgs/tools/backup/discordchatexporter-cli/default.nix +++ b/pkgs/tools/backup/discordchatexporter-cli/default.nix @@ -2,7 +2,7 @@ , buildDotnetModule , fetchFromGitHub , dotnetCorePackages -, testVersion +, testers , discordchatexporter-cli }: @@ -29,7 +29,7 @@ buildDotnetModule rec { passthru = { updateScript = ./updater.sh; - tests.version = testVersion { + tests.version = testers.testVersion { package = discordchatexporter-cli; version = "v${version}"; }; diff --git a/pkgs/tools/compression/pxz/default.nix b/pkgs/tools/compression/pxz/default.nix index 0f509a3bd1709..f61e80cbc0651 100644 --- a/pkgs/tools/compression/pxz/default.nix +++ b/pkgs/tools/compression/pxz/default.nix @@ -1,7 +1,7 @@ { lib , stdenv , fetchFromGitHub -, testVersion +, testers , pxz , xz }: @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { "MANDIR=${placeholder "out"}/share/man" ]; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = pxz; }; diff --git a/pkgs/tools/filesystems/garage/default.nix b/pkgs/tools/filesystems/garage/default.nix index 9d9f2535a04ff..8799ec5a3d2ab 100644 --- a/pkgs/tools/filesystems/garage/default.nix +++ b/pkgs/tools/filesystems/garage/default.nix @@ -1,4 +1,4 @@ -{ lib, rustPlatform, fetchFromGitea, protobuf, testVersion, garage }: +{ lib, rustPlatform, fetchFromGitea, protobuf, testers, garage }: rustPlatform.buildRustPackage rec { pname = "garage"; version = "0.7.0"; @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ protobuf ]; passthru = { - tests.version = testVersion { package = garage; }; + tests.version = testers.testVersion { package = garage; }; }; meta = { diff --git a/pkgs/tools/filesystems/zkfuse/default.nix b/pkgs/tools/filesystems/zkfuse/default.nix index 456444f3bf593..14938113a1e0e 100644 --- a/pkgs/tools/filesystems/zkfuse/default.nix +++ b/pkgs/tools/filesystems/zkfuse/default.nix @@ -25,6 +25,10 @@ stdenv.mkDerivation rec { -e 's,"zookeeper\.h",<zookeeper/zookeeper.h>,' ''; + # c++17 (gcc-11's default) breaks the build as: + # zkadapter.h:616:33: error: ISO C++17 does not allow dynamic exception specifications + NIX_CFLAGS_COMPILE = [ "-std=c++14" ]; + installPhase = '' mkdir -p $out/bin cp -v src/zkfuse $out/bin diff --git a/pkgs/tools/graphics/enblend-enfuse/default.nix b/pkgs/tools/graphics/enblend-enfuse/default.nix index 5ca9704eee31c..5b3431a919fcb 100644 --- a/pkgs/tools/graphics/enblend-enfuse/default.nix +++ b/pkgs/tools/graphics/enblend-enfuse/default.nix @@ -1,26 +1,39 @@ -{ lib, stdenv, fetchurl -, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, libGLU, libGL, vigra -, help2man, pkg-config, perl, texlive }: +{ lib, stdenv, fetchzip +, autoreconfHook +, boost +, freeglut +, glew +, gsl +, lcms2 +, libpng +, libtiff +, libGLU +, libGL +, vigra +, help2man +, pkg-config +, perl +, texlive +}: stdenv.mkDerivation rec { pname = "enblend-enfuse"; - version = "4.2"; + version = "unstable-2022-03-06"; - src = fetchurl { - url = "mirror://sourceforge/enblend/${pname}-${version}.tar.gz"; - sha256 = "0j5x011ilalb47ssah50ag0a4phgh1b0wdgxdbbp1gcyjcjf60w7"; + src = fetchzip { + url = "https://sourceforge.net/code-snapshots/hg/e/en/enblend/code/enblend-code-0f423c72e51872698fe2985ca3bd453961ffe4e0.zip"; + sha256 = "sha256-0gCUSdg3HR3YeIbOByEBCZh2zGlYur6DeCOzUM53fdc="; + stripRoot = true; }; buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libGLU libGL vigra ]; - nativeBuildInputs = [ help2man perl pkg-config texlive.combined.scheme-small ]; + nativeBuildInputs = [ autoreconfHook help2man perl pkg-config texlive.combined.scheme-small ]; preConfigure = '' patchShebangs src/embrace ''; - enableParallelBuilding = true; - meta = with lib; { homepage = "http://enblend.sourceforge.net/"; description = "Blends away the seams in a panoramic image mosaic using a multiresolution spline"; diff --git a/pkgs/tools/inputmethods/droidmote/default.nix b/pkgs/tools/inputmethods/droidmote/default.nix new file mode 100644 index 0000000000000..24c2bcee8cdcc --- /dev/null +++ b/pkgs/tools/inputmethods/droidmote/default.nix @@ -0,0 +1,61 @@ +{ lib, stdenv, fetchurl, autoPatchelfHook }: + +let + srcs = { + x86_64-linux = fetchurl { + urls = [ + "https://videomap.it/script/dms-ubuntu-x64" + "https://archive.org/download/videomap/dms-ubuntu-x64" + ]; + sha256 = "1x7pp6k27lr206a8j2pn0wf4wjb0zi28s0g1g3rb08jmr8fh1jnh"; + }; + i686-linux = fetchurl { + urls = [ + "https://videomap.it/script/dms-ubuntu-x32" + "https://archive.org/download/videomap/dms-ubuntu-x32" + ]; + sha256 = "1d62d7jz50wzk5rqqm3xab66jdzi9i1j6mwxf7r7nsgm6j5zz8r4"; + }; + aarch64-linux = fetchurl { + urls = [ + "https://videomap.it/script/dms-ubuntu-arm64" + "https://archive.org/download/videomap/dms-ubuntu-arm64" + ]; + sha256 = "1l1x7iqbxn6zsh3d37yb5x15qsxlwy3cz8g2g8vnzkgaafw9vva0"; + }; + armv7l-linux = fetchurl { + urls = [ + "https://videomap.it/script/dms-ubuntu-arm" + "https://archive.org/download/videomap/dms-ubuntu-arm" + ]; + sha256 = "1i7q9mylzvbsfydv4xf83nyqkh0nh01612jrqm93q1w6d0k2zvcd"; + }; + }; +in +stdenv.mkDerivation rec { + pname = "droidmote"; + version = "3.0.6"; + + src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + + dontUnpack = true; + dontBuild = true; + + nativeBuildInputs = [ autoPatchelfHook ]; + + installPhase = '' + runHook preInstall + + install -m755 -D $src $out/bin/droidmote + + runHook postInstall + ''; + + meta = with lib; { + description = "Control your computer from your couch"; + homepage = "https://www.videomap.it/"; + license = licenses.unfree; + maintainers = with maintainers; [ atila ]; + platforms = lib.attrNames srcs; + }; +} diff --git a/pkgs/tools/inputmethods/libinput-gestures/0001-hardcode-name.patch b/pkgs/tools/inputmethods/libinput-gestures/0001-hardcode-name.patch index 4655879149d23..f811343ee79be 100644 --- a/pkgs/tools/inputmethods/libinput-gestures/0001-hardcode-name.patch +++ b/pkgs/tools/inputmethods/libinput-gestures/0001-hardcode-name.patch @@ -1,13 +1,13 @@ diff --git a/libinput-gestures b/libinput-gestures -index 66479b6..aca94ac 100755 +index 78c7c28..da04007 100755 --- a/libinput-gestures +++ b/libinput-gestures -@@ -6,7 +6,7 @@ from collections import OrderedDict - from pathlib import Path - from distutils.version import LooseVersion as Version - --PROG = Path(sys.argv[0]).stem -+PROG = "libinput-gestures" - +@@ -27,7 +27,7 @@ except ImportError: + + session_locked = False + +-PROGPATH = Path(sys.argv[0]) ++PROGPATH = Path("libinput-gestures") + PROGNAME = PROGPATH.stem + # Conf file containing gesture commands. - # Search first for user file then system file. diff --git a/pkgs/tools/inputmethods/libinput-gestures/0002-paths.patch b/pkgs/tools/inputmethods/libinput-gestures/0002-paths.patch index 407450c8bccd7..a507625406f28 100644 --- a/pkgs/tools/inputmethods/libinput-gestures/0002-paths.patch +++ b/pkgs/tools/inputmethods/libinput-gestures/0002-paths.patch @@ -1,45 +1,34 @@ diff --git a/libinput-gestures b/libinput-gestures -index aca94ac..c2f03ca 100755 +index 78c7c28..1a2c965 100755 --- a/libinput-gestures +++ b/libinput-gestures -@@ -77,7 +77,7 @@ def get_libinput_vers(): +@@ -87,11 +87,11 @@ def get_libinput_vers(): 'Return the libinput installed version number string' # Try to use newer libinput interface then fall back to old # (depreciated) interface. - res = run(('libinput', '--version'), check=False) + res = run(('@libinput@', '--version'), check=False) - return res.strip() if res else \ - run(('libinput-list-devices', '--version'), check=False) - -@@ -87,8 +87,8 @@ if not libvers: - sys.exit('libinput helper tools do not seem to be installed?') - - if Version(libvers) >= Version('1.8'): -- cmd_debug_events = 'libinput debug-events' -- cmd_list_devices = 'libinput list-devices' -+ cmd_debug_events = '@libinput@ debug-events' -+ cmd_list_devices = '@libinput@ list-devices' - else: - cmd_debug_events = 'libinput-debug-events' - cmd_list_devices = 'libinput-list-devices' -@@ -199,7 +199,7 @@ class COMMAND_internal(COMMAND): - - def run(self): - 'Get list of current workspaces and select next one' -- stdout = run(('wmctrl', '-d'), check=False) -+ stdout = run(('@wmctrl@', '-d'), check=False) - if not stdout: - # This command can fail on GNOME when you have only a single - # dynamic workspace using Xorg (probably a GNOME bug) so let's -@@ -233,7 +233,7 @@ class COMMAND_internal(COMMAND): - - # Switch to desired workspace - if index >= minindex and index < maxindex: -- run(('wmctrl', '-s', str(index))) -+ run(('@wmctrl@', '-s', str(index))) - - # Table of gesture handlers - handlers = OrderedDict() --- -2.19.1 + if res: + return res.strip(), True +- res = run(('libinput-list-devices', '--version'), check=False) ++ res = run(('@libinput-list-devices@', '--version'), check=False) + return res and res.strip(), False + + def get_devices_list(cmd_list_devices, device_list): +@@ -694,11 +694,11 @@ def main(): + sys.exit('libinput helper tools do not seem to be installed?') + + if has_subcmd: +- cmd_debug_events = 'libinput debug-events' +- cmd_list_devices = 'libinput list-devices' ++ cmd_debug_events = '@libinput@ debug-events' ++ cmd_list_devices = '@libinput@ list-devices' + else: +- cmd_debug_events = 'libinput-debug-events' +- cmd_list_devices = 'libinput-list-devices' ++ cmd_debug_events = '@libinput@-debug-events' ++ cmd_list_devices = '@libinput@-list-devices' + + if args.verbose: + # Output various info/version info diff --git a/pkgs/tools/inputmethods/libinput-gestures/default.nix b/pkgs/tools/inputmethods/libinput-gestures/default.nix index 1d0ea40e34f41..52ef02b24f95a 100644 --- a/pkgs/tools/inputmethods/libinput-gestures/default.nix +++ b/pkgs/tools/inputmethods/libinput-gestures/default.nix @@ -5,13 +5,13 @@ }: stdenv.mkDerivation rec { pname = "libinput-gestures"; - version = "2.39"; + version = "2.72"; src = fetchFromGitHub { owner = "bulletmark"; repo = "libinput-gestures"; rev = version; - sha256 = "0bzyi55yhr9wyar9mnd09cr6pi88jkkp0f9lndm0a9jwi1xr4bdf"; + sha256 = "sha256-si94aKyiJtRwg+JS0PazqRjGrA/zUwN8CCIKI5KLJNw="; }; patches = [ ./0001-hardcode-name.patch diff --git a/pkgs/tools/misc/adrgen/default.nix b/pkgs/tools/misc/adrgen/default.nix index 08fec93b5871f..83117f403506d 100644 --- a/pkgs/tools/misc/adrgen/default.nix +++ b/pkgs/tools/misc/adrgen/default.nix @@ -1,7 +1,7 @@ { lib , buildGoModule , fetchFromGitHub -, testVersion +, testers , adrgen }: @@ -18,7 +18,7 @@ buildGoModule rec { vendorSha256 = "sha256-aDtUD+KKKSE0TpSi4+6HXSBMqF/TROZZhT0ox3a8Idk="; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = adrgen; command = "adrgen version"; version = "v${version}"; diff --git a/pkgs/tools/misc/arch-install-scripts/default.nix b/pkgs/tools/misc/arch-install-scripts/default.nix index a967e4989e61f..c89e575e8eb0d 100644 --- a/pkgs/tools/misc/arch-install-scripts/default.nix +++ b/pkgs/tools/misc/arch-install-scripts/default.nix @@ -6,7 +6,6 @@ , coreutils , gawk , gnum4 -, testVersion , util-linux }: diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index 86a91a09c3ebe..da60a80f77fca 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -113,8 +113,10 @@ stdenv.mkDerivation (rec { # Darwin (http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/19351), # and {Open,Free}BSD. # With non-standard storeDir: https://github.com/NixOS/nix/issues/512 + # On aarch64+musl, test-init.sh fails due to a segfault in diff. doCheck = stdenv.hostPlatform == stdenv.buildPlatform && (stdenv.hostPlatform.libc == "glibc" || stdenv.hostPlatform.isMusl) + && !(stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isAarch64) && !stdenv.isAarch32; # Prevents attempts of running 'help2man' on cross-built binaries. diff --git a/pkgs/tools/misc/czkawka/default.nix b/pkgs/tools/misc/czkawka/default.nix index fbe3a68d58429..6385eade7aa4a 100644 --- a/pkgs/tools/misc/czkawka/default.nix +++ b/pkgs/tools/misc/czkawka/default.nix @@ -8,7 +8,7 @@ , gdk-pixbuf , atk , gtk3 -, testVersion +, testers , czkawka }: @@ -38,7 +38,7 @@ rustPlatform.buildRustPackage rec { gtk3 ]; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = czkawka; command = "czkawka_cli --version"; }; diff --git a/pkgs/tools/misc/datefmt/default.nix b/pkgs/tools/misc/datefmt/default.nix index 01927fedc28d7..c70d04326fc83 100644 --- a/pkgs/tools/misc/datefmt/default.nix +++ b/pkgs/tools/misc/datefmt/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, datefmt, testVersion }: +{ lib, stdenv, fetchurl, datefmt, testers }: stdenv.mkDerivation rec { pname = "datefmt"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=$(out)" ]; - passthru.tests.version = testVersion { package = datefmt; }; + passthru.tests.version = testers.testVersion { package = datefmt; }; meta = with lib; { homepage = "https://jb55.com/datefmt"; diff --git a/pkgs/tools/misc/didyoumean/default.nix b/pkgs/tools/misc/didyoumean/default.nix new file mode 100644 index 0000000000000..cd7b8270a1a96 --- /dev/null +++ b/pkgs/tools/misc/didyoumean/default.nix @@ -0,0 +1,32 @@ +{ lib +, stdenv +, rustPlatform +, fetchFromGitHub +, libxcb +# Darwin dependencies +, AppKit +}: + +rustPlatform.buildRustPackage rec { + pname = "didyoumean"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "hisbaan"; + repo = "didyoumean"; + rev = "v${version}"; + sha256 = "sha256-t2bmvz05vWIxQhC474q/9uky1kAQoFN8Z+qflw5Vj68="; + }; + + cargoSha256 = "sha256-4DbziI9enib4pm9/P4WEu15glIxtejaV2GCqbzuxxyw="; + + buildInputs = lib.optional stdenv.isLinux [ libxcb ] + ++ lib.optionals stdenv.isDarwin [ AppKit ]; + + meta = with lib; { + description = "A CLI spelling corrector for when you're unsure"; + homepage = "https://github.com/hisbaan/didyoumean"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ evanjs ]; + }; +} diff --git a/pkgs/tools/misc/dsq/default.nix b/pkgs/tools/misc/dsq/default.nix index bb884c5a29330..e0ecf5be6c60e 100644 --- a/pkgs/tools/misc/dsq/default.nix +++ b/pkgs/tools/misc/dsq/default.nix @@ -5,22 +5,22 @@ , runCommand , nix-update-script , dsq -, testVersion +, testers , diffutils }: buildGoModule rec { pname = "dsq"; - version = "0.14.0"; + version = "0.15.1"; src = fetchFromGitHub { owner = "multiprocessio"; repo = "dsq"; rev = version; - hash = "sha256-BhWcl0yMpTi/6+dFk6wX/rMkH1k9m9eVm40iNwZGrJM="; + hash = "sha256-AT5M3o1cvRIZyyA28uX+AI4p9I3SzX3OCdBcIFGKspw="; }; - vendorSha256 = "sha256-mSF2oNdTKAg3iRejKkn24hSCJDM6iOkRMruic73ceX4="; + vendorSha256 = "sha256-yfhLQBmWkG0ZLjI/ArLZkEGvClmZXkl0o7fEu5JqHM8="; nativeBuildInputs = [ diffutils ]; @@ -30,7 +30,7 @@ buildGoModule rec { updateScript = nix-update-script { attrPath = pname; }; tests = { - version = testVersion { package = dsq; }; + version = testers.testVersion { package = dsq; }; pretty-csv = runCommand "${pname}-test" { } '' mkdir "$out" diff --git a/pkgs/tools/misc/esphome/dashboard.nix b/pkgs/tools/misc/esphome/dashboard.nix index dfb61ca29ad9b..1f101735e9811 100644 --- a/pkgs/tools/misc/esphome/dashboard.nix +++ b/pkgs/tools/misc/esphome/dashboard.nix @@ -5,11 +5,11 @@ buildPythonPackage rec { pname = "esphome-dashboard"; - version = "20220209.0"; + version = "20220309.0"; src = fetchPypi { inherit pname version; - sha256 = "sha256-FkFu3SvsowcsOFXvqWmpY3KEypXSb6KcpC/nJbQpDBA="; + sha256 = "sha256-J/T3Av0jwT0CJSwc0j+YjaiKFqs9soLf7ctpiz5rmm4="; }; # no tests diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix index de39a6e7f3805..3ce65eb203801 100644 --- a/pkgs/tools/misc/esphome/default.nix +++ b/pkgs/tools/misc/esphome/default.nix @@ -15,14 +15,14 @@ let in with python.pkgs; buildPythonApplication rec { pname = "esphome"; - version = "2022.3.2"; + version = "2022.4.0"; format = "setuptools"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "sha256-s5NisPUoppROM/p7qm1da4lStpAWZvk18zkUEsOn0Pg="; + sha256 = "sha256-/IMiUMtWFouAjOlyq+BXvqQ1IddBXvua7y0i4J1cktM="; }; postPatch = '' diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix index d46815e8bf2a3..f80de50ea551f 100644 --- a/pkgs/tools/misc/ethtool/default.nix +++ b/pkgs/tools/misc/ethtool/default.nix @@ -3,15 +3,16 @@ , fetchurl , libmnl , pkg-config +, writeScript }: stdenv.mkDerivation rec { pname = "ethtool"; - version = "5.16"; + version = "5.17"; src = fetchurl { url = "mirror://kernel/software/network/${pname}/${pname}-${version}.tar.xz"; - sha256 = "sha256-qi/vGTbdShF1XfoL25Pw7FvqRSCNJ8l1S8Or4apCwcs="; + sha256 = "sha256-ZKuRS5xrRQRyRdkfQLh2CycomSqeWvInF8ZEI46IkTM="; }; nativeBuildInputs = [ @@ -22,6 +23,22 @@ stdenv.mkDerivation rec { libmnl ]; + passthru = { + updateScript = writeScript "update-ethtool" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl pcre common-updater-scripts + + set -eu -o pipefail + + # Expect the text in format of '<a href="ethtool-VER.tar.xz">...</a>' + # The page always lists versions newest to oldest. Pick the first one. + new_version="$(curl -s https://mirrors.edge.kernel.org/pub/software/network/ethtool/ | + pcregrep -o1 '<a href="ethtool-([0-9.]+)[.]tar[.]xz">' | + head -n1)" + update-source-version ${pname} "$new_version" + ''; + }; + meta = with lib; { description = "Utility for controlling network drivers and hardware"; homepage = "https://www.kernel.org/pub/software/network/ethtool/"; diff --git a/pkgs/tools/misc/gummy/default.nix b/pkgs/tools/misc/gummy/default.nix index cc1b68b7c0e80..defe5950a116b 100644 --- a/pkgs/tools/misc/gummy/default.nix +++ b/pkgs/tools/misc/gummy/default.nix @@ -1,7 +1,7 @@ { lib , stdenv , fetchFromGitHub -, testVersion +, testers , gummy , cmake , libX11 @@ -51,7 +51,7 @@ stdenv.mkDerivation rec { ln -s $out/libexec/gummyd $out/bin/gummyd ''; - passthru.tests.version = testVersion { package = gummy; }; + passthru.tests.version = testers.testVersion { package = gummy; }; meta = with lib; { homepage = "https://github.com/Fushko/gummy"; diff --git a/pkgs/tools/misc/lsd/default.nix b/pkgs/tools/misc/lsd/default.nix index d72fad1a666c6..157cc1adf8d73 100644 --- a/pkgs/tools/misc/lsd/default.nix +++ b/pkgs/tools/misc/lsd/default.nix @@ -2,7 +2,7 @@ , fetchFromGitHub , rustPlatform , installShellFiles -, testVersion +, testers , lsd }: @@ -27,7 +27,7 @@ rustPlatform.buildRustPackage rec { # Found argument '--test-threads' which wasn't expected, or isn't valid in this context doCheck = false; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = lsd; }; diff --git a/pkgs/tools/misc/melody/default.nix b/pkgs/tools/misc/melody/default.nix index 7dfc7eab4fd83..a02994f33a07b 100644 --- a/pkgs/tools/misc/melody/default.nix +++ b/pkgs/tools/misc/melody/default.nix @@ -2,15 +2,15 @@ rustPlatform.buildRustPackage rec { pname = "melody"; - version = "0.13.9"; + version = "0.13.10"; src = fetchCrate { pname = "melody_cli"; inherit version; - sha256 = "1vqiciridm0pbh5yf42p2jfis908p6r9q3jaqy2hx3f5aggbf09q"; + sha256 = "05slrh5dqbpsvimdr0rlhj04kf1qzwij3zlardvbmvhvfccf4188"; }; - cargoSha256 = "1gf2km06qzvc0xv4vfxm6vdp3c5lgcjwwl92f4frga3cx51vbrzh"; + cargoSha256 = "0qh1byysbc6pl3cvx2vdpl8crx5id59hhrwqzk5g7091spm8wf79"; meta = with lib; { description = "Language that compiles to regular expressions"; diff --git a/pkgs/tools/misc/pmbootstrap/default.nix b/pkgs/tools/misc/pmbootstrap/default.nix index 913bfc00a1586..0c09368277b34 100644 --- a/pkgs/tools/misc/pmbootstrap/default.nix +++ b/pkgs/tools/misc/pmbootstrap/default.nix @@ -3,11 +3,11 @@ buildPythonApplication rec { pname = "pmbootstrap"; - version = "1.41.0"; + version = "1.43.0"; src = fetchPypi { inherit pname version; - sha256 = "sha256-go3EXmC9Vp0xXi1mH65p85FKsTe0CbyNXw3VVRrnpeQ="; + sha256 = "sha256-4bPxWmzlyVZrkq9qs/5t+ZOsVDkAAwYc6Mc4een4Qnw="; }; repo = fetchFromGitLab { @@ -15,7 +15,7 @@ buildPythonApplication rec { owner = "postmarketOS"; repo = pname; rev = version; - sha256 = "sha256-7Y4rxSdJQaIlq4yiadvrEro0JM5xoHeISDKHz69T4z8="; + sha256 = "sha256-jbTzPGrRVisLG7f4NspkDVB8NYSyyInHkhSUPO3dgU0="; }; pmb_test = "${repo}/test"; diff --git a/pkgs/tools/misc/powerline-go/default.nix b/pkgs/tools/misc/powerline-go/default.nix index 3eb29c8744187..b28c478de479b 100644 --- a/pkgs/tools/misc/powerline-go/default.nix +++ b/pkgs/tools/misc/powerline-go/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "powerline-go"; - version = "unstable-2021-07-15"; + version = "1.22.1"; src = fetchFromGitHub { owner = "justjanne"; repo = pname; - rev = "f27435b26b5001c52ffb1aee454572c59494c81b"; - sha256 = "sha256-YB/WMprjXA5ZN6baT5nWahNj0xwbP8kzS7X/1tCwWiE="; + rev = "v${version}"; + sha256 = "sha256-7QhW0Vn1u63N0fzSiX/vu0HNhFkoSFHXteJCrcFX+4Q="; }; - vendorSha256 = "sha256-HYF6aKz+P241EKmupEoretadlrh9FBRx6nIER66jofg="; + vendorSha256 = "sha256-+R+UwoYJ+KsV+jQj8+wfEsCAvezolsoPDNzCnGLzOEc="; meta = with lib; { description = "A Powerline like prompt for Bash, ZSH and Fish"; diff --git a/pkgs/tools/misc/pubs/default.nix b/pkgs/tools/misc/pubs/default.nix index 36afc1d4cbb0a..04021e40b74d1 100644 --- a/pkgs/tools/misc/pubs/default.nix +++ b/pkgs/tools/misc/pubs/default.nix @@ -1,34 +1,54 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ lib +, fetchFromGitHub +, python3 +}: -python3Packages.buildPythonApplication rec { +python3.pkgs.buildPythonApplication rec { pname = "pubs"; - version = "0.8.3"; + version = "0.9.0"; src = fetchFromGitHub { owner = "pubs"; repo = "pubs"; rev = "v${version}"; - sha256 = "0npgsyxj7kby5laznk5ilkrychs3i68y57gphwk48w8k9fvnl3zc"; + hash = "sha256-U/9MLqfXrzYVGttFSafw4pYDy26WgdsJMCxciZzO1pw="; }; - propagatedBuildInputs = with python3Packages; [ - argcomplete python-dateutil configobj feedparser bibtexparser pyyaml requests six + propagatedBuildInputs = with python3.pkgs; [ + pyyaml + bibtexparser + python-dateutil + six + requests + configobj beautifulsoup4 + feedparser + argcomplete ]; - checkInputs = with python3Packages; [ pyfakefs mock ddt ]; + checkInputs = with python3.pkgs; [ + pyfakefs + mock + ddt + pytestCheckHook + ]; + + disabledTestPaths = [ + # Disabling git tests because they expect git to be preconfigured + # with the user's details. See + # https://github.com/NixOS/nixpkgs/issues/94663 + "tests/test_git.py" + ]; - # Disabling git tests because they expect git to be preconfigured - # with the user's details. See - # https://github.com/NixOS/nixpkgs/issues/94663 - preCheck = '' - rm tests/test_git.py - ''; + disabledTests = [ + # https://github.com/pubs/pubs/issues/276 + "test_readme" + ]; meta = with lib; { description = "Command-line bibliography manager"; homepage = "https://github.com/pubs/pubs"; - license = licenses.lgpl3; - maintainers = with maintainers; [ gebner ]; + license = licenses.lgpl3Only; + maintainers = with maintainers; [ gebner dotlambda ]; }; } diff --git a/pkgs/tools/misc/vector/default.nix b/pkgs/tools/misc/vector/default.nix index 41279b1434db0..ec9958ec54587 100644 --- a/pkgs/tools/misc/vector/default.nix +++ b/pkgs/tools/misc/vector/default.nix @@ -30,7 +30,7 @@ let pname = "vector"; - version = "0.21.0"; + version = "0.21.1"; in rustPlatform.buildRustPackage { inherit pname version; @@ -39,10 +39,10 @@ rustPlatform.buildRustPackage { owner = "timberio"; repo = pname; rev = "v${version}"; - sha256 = "sha256-ZhOtrv63ZhG3OEWLTk+VdZr6Y6f9KvyCJvAKWck7B7o="; + sha256 = "sha256-eskm+H0D+SB3PB76T6Z+iL5jjyy51lOXy88QXsn/Azs="; }; - cargoSha256 = "sha256-VGB+ljojXGrQmcN0AT90hFk9h5nwjDTtzGpWmItw9x4="; + cargoSha256 = "sha256-fN6o8Fcqdhs5c3RID+ok1Xo5g6nF9m3f8EWIJ47dn/k="; nativeBuildInputs = [ pkg-config cmake perl ]; buildInputs = [ oniguruma openssl protobuf rdkafka zstd ] ++ lib.optionals stdenv.isDarwin [ Security libiconv coreutils CoreServices ]; @@ -62,9 +62,8 @@ rustPlatform.buildRustPackage { buildFeatures = features; # TODO investigate compilation failure for tests - # dev dependency includes httpmock which depends on iashc which depends on curl-sys with http2 feature enabled - # compilation fails because of a missing http2 include - doCheck = !stdenv.isDarwin; + # there are about 100 tests failing (out of 1100) for version 0.21.1 + doCheck = false; checkFlags = [ # tries to make a network access diff --git a/pkgs/tools/misc/watchexec/default.nix b/pkgs/tools/misc/watchexec/default.nix index b9be5982f7744..d54e906f347e6 100644 --- a/pkgs/tools/misc/watchexec/default.nix +++ b/pkgs/tools/misc/watchexec/default.nix @@ -2,21 +2,23 @@ rustPlatform.buildRustPackage rec { pname = "watchexec"; - version = "1.17.1"; + version = "1.19.0"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "cli-v${version}"; - sha256 = "13yqghdhakkwp607j84a1vbqgnqqn77a5mh27cr24352ik2vkrkq"; + sha256 = "sha256-Zqu6Qor7kHSeOFyHjcrl6RhB8gL9pljHt7hEd6/0Kss="; }; - cargoSha256 = "0grzfzxw705zs5qb2h7k0yws45m20ihhh4mnpmk3wargbxpn6gsh"; + cargoSha256 = "sha256-XwgoYaqgDkNggzi2TL/JPfh8LSFSzSWOVMbkmhXX73I="; nativeBuildInputs = [ installShellFiles ]; buildInputs = lib.optionals stdenv.isDarwin [ CoreServices Foundation libiconv ]; + checkFlags = [ "--skip=help" "--skip=help_short" ]; + postInstall = '' installManPage doc/watchexec.1 installShellCompletion --zsh --name _watchexec completions/zsh diff --git a/pkgs/tools/misc/yafetch/default.nix b/pkgs/tools/misc/yafetch/default.nix index 5a08218440079..f55926d0ae39a 100644 --- a/pkgs/tools/misc/yafetch/default.nix +++ b/pkgs/tools/misc/yafetch/default.nix @@ -1,29 +1,29 @@ -{ lib, stdenv, fetchFromGitLab }: +{ lib, stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { pname = "yafetch"; - version = "unstable-2021-07-18"; + version = "unstable-2022-04-20"; - src = fetchFromGitLab { - owner = "cyberkitty"; + src = fetchFromGitHub { + owner = "kira64xyz"; repo = pname; - rev = "f3efbca54df1ffea22cc40034114af141ccff9c1"; - sha256 = "1cxhrjy9vzq87rzql4dcknkwca7nydysp1p1x4fh1qfw79dfdmxw"; + rev = "a118cfc13f0b475db7c266105c10138d838788b8"; + sha256 = "bSJlerfbJG6h5dDwWQKHnVLH6DEuvuUyqaRuJ7jvOsA="; }; # Use the provided NixOS logo automatically prePatch = '' substituteInPlace ./config.h --replace \ - "#include \"ascii/tux.h\"" "#include \"ascii/nixos.h\"" + "#include \"ascii/gnu.h\"" "#include \"ascii/nixos.h\"" ''; # Fixes installation path PREFIX = placeholder "out"; meta = with lib; { - homepage = "https://gitlab.com/cyberkitty/yafetch"; + homepage = "https://github.com/kira64xyz/yafetch"; description = "Yet another fetch clone written in C++"; - license = licenses.gpl2Only; + license = licenses.gpl3Plus; maintainers = with maintainers; [ ivar ashley ]; platforms = platforms.linux; }; diff --git a/pkgs/tools/misc/zellij/default.nix b/pkgs/tools/misc/zellij/default.nix index e8b39bb1caa12..b12d096435bd1 100644 --- a/pkgs/tools/misc/zellij/default.nix +++ b/pkgs/tools/misc/zellij/default.nix @@ -10,7 +10,7 @@ , Foundation , mandown , zellij -, testVersion +, testers }: rustPlatform.buildRustPackage rec { @@ -54,7 +54,7 @@ rustPlatform.buildRustPackage rec { --zsh <($out/bin/zellij setup --generate-completion zsh) ''; - passthru.tests.version = testVersion { package = zellij; }; + passthru.tests.version = testers.testVersion { package = zellij; }; meta = with lib; { description = "A terminal workspace with batteries included"; diff --git a/pkgs/tools/networking/bore-cli/default.nix b/pkgs/tools/networking/bore-cli/default.nix index 9d9d99b45fa74..370a726caa643 100644 --- a/pkgs/tools/networking/bore-cli/default.nix +++ b/pkgs/tools/networking/bore-cli/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "bore-cli"; - version = "0.2.1"; + version = "0.2.3"; src = fetchFromGitHub { owner = "ekzhang"; repo = "bore"; rev = "v${version}"; - sha256 = "sha256-k1QpNpN6MVt7+PIDFcJtd7yD1ZpBJ9GFBBagVArRifs="; + sha256 = "sha256-KSJ5KYXOwjtK1oE9IpsVKb7H4uuKJroCpM1Dk+2XJlY="; }; - cargoSha256 = "sha256-fNsMNU4npChqyIeonMSc6AjcBxVYVJhiG++HkQ3FM9M="; + cargoSha256 = "sha256-HPMEbHDRmsmcr7Fuhsyr+NkdI9t1sL7q8uzj8sFks0s="; # tests do not find grcov path correctly meta = with lib; { diff --git a/pkgs/tools/networking/checkip/default.nix b/pkgs/tools/networking/checkip/default.nix index 7959bdaa83ea7..1ae0f00360262 100644 --- a/pkgs/tools/networking/checkip/default.nix +++ b/pkgs/tools/networking/checkip/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "checkip"; - version = "0.24.5"; + version = "0.35.2"; src = fetchFromGitHub { owner = "jreisinger"; repo = pname; rev = "v${version}"; - sha256 = "sha256-/sTagdlWU6hU3TTeJcZ8WK4TqmvxgUbC5eLBz2FH6Jo="; + sha256 = "sha256-O6jVedVwzC575s7LS0gx1t6mUizQGv4Gcqra57vXX+w="; }; vendorSha256 = "sha256-NHu1hZFPT2k8izrvvz7w0vlVe/nKH0nS4oXUGS8CWcc="; diff --git a/pkgs/tools/networking/clash/default.nix b/pkgs/tools/networking/clash/default.nix index 844335df223c3..c73e487904efb 100644 --- a/pkgs/tools/networking/clash/default.nix +++ b/pkgs/tools/networking/clash/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchFromGitHub, buildGoModule, testVersion, clash }: +{ lib, fetchFromGitHub, buildGoModule, testers, clash }: buildGoModule rec { pname = "clash"; @@ -26,7 +26,7 @@ buildGoModule rec { "-X github.com/Dreamacro/clash/constant.Version=${version}" ]; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = clash; command = "clash -v"; }; diff --git a/pkgs/tools/networking/curlie/default.nix b/pkgs/tools/networking/curlie/default.nix index fb46ab3fe102a..c251e1c149ee2 100644 --- a/pkgs/tools/networking/curlie/default.nix +++ b/pkgs/tools/networking/curlie/default.nix @@ -1,4 +1,4 @@ -{ buildGoModule, fetchFromGitHub, lib, curlie, testVersion }: +{ buildGoModule, fetchFromGitHub, lib, curlie, testers }: buildGoModule rec { pname = "curlie"; @@ -15,7 +15,7 @@ buildGoModule rec { ldflags = [ "-s" "-w" "-X main.version=${version}" ]; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = curlie; command = "curlie version"; }; diff --git a/pkgs/tools/networking/dnstake/default.nix b/pkgs/tools/networking/dnstake/default.nix index 9ddf853b7d9b6..e1719d19ecfbf 100644 --- a/pkgs/tools/networking/dnstake/default.nix +++ b/pkgs/tools/networking/dnstake/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "dnstake"; - version = "0.1.0"; + version = "0.1.1"; src = fetchFromGitHub { owner = "pwnesia"; repo = pname; rev = "v${version}"; - sha256 = "sha256-XfZDRu1UrH5nVh1GQCQVaEamKorWSOxQZs556iDqfS8="; + sha256 = "sha256-k6j7DIwK8YAKmEjn8JJO7XBcap9ui6cgUSJG7CeHAAM="; }; vendorSha256 = "sha256-l3IKvcO10C+PVDX962tFWny7eMNC48ATIVqiHjpVH/Y="; diff --git a/pkgs/tools/networking/findomain/default.nix b/pkgs/tools/networking/findomain/default.nix index 6295c4562b0b0..a1020a319a7d3 100644 --- a/pkgs/tools/networking/findomain/default.nix +++ b/pkgs/tools/networking/findomain/default.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage rec { pname = "findomain"; - version = "8.0.0"; + version = "8.1.1"; src = fetchFromGitHub { owner = "Edu4rdSHL"; repo = pname; rev = version; - sha256 = "sha256-Bk3p8+FkjrF/nLsPRx8daqieV8iewAbcoO2DglFSERg="; + sha256 = "sha256-ngT9ZtPsCzcmZbwpmzbEcSUTHPezzdyAB12qrm5Z6n0="; }; - cargoSha256 = "sha256-chHr/3yN2PLUQLYqkln12q3+n7tX2IclVGpXBCkPxCQ="; + cargoSha256 = "sha256-nHNS1Uskggm5e1paWRSiL4HHcooDbYe0toMwR05OkDQ="; nativeBuildInputs = [ installShellFiles perl ]; buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ]; diff --git a/pkgs/tools/networking/innernet/default.nix b/pkgs/tools/networking/innernet/default.nix index 68ccdfc3870d7..6f7669ff6f7f7 100644 --- a/pkgs/tools/networking/innernet/default.nix +++ b/pkgs/tools/networking/innernet/default.nix @@ -8,7 +8,7 @@ , Security , libiconv , innernet -, testVersion +, testers }: rustPlatform.buildRustPackage rec { @@ -40,8 +40,8 @@ rustPlatform.buildRustPackage rec { ''; passthru.tests = { - serverVersion = testVersion { package = innernet; command = "innernet-server --version"; }; - version = testVersion { package = innernet; command = "innernet --version"; }; + serverVersion = testers.testVersion { package = innernet; command = "innernet-server --version"; }; + version = testers.testVersion { package = innernet; command = "innernet --version"; }; }; meta = with lib; { diff --git a/pkgs/tools/networking/openconnect/common.nix b/pkgs/tools/networking/openconnect/common.nix index 63a0ecc93eb24..555fd43035e68 100644 --- a/pkgs/tools/networking/openconnect/common.nix +++ b/pkgs/tools/networking/openconnect/common.nix @@ -6,6 +6,7 @@ , stdenv , pkg-config , gnutls +, p11-kit , openssl , useOpenSSL ? false , gmp @@ -30,7 +31,8 @@ stdenv.mkDerivation rec { ]; buildInputs = [ gmp libxml2 stoken zlib (if useOpenSSL then openssl else gnutls) ] - ++ lib.optional stdenv.isDarwin PCSC; + ++ lib.optional stdenv.isDarwin PCSC + ++ lib.optional stdenv.isLinux p11-kit; nativeBuildInputs = [ pkg-config autoreconfHook ]; meta = with lib; { diff --git a/pkgs/tools/networking/opensnitch/daemon.nix b/pkgs/tools/networking/opensnitch/daemon.nix index 25b4206641991..96c509e47fbd5 100644 --- a/pkgs/tools/networking/opensnitch/daemon.nix +++ b/pkgs/tools/networking/opensnitch/daemon.nix @@ -15,13 +15,13 @@ buildGoModule rec { pname = "opensnitch"; - version = "1.5.0"; + version = "1.5.1"; src = fetchFromGitHub { owner = "evilsocket"; repo = "opensnitch"; rev = "v${version}"; - sha256 = "sha256-vtD82v0VlaJtCICXduD3IxJ0xjlBuzGKLWLoCiwPX2I="; + sha256 = "sha256-8IfupmQb1romGEvv/xqFkYhp0gGoY4ZEllX6rZYIkqw="; }; patches = [ diff --git a/pkgs/tools/networking/openssh/common.nix b/pkgs/tools/networking/openssh/common.nix index bd127b9092ccd..4245d06a1cd06 100644 --- a/pkgs/tools/networking/openssh/common.nix +++ b/pkgs/tools/networking/openssh/common.nix @@ -37,6 +37,11 @@ stdenv.mkDerivation rec { patches = [ ./locale_archive.patch + (fetchurl { + url = "https://git.alpinelinux.org/aports/plain/main/openssh/gss-serv.c.patch?id=a7509603971ce2f3282486a43bb773b1b522af83"; + sha256 = "sha256-eFFOd4B2nccRZAQWwdBPBoKWjfEdKEVGJvKZAzLu3HU="; + }) + # See discussion in https://github.com/NixOS/nixpkgs/pull/16966 ./dont_create_privsep_path.patch ] ++ extraPatches; diff --git a/pkgs/tools/networking/p2p/jesec-rtorrent/default.nix b/pkgs/tools/networking/p2p/jesec-rtorrent/default.nix deleted file mode 100644 index 56fec5333fc77..0000000000000 --- a/pkgs/tools/networking/p2p/jesec-rtorrent/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ lib -, pkgs -, callPackage -}: - -rec { - libtorrent = callPackage ./libtorrent.nix { }; - rtorrent = callPackage ./rtorrent.nix { }; -} diff --git a/pkgs/tools/networking/p2p/rakshasa-rtorrent/default.nix b/pkgs/tools/networking/p2p/rakshasa-rtorrent/default.nix deleted file mode 100644 index 56fec5333fc77..0000000000000 --- a/pkgs/tools/networking/p2p/rakshasa-rtorrent/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ lib -, pkgs -, callPackage -}: - -rec { - libtorrent = callPackage ./libtorrent.nix { }; - rtorrent = callPackage ./rtorrent.nix { }; -} diff --git a/pkgs/tools/networking/pathvector/default.nix b/pkgs/tools/networking/pathvector/default.nix new file mode 100644 index 0000000000000..529e80ebade6d --- /dev/null +++ b/pkgs/tools/networking/pathvector/default.nix @@ -0,0 +1,28 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "pathvector"; + version = "5.11.1"; + + src = fetchFromGitHub { + owner = "natesales"; + repo = "pathvector"; + rev = "v${version}"; + sha256 = "sha256-OgIDk+05bG2KrBQOyyMPaH0OJXU3gLM9OBab9lI+yXw="; + }; + + vendorSha256 = "sha256-R3o1L34FXbtRzJ1I2Xj4iWsiFJJWexGWYv2TmvhINe0="; + + CGO_ENABLED = 0; + + ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" "-X main.date=unknown" ]; + + doCheck = false; + + meta = with lib; { + description = "Declarative edge routing platform that automates route optimization and control plane configuration"; + homepage = "https://pathvector.io"; + license = licenses.gpl3; + maintainers = with maintainers; [ matthewpi ]; + }; +} diff --git a/pkgs/tools/networking/pmacct/default.nix b/pkgs/tools/networking/pmacct/default.nix index 32b800521e160..aa699d5bcad50 100644 --- a/pkgs/tools/networking/pmacct/default.nix +++ b/pkgs/tools/networking/pmacct/default.nix @@ -13,7 +13,7 @@ , withPgSQL ? true, postgresql , withMysql ? true, libmysqlclient, zlib, numactl , gnutlsSupport ? false, gnutls -, testVersion +, testers , pmacct }: @@ -55,7 +55,7 @@ stdenv.mkDerivation rec { ++ lib.optional gnutlsSupport "--enable-gnutls"; passthru.tests = { - version = testVersion { package = pmacct; command = "pmacct -V"; }; + version = testers.testVersion { package = pmacct; command = "pmacct -V"; }; }; meta = with lib; { diff --git a/pkgs/tools/networking/siege/default.nix b/pkgs/tools/networking/siege/default.nix index 446acbe32782a..d22a0bf5c522a 100644 --- a/pkgs/tools/networking/siege/default.nix +++ b/pkgs/tools/networking/siege/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { pname = "siege"; - version = "4.1.2"; + version = "4.1.3"; src = fetchurl { url = "http://download.joedog.org/siege/${pname}-${version}.tar.gz"; - hash = "sha256-5HKr4Zxak/a+W/1k3/JvZo2ixtIQr4ITtgycDbF+ynk="; + hash = "sha256-IlC8qPylOfGk5Mvluomv0yxHObL7xgx8phaNmngveQo="; }; NIX_LDFLAGS = lib.optionalString stdenv.isLinux [ diff --git a/pkgs/tools/networking/smartdns/default.nix b/pkgs/tools/networking/smartdns/default.nix index 399aeefd9c3df..9763d52d0b1dc 100644 --- a/pkgs/tools/networking/smartdns/default.nix +++ b/pkgs/tools/networking/smartdns/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, openssl, testVersion, smartdns }: +{ lib, stdenv, fetchFromGitHub, openssl, testers, smartdns }: stdenv.mkDerivation rec { pname = "smartdns"; @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { installFlags = [ "SYSCONFDIR=${placeholder "out"}/etc" ]; passthru.tests = { - version = testVersion { package = smartdns; }; + version = testers.testVersion { package = smartdns; }; }; meta = with lib; { diff --git a/pkgs/tools/networking/vpnc/default.nix b/pkgs/tools/networking/vpnc/default.nix index 31a4262d8a645..ed61c5ade911e 100644 --- a/pkgs/tools/networking/vpnc/default.nix +++ b/pkgs/tools/networking/vpnc/default.nix @@ -1,29 +1,21 @@ -{ lib, stdenv, fetchsvn -, makeWrapper, pkg-config -, gawk, gnutls, libgcrypt, nettools, openresolv, perl +{ lib, stdenv, fetchFromGitHub, fetchpatch +, makeWrapper, pkg-config, perl +, gawk, gnutls, libgcrypt, openresolv, vpnc-scripts , opensslSupport ? false, openssl # Distributing this is a GPL violation. }: stdenv.mkDerivation { pname = "vpnc"; - version = "0.5.3-post-r550"; - src = fetchsvn { - url = "https://svn.unix-ag.uni-kl.de/vpnc"; - rev = "550"; - sha256 = "0x4ckfv9lpykwmh28v1kyzz91y1j2v48fi8q5nsawrba4q0wlrls"; + version = "unstable-2021-11-04"; + + src = fetchFromGitHub { + owner = "streambinder"; + repo = "vpnc"; + rev = "c8bb5371b881f8853f191c495e762f834c9def5d"; + sha256 = "1j1p83nfc2fpwczjcggsby0b44hk97ky0s6vns6md3awlbpgdn57"; + fetchSubmodules = true; }; - postUnpack = '' - mv $sourceRoot/trunk/* $sourceRoot/. - rm -r $sourceRoot/{trunk,branches,tags} - ''; - - patches = [ ./no_default_route_when_netmask.patch ]; - - # The `etc/vpnc/vpnc-script' script relies on `which' and on - # `ifconfig' as found in net-tools (not GNU Inetutils). - propagatedBuildInputs = [ nettools ]; - nativeBuildInputs = [ makeWrapper ] ++ lib.optional (!opensslSupport) pkg-config; buildInputs = [ libgcrypt perl ] @@ -32,36 +24,15 @@ stdenv.mkDerivation { makeFlags = [ "PREFIX=$(out)" "ETCDIR=$(out)/etc/vpnc" - "SCRIPT_PATH=$(out)/etc/vpnc/vpnc-script" + "SCRIPT_PATH=${vpnc-scripts}/bin/vpnc-script" ] ++ lib.optional opensslSupport "OPENSSL_GPL_VIOLATION=yes"; postPatch = '' - patchShebangs makeman.pl - ''; - - preConfigure = '' - substituteInPlace "vpnc-script" \ - --replace "which" "type -P" \ - --replace "awk" "${gawk}/bin/awk" \ - --replace "/sbin/resolvconf" "${openresolv}/bin/resolvconf" - - substituteInPlace "config.c" \ - --replace "/etc/vpnc/vpnc-script" "$out/etc/vpnc/vpnc-script" - ''; - - postInstall = '' - for i in "$out/{bin,sbin}/"* - do - wrapProgram $i --prefix PATH : \ - "${nettools}/bin:${nettools}/sbin" - done - - mkdir -p $out/share/doc/vpnc - cp README nortel.txt ChangeLog $out/share/doc/vpnc/ + patchShebangs src/makeman.pl ''; meta = with lib; { - homepage = "https://www.unix-ag.uni-kl.de/~massar/vpnc/"; + homepage = "https://davidepucci.it/doc/vpnc/"; description = "Virtual private network (VPN) client for Cisco's VPN concentrators"; license = if opensslSupport then licenses.unfree else licenses.gpl2Plus; platforms = platforms.linux; diff --git a/pkgs/tools/networking/vpnc/no_default_route_when_netmask.patch b/pkgs/tools/networking/vpnc/no_default_route_when_netmask.patch deleted file mode 100644 index fa12abe9b7765..0000000000000 --- a/pkgs/tools/networking/vpnc/no_default_route_when_netmask.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -uNr a/vpnc-script b/vpnc-script ---- a/vpnc-script 2015-09-06 13:19:11.408661526 +0200 -+++ b/vpnc-script 2015-09-06 14:47:40.260871556 +0200 -@@ -647,7 +647,7 @@ - echo "$i" | grep : >/dev/null || \ - set_network_route "$i" "255.255.255.255" "32" - done -- elif [ -n "$INTERNAL_IP4_ADDRESS" ]; then -+ elif [ -n "$INTERNAL_IP4_ADDRESS" -a -z "$INTERNAL_IP4_NETMASK" ]; then - set_default_route - fi - if [ -n "$CISCO_IPV6_SPLIT_INC" ]; then diff --git a/pkgs/tools/networking/weighttp/default.nix b/pkgs/tools/networking/weighttp/default.nix deleted file mode 100644 index 7a26ffdeb436c..0000000000000 --- a/pkgs/tools/networking/weighttp/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ lib, stdenv, fetchgit, python2, libev, wafHook }: - -stdenv.mkDerivation rec { - pname = "weighttp"; - version = "0.4"; - - src = fetchgit { - url = "https://git.lighttpd.net/weighttp.git"; - rev = "refs/tags/weighttp-${version}"; - sha256 = "14yjmdx9p8g8c3zlrx5qid8k156lsagfwhl3ny54162nxjf7kzgr"; - }; - - nativeBuildInputs = [ wafHook ]; - - buildInputs = [ python2 libev ]; - - meta = with lib; { - description = "Lightweight and simple webserver benchmarking tool"; - homepage = "https://redmine.lighttpd.net/projects/weighttp/wiki"; - platforms = platforms.unix; - license = licenses.mit; - }; -} diff --git a/pkgs/tools/nix/alejandra/default.nix b/pkgs/tools/nix/alejandra/default.nix index 43b6200972dd8..62deef516d50e 100644 --- a/pkgs/tools/nix/alejandra/default.nix +++ b/pkgs/tools/nix/alejandra/default.nix @@ -1,7 +1,7 @@ { lib , rustPlatform , fetchFromGitHub -, testVersion +, testers , alejandra }: @@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "sha256-SsIpggbRQPjpCYgCG4sSJ022MmMV4bJJ8UAHcJR74O8="; passthru.tests = { - version = testVersion { package = alejandra; }; + version = testers.testVersion { package = alejandra; }; }; meta = with lib; { diff --git a/pkgs/tools/package-management/cargo-outdated/default.nix b/pkgs/tools/package-management/cargo-outdated/default.nix index a1f783a7fe484..2013f15d1e1a6 100644 --- a/pkgs/tools/package-management/cargo-outdated/default.nix +++ b/pkgs/tools/package-management/cargo-outdated/default.nix @@ -11,14 +11,14 @@ rustPlatform.buildRustPackage rec { pname = "cargo-outdated"; - version = "0.11.0"; + version = "0.11.1"; src = fetchCrate { inherit pname version; - sha256 = "sha256-43PqIM61MXY35BSprRNPTMyVUEVD15sq4+6PHS/P2o0="; + sha256 = "sha256-vEgYmtRAashBRsGDExewqaGsVYF7EJ4ky+cE/PMFW38="; }; - cargoSha256 = "sha256-ue93L8pyjKR+bxNdltQcsHSPJ3Iz+4gpeskIhhR2/wI="; + cargoSha256 = "sha256-xstcKIXQDk4ngwWSzMueO47U2oFRHAqvvjRnDXFsPE8="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/tools/package-management/cargo-release/default.nix b/pkgs/tools/package-management/cargo-release/default.nix index 49a6d64506065..469eecde99fc9 100644 --- a/pkgs/tools/package-management/cargo-release/default.nix +++ b/pkgs/tools/package-management/cargo-release/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-release"; - version = "0.20.3"; + version = "0.20.5"; src = fetchFromGitHub { owner = "crate-ci"; repo = "cargo-release"; rev = "v${version}"; - sha256 = "sha256-oYnqrNqbn/OsJd0Lh6rQ2pt7FrLOp5p3MoavC56dWQc="; + sha256 = "sha256-3UuDo6lW+SG4XhqEKvpe/JeJXwEeYTA0i65yJAjDVHk="; }; - cargoSha256 = "sha256-LtDIzqHzzur+GxxvUHciNQCRmxqdmaXSG4ncMV3Rx3c="; + cargoSha256 = "sha256-/3gh3NdIuWl0xtbLahNRGBl/BGpVUmR7sHUIX3bttpQ="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/tools/package-management/comma/default.nix b/pkgs/tools/package-management/comma/default.nix index 5314285061e77..a9885fc135181 100644 --- a/pkgs/tools/package-management/comma/default.nix +++ b/pkgs/tools/package-management/comma/default.nix @@ -1,11 +1,12 @@ -{ lib -, rustPlatform +{ comma , fetchFromGitHub -, nix , fzy +, lib , makeWrapper +, nix +, nix-index +, rustPlatform , testVersion -, comma }: rustPlatform.buildRustPackage rec { @@ -25,7 +26,7 @@ rustPlatform.buildRustPackage rec { postInstall = '' wrapProgram $out/bin/comma \ - --prefix PATH : ${lib.makeBinPath [ nix fzy ]} + --prefix PATH : ${lib.makeBinPath [ nix fzy nix-index ]} ln -s $out/bin/comma $out/bin/, ''; diff --git a/pkgs/tools/package-management/nix-eval-jobs/default.nix b/pkgs/tools/package-management/nix-eval-jobs/default.nix index 1023d23432c2a..2d50dbc571d01 100644 --- a/pkgs/tools/package-management/nix-eval-jobs/default.nix +++ b/pkgs/tools/package-management/nix-eval-jobs/default.nix @@ -11,12 +11,12 @@ }: stdenv.mkDerivation rec { pname = "nix-eval-jobs"; - version = "0.0.4"; + version = "0.0.5"; src = fetchFromGitHub { owner = "nix-community"; repo = pname; rev = "v${version}"; - hash = "sha256-SCwvFlBYUlxCucjMO4GHhEQWZFZt0lRKJncm6hvDx9I="; + hash = "sha256-3/F9q6MRebTltJzuhIukHrxgUyd5pi34IzaklfdvKe4="; }; buildInputs = [ boost diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 027efe4686942..8e0860dfe5812 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -78,10 +78,14 @@ in lib.makeExtensible (self: { sha256 = "sha256-xz7QnWVCI12lX1+K/Zr9UpB93b10t1HS9y/5n5FYf8Q="; }) ]; + }; + nix_2_8 = common { + version = "2.8.0"; + sha256 = "sha256-gWYNlEyleqkPfxtGXeq6ggjzJwcXJVdieJxA1Obly9s="; }; - stable = self.nix_2_7; + stable = self.nix_2_8; unstable = lib.lowPrio (common rec { version = "2.8"; diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix index bc78eb7f1017f..b5ad987b27beb 100644 --- a/pkgs/tools/security/exploitdb/default.nix +++ b/pkgs/tools/security/exploitdb/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "exploitdb"; - version = "2022-04-12"; + version = "2022-04-20"; src = fetchFromGitHub { owner = "offensive-security"; repo = pname; rev = version; - sha256 = "sha256-Ucbw09oFklulyXr8mGO5RskKNZx0rPTA6hPJgYByPAI="; + sha256 = "sha256-8sDixCXJA1K6hnPtLzNCB9gJh1GShCC89VTCJ63ohKA="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/security/feroxbuster/default.nix b/pkgs/tools/security/feroxbuster/default.nix index bc1df5eb56928..d73ba4306337c 100644 --- a/pkgs/tools/security/feroxbuster/default.nix +++ b/pkgs/tools/security/feroxbuster/default.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage rec { pname = "feroxbuster"; - version = "2.6.4"; + version = "2.7.0"; src = fetchFromGitHub { owner = "epi052"; repo = pname; - rev = "v${version}"; - hash = "sha256-aTyjZc+bsA4rvbcFTLArK+zbfF6thHEYyPbMx9vLcMo="; + rev = version; + hash = "sha256-Ub4HOi38fYNJkpXfms1/aDl97h2UI1Fru8+NAiAztoc="; }; - cargoSha256 = "sha256-PLrIMgn0o+fFB6Zv9sf7X4gZyHwVSd6BOM1/KUo3TAg="; + cargoSha256 = "sha256-ODLL++wn8IQloEFZXF8TasercTKJ0nhPtny4fsi03Ks="; OPENSSL_NO_VENDOR = true; diff --git a/pkgs/tools/security/gau/default.nix b/pkgs/tools/security/gau/default.nix index 8113289a9c4f3..29a0aadd15611 100644 --- a/pkgs/tools/security/gau/default.nix +++ b/pkgs/tools/security/gau/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "gau"; - version = "2.0.9"; + version = "2.1.1"; src = fetchFromGitHub { owner = "lc"; repo = pname; rev = "v${version}"; - sha256 = "sha256-8op515+0wDxxU1e08gJ6lg/8NhQScFb4b3mCzBV/VNw="; + sha256 = "sha256-jIMBvRnY1Z/cLwBnWGp1fsx6oLri1qiknLj+r9B4GHc="; }; vendorSha256 = "sha256-HQATUCzYvhhlqe4HhNu9H4CqmY2IGLNJ9ydt3/igSmQ="; diff --git a/pkgs/tools/security/gitleaks/default.nix b/pkgs/tools/security/gitleaks/default.nix index d8df6c98c1c2c..4f9d8dd26b0ad 100644 --- a/pkgs/tools/security/gitleaks/default.nix +++ b/pkgs/tools/security/gitleaks/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "gitleaks"; - version = "8.7.0"; + version = "8.8.1"; src = fetchFromGitHub { owner = "zricethezav"; repo = pname; rev = "v${version}"; - sha256 = "sha256-4ED7xmwbFXs6OnCtG+xrY50kBsgESxw/a8slhWOo+30="; + sha256 = "sha256-yXyebPZN5WbSP4x2cbdlWqbwhVW24x6VmmodK6GCMH8="; }; - vendorSha256 = "sha256-ls6zuouCAmE3y9011CK1YADy/v87Ft8tb85LyJ4bEF4="; + vendorSha256 = "sha256-X8z9iKRR3PptNHwy1clZG8QsClsjbW45nZb2fHGfSYk="; ldflags = [ "-s" diff --git a/pkgs/tools/security/maigret/default.nix b/pkgs/tools/security/maigret/default.nix index 6de0db971a47f..5fe281017b551 100644 --- a/pkgs/tools/security/maigret/default.nix +++ b/pkgs/tools/security/maigret/default.nix @@ -5,13 +5,13 @@ python3.pkgs.buildPythonApplication rec { pname = "maigret"; - version = "0.4.2"; + version = "0.4.3"; src = fetchFromGitHub { owner = "soxoj"; repo = pname; - rev = "v${version}"; - sha256 = "sha256-XML7sb/dhMX9i8GzOezanVTFha73v2m1OVOYvSOelNQ="; + rev = "refs/tags/v${version}"; + sha256 = "sha256-0Ni4rXVu3ZQyHBvD3IpV0i849CnumLj+n6/g4sMhHEs="; }; propagatedBuildInputs = with python3.pkgs; [ diff --git a/pkgs/tools/security/signify/default.nix b/pkgs/tools/security/signify/default.nix index 3ac6f58dce944..645cb010bdf3b 100644 --- a/pkgs/tools/security/signify/default.nix +++ b/pkgs/tools/security/signify/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "signify"; - version = "30"; + version = "31"; src = fetchFromGitHub { owner = "aperezdc"; repo = "signify"; rev = "v${version}"; - sha256 = "02xh6x6rszkvk3rf6zai7n3ivchmw0d8mwllpinjxc7k6sd415c3"; + sha256 = "sha256-y9jWG1JJhYCn6e5E2qjVqK8nmZpktiB7d9e9uP+3DLo="; }; doCheck = true; diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix index d349c205ad4f0..907f3f4e7c552 100644 --- a/pkgs/tools/security/vault/default.nix +++ b/pkgs/tools/security/vault/default.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "vault"; - version = "1.10.0"; + version = "1.10.1"; src = fetchFromGitHub { owner = "hashicorp"; repo = "vault"; rev = "v${version}"; - sha256 = "sha256-XgrEtAVfMcXbmAjwgIWME/v85QHJ11fUXapAZtS/lSw="; + sha256 = "sha256-In+rc5H8HNx5hGySYvCqx6hQ7tmTioHiNdJIMyMRNvU="; }; - vendorSha256 = "sha256-Bo0+HSG7NqaweMKPdl+kzB6RdbQsy2FAzmr7ZZVgcsg="; + vendorSha256 = "sha256-z0PsLrT4jtSof4Bd62juGLv58EV22TnPx6fosMvW97c="; subPackages = [ "." ]; diff --git a/pkgs/tools/system/btop/default.nix b/pkgs/tools/system/btop/default.nix index 85aaee0bb9e44..86547d04e467d 100644 --- a/pkgs/tools/system/btop/default.nix +++ b/pkgs/tools/system/btop/default.nix @@ -8,8 +8,8 @@ stdenv.mkDerivation rec { pname = "btop"; - version = "1.2.5"; - hash = "sha256-W7DTaJVA9xqdgBjrrR+OK1buBMrjpw2T0I//ZZKQFOw="; + version = "1.2.6"; + hash = "sha256-q1Dpdw7bVSG10xtoUpelRgMrWe71vCWajjsAHjAZzQ4="; src = fetchFromGitHub { owner = "aristocratos"; diff --git a/pkgs/tools/system/consul-template/default.nix b/pkgs/tools/system/consul-template/default.nix index 5d09020eec343..c265cf028bc8a 100644 --- a/pkgs/tools/system/consul-template/default.nix +++ b/pkgs/tools/system/consul-template/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "consul-template"; - version = "0.28.0"; + version = "0.29.0"; src = fetchFromGitHub { owner = "hashicorp"; repo = "consul-template"; rev = "v${version}"; - sha256 = "sha256-9NsudhalFm0km7BmK+2QzK9LxirrVtIFzNrugpw4f8g="; + sha256 = "sha256-HxzniR4z3YzvFww3KqhtelaqMQJBsSw83pfz+jHxvKQ="; }; - vendorSha256 = "sha256-SUbQPzFZUBgFZvaLc8730hZhJvt3/ni306Vt3EZMOmU="; + vendorSha256 = "sha256-wRNfxJVX45dfIBZ0sy48qbPkAsD0CIB1PDTiGs8Fjhs="; # consul-template tests depend on vault and consul services running to # execute tests so we skip them here diff --git a/pkgs/tools/system/lshw/default.nix b/pkgs/tools/system/lshw/default.nix index 25bf79cadddf7..76897823029a4 100644 --- a/pkgs/tools/system/lshw/default.nix +++ b/pkgs/tools/system/lshw/default.nix @@ -1,40 +1,36 @@ -{ stdenv, lib, fetchurl, fetchpatch -, withGUI ? false, gtk2, pkg-config, sqlite # compile GUI +{ stdenv +, lib +, fetchFromGitHub +, hwdata +, gtk2 +, pkg-config +, sqlite # compile GUI +, withGUI ? false }: stdenv.mkDerivation rec { pname = "lshw"; - version = "B.02.18"; - - src = fetchurl { - url = "https://ezix.org/software/files/lshw-${version}.tar.gz"; - sha256 = "0brwra4jld0d53d7jsgca415ljglmmx1l2iazpj4ndilr48yy8mf"; + # Fix repology.org by not including the prefixed B, otherwise the `pname` attr + # gets filled as `lshw-B.XX.XX` in `nix-env --query --available --attr nixpkgs.lshw --meta` + # See https://github.com/NixOS/nix/pull/4463 for a definitive fix + version = "02.19"; + + src = fetchFromGitHub { + owner = "lyonel"; + repo = pname; + rev = "B.${version}"; + sha256 = "sha256-PzbNGc1pPiPLWWgTeWoNfAo+SsXgi1HcjnXfYXA9S0I="; }; - patches = [ - (fetchpatch { - # fix crash in scan_dmi_sysfs() when run as non-root - url = "https://github.com/lyonel/lshw/commit/fbdc6ab15f7eea0ddcd63da355356ef156dd0d96.patch"; - sha256 = "147wyr5m185f8swsmb4q1ahs9r1rycapbpa2548aqbv298bbish3"; - }) - (fetchpatch { - # support cross-compilation - url = "https://github.com/lyonel/lshw/commit/8486d25cea9b68794504fbd9e5c6e294bac6cb07.patch"; - sha256 = "08f0wnxsq0agvsc66bhc7lxvk564ir0pp8pg3cym6a621prb9lm0"; - }) - ]; - nativeBuildInputs = [ pkg-config ]; - buildInputs = lib.optionals withGUI [ gtk2 sqlite ]; + buildInputs = [ hwdata ] + ++ lib.optionals withGUI [ gtk2 sqlite ]; - # Fix version info. - preConfigure = '' - sed -e "s/return \"unknown\"/return \"${version}\"/" \ - -i src/core/version.cc - ''; - - makeFlags = [ "PREFIX=$(out)" ]; + makeFlags = [ + "PREFIX=$(out)" + "VERSION=${src.rev}" + ]; buildFlags = [ "all" ] ++ lib.optional withGUI "gui"; @@ -46,7 +42,7 @@ stdenv.mkDerivation rec { homepage = "https://ezix.org/project/wiki/HardwareLiSter"; description = "Provide detailed information on the hardware configuration of the machine"; license = licenses.gpl2; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ thiagokokada ]; platforms = platforms.linux; }; } diff --git a/pkgs/tools/system/s-tui/default.nix b/pkgs/tools/system/s-tui/default.nix index 1152e66bd8870..5c759eea8a12d 100644 --- a/pkgs/tools/system/s-tui/default.nix +++ b/pkgs/tools/system/s-tui/default.nix @@ -3,7 +3,7 @@ , python3Packages , nix-update-script , s-tui -, testVersion +, testers }: python3Packages.buildPythonPackage rec { @@ -22,7 +22,7 @@ python3Packages.buildPythonPackage rec { passthru = { updateScript = nix-update-script { attrPath = pname; }; - tests = testVersion { package = s-tui; }; + tests = testers.testVersion { package = s-tui; }; }; meta = with lib; { diff --git a/pkgs/tools/text/crowdin-cli/default.nix b/pkgs/tools/text/crowdin-cli/default.nix index e73b58d4e6ba2..6111a6f1c8bd6 100644 --- a/pkgs/tools/text/crowdin-cli/default.nix +++ b/pkgs/tools/text/crowdin-cli/default.nix @@ -8,7 +8,7 @@ , jre , makeWrapper , crowdin-cli -, testVersion +, testers , unzip }: @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { runHook postInstall ''; - passthru.tests.version = testVersion { package = crowdin-cli; }; + passthru.tests.version = testers.testVersion { package = crowdin-cli; }; meta = with lib; { mainProgram = "crowdin"; diff --git a/pkgs/tools/text/difftastic/default.nix b/pkgs/tools/text/difftastic/default.nix index 12ad1a764fb2a..1c1d6fc6bfa0b 100644 --- a/pkgs/tools/text/difftastic/default.nix +++ b/pkgs/tools/text/difftastic/default.nix @@ -1,19 +1,19 @@ -{ lib, fetchFromGitHub, rustPlatform, tree-sitter, difftastic, testVersion }: +{ lib, fetchFromGitHub, rustPlatform, tree-sitter, difftastic, testers }: rustPlatform.buildRustPackage rec { pname = "difftastic"; - version = "0.26.3"; + version = "0.27.0"; src = fetchFromGitHub { owner = "wilfred"; repo = pname; rev = version; - sha256 = "11qvl78dskhawmzjbff2cd4icwvlfhg8hzf1law5w5cr768zv7yn"; + sha256 = "sha256-jdkyDsuOOG1dJmgRmMp2KhY9ermccjrxK2JAIzpO6nw="; }; - cargoSha256 = "1kmwd9m94kl3j6ajfndr7rjx66fsqvnn2jh0m54ac5qd5r9hhdc8"; + cargoSha256 = "sha256-qHG3ve8HoMWBS/x6mRbXMsrpcqNqfVcbAkfYOk7Su/0="; - passthru.tests.version = testVersion { package = difftastic; }; + passthru.tests.version = testers.testVersion { package = difftastic; }; meta = with lib; { description = "A syntax-aware diff"; diff --git a/pkgs/tools/text/igrep/default.nix b/pkgs/tools/text/igrep/default.nix index 28c896a828e5e..87f9de373e23b 100644 --- a/pkgs/tools/text/igrep/default.nix +++ b/pkgs/tools/text/igrep/default.nix @@ -3,7 +3,7 @@ , fetchFromGitHub , stdenv , Security -, testVersion +, testers , igrep }: @@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec { buildInputs = lib.optionals stdenv.isDarwin [ Security ]; passthru.tests = { - version = testVersion { package = igrep; command = "ig --version"; }; + version = testers.testVersion { package = igrep; command = "ig --version"; }; }; meta = with lib; { diff --git a/pkgs/tools/text/mdbook-linkcheck/default.nix b/pkgs/tools/text/mdbook-linkcheck/default.nix index b37b16876b0f1..eaccd05eb9c44 100644 --- a/pkgs/tools/text/mdbook-linkcheck/default.nix +++ b/pkgs/tools/text/mdbook-linkcheck/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, Security -, testVersion, mdbook-linkcheck }: +, testers, mdbook-linkcheck }: rustPlatform.buildRustPackage rec { pname = "mdbook-linkcheck"; @@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec { doCheck = false; # tries to access network to test broken web link functionality - passthru.tests.version = testVersion { package = mdbook-linkcheck; }; + passthru.tests.version = testers.testVersion { package = mdbook-linkcheck; }; meta = with lib; { description = "A backend for `mdbook` which will check your links for you."; diff --git a/pkgs/tools/text/ugrep/default.nix b/pkgs/tools/text/ugrep/default.nix index 2511e0c88b215..f3e3d00aeee4c 100644 --- a/pkgs/tools/text/ugrep/default.nix +++ b/pkgs/tools/text/ugrep/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "ugrep"; - version = "3.7.7"; + version = "3.7.9"; src = fetchFromGitHub { owner = "Genivia"; repo = pname; rev = "v${version}"; - sha256 = "sha256-FucHivUd9WVQlTsBJbnSd2Q6WQpoFjm6dS0eb6z8SSs="; + sha256 = "sha256-ZY3pihHU5FLu41vKrM/U06iZZ6D/LSuoyy2gHJJqRFY="; }; buildInputs = [ diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 011f3a2c33f8f..6a42ebc5b5be8 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -448,6 +448,7 @@ mapAliases ({ gmic_krita_qt = gmic-qt-krita; # Added 2019-09-07 gmvault = throw "gmvault has been removed because it is unmaintained, mostly broken, and insecure"; # Added 2021-03-08 gnash = throw "gnash has been removed; broken and abandoned upstream"; # added 2022-02-06 + gnome-breeze = throw "gnome-breeze has been removed, use libsForQt5.breeze-gtk instead"; # Added 2022-04-22 gnome-firmware-updater = gnome-firmware; # added 2022-04-14 gnome-passwordsafe = gnome-secrets; # added 2022-01-30 gnome-mpv = celluloid; # Added 2019-08-22 @@ -867,6 +868,7 @@ mapAliases ({ noto-fonts-cjk = noto-fonts-cjk-sans; # Added 2021-12-16 nottetris2 = throw "nottetris2 was removed because it is unmaintained by upstream and broken"; # Added 2022-01-15 now-cli = throw "now-cli has been replaced with nodePackages.vercel"; # Added 2021-08-05 + ntdb = throw "ntdb has been removed: abandoned by upstream"; # Added 2022-04-21 nxproxy = throw "'nxproxy' has been renamed to/replaced by 'nx-libs'"; # Converted to throw 2022-02-22 ### O ### @@ -1253,6 +1255,7 @@ mapAliases ({ terraform_1_0 = throw "terraform_1_0 has been renamed to terraform_1"; # Added 2021-12-08 terraform_1_0_0 = throw "terraform_1_0_0 has been renamed to terraform_1"; # Added 2021-06-15 tesseract_4 = throw "'tesseract_4' has been renamed to/replaced by 'tesseract4'"; # Converted to throw 2022-02-22 + testVersion = testers.testVersion; # Added 2022-04-20 tex-gyre-bonum-math = throw "'tex-gyre-bonum-math' has been renamed to/replaced by 'tex-gyre-math.bonum'"; # Converted to throw 2022-02-22 tex-gyre-pagella-math = throw "'tex-gyre-pagella-math' has been renamed to/replaced by 'tex-gyre-math.pagella'"; # Converted to throw 2022-02-22 tex-gyre-schola-math = throw "'tex-gyre-schola-math' has been renamed to/replaced by 'tex-gyre-math.schola'"; # Converted to throw 2022-02-22 @@ -1338,6 +1341,7 @@ mapAliases ({ webbrowser = throw "webbrowser was removed because it's unmaintained upstream and was marked as broken in nixpkgs for over a year"; # Added 2022-03-21 webkit = throw "'webkit' has been renamed to/replaced by 'webkitgtk'"; # Converted to throw 2022-02-22 weechat-matrix-bridge = throw "'weechat-matrix-bridge' has been renamed to/replaced by 'weechatScripts.weechat-matrix-bridge'"; # Converted to throw 2022-02-22 + weighttp = throw "weighttp has been removed: abandoned by upstream"; # Added 2022-04-20 whirlpool-gui = throw "whirlpool-gui has been removed as it depended on an insecure version of Electron"; # added 2022-02-08 wicd = throw "wicd has been removed as it is abandoned"; # Added 2021-09-11 wineFull = throw "'wineFull' has been renamed to/replaced by 'winePackages.full'"; # Converted to throw 2022-02-22 @@ -1346,6 +1350,7 @@ mapAliases ({ wineStaging = throw "'wineStaging' has been renamed to/replaced by 'wine-staging'"; # Converted to throw 2022-02-22 wineUnstable = throw "'wineUnstable' has been renamed to/replaced by 'winePackages.unstable'"; # Converted to throw 2022-02-22 wineWayland = wine-wayland; + winpdb = throw "winpdb has been removed: abandoned by upstream"; # Added 2022-04-22 winusb = throw "'winusb' has been renamed to/replaced by 'woeusb'"; # Converted to throw 2022-02-22 wireguard = throw "'wireguard' has been renamed to/replaced by 'wireguard-tools'"; # Converted to throw 2022-02-22 wxmupen64plus = throw "wxmupen64plus was removed because the upstream disappeared"; # Added 2022-01-31 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7ff59deceecbe..866f6b2011b4e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -433,6 +433,10 @@ with pkgs; devour = callPackage ../tools/X11/devour {}; + didyoumean = callPackage ../tools/misc/didyoumean { + inherit (darwin.apple_sdk.frameworks) AppKit; + }; + diffPlugins = (callPackage ../build-support/plugins.nix {}).diffPlugins; dieHook = makeSetupHook {} ../build-support/setup-hooks/die.sh; @@ -593,6 +597,15 @@ with pkgs; mod = callPackage ../development/tools/mod { }; + mysql-shell = callPackage ../development/tools/mysql-shell { + inherit (darwin) cctools developer_cmds DarwinTools; + inherit (darwin.apple_sdk.frameworks) CoreServices; + boost = boost173; # Configure checks for specific version. + protobuf = protobuf3_11; + icu = icu67; + v8 = v8_8_x; + }; + broadlink-cli = callPackage ../tools/misc/broadlink-cli {}; fetchpatch = callPackage ../build-support/fetchpatch { } @@ -712,8 +725,8 @@ with pkgs; installShellFiles = callPackage ../build-support/install-shell-files {}; - # See doc/builders/special/invalidateFetcherByDrvHash.section.md or - # https://nixos.org/manual/nixpkgs/unstable/#sec-pkgs-invalidateFetcherByDrvHash + # See doc/builders/testers.chapter.md or + # https://nixos.org/manual/nixpkgs/unstable/#tester-invalidateFetcherByDrvHash invalidateFetcherByDrvHash = f: args: let drvPath = (f args).drvPath; @@ -1342,7 +1355,11 @@ with pkgs; simplenes = callPackage ../applications/emulators/simplenes { }; - snes9x-gtk = callPackage ../applications/emulators/snes9x-gtk { }; + snes9x = callPackage ../applications/emulators/snes9x { }; + + snes9x-gtk = callPackage ../applications/emulators/snes9x { + withGtk = true; + }; stella = callPackage ../applications/emulators/stella { }; @@ -1427,13 +1444,12 @@ with pkgs; ### APPLICATIONS/EMULATORS/YUZU - yuzu-mainline = import ../applications/emulators/yuzu { + yuzu-mainline = callPackage ../applications/emulators/yuzu { branch = "mainline"; - inherit libsForQt5 fetchFromGitHub; }; - yuzu-ea = import ../applications/emulators/yuzu { + + yuzu-ea = callPackage ../applications/emulators/yuzu { branch = "early-access"; - inherit libsForQt5 fetchFromGitHub; }; ### APPLICATIONS/EMULATORS/COMMANDERX16 @@ -2091,6 +2107,8 @@ with pkgs; droidcam = callPackage ../applications/video/droidcam { }; + droidmote = callPackage ../tools/inputmethods/droidmote { }; + ecdsautils = callPackage ../tools/security/ecdsautils { }; echidna = haskell.lib.compose.justStaticExecutables (haskellPackages.callPackage (../tools/security/echidna) { }); @@ -3584,7 +3602,6 @@ with pkgs; gpu-burn = callPackage ../applications/misc/gpu-burn { # gpu-burn doesn't build on gcc11. CUDA 11.3 is the last version to use # pre-gcc11, in particular gcc9. - cudatoolkit = cudaPackages_11_3.cudatoolkit; stdenv = gcc9Stdenv; }; @@ -4884,7 +4901,7 @@ with pkgs; cudaPackages_11_4 = callPackage ./cuda-packages.nix { cudaVersion = "11.4"; }; cudaPackages_11_5 = callPackage ./cuda-packages.nix { cudaVersion = "11.5"; }; cudaPackages_11_6 = callPackage ./cuda-packages.nix { cudaVersion = "11.6"; }; - cudaPackages_11 = cudaPackages_11_5; + cudaPackages_11 = cudaPackages_11_6; cudaPackages = recurseIntoAttrs cudaPackages_11; # TODO: move to alias @@ -7135,6 +7152,10 @@ with pkgs; jadx = callPackage ../tools/security/jadx { }; jamesdsp = libsForQt5.callPackage ../applications/audio/jamesdsp { }; + jamesdsp-pulse = libsForQt5.callPackage ../applications/audio/jamesdsp { + usePipewire = false; + usePulseaudio = true; + }; jazzy = callPackage ../development/tools/jazzy { }; @@ -7736,10 +7757,13 @@ with pkgs; nodejs-slim-17_x = callPackage ../development/web/nodejs/v17.nix { enableNpm = false; }; + nodejs-18_x = callPackage ../development/web/nodejs/v18.nix { }; + nodejs-slim-18_x = callPackage ../development/web/nodejs/v18.nix { + enableNpm = false; + }; # Update this when adding the newest nodejs major version! - # Do not set to nodejs-17_x because it requires 10.13 SDK on Darwin - nodejs_latest = nodejs-16_x; - nodejs-slim_latest = nodejs-slim-16_x; + nodejs_latest = nodejs-18_x; + nodejs-slim_latest = nodejs-slim-18_x; nodePackages_latest = dontRecurseIntoAttrs nodejs_latest.pkgs; @@ -7914,21 +7938,13 @@ with pkgs; libnids = callPackage ../tools/networking/libnids { }; - rakshasa-rtorrent = recurseIntoAttrs - (callPackage ../tools/networking/p2p/rakshasa-rtorrent { - callPackage = newScope pkgs.rakshasa-rtorrent; - }); - - rtorrent = rakshasa-rtorrent.rtorrent; - libtorrent = rakshasa-rtorrent.libtorrent; - - jesec-rtorrent = recurseIntoAttrs - (callPackage ../tools/networking/p2p/jesec-rtorrent { - callPackage = newScope pkgs.jesec-rtorrent; - }); + rtorrent = callPackage ../applications/networking/p2p/rakshasa-rtorrent { + libtorrent = callPackage ../applications/networking/p2p/rakshasa-rtorrent/libtorrent.nix { }; + }; - rtorrent-jesec = jesec-rtorrent.rtorrent; - libtorrent-jesec = jesec-rtorrent.libtorrent; + jesec-rtorrent = callPackage ../applications/networking/p2p/jesec-rtorrent { + libtorrent = callPackage ../applications/networking/p2p/jesec-rtorrent/libtorrent.nix { }; + }; libmpack = callPackage ../development/libraries/libmpack { }; @@ -8600,6 +8616,8 @@ with pkgs; patray = callPackage ../tools/audio/patray { }; + pathvector = callPackage ../tools/networking/pathvector { }; + pasystray = callPackage ../tools/audio/pasystray { }; pcmsolver = callPackage ../development/libraries/pcmsolver { }; @@ -8636,6 +8654,8 @@ with pkgs; npapi_sdk = callPackage ../development/libraries/npapi-sdk {}; + nickel = callPackage ../development/interpreters/nickel { }; + npiet = callPackage ../development/interpreters/npiet { }; npth = callPackage ../development/libraries/npth {}; @@ -11547,8 +11567,6 @@ with pkgs; webalizer = callPackage ../tools/networking/webalizer { }; - weighttp = callPackage ../tools/networking/weighttp { }; - wget = callPackage ../tools/networking/wget { libpsl = null; }; @@ -11622,6 +11640,8 @@ with pkgs; wv2 = callPackage ../tools/misc/wv2 { }; + wvkbd = callPackage ../applications/accessibility/wvkbd { }; + wyrd = callPackage ../tools/misc/wyrd { ocamlPackages = ocaml-ng.ocamlPackages_4_05; }; @@ -12125,6 +12145,10 @@ with pkgs; jdk = jdk8; }; + alan = callPackage ../development/compilers/alan { }; + + alan_2 = callPackage ../development/compilers/alan/2.nix { }; + algol68g = callPackage ../development/compilers/algol68g { }; armips = callPackage ../development/compilers/armips { @@ -13249,7 +13273,7 @@ with pkgs; inherit (stdenvAdapters) overrideCC; buildLlvmTools = buildPackages.llvmPackages_11.tools; targetLlvmLibraries = targetPackages.llvmPackages_11.libraries or llvmPackages_11.libraries; - } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) { + } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.hostPlatform == stdenv.buildPlatform && buildPackages.stdenv.cc.isGNU) { stdenv = gcc7Stdenv; })); @@ -13257,7 +13281,7 @@ with pkgs; inherit (stdenvAdapters) overrideCC; buildLlvmTools = buildPackages.llvmPackages_12.tools; targetLlvmLibraries = targetPackages.llvmPackages_12.libraries or llvmPackages_12.libraries; - } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) { + } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.hostPlatform == stdenv.buildPlatform && buildPackages.stdenv.cc.isGNU) { stdenv = gcc7Stdenv; })); @@ -13265,7 +13289,7 @@ with pkgs; inherit (stdenvAdapters) overrideCC; buildLlvmTools = buildPackages.llvmPackages_13.tools; targetLlvmLibraries = targetPackages.llvmPackages_13.libraries or llvmPackages_13.libraries; - } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) { + } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.hostPlatform == stdenv.buildPlatform && buildPackages.stdenv.cc.isGNU) { stdenv = gcc7Stdenv; })); @@ -13273,7 +13297,7 @@ with pkgs; inherit (stdenvAdapters) overrideCC; buildLlvmTools = buildPackages.llvmPackages_14.tools; targetLlvmLibraries = targetPackages.llvmPackages_14.libraries or llvmPackages_14.libraries; - } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) { + } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.hostPlatform == stdenv.buildPlatform && buildPackages.stdenv.cc.isGNU) { stdenv = gcc7Stdenv; })); @@ -14453,6 +14477,20 @@ with pkgs; supercollider_scel = supercollider.override { useSCEL = true; }; + supercolliderPlugins = recurseIntoAttrs { + sc3-plugins = callPackage ../development/interpreters/supercollider/plugins/sc3-plugins.nix { + fftw = fftwSinglePrec; + }; + }; + + supercollider-with-plugins = callPackage ../development/interpreters/supercollider/wrapper.nix { + plugins = []; + }; + + supercollider-with-sc3-plugins = supercollider-with-plugins.override { + plugins = with supercolliderPlugins; [ sc3-plugins ]; + }; + taktuk = callPackage ../applications/networking/cluster/taktuk { }; tcl = tcl-8_6; @@ -14677,7 +14715,8 @@ with pkgs; electron_14 electron_15 electron_16 - electron_17; + electron_17 + electron_18; autobuild = callPackage ../development/tools/misc/autobuild { }; @@ -15209,7 +15248,9 @@ with pkgs; doit = with python3Packages; toPythonApplication doit; - dolt = callPackage ../servers/sql/dolt { }; + dolt = callPackage ../servers/sql/dolt { + buildGoModule = buildGo118Module; + }; dot2tex = with python3.pkgs; toPythonApplication dot2tex; @@ -15774,8 +15815,15 @@ with pkgs; parse-cli-bin = callPackage ../development/tools/parse-cli-bin { }; - patchelf = callPackage ../development/tools/misc/patchelf { }; + patchelf = if with stdenv.buildPlatform; isAarch64 && isMusl then + patchelf_0_13 + else + patchelf_0_14; patchelf_0_9 = callPackage ../development/tools/misc/patchelf/0.9.nix { }; + patchelf_0_13 = callPackage ../development/tools/misc/patchelf/0.13.nix { + patchelf = patchelf_0_14; + }; + patchelf_0_14 = callPackage ../development/tools/misc/patchelf { }; patchelfUnstable = lowPrio (callPackage ../development/tools/misc/patchelf/unstable.nix { }); @@ -16311,8 +16359,6 @@ with pkgs; zydis = callPackage ../development/libraries/zydis { }; - winpdb = callPackage ../development/tools/winpdb { }; - grabserial = callPackage ../development/tools/grabserial { }; mypy = with python3Packages; toPythonApplication mypy; @@ -17122,6 +17168,7 @@ with pkgs; gegl = callPackage ../development/libraries/gegl { inherit (darwin.apple_sdk.frameworks) OpenCL; + libraw = libraw_0_20; }; gensio = callPackage ../development/libraries/gensio {}; @@ -17699,7 +17746,7 @@ with pkgs; hydraAntLogger = callPackage ../development/libraries/java/hydra-ant-logger { }; - hydra-check = with python3.pkgs; toPythonApplication hydra-check; + hydra-check = with python310.pkgs; toPythonApplication hydra-check; hyena = callPackage ../development/libraries/hyena { }; @@ -20668,8 +20715,6 @@ with pkgs; tclx = callPackage ../development/libraries/tclx { }; - ntdb = callPackage ../development/libraries/ntdb { }; - tdb = callPackage ../development/libraries/tdb {}; tdlib = callPackage ../development/libraries/tdlib { }; @@ -22435,7 +22480,9 @@ with pkgs; systemd-journal2gelf = callPackage ../tools/system/systemd-journal2gelf { }; - tailscale = callPackage ../servers/tailscale { }; + tailscale = callPackage ../servers/tailscale { + buildGoModule = buildGo118Module; + }; thanos = callPackage ../servers/monitoring/thanos { }; @@ -23089,6 +23136,8 @@ with pkgs; # XanMod kernel linuxPackages_xanmod = linuxKernel.packages.linux_xanmod; linux_xanmod = linuxKernel.kernels.linux_xanmod; + linuxPackages_xanmod_latest = linuxKernel.packages.linux_xanmod_latest; + linux_xanmod_latest = linuxKernel.kernels.linux_xanmod_latest; cryptodev = linuxKernel.packages.linux_4_9.cryptodev; @@ -23105,6 +23154,7 @@ with pkgs; }; libraw = callPackage ../development/libraries/libraw { }; + libraw_0_20 = callPackage ../development/libraries/libraw/0_20.nix { }; libraw1394 = callPackage ../development/libraries/libraw1394 { }; @@ -23114,7 +23164,6 @@ with pkgs; cudaSupport = true; # librealsenseWithCuda doesn't build on gcc11. CUDA 11.3 is the last version # to use pre-gcc11, in particular gcc9. - cudaPackages = cudaPackages_11_3; stdenv = gcc9Stdenv; }; @@ -23922,6 +23971,8 @@ with pkgs; comfortaa = callPackage ../data/fonts/comfortaa {}; + comic-mono = callPackage ../data/fonts/comic-mono { }; + comic-neue = callPackage ../data/fonts/comic-neue { }; comic-relief = callPackage ../data/fonts/comic-relief {}; @@ -24100,8 +24151,6 @@ with pkgs; gsettings-desktop-schemas = callPackage ../development/libraries/gsettings-desktop-schemas { }; - gnome-breeze = callPackage ../data/themes/gnome-breeze { }; - gnome-icon-theme = callPackage ../data/icons/gnome-icon-theme { }; go-font = callPackage ../data/fonts/go-font { }; @@ -25810,6 +25859,8 @@ with pkgs; espeakedit = callPackage ../applications/audio/espeak/edit.nix { }; + espeakup = callPackage ../applications/accessibility/espeakup { }; + etebase-server = with python3Packages; toPythonApplication etebase-server; etesync-dav = callPackage ../applications/misc/etesync-dav {}; @@ -31126,8 +31177,16 @@ with pkgs; keeperrl = callPackage ../games/keeperrl { }; + ### GAMES/LGAMES + + barrage = callPackage ../games/lgames/barrage { }; + lbreakout2 = callPackage ../games/lgames/lbreakout2 { }; + lbreakouthd = callPackage ../games/lgames/lbreakouthd { }; + + lpairs2 = callPackage ../games/lgames/lpairs2 { }; + ltris = callPackage ../games/lgames/ltris { }; lunar-client = callPackage ../games/lunar-client { }; @@ -33474,6 +33533,8 @@ with pkgs; acpilight = callPackage ../misc/acpilight { }; + alpnpass = callPackage ../applications/networking/alpnpass { }; + android-file-transfer = libsForQt5.callPackage ../tools/filesystems/android-file-transfer { }; antimicrox = libsForQt5.callPackage ../tools/misc/antimicrox { }; diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index e3f5695fac53a..e02802b88abe7 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -212,12 +212,22 @@ in { ]; }; - linux_xanmod = callPackage ../os-specific/linux/kernel/linux-xanmod.nix { + # This contains both the STABLE and EDGE variants of the XanMod kernel + xanmodKernels = callPackage ../os-specific/linux/kernel/xanmod-kernels.nix; + + linux_xanmod = (xanmodKernels { kernelPatches = [ kernelPatches.bridge_stp_helper kernelPatches.request_key_helper ]; - }; + }).stable; + + linux_xanmod_latest = (xanmodKernels { + kernelPatches = [ + kernelPatches.bridge_stp_helper + kernelPatches.request_key_helper + ]; + }).edge; linux_libre = deblobKernel packageAliases.linux_default.kernel; @@ -528,6 +538,7 @@ in { linux_zen = recurseIntoAttrs (packagesFor kernels.linux_zen); linux_lqx = recurseIntoAttrs (packagesFor kernels.linux_lqx); linux_xanmod = recurseIntoAttrs (packagesFor kernels.linux_xanmod); + linux_xanmod_latest = recurseIntoAttrs (packagesFor kernels.linux_xanmod_latest); hardkernel_4_14 = recurseIntoAttrs (packagesFor kernels.linux_hardkernel_4_14); diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 4601739d4fef0..138cf3ca8578e 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1268,6 +1268,8 @@ let rebez = callPackage ../development/ocaml-modules/rebez { }; + reperf = callPackage ../development/ocaml-modules/reperf { }; + rfc7748 = callPackage ../development/ocaml-modules/rfc7748 { }; ezresto = callPackage ../development/ocaml-modules/resto/ezresto.nix { }; diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 85c79d04d333e..9d912ee5e601d 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -79,6 +79,7 @@ mapAliases ({ lammps-cython = throw "lammps-cython no longer builds and is unmaintained"; # added 2021-07-04 Markups = markups; # added 2022-02-14 MechanicalSoup = mechanicalsoup; # added 2021-06-01 + net2grid = gridnet; # add 2022-04-22 nose-cover3 = throw "nose-cover3 has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-02-16 pam = python-pam; # added 2020-09-07. PasteDeploy = pastedeploy; # added 2021-10-07 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 489a250ba5e4c..e2a37a9419cfc 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -375,6 +375,8 @@ in { aiopylgtv = callPackage ../development/python-modules/aiopylgtv { }; + aioqsw = callPackage ../development/python-modules/aioqsw { }; + aiorecollect = callPackage ../development/python-modules/aiorecollect { }; aioredis = callPackage ../development/python-modules/aioredis { }; @@ -1553,6 +1555,8 @@ in { certipy = callPackage ../development/python-modules/certipy { }; + certomancer = callPackage ../development/python-modules/certomancer { }; + certvalidator = callPackage ../development/python-modules/certvalidator { }; cffi = callPackage ../development/python-modules/cffi { }; @@ -1958,11 +1962,7 @@ in { cufflinks = callPackage ../development/python-modules/cufflinks { }; - cupy = callPackage ../development/python-modules/cupy { - # cupy doesn't build on gcc11. CUDA 11.3 is the last version to use - # pre-gcc11, in particular gcc9. - cudaPackages = pkgs.cudaPackages_11_3; - }; + cupy = callPackage ../development/python-modules/cupy { }; curio = callPackage ../development/python-modules/curio { }; @@ -2540,6 +2540,8 @@ in { dynd = callPackage ../development/python-modules/dynd { }; + eagle100 = callPackage ../development/python-modules/eagle100 { }; + easydict = callPackage ../development/python-modules/easydict { }; easygui = callPackage ../development/python-modules/easygui { }; @@ -3373,6 +3375,8 @@ in { git-sweep = callPackage ../development/python-modules/git-sweep { }; + glad = callPackage ../development/python-modules/glad { }; + glances-api = callPackage ../development/python-modules/glances-api { }; glasgow = callPackage ../development/python-modules/glasgow { }; @@ -5535,8 +5539,6 @@ in { nestedtext = callPackage ../development/python-modules/nestedtext { }; - net2grid = callPackage ../development/python-modules/net2grid { }; - netaddr = callPackage ../development/python-modules/netaddr { }; netcdf4 = callPackage ../development/python-modules/netcdf4 { }; @@ -7159,6 +7161,10 @@ in { pyhamcrest = callPackage ../development/python-modules/pyhamcrest { }; + pyhanko = callPackage ../development/python-modules/pyhanko { }; + + pyhanko-certvalidator = callPackage ../development/python-modules/pyhanko-certvalidator { }; + pyhaversion = callPackage ../development/python-modules/pyhaversion { }; pyhcl = callPackage ../development/python-modules/pyhcl { }; @@ -8139,6 +8145,8 @@ in { python-axolotl-curve25519 = callPackage ../development/python-modules/python-axolotl-curve25519 { }; + python-barcode = callPackage ../development/python-modules/python-barcode { }; + python-baseconv = callPackage ../development/python-modules/python-baseconv { }; python-benedict = callPackage ../development/python-modules/python-benedict { }; @@ -8321,6 +8329,8 @@ in { python-packer = callPackage ../development/python-modules/python-packer { }; + python-pae = callPackage ../development/python-modules/python-pae { }; + python-pam = callPackage ../development/python-modules/python-pam { inherit (pkgs) pam; }; @@ -8471,6 +8481,8 @@ in { pytricia = callPackage ../development/python-modules/pytricia { }; + pyttsx3 = callPackage ../development/python-modules/pyttsx3 { }; + pytube = callPackage ../development/python-modules/pytube { }; pytun = callPackage ../development/python-modules/pytun { }; @@ -9266,6 +9278,8 @@ in { setuptoolsTrial = callPackage ../development/python-modules/setuptoolstrial { }; + seventeentrack = callPackage ../development/python-modules/seventeentrack { }; + sexpdata = callPackage ../development/python-modules/sexpdata { }; sfepy = callPackage ../development/python-modules/sfepy { }; @@ -9960,15 +9974,8 @@ in { tensorboardx = callPackage ../development/python-modules/tensorboardx { }; - tensorflow-bin = let - # CUDA-related packages that are compatible with the currently packaged version - # of TensorFlow, used to keep these versions in sync in related packages like `jaxlib`. - cudaPackages = pkgs.cudaPackages_11_2.overrideScope' (final: prev: { - cudnn = prev.cudnn_8_1_1; - }); - in callPackage ../development/python-modules/tensorflow/bin.nix { + tensorflow-bin = callPackage ../development/python-modules/tensorflow/bin.nix { cudaSupport = pkgs.config.cudaSupport or false; - inherit cudaPackages; }; tensorflow-build = callPackage ../development/python-modules/tensorflow { @@ -10442,6 +10449,8 @@ in { ueagle = callPackage ../development/python-modules/ueagle { }; + uharfbuzz = callPackage ../development/python-modules/uharfbuzz { }; + ujson = callPackage ../development/python-modules/ujson { }; ukkonen = callPackage ../development/python-modules/ukkonen { }; @@ -10828,6 +10837,8 @@ in { wiffi = callPackage ../development/python-modules/wiffi { }; + wifi = callPackage ../development/python-modules/wifi { }; + willow = callPackage ../development/python-modules/willow { }; winacl = callPackage ../development/python-modules/winacl { }; |