diff --git a/.eslintignore b/.eslintignore index 46426f55e2387..7710f0da72918 100644 --- a/.eslintignore +++ b/.eslintignore @@ -6,6 +6,7 @@ packages/*/dist/** packages/*/lib/** packages/*/scripts/** **/dist/* +**/public/* **/__testfixtures__/** **/__tests__/fixtures/** peril @@ -24,3 +25,7 @@ packages/gatsby-image/withIEPolyfill/index.js packages/gatsby/cache-dir/commonjs/**/* packages/gatsby-admin/public packages/gatsby/gatsby-admin-public + +packages/gatsby-source-wordpress/test-site/** +!packages/gatsby-source-wordpress/test-site/__tests__ +!packages/gatsby-source-wordpress/test-site/test-utils diff --git a/.prettierignore b/.prettierignore index 9b2b8447c2cb4..74c609d5c08fe 100644 --- a/.prettierignore +++ b/.prettierignore @@ -23,6 +23,7 @@ packages/gatsby-plugin-mdx/node_modules/**/*.js packages/gatsby/cache-dir/commonjs/**/*.js packages/gatsby-admin/public/styles.* packages/gatsby/gatsby-admin-public/styles.* +packages/gatsby-source-wordpress/test-site/** # fixtures **/__testfixtures__/** diff --git a/benchmarks/source-wordpress/gatsby-config.js b/benchmarks/source-wordpress/gatsby-config.js index 18756833d2749..c361ca5875566 100644 --- a/benchmarks/source-wordpress/gatsby-config.js +++ b/benchmarks/source-wordpress/gatsby-config.js @@ -18,7 +18,7 @@ module.exports = { }, }, { - resolve: `gatsby-source-wordpress-experimental`, + resolve: `gatsby-source-wordpress`, options: { url: process.env.BENCHMARK_WPGRAPHQL_URL, type: { diff --git a/benchmarks/source-wordpress/package.json b/benchmarks/source-wordpress/package.json index 6aa3ad5d20e35..3de6f14f19e1d 100644 --- a/benchmarks/source-wordpress/package.json +++ b/benchmarks/source-wordpress/package.json @@ -23,7 +23,7 @@ "gatsby-plugin-benchmark-reporting": "*", "gatsby-plugin-sharp": "^2.6.2", "gatsby-source-filesystem": "^2.1.48", - "gatsby-source-wordpress-experimental": "^5.0.0", + "gatsby-source-wordpress": "^4.0.0", "gatsby-transformer-sharp": "^2.5.2", "react": "^16.12.0", "react-dom": "^16.12.0" diff --git a/benchmarks/source-wordpress/scripts/updater.js b/benchmarks/source-wordpress/scripts/updater.js index 653d4f469435f..8705ff6aaf340 100644 --- a/benchmarks/source-wordpress/scripts/updater.js +++ b/benchmarks/source-wordpress/scripts/updater.js @@ -1,4 +1,4 @@ -const fetchGraphql = require(`gatsby-source-wordpress-experimental/dist/utils/fetch-graphql`) +const fetchGraphql = require(`gatsby-source-wordpress/dist/utils/fetch-graphql`) .default const faker = require(`faker`) diff --git a/dictionary.txt b/dictionary.txt index e12020c82264e..a9854b19476ed 100644 --- a/dictionary.txt +++ b/dictionary.txt @@ -407,7 +407,7 @@ gatsby-source-flotiq gatsby-source-graphql gatsby-source-sanity gatsby-source-tmdb -gatsby-source-wordpress-experimental +gatsby-source-wordpress gatsby-source-x-cms gatsby-starter-blog gatsby-starter-buttercms diff --git a/docs/docs/how-to/sourcing-data/headless-cms.md b/docs/docs/how-to/sourcing-data/headless-cms.md index 6c03583784e23..5377bb67277e6 100644 --- a/docs/docs/how-to/sourcing-data/headless-cms.md +++ b/docs/docs/how-to/sourcing-data/headless-cms.md @@ -21,34 +21,34 @@ The guides in this section will walk through the process of setting up content s Here are more resources for guides, plugins, and starters for CMS systems you can connect to: -| CMS | Guides | Plugin Docs | Official Starter | -| --------------------------------------------- | -------------------------------------------------------------------------------- | ----------------------------------------------------- | -------------------------------------------------------------------- | -| [Contentful](https://www.contentful.com/) | [guide](/docs/how-to/sourcing-data/sourcing-from-contentful/) | [docs](/plugins/gatsby-source-contentful) | [starter](/starters/contentful/starter-gatsby-blog/) | -| [NetlifyCMS](https://www.netlifycms.org/) | [guide](/docs/how-to/sourcing-data/sourcing-from-netlify-cms/) | [docs](/plugins/gatsby-plugin-netlify-cms) | [starter](/starters/netlify-templates/gatsby-starter-netlify-cms/) | -| [WordPress](https://www.wordpress.com/) | [guide](/docs/how-to/sourcing-data/sourcing-from-wordpress/) | [docs](/plugins/gatsby-source-wordpress-experimental) | | -| [Prismic](https://www.prismic.io/) | [guide](/docs/how-to/sourcing-data/sourcing-from-prismic/) | [docs](/plugins/gatsby-source-prismic) | | -| [Strapi](https://strapi.io/) | [guide](/blog/2018-1-18-strapi-and-gatsby/) | [docs](/plugins/gatsby-source-strapi) | | -| [DatoCMS](https://www.datocms.com/) | [guide](https://www.gatsbyjs.com/guides/datocms/) | [docs](/plugins/gatsby-source-datocms) | [starter](/starters/datocms/gatsby-portfolio/) | -| [Sanity](https://www.sanity.io/) | [guide](/docs/sourcing-from-sanity) | [docs](/plugins/gatsby-source-sanity/) | | -| [Drupal](https://www.drupal.com/) | [guide](/docs/how-to/sourcing-data/sourcing-from-drupal/) | [docs](/plugins/gatsby-source-drupal) | | -| [Shopify](https://www.shopify.com/) | | [docs](/plugins/gatsby-source-shopify) | | -| [Cosmic](https://cosmicjs.com/) | [guide](/blog/2018-06-07-build-a-gatsby-blog-using-the-cosmic-js-source-plugin/) | [docs](/plugins/gatsby-source-cosmicjs) | [starters](/starters/?s=cosmic&v=2) | -| [Contentstack](https://www.contentstack.com/) | [guide](/docs/sourcing-from-contentstack) | [docs](/plugins/gatsby-source-contentstack) | [starter](/starters/contentstack/gatsby-starter-contentstack/) | -| [ButterCMS](https://buttercms.com/) | [guide](/docs/sourcing-from-buttercms/) | [docs](/plugins/gatsby-source-buttercms) | [starter](/starters/ButterCMS/gatsby-starter-buttercms/) | -| [Ghost](https://ghost.org/) | [guide](/docs/sourcing-from-ghost/) | [docs](/plugins/gatsby-source-ghost/) | [starter](/starters/TryGhost/gatsby-starter-ghost/) | -| [Kentico Kontent](https://kontent.ai/) | [guide](/docs/sourcing-from-kentico-kontent) | [docs](/plugins/@kentico/gatsby-source-kontent) | [starter](/starters/Kentico/gatsby-starter-kontent-lumen/) | -| [Directus](https://directus.io/) | | [docs](/plugins/gatsby-source-directus) | | -| [GraphCMS](https://graphcms.com/) | [guide](/docs/sourcing-from-graphcms) | [docs](/plugins/gatsby-source-graphql) | [starter](/starters/GraphCMS/gatsby-graphcms-tailwindcss-example/) | -| [Storyblok](https://www.storyblok.com/) | [guide](https://www.storyblok.com/tp/gatsby-multilanguage-website-tutorial) | [docs](/plugins/gatsby-source-storyblok) | [starter](https://github.com/storyblok/gatsby-storyblok-boilerplate) | -| [Cockpit](https://getcockpit.com/) | | [docs](/plugins/gatsby-plugin-cockpit) | | -| [CraftCMS](https://craftcms.com/) | | [docs](/plugins/gatsby-source-craftcms) | | -| [Agility CMS](https://agilitycms.com/) | [guide](/docs/sourcing-from-agilitycms/) | [docs](/plugins/@agility/gatsby-source-agilitycms/) | [starter](/starters/agility/agility-gatsby-starter/) | -| [Forestry](https://forestry.io/) | [guide](/docs/sourcing-from-forestry/) | | | -| [Gentics Mesh](https://getmesh.io) | [guide](/docs/sourcing-from-gentics-mesh) | | | -| [Seams-CMS](https://seams-cms.com/) | [guide](/docs/sourcing-from-seams-cms) | | | -| [Builder.io](https://www.builder.io/) | [guide](/docs/sourcing-from-builder-io/) | [docs](/plugins/@builder.io/gatsby/) | [starter](https://github.com/BuilderIO/gatsby-starter-builder) | -| [Flotiq](https://flotiq.com/) | [guide](/docs/sourcing-from-flotiq/) | [docs](/plugins/gatsby-source-flotiq) | [starter](https://github.com/flotiq/gatsby-starter-blog) | -| [Tina](https://tina.io) | [guide](https://tina.io/guides/#gatsby) | [docs](https://tina.io/docs/integrations/gatsby/) | | +| CMS | Guides | Plugin Docs | Official Starter | +| --------------------------------------------- | -------------------------------------------------------------------------------- | --------------------------------------------------- | -------------------------------------------------------------------- | +| [Contentful](https://www.contentful.com/) | [guide](/docs/how-to/sourcing-data/sourcing-from-contentful/) | [docs](/plugins/gatsby-source-contentful) | [starter](/starters/contentful/starter-gatsby-blog/) | +| [NetlifyCMS](https://www.netlifycms.org/) | [guide](/docs/how-to/sourcing-data/sourcing-from-netlify-cms/) | [docs](/plugins/gatsby-plugin-netlify-cms) | [starter](/starters/netlify-templates/gatsby-starter-netlify-cms/) | +| [WordPress](https://www.wordpress.com/) | [guide](/docs/how-to/sourcing-data/sourcing-from-wordpress/) | [docs](/plugins/gatsby-source-wordpress) | | +| [Prismic](https://www.prismic.io/) | [guide](/docs/how-to/sourcing-data/sourcing-from-prismic/) | [docs](/plugins/gatsby-source-prismic) | | +| [Strapi](https://strapi.io/) | [guide](/blog/2018-1-18-strapi-and-gatsby/) | [docs](/plugins/gatsby-source-strapi) | | +| [DatoCMS](https://www.datocms.com/) | [guide](https://www.gatsbyjs.com/guides/datocms/) | [docs](/plugins/gatsby-source-datocms) | [starter](/starters/datocms/gatsby-portfolio/) | +| [Sanity](https://www.sanity.io/) | [guide](/docs/sourcing-from-sanity) | [docs](/plugins/gatsby-source-sanity/) | | +| [Drupal](https://www.drupal.com/) | [guide](/docs/how-to/sourcing-data/sourcing-from-drupal/) | [docs](/plugins/gatsby-source-drupal) | | +| [Shopify](https://www.shopify.com/) | | [docs](/plugins/gatsby-source-shopify) | | +| [Cosmic](https://cosmicjs.com/) | [guide](/blog/2018-06-07-build-a-gatsby-blog-using-the-cosmic-js-source-plugin/) | [docs](/plugins/gatsby-source-cosmicjs) | [starters](/starters/?s=cosmic&v=2) | +| [Contentstack](https://www.contentstack.com/) | [guide](/docs/sourcing-from-contentstack) | [docs](/plugins/gatsby-source-contentstack) | [starter](/starters/contentstack/gatsby-starter-contentstack/) | +| [ButterCMS](https://buttercms.com/) | [guide](/docs/sourcing-from-buttercms/) | [docs](/plugins/gatsby-source-buttercms) | [starter](/starters/ButterCMS/gatsby-starter-buttercms/) | +| [Ghost](https://ghost.org/) | [guide](/docs/sourcing-from-ghost/) | [docs](/plugins/gatsby-source-ghost/) | [starter](/starters/TryGhost/gatsby-starter-ghost/) | +| [Kentico Kontent](https://kontent.ai/) | [guide](/docs/sourcing-from-kentico-kontent) | [docs](/plugins/@kentico/gatsby-source-kontent) | [starter](/starters/Kentico/gatsby-starter-kontent-lumen/) | +| [Directus](https://directus.io/) | | [docs](/plugins/gatsby-source-directus) | | +| [GraphCMS](https://graphcms.com/) | [guide](/docs/sourcing-from-graphcms) | [docs](/plugins/gatsby-source-graphql) | [starter](/starters/GraphCMS/gatsby-graphcms-tailwindcss-example/) | +| [Storyblok](https://www.storyblok.com/) | [guide](https://www.storyblok.com/tp/gatsby-multilanguage-website-tutorial) | [docs](/plugins/gatsby-source-storyblok) | [starter](https://github.com/storyblok/gatsby-storyblok-boilerplate) | +| [Cockpit](https://getcockpit.com/) | | [docs](/plugins/gatsby-plugin-cockpit) | | +| [CraftCMS](https://craftcms.com/) | | [docs](/plugins/gatsby-source-craftcms) | | +| [Agility CMS](https://agilitycms.com/) | [guide](/docs/sourcing-from-agilitycms/) | [docs](/plugins/@agility/gatsby-source-agilitycms/) | [starter](/starters/agility/agility-gatsby-starter/) | +| [Forestry](https://forestry.io/) | [guide](/docs/sourcing-from-forestry/) | | | +| [Gentics Mesh](https://getmesh.io) | [guide](/docs/sourcing-from-gentics-mesh) | | | +| [Seams-CMS](https://seams-cms.com/) | [guide](/docs/sourcing-from-seams-cms) | | | +| [Builder.io](https://www.builder.io/) | [guide](/docs/sourcing-from-builder-io/) | [docs](/plugins/@builder.io/gatsby/) | [starter](https://github.com/BuilderIO/gatsby-starter-builder) | +| [Flotiq](https://flotiq.com/) | [guide](/docs/sourcing-from-flotiq/) | [docs](/plugins/gatsby-source-flotiq) | [starter](https://github.com/flotiq/gatsby-starter-blog) | +| [Tina](https://tina.io) | [guide](https://tina.io/guides/#gatsby) | [docs](https://tina.io/docs/integrations/gatsby/) | | ## How to add new guides to this section diff --git a/docs/docs/how-to/sourcing-data/sourcing-from-wordpress.md b/docs/docs/how-to/sourcing-data/sourcing-from-wordpress.md index 7036d0047908d..b5efc76929609 100644 --- a/docs/docs/how-to/sourcing-data/sourcing-from-wordpress.md +++ b/docs/docs/how-to/sourcing-data/sourcing-from-wordpress.md @@ -4,16 +4,16 @@ title: Sourcing from WordPress This guide will walk you through the process of using Gatsby with WordPress and [WPGraphQL](https://www.wpgraphql.com/). -WordPress is a free and open-source content management system (CMS). Let's say you have a site built with WordPress and you want to pull the existing data into your static Gatsby site. You can do that with [gatsby-source-wordpress-experimental](/plugins/gatsby-source-wordpress-experimental/?=wordpress). Let's begin! +WordPress is a free and open-source content management system (CMS). Let's say you have a site built with WordPress and you want to pull the existing data into your static Gatsby site. You can do that with [gatsby-source-wordpress](/plugins/gatsby-source-wordpress/?=wordpress). Let's begin! _Note: this guide uses the `gatsby-starter-default` to provide you with the knowledge necessary to start working with WordPress but if you get stuck at some point of the guide feel free to use -[this example](https://github.com/TylerBarnes/using-gatsby-source-wordpress-experimental) to gain extra insights._ +[this example](https://github.com/gatsbyjs/gatsby/blob/master/starters/gatsby-starter-wordpress-blog) to gain extra insights._ ## Setup ### Quick start -This guide assumes that you have a Gatsby project set up along with a WordPress instance with the [appropriate plugins](https://github.com/gatsbyjs/gatsby-source-wordpress-experimental/blob/master/docs/getting-started.md#required-wordpress-dependencies). If you need to set up a Gatsby project, head to the [Quick Start guide](/docs/quick-start), then come back. For information on configuring your WordPress instance, checkout the [docs](https://github.com/gatsbyjs/gatsby-source-wordpress-experimental/blob/master/docs/getting-started.md#required-wordpress-dependencies) before continuing. +This guide assumes that you have a Gatsby project set up along with a WordPress instance with the [appropriate plugins](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/getting-started.md#required-wordpress-dependencies). If you need to set up a Gatsby project, head to the [Quick Start guide](/docs/quick-start), then come back. For information on configuring your WordPress instance, checkout the [docs](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/getting-started.md#required-wordpress-dependencies) before continuing. ### gatsby-config.js @@ -29,12 +29,12 @@ module.exports = { } ``` -### Gatsby Plugin: gatsby-source-wordpress-experimental +### Gatsby Plugin: gatsby-source-wordpress -Now that you have some understanding of project structure let's add fetching WordPress data functionality. There's a plugin for that. [`gatsby-source-wordpress-experimental`](https://github.com/gatsbyjs/gatsby-source-wordpress-experimental) is Gatsby's plugin for sourcing data from WordPress sites using the WPGraphQL API. You can install it by running the following command: +Now that you have some understanding of project structure let's add fetching WordPress data functionality. There's a plugin for that. [`gatsby-source-wordpress`](https://github.com/gatsbyjs/gatsby-source-wordpress) is Gatsby's plugin for sourcing data from WordPress sites using the WPGraphQL API. You can install it by running the following command: ```shell -npm install gatsby-source-wordpress-experimental +npm install gatsby-source-wordpress ``` ### Configuring the plugin @@ -47,7 +47,7 @@ module.exports = { plugins: [ ..., { - resolve: `gatsby-source-wordpress-experimental`, + resolve: `gatsby-source-wordpress`, options: { url: // allows a fallback url if WPGRAPHQL_URL is not set in the env, this may be a local or remote WP instance. @@ -77,17 +77,17 @@ module.exports = { } ``` -**Note**: If your config varies from what it shown above, for instance, if you are securing your WordPress instance with Basic Auth, please refer to the [plugin docs](https://github.com/gatsbyjs/gatsby-source-wordpress-experimental/blob/master/docs/plugin-options.md) for more information on how to setup other options required for your use case. +**Note**: If your config varies from what it shown above, for instance, if you are securing your WordPress instance with Basic Auth, please refer to the [plugin docs](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/plugin-options.md) for more information on how to setup other options required for your use case. ## Using WordPress data -Once your source plugin is pulling data, you can construct your site pages by implementing the `createPages` API in `gatsby-node.js`. When this is called, your data has already been fetched and is available to query with GraphQL. Gatsby uses [GraphQL at build time](/docs/conceptual/graphql-concepts/#how-do-graphql-and-gatsby-work-together); Your source plugin (in this case, `gatsby-source-wordpress-experimental`) fetches your data, and Gatsby uses that data to "[automatically _infer_ a GraphQL schema](/docs/conceptual/graphql-concepts/#how-does-graphql-and-gatsby-work-together)" that you can query against. +Once your source plugin is pulling data, you can construct your site pages by implementing the `createPages` API in `gatsby-node.js`. When this is called, your data has already been fetched and is available to query with GraphQL. Gatsby uses [GraphQL at build time](/docs/conceptual/graphql-concepts/#how-do-graphql-and-gatsby-work-together); Your source plugin (in this case, `gatsby-source-wordpress`) fetches your data, and Gatsby uses that data to "[automatically _infer_ a GraphQL schema](/docs/conceptual/graphql-concepts/#how-does-graphql-and-gatsby-work-together)" that you can query against. The `createPages` API exposes the `graphql` function: -> The GraphQL function allows us to run arbitrary queries against the local WordPress GraphQL schema... like the site has a built-in database constructed from the fetched data that you can run queries against. ([Source](https://github.com/TylerBarnes/using-gatsby-source-wordpress-experimental/blob/master/gatsby-node.js#L21)) +> The GraphQL function allows us to run arbitrary queries against the local WordPress GraphQL schema... like the site has a built-in database constructed from the fetched data that you can run queries against. ([Source](https://github.com/gatsbyjs/gatsby/blob/master/starters/gatsby-starter-wordpress-blog/gatsby-node.js#L21)) -You can use the [`gatsby-node.js`](https://github.com/TylerBarnes/using-gatsby-source-wordpress-experimental/blob/master/gatsby-node.js) from the plugin demo to get started. For the purpose of this guide, the code to construct posts works out of the box. It queries your local WordPress GraphQL schema for all Posts, [iterates through each Post node](/docs/programmatically-create-pages-from-data/) and constructs a static page for each, [based on the defined template](/docs/how-to/routing/layout-components/). +You can use the [`gatsby-node.js`](https://github.com/gatsbyjs/gatsby/blob/master/starters/gatsby-starter-wordpress-blog/gatsby-node.js) from the plugin demo to get started. For the purpose of this guide, the code to construct posts works out of the box. It queries your local WordPress GraphQL schema for all Posts, [iterates through each Post node](/docs/programmatically-create-pages-from-data/) and constructs a static page for each, [based on the defined template](/docs/how-to/routing/layout-components/). For example: @@ -143,7 +143,7 @@ In the GraphiQL IDE at `http://localhost:8000/__graphql` you should now see quer ## Wrapping up This was a very basic example meant to help you understand how you can fetch data from WordPress and use it with Gatsby. As -the guide mentioned already, if you got stuck, you can have a look at [example repo](https://github.com/TylerBarnes/using-gatsby-source-wordpress-experimental), which is a working example +the guide mentioned already, if you got stuck, you can have a look at [example repo](https://github.com/gatsbyjs/gatsby/blob/master/starters/gatsby-starter-wordpress-blog), which is a working example created to support this guide. ## Other resources diff --git a/docs/docs/sourcing-from-woocommerce.md b/docs/docs/sourcing-from-woocommerce.md index de05f6d68b50d..8841a3bb992b2 100644 --- a/docs/docs/sourcing-from-woocommerce.md +++ b/docs/docs/sourcing-from-woocommerce.md @@ -86,5 +86,5 @@ The WPGraphQL plugin is also undergoing significant changes. It has not yet hit - [`gatsby-source-woocommerce`](/plugins/@pasdo501/gatsby-source-woocommerce/) - [`gatsby-theme-woocommerce`](/plugins/@ccerda0520/gatsby-theme-woocommerce/) - [`wp-graphql-woocommerce` plugin](https://github.com/wp-graphql/wp-graphql-woocommerce) -- [experimental `gatsby-source-wordpress` starter](https://github.com/TylerBarnes/using-gatsby-source-wordpress-experimental) +- [`gatsby-source-wordpress` starter](https://github.com/gatsbyjs/gatsby/blob/master/starters/gatsby-starter-wordpress-blog) - [Sourcing from WordPress](/docs/how-to/sourcing-data/sourcing-from-wordpress/) diff --git a/docs/tutorial/wordpress-image-tutorial.md b/docs/tutorial/wordpress-image-tutorial.md index 1907e7c6bf653..08b393760db3d 100644 --- a/docs/tutorial/wordpress-image-tutorial.md +++ b/docs/tutorial/wordpress-image-tutorial.md @@ -6,7 +6,7 @@ title: "Adding Images to a WordPress Site" The version of `gatsby-source-wordpress` that this tutorial uses will soon be deprecated and replaced with a complete rewrite in the next major version (v4). The reason for this is that we've adopted the use of WPGraphQL to support Preview and incremental builds as well as to make the schema generally more stable and consistent. -Please follow the tutorial on [creating a new site with `gatsby-source-wordpress-experimental`](https://github.com/gatsbyjs/gatsby-source-wordpress-experimental/blob/master/docs/tutorials/building-a-new-site-wordpress-and-gatsby.md) instead, as that package is a beta of the next major version of `gatsby-source-wordpress`. +Please follow the tutorial on [creating a new site with `gatsby-source-wordpress`](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/tutorials/building-a-new-site-wordpress-and-gatsby.md) instead, as that package is a beta of the next major version of `gatsby-source-wordpress`. ## What this tutorial covers: diff --git a/docs/tutorial/wordpress-source-plugin-tutorial.md b/docs/tutorial/wordpress-source-plugin-tutorial.md index 4625102d52bd0..7afb8838e1254 100644 --- a/docs/tutorial/wordpress-source-plugin-tutorial.md +++ b/docs/tutorial/wordpress-source-plugin-tutorial.md @@ -8,7 +8,7 @@ title: "WordPress Source Plugin Tutorial" The version of `gatsby-source-wordpress` that this tutorial uses will soon be deprecated and replaced with a complete rewrite in the next major version (v4). The reason for this is that we've adopted the use of WPGraphQL to support Preview and incremental builds as well as to make the schema generally more stable and consistent. -Please follow the tutorial on [creating a new site with `gatsby-source-wordpress-experimental`](https://github.com/gatsbyjs/gatsby-source-wordpress-experimental/blob/master/docs/tutorials/building-a-new-site-wordpress-and-gatsby.md) instead, as that package is a beta of the next major version of `gatsby-source-wordpress`. +Please follow the tutorial on [creating a new site with `gatsby-source-wordpress`](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/tutorials/building-a-new-site-wordpress-and-gatsby.md) instead, as that package is a beta of the next major version of `gatsby-source-wordpress`. ### What this tutorial covers: diff --git a/packages/create-gatsby/src/__tests__/plugin-options-form.ts b/packages/create-gatsby/src/__tests__/plugin-options-form.ts index 58d5d5c6ec10f..9130a5cf0b2a3 100644 --- a/packages/create-gatsby/src/__tests__/plugin-options-form.ts +++ b/packages/create-gatsby/src/__tests__/plugin-options-form.ts @@ -13,13 +13,13 @@ describe(`plugin-options-form`, () => { }) it(`returns an array containing only the wordpress options (choices are included)`, () => { - const plugins = [`gatsby-source-wordpress-experimental`] + const plugins = [`gatsby-source-wordpress`] expect(makePluginConfigQuestions(plugins)).toEqual([ { type: `forminput`, - name: `gatsby-source-wordpress-experimental`, + name: `gatsby-source-wordpress`, multiple: true, - message: `Configure the WordPress plugin.\nSee \u001b[94mhttps://www.gatsbyjs.com/plugins/gatsby-source-wordpress-experimental/\u001b[39m for help.`, + message: `Configure the WordPress plugin.\nSee \u001b[94mhttps://www.gatsbyjs.com/plugins/gatsby-source-wordpress/\u001b[39m for help.`, choices: [ { name: `url`, @@ -35,9 +35,9 @@ describe(`plugin-options-form`, () => { expect(makePluginConfigQuestions(Object.keys(pluginSchemas))).toEqual([ { type: `forminput`, - name: `gatsby-source-wordpress-experimental`, + name: `gatsby-source-wordpress`, multiple: true, - message: `Configure the WordPress plugin.\nSee \u001b[94mhttps://www.gatsbyjs.com/plugins/gatsby-source-wordpress-experimental/\u001b[39m for help.`, + message: `Configure the WordPress plugin.\nSee \u001b[94mhttps://www.gatsbyjs.com/plugins/gatsby-source-wordpress/\u001b[39m for help.`, choices: [ { name: `url`, diff --git a/packages/create-gatsby/src/cmses.json b/packages/create-gatsby/src/cmses.json index 292b8234ba7b5..376975793a8fd 100644 --- a/packages/create-gatsby/src/cmses.json +++ b/packages/create-gatsby/src/cmses.json @@ -1,8 +1,11 @@ { - "gatsby-source-wordpress-experimental": { "message": "WordPress" }, + "gatsby-source-wordpress": { "message": "WordPress" }, "gatsby-source-contentful": { "message": "Contentful" }, "gatsby-source-sanity": { "message": "Sanity" }, "gatsby-source-datocms": { "message": "DatoCMS" }, "gatsby-source-shopify": { "message": "Shopify" }, - "gatsby-plugin-netlify-cms": {"message": "Netlify CMS", "dependencies": ["netlify-cms-app"]} + "gatsby-plugin-netlify-cms": { + "message": "Netlify CMS", + "dependencies": ["netlify-cms-app"] + } } diff --git a/packages/create-gatsby/src/plugin-schemas.json b/packages/create-gatsby/src/plugin-schemas.json index 26285c5a06597..b54be1ad6ac77 100644 --- a/packages/create-gatsby/src/plugin-schemas.json +++ b/packages/create-gatsby/src/plugin-schemas.json @@ -1,5 +1,5 @@ { - "gatsby-source-wordpress-experimental": { + "gatsby-source-wordpress": { "type": "object", "keys": { "url": { diff --git a/packages/gatsby-recipes/recipes/wordpress.mdx b/packages/gatsby-recipes/recipes/wordpress.mdx deleted file mode 100644 index 799a23b172a93..0000000000000 --- a/packages/gatsby-recipes/recipes/wordpress.mdx +++ /dev/null @@ -1,93 +0,0 @@ -# Setup Gatsby with WordPress REST API - -This recipes sets up and configures `gatsby-source-wordpress` and starter page templates for a WordPress-powered Gatsby site. - -This recipe: - ---- - -Installs necessary NPM packages. - - - ---- - -Installs `gatsby-source-wordpress` to pull the WordPress data into Gatsby. Note, once this recipe finishes, you will need to update the config to point to your actual WordPress URL. - - - - ---- - -Creates a local Gatsby plugin that create pages for the WordPress data. - - - - - ---- - -Installs the local plugin. - - - ---- - -Creates basic post, page, category, tag, and user templates. - - - - - - - - - - - - ---- - -After installing this recipe, update `gatsby-config.js` to point to your WordPress instance. Then start Gatsby and check out your new pages powered by WordPress! - -Be sure to have one of each post type on your WordPress site for the site to build without errors: -- Post -- Page -- Category -- Tag -- User - -Also, be sure to import your custom layout component at the top of each page template. diff --git a/packages/gatsby-recipes/src/recipes-list.js b/packages/gatsby-recipes/src/recipes-list.js index d14ccaeadd2a3..9e38d544a5d8e 100644 --- a/packages/gatsby-recipes/src/recipes-list.js +++ b/packages/gatsby-recipes/src/recipes-list.js @@ -89,10 +89,6 @@ export default [ label: `Add GitHub Pages deployment with Travis CI`, value: `travis-deploy-github-pages`, }, - { - label: `Add Headless WordPress integration`, - value: `wordpress`, - }, { label: `Add e-commerce powered by Snipcart`, value: `snipcart.mdx`, diff --git a/packages/gatsby-source-wordpress/.babelrc b/packages/gatsby-source-wordpress/.babelrc deleted file mode 100644 index ac0ad292bb087..0000000000000 --- a/packages/gatsby-source-wordpress/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": [["babel-preset-gatsby-package"]] -} diff --git a/packages/gatsby-source-wordpress/.babelrc.js b/packages/gatsby-source-wordpress/.babelrc.js new file mode 100644 index 0000000000000..2a3c88f784c5d --- /dev/null +++ b/packages/gatsby-source-wordpress/.babelrc.js @@ -0,0 +1,42 @@ +module.exports = { + presets: [[`babel-preset-gatsby-package`]], + plugins: [ + [ + `@babel/plugin-proposal-private-methods`, + { + loose: true, + }, + ], + [ + `babel-plugin-module-resolver`, + { + alias: { + "~": `./src`, + }, + }, + ], + [ + `@babel/plugin-proposal-class-properties`, + { + loose: true, + }, + ], + [ + `import-globals`, + { + dd: { + moduleName: `dumper.js`, + exportName: `dd`, + }, + dump: { + moduleName: `dumper.js`, + exportName: `dump`, + }, + clipboardy: { + moduleName: `clipboardy`, + exportName: `default`, + }, + }, + ], + ], +} diff --git a/packages/gatsby-source-wordpress/.eslintignore b/packages/gatsby-source-wordpress/.eslintignore new file mode 100644 index 0000000000000..3a28d1fcd3bb4 --- /dev/null +++ b/packages/gatsby-source-wordpress/.eslintignore @@ -0,0 +1,3 @@ +test-site +!test-site/__tests__ +!test-site/test-utils diff --git a/packages/gatsby-source-wordpress/.gitignore b/packages/gatsby-source-wordpress/.gitignore index 44ac938c5a74b..840c33ab3c358 100644 --- a/packages/gatsby-source-wordpress/.gitignore +++ b/packages/gatsby-source-wordpress/.gitignore @@ -1,4 +1,12 @@ -/*.js -!index.js -yarn.lock -scripts +dist + +.DS_Store +yarn-error.log +.vscode + +node_modules +public +.cache +plugin/README.md + +.inc-builds diff --git a/packages/gatsby-source-wordpress/.npmignore b/packages/gatsby-source-wordpress/.npmignore index e771d2c9fa299..93622a353151f 100644 --- a/packages/gatsby-source-wordpress/.npmignore +++ b/packages/gatsby-source-wordpress/.npmignore @@ -1,3 +1,16 @@ +src +test-site +docker-compose.yml +babel.config.js +.gitignore +generate-plugin-options-docs.md +jest-transformer.js +jest.config.js +loadershim.js +tsconfig.json +docker +docs + # Logs logs *.log @@ -32,3 +45,5 @@ flow-typed coverage decls examples + +*.env* diff --git a/packages/gatsby-source-wordpress/.prettierignore b/packages/gatsby-source-wordpress/.prettierignore new file mode 100644 index 0000000000000..def2b970c043d --- /dev/null +++ b/packages/gatsby-source-wordpress/.prettierignore @@ -0,0 +1,8 @@ +dist +build +node_modules +public +.cache +WordPress +.yarn +.wordpress-cache diff --git a/packages/gatsby-source-wordpress/README.md b/packages/gatsby-source-wordpress/README.md index 3885de318b293..1e4ad4c2ff95f 100644 --- a/packages/gatsby-source-wordpress/README.md +++ b/packages/gatsby-source-wordpress/README.md @@ -1,1074 +1,53 @@ -Warning: -**The current version of this plugin will soon be deprecated** and replaced with a complete rewrite in the next version (v4). The reason for this is that we've adopted the use of WPGraphQL to support Preview and incremental builds as well as to make the schema generally more stable and consistent. - -Please upgrade to the beta of `gatsby-source-wordpress@v4` by installing `gatsby-source-wordpress-experimental`. - -These two packages are currently published under separate names to allow activating them side-by-side. -This makes migration between the two simpler. Once the new plugin is stable it will be merged back in and be published as `gatsby-source-wordpress`. - -[Read this blog post for the beta announcement](https://www.gatsbyjs.org/blog/2020-07-07-wordpress-source-beta/) - -[Or get started with the new plugin here](https://github.com/gatsbyjs/gatsby-source-wordpress-experimental/#readme) - -# gatsby-source-wordpress - -Source plugin for pulling data into [Gatsby](https://github.com/gatsbyjs) from -WordPress sites using the -[WordPress REST API](https://developer.wordpress.org/rest-api/reference/). - -An example site for this plugin is available. - -- [Demo](https://using-wordpress.gatsbyjs.org/) -- [Example site source code](https://github.com/gatsbyjs/gatsby/tree/master/examples/using-wordpress) - -## Features - -- Pulls data from self-hosted WordPress sites, or sites hosted on [WordPress.com](https://wordpress.com) -- Should work with any number of posts (tested on a site with 900 posts) -- Can authenticate to wordpress.com's API using OAuth 2 so media can be queried -- Easily create responsive images in Gatsby from WordPress images. See [image - processing](#image-processing) section. - -## WordPress and custom entities - -This module currently pulls the following entities from WordPress: - -- [x] All entities are supported (posts, pages, tags, categories, media, types, - users, statuses, taxonomies, site metadata, ...) -- [x] Any new entity should be pulled as long as the IDs are correct. -- [x] [ACF Entities (Advanced Custom Fields)](https://www.advancedcustomfields.com/) -- [x] Custom Post Types (any type you could have registered and enabled in the REST API) -- [x] Post Meta (any meta fields you could have registered and enabled in the REST API) - -We welcome PRs adding support for data from other plugins. - -Note : If some fields are missing, check [troubleshooting missing fields](#missing-fields) section. - -## Install - -`npm install gatsby-source-wordpress` - -## How to use - -First, you need a way to pass environment variables to the build process, so secrets and other secured data aren't committed to source control. We recommend using [`dotenv`][dotenv] which will then expose environment variables. [Read more about dotenv and using environment variables here][envvars]. Then we can _use_ these environment variables and configure our plugin. - -```javascript -// In your gatsby-config.js -module.exports = { - plugins: [ - /* - * Gatsby's data processing layer begins with “source” - * plugins. Here the site sources its data from WordPress. - */ - { - resolve: "gatsby-source-wordpress", - options: { - /* - * The base URL of the WordPress site without the trailingslash and the protocol. This is required. - * Example : 'demo.wp-api.org' or 'www.example-site.com' - */ - baseUrl: "live-gatbsyjswp.pantheonsite.io", - // The protocol. This can be http or https. - protocol: "https", - // The rest api route prefix that your WordPress site is using. - // Sometimes this is modified by WordPress plugins. - // If not set, it uses the default of "wp-json" - restApiRoutePrefix: "wp-json", - // Indicates whether the site is hosted on wordpress.com. - // If false, then the assumption is made that the site is self hosted. - // If true, then the plugin will source its content on wordpress.com using the JSON REST API V2. - // If your site is hosted on wordpress.org, then set this to false. - hostingWPCOM: false, - // If useACF is true, then the source plugin will try to import the WordPress ACF Plugin contents. - // This feature is untested for sites hosted on wordpress.com. - // Defaults to true. - useACF: true, - // Include specific ACF Option Pages that have a set post ID - // Regardless if an ID is set, the default options route will still be retrieved - // Must be using V3 of ACF to REST to include these routes - // Example: `["option_page_1", "option_page_2"]` will include the proper ACF option - // routes with the ID option_page_1 and option_page_2 - // The IDs provided to this array should correspond to the `post_id` value when defining your - // options page using the provided `acf_add_options_page` method, in your WordPress setup - // Dashes in IDs will be converted to underscores for use in GraphQL - acfOptionPageIds: [], - auth: { - // If auth.user and auth.pass are filled, then the source plugin will be allowed - // to access endpoints that are protected with .htaccess. - htaccess_user: "your-htaccess-username", - htaccess_pass: "your-htaccess-password", - htaccess_sendImmediately: false, - - // If hostingWPCOM is true then you will need to communicate with wordpress.com API - // in order to do that you need to create an app (of type Web) at https://developer.wordpress.com/apps/ - // then add your clientId, clientSecret, username, and password here - // Learn about environment variables: https://www.gatsbyjs.org/docs/environment-variables - // If two-factor authentication is enabled then you need to create an Application-Specific Password, - // see https://en.support.wordpress.com/security/two-step-authentication/#application-specific-passwords - wpcom_app_clientSecret: process.env.WORDPRESS_CLIENT_SECRET, - wpcom_app_clientId: "54793", - wpcom_user: "gatsbyjswpexample@gmail.com", - wpcom_pass: process.env.WORDPRESS_PASSWORD, - - // If you use "JWT Authentication for WP REST API" (https://wordpress.org/plugins/jwt-authentication-for-wp-rest-api/) - // or (https://github.com/jonathan-dejong/simple-jwt-authentication) requires jwt_base_path, path can be found in WordPress wp-api. - // plugin, you can specify user and password to obtain access token and use authenticated requests against WordPress REST API. - jwt_user: process.env.JWT_USER, - jwt_pass: process.env.JWT_PASSWORD, - jwt_base_path: "/jwt-auth/v1/token", // Default - can skip if you are using https://wordpress.org/plugins/jwt-authentication-for-wp-rest-api/ - }, - // Set cookies that should be send with requests to WordPress as key value pairs - cookies: {}, - // Set verboseOutput to true to display a verbose output on `npm run develop` or `npm run build` - // It can help you debug specific API Endpoints problems. - verboseOutput: false, - // Set how many pages are retrieved per API request. - perPage: 100, - // Search and Replace Urls across WordPress content. - searchAndReplaceContentUrls: { - sourceUrl: "https://source-url.com", - replacementUrl: "https://replacement-url.com", - }, - // Set how many simultaneous requests are sent at once. - concurrentRequests: 10, - // Set WP REST API routes whitelists - // and blacklists using glob patterns. - // Defaults to whitelist the routes shown - // in the example below. - // See: https://github.com/isaacs/minimatch - // Example: `["/*/*/comments", "/yoast/**"]` - // ` will either include or exclude routes ending in `comments` and - // all routes that begin with `yoast` from fetch. - // Whitelisted routes using glob patterns - includedRoutes: [ - "**/categories", - "**/posts", - "**/pages", - "**/media", - "**/tags", - "**/taxonomies", - "**/users", - ], - // Blacklisted routes using glob patterns - excludedRoutes: ["**/posts/1456"], - // Set this to keep media sizes. - // This option is particularly useful in case you need access to - // URLs for thumbnails, or any other media detail. - // Defaults to false - keepMediaSizes: false, - // use a custom normalizer which is applied after the built-in ones. - normalizer: function ({ entities }) { - return entities - }, - // The normalizers option allows you to manipulate the array of internal - // normalizers that are applied to entities after they're fetched - // from WordPress. - // You can add your own normalizers to this array by adding an object - // that contains name and normalizer properties. - // Name is the name of your normalizer, and normalizer is a function that - // should return the array of entities that are passed to it. - // This is useful if you need more control over the order of normalizers, - // instead of your normalizer being applied after the built in normalizers (as is the case with the normalizer option). - normalizers: normalizers => [ - ...normalizers, - { - name: "nameOfTheFunction", - normalizer: function ({ entities }) { - // manipulate entities here - return entities - }, - }, - ], - }, - }, - ], -} -``` - -## WordPress Plugins - -These plugins were tested. We welcome PRs adding support for data from other -plugins. - -- [x] Custom Post Types : it will work seamlessly, no further option needs to be - activated. ("Show in REST API" setting needs to be set to true on the - custom post in the plugin settings for this to work. It's set to "false" - by default.) - -- [x] [ACF](https://www.advancedcustomfields.com/) The option `useACF: true` - must be activated in your site's `gatsby-config.js`. - - - You must have the plugin - [acf-to-rest-api](https://github.com/airesvsg/acf-to-rest-api) installed in - WordPress. - - Will pull the `acf: { ... }` fields's contents from any entity which has it - attached (pages, posts, medias, ... you choose from in WordPress backend - while creating a Group of Fields). - - [ACF Pro](https://www.advancedcustomfields.com/pro/) same as ACF : - - Will work with - [Flexible content](https://www.advancedcustomfields.com/resources/flexible-content/) - and premium stuff like that (repeater, gallery, ...). - - Will pull the content attached to the - [options page](https://www.advancedcustomfields.com/add-ons/options-page/). - -- [x] [WP-API-MENUS](https://wordpress.org/plugins/wp-api-menus/) which gives - you the menus and menu locations endpoint. - -- [x] [WPML-REST-API](https://github.com/shawnhooper/wpml-rest-api) which adds - the current locale and available translations to all post types translated with WPML. - -- [x] [wp-rest-polylang](https://github.com/maru3l/wp-rest-polylang) which adds - the current locale and available translations to all post types translated with Polylang. - -- [x] [wp-rest-polylang-pro](https://github.com/dannyvaughton/wp-rest-polylang-pro) which adds - the current locale and available translations to all post types & taxonomies translated with Polylang Pro. - -- [x] [Yoast](https://yoast.com/wordpress/plugins/seo/) - - You must have the plugin [wp-api-yoast-meta](https://github.com/maru3l/wp-api-yoast-meta) installed in WordPress. - - Will pull the `yoast_meta: { ... }` field's contents in entity. - - Work with Yoast premium : - - Will create Yoast redirects model base on Yoast redirect - -## How to use Gatsby with Wordpress.com hosting - -### For Blogger, Personal, and Premium Plans - -Set `hostingWPCOM: true`. - -You will need to provide an [API Key](https://en.support.wordpress.com/api-keys/). - -Note : The WordPress.com API does not have all of the features of the WordPress.org API, specifically with respect to pagination. See ~TypeError - Cannot read property 'id' of undefined with WordPress.com~ in the troubleshooting section for more. - -### For Business, and E-commerce Plans - -Business and e-commerce plans will run the WordPress.org version, so it is recommended to set `hostingWPCOM: false`. - -## Test your WordPress API - -Before you run your first query, ensure the WordPress JSON API is working correctly by visiting /wp-json at your WordPress install. The result should be similar to the [WordPress demo API](https://demo.wp-api.org/wp-json/). - -If you see a page on your site, rather than the JSON output, check if your permalink settings are set to “Plain”. After changing this to any of the other settings, the JSON API should be accessible. - -## Fetching Data: WordPress REST API Route Selection - -By default `gatsby-source-wordpress` plugin will fetch data from all endpoints provided by introspection `/wp-json` response. To customize the routes fetched, two configuration options are available: `includeRoutes` for whitelisting and `excludeRoutes` for blacklisting. Both options expect an array of glob patterns. Glob matching is done by [minimatch](https://github.com/isaacs/minimatch). To test your glob patterns, [use this tool](https://pthrasher.github.io/minimatch-test/). You can inspect discovered routes by using `verboseOutput: true` configuration option. - -If an endpoint is whitelisted and not blacklisted, it will be fetched. Otherwise, it will be ignored. - -### Example: - -```javascript -includedRoutes: [ - "**/posts", - "**/pages", - "**/media", - "**/categories", - "**/tags", - "**/taxonomies", - "**/users", -], -``` - -Which would include most commonly used endpoints: - -- Posts -- Pages -- Media -- Categories -- Tags -- Taxonomies -- Users - -and would skip pulling Comments. - -## How to query - -You can query nodes created from WordPress using GraphQL like the following: -Note : Learn to use the GraphQL tool and Ctrl+Spacebar at -`http://localhost:3000/___graphiql` to discover the types and properties of your -GraphQL model. - -### Query posts - -```graphql -{ - allWordpressPost { - edges { - node { - id - slug - title - content - excerpt - date - modified - } - } - } -} -``` - -### Query pages - -```graphql -{ - allWordpressPage { - edges { - node { - id - title - content - excerpt - date - modified - slug - status - } - } - } -} -``` - -Same thing for other type of entity (tag, media, categories, ...). - -### Query any other entity - -In the following example, `${Manufacturer}` will be replaced by the endpoint -prefix and `${Endpoint}` by the name of the endpoint. - -To know what's what, check the URL of the endpoint. You can set `verboseOutput: true` in order to get more information of what's executed by the source plugin -behind the scene. - -For example the following URL: -`http://my-blog.wordpress.com/wp-json/acf/v2/options` - -- Manufacturer : `acf` -- Endpoint : `options` -- Final GraphQL Type : AllWordpressAcfOptions - -For example the following URL: -`http://my-blog.wordpress.com/wp-api-menus/v2/menu-locations` - -- Manufacturer : `wpapimenus` -- Endpoint : `menulocations` -- Final GraphQL Type : AllWordpressWpApiMenusMenuLocations - -```graphql -{ - allWordpress${Manufacturer}${Endpoint} { - edges { - node { - id - type - // Put your fields here - } - } - } -} -``` - -### Query ACF Options - -Whether you are using V2 or V3 of ACF to REST, the query below will return `options` as the default ACF Options page data. - -If you have specified `acfOptionPageIds` in your site's `gatsby-config.js` (ex: `option_page_1`), then they will be accessible by their ID: - -```graphql -{ - allWordpressAcfOptions { - edges { - node { - option_page_1 { - test_acf - } - options { - test_acf - } - } - } - } -} -``` - -### Query posts with the child ACF Fields Node - -Mention the apparition of `childWordpressAcfField` in the query below : - -```graphql -{ - allWordpressPost { - edges { - node { - id - slug - title - content - excerpt - date - modified - author - featured_media - template - categories - tags - acf { - // use ___GraphiQL debugger and Ctrl+Spacebar to describe your model. - } - } - } - } -} -``` - -### Query pages with the child ACF Fields Node - -Mention the apparition of `childWordpressAcfField` in the query below : - -```graphql -{ - allWordpressPage { - edges { - node { - id - title - content - excerpt - date - modified - slug - author - featured_media - template - acf { - // use ___GraphiQL debugger and Ctrl+Spacebar to describe your model. - } - } - } - } -} -``` - -### Query with ACF Flexible Content - -ACF Flexible Content returns an array of objects with different types and are -handled differently than other fields. - -To access those fields, instead of using their field name, you need to use -`[field_name]_[post_type]` (if you have field named `page_builder` in -your WordPress pages you would need to use `page_builder_page`). - -To access data stored in these fields, you need to use GraphQL -[inline fragments](https://graphql.org/learn/queries/#inline-fragments). This -require you to know types of nodes. The easiest way to get the types of nodes is to use -`___GraphiQL` debugger and run the below query (adjust post type and field name): - -```graphql -{ - allWordpressPage { - edges { - node { - title - acf { - page_builder_page { - __typename - } - } - } - } - } -} -``` - -When you have node type names, you can use them to create inline fragments. - -Full example: - -```graphql -{ - allWordpressPage { - edges { - node { - title - acf { - page_builder_page { - __typename - ... on WordPressAcf_hero { - title - subtitle - } - ... on WordpressAcf_text { - text - } - ... on WordpressAcf_image { - image { - localFile { - childImageSharp { - fluid(maxWidth: 800) { - ...GatsbyImageSharpFluid_withWebp - } - } - } - } - } - } - } - } - } - } -} -``` - -### Query posts with the WPML Fields Node - -```graphql -{ - allWordpressPost { - edges { - node { - id - slug - title - content - excerpt - date - modified - author - featured_media - template - categories - tags - wpml_current_locale - wpml_translations { - locale - wordpress_id - post_title - href - } - } - } - } -} -``` - -### Query pages with the WPML Fields Node - -```graphql -{ - allWordpressPage { - edges { - node { - id - title - content - excerpt - date - modified - slug - author - featured_media - template - wpml_current_locale - wpml_translations { - locale - wordpress_id - post_title - href - } - } - } - } -} -``` - -### Query posts with the Polylang Fields Node - -```graphql -{ - allWordpressPost { - edges { - node { - id - slug - title - content - excerpt - date - modified - author - featured_media - template - categories - tags - polylang_current_lang - polylang_translations { - id - slug - title - content - excerpt - date - modified - author - featured_media - template - categories - tags - polylang_current_lang - } - } - } - } -} -``` - -### Query pages with the Polylang Fields Node - -```graphql -{ - allWordpressPage { - edges { - node { - id - title - content - excerpt - date - modified - slug - author - featured_media - template - polylang_current_lang - polylang_translations { - id - title - content - excerpt - date - modified - slug - author - featured_media - template - polylang_current_lang - } - } - } - } -} -``` - -### Query pages with the Yoast Fields Node - -```graphql -{ - allWordpressPage { - edges { - node { - yoast_meta { - yoast_wpseo_title - yoast_wpseo_metadesc - yoast_wpseo_canonical - yoast_wpseo_facebook_title - yoast_wpseo_facebook_description - yoast_wpseo_facebook_type - yoast_wpseo_facebook_image - yoast_wpseo_twitter_title - yoast_wpseo_twitter_description - yoast_wpseo_twitter_image - yoast_wpseo_social_url - yoast_wpseo_company_or_person - yoast_wpseo_person_name - yoast_wpseo_company_name - yoast_wpseo_company_logo - yoast_wpseo_website_name - } - } - } - } -} -``` - -### Query Yoast Redirects - -**_only work with Yoast Premium_** - -```graphql -{ - allWordpressYoastRedirects { - edges { - node { - origin - url - type - format - } - } - } -} -``` - -## Image processing - -To use image processing you need `gatsby-transformer-sharp`, `gatsby-plugin-sharp` and their -dependencies `gatsby-image` and `gatsby-source-filesystem` in your `gatsby-config.js`. - -You can apply image processing to: - -- featured images (also known as post thumbnails), -- ACF fields: - - Image field type (return value must be set to `Image Object` or `Image URL` or field name must be `featured_media`), - - Gallery field type. - -Image processing of inline images added in WordPress WYSIWIG editor is -currently not supported. - -To access image processing in your queries you need to use this pattern: - -```graphql -{ - imageFieldName { - localFile { - childImageSharp { - ...ImageFragment - } - } - } -} -``` - -Full example: - -```graphql -{ - allWordpressPost { - edges { - node { - title - featured_media { - localFile { - childImageSharp { - fixed(width: 500, height: 300) { - ...GatsbyImageSharpFixed_withWebp - } - } - } - } - acf { - image { - localFile { - childImageSharp { - fluid(maxWidth: 500) { - ...GatsbyImageSharpFluid_withWebp - } - } - } - } - gallery { - localFile { - childImageSharp { - resize(width: 180, height: 180) { - src - } - } - } - } - } - } - } - } -} -``` - -To learn more about image processing check - -- documentation of [gatsby-plugin-sharp](/plugins/gatsby-plugin-sharp/), -- source code of [image processing example - site](https://github.com/gatsbyjs/gatsby/tree/master/examples/image-processing). - -## Using a custom normalizer - -The plugin uses the concept of normalizers to transform the json data from WordPress into -GraphQL nodes. You can extend the normalizers by modifying the normalizers array in plugin options in `gatsby-config.js`. - -### Example: - -You have a custom post type `movie` and a related custom taxonomy `genre` in your WordPress site. Since -`gatsby-source-wordpress` doesn't know about the relation of the two, we can build an additional normalizer function to map the movie GraphQL nodes to the genre nodes: - -```javascript -const mapMoviesToGenres = { - name: `mapMoviesToGenres`, - normalizer: function({ entities }) { - const genres = entities.filter(e => e.__type === `wordpress__wp_genre`) - - return entities.map(e => { - if (e.__type === `wordpress__wp_movie`) { - let hasGenres = e.genres && Array.isArray(e.genres) && e.genres.length - // Replace genres with links to their nodes. - if (hasGenres) { - e.genres___NODE = e.genres.map( - c => genres.find(gObj => c === gObj.wordpress_id).id - ) - delete e.genres - } - } - return e - }) -} -``` - -In your `gatsby-config.js` you can then add the normalizer to the plugin options called normalizers: - -```javascript -module.exports = { - plugins: [ - { - resolve: "gatsby-source-wordpress", - options: { - // ... - normalizers: normalizers => [...normalizers, mapMoviesToGenres], - }, - }, - ], -} -``` - -Next to the entities, the object passed to the custom normalizer function also contains other helpful Gatsby functions -and also your `wordpress-source-plugin` options from `gatsby-config.js`. To learn more about the passed object see the [source code](https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-source-wordpress/src/gatsby-node.js). - -### Example with modifying gatsby-source-wordpress normalizers - -```javascript -const dropUnusedMediaNormalizer = { - name: "dropUnusedMediaNormalizer", - normalizer: function ({ entities }) { - return entities.filter( - e => !(e.__type === "wordpress__wp_media" && !e.post) - ) - }, -} -``` - -Adding this normalizer on top of other/builtin normalizers, so unused media entities are not further processed. - -```javascript -module.exports = { - plugins: [ - { - resolve: "gatsby-source-wordpress", - options: { - // ... - normalizers: normalizers => [dropUnusedMediaNormalizer, ...normalizers], - }, - }, - ], -} -``` - -## Site's `gatsby-node.js` example - -```javascript -const path = require(`path`) -const { slash } = require(`gatsby-core-utils`) - -// Implement the Gatsby API “createPages”. This is -// called after the Gatsby bootstrap is finished so you have -// access to any information necessary to programmatically -// create pages. -// Will create pages for WordPress pages (route : /{slug}) -// Will create pages for WordPress posts (route : /post/{slug}) -exports.createPages = async ({ graphql, actions }) => { - const { createPage } = actions - - // The “graphql” function allows us to run arbitrary - // queries against the local Gatsby GraphQL schema. Think of - // it like the site has a built-in database constructed - // from the fetched data that you can run queries against. - const result = await graphql(` - { - allWordpressPage { - edges { - node { - id - path - status - template - } - } - } - allWordpressPost { - edges { - node { - id - path - status - template - format - } - } - } - } - `) - - // Check for any errors - if (result.errors) { - throw new Error(result.errors) - } - - // Access query results via object destructuring - const { allWordpressPage, allWordpressPost } = result.data - - // Create Page pages. - const pageTemplate = path.resolve(`./src/templates/page.js`) - // We want to create a detailed page for each page node. - // The path field contains the relative original WordPress link - // and we use it for the slug to preserve url structure. - // The Page ID is prefixed with 'PAGE_' - allWordpressPage.edges.forEach(edge => { - // Gatsby uses Redux to manage its internal state. - // Plugins and sites can use functions like "createPage" - // to interact with Gatsby. - createPage({ - // Each page is required to have a `path` as well - // as a template component. The `context` is - // optional but is often necessary so the template - // can query data specific to each page. - path: edge.node.path, - component: slash(pageTemplate), - context: { - id: edge.node.id, - }, - }) - }) - - const postTemplate = path.resolve(`./src/templates/post.js`) - // We want to create a detailed page for each post node. - // The path field stems from the original WordPress link - // and we use it for the slug to preserve url structure. - // The Post ID is prefixed with 'POST_' - allWordpressPost.edges.forEach(edge => { - createPage({ - path: edge.node.path, - component: slash(postTemplate), - context: { - id: edge.node.id, - }, - }) - }) -} -``` - -## Troubleshooting - -### Missing Fields - -If you have custom post types or metadata that are not showing up within the schema, make sure that they are enabled within the REST API. - -- **Custom Meta** - - To retrieve custom post meta in your queries, they first must be registered using WordPress' `register_meta()` function with `show_in_rest` set as `true`. You will then see your registered post meta in your Gatsby GraphQL Schema nested within the `meta` field for associated entities. For more details, see . - -- **Custom Post Types** - - If you are programmatically registering post types with `register_post_type()` and would like to use them in your queries, make sure to have `show_in_rest` set as `true`. Otherwise if you are using a plugin such as CPT UI to register your custom post types, check your configurations to make sure that the post types you want to query are enabled to show in REST API. - -### GraphQL Error - Unknown Field on ACF - -ACF returns `false` in cases where there is no data to be returned. This can cause conflicting data types in GraphQL and often leads to the error: `GraphQL Error Unknown field {field} on type {type}`. - -To solve this, you can use the [acf/format_value filter](https://www.advancedcustomfields.com/resources/acf-format_value/). There are 2 possible ways to use this: - -- `acf/format_value` – filter for every field -- `acf/format_value/type={$field_type}` – filter for a specific field based on it’s type - -Using the following function, you can check for an empty field and if it's empty return `null`. - -```php -if (!function_exists('acf_nullify_empty')) { - /** - * Return `null` if an empty value is returned from ACF. - * - * @param mixed $value - * @param mixed $post_id - * @param array $field - * - * @return mixed - */ - function acf_nullify_empty($value, $post_id, $field) { - if (empty($value)) { - return null; - } - return $value; - } -} -``` - -You can then apply this function to all ACF fields using the following code snippet: - -```php -add_filter('acf/format_value', 'acf_nullify_empty', 100, 3); -``` - -Or if you would prefer to target specific fields, you can use the `acf/format_value/type={$field_type}` filter. Here are some examples: - -```php -add_filter('acf/format_value/type=image', 'acf_nullify_empty', 100, 3); -add_filter('acf/format_value/type=gallery', 'acf_nullify_empty', 100, 3); -add_filter('acf/format_value/type=repeater', 'acf_nullify_empty', 100, 3); -``` - -This code is also available as a [WordPress plugin](https://wordpress.org/plugins/wp-acf-nullify-gatsby/) or can be added within the `functions.php` of a theme. - -### GraphQL Error - Unknown field `localFile` on type `[image field]` - -WordPress has a [known issue](https://core.trac.wordpress.org/ticket/41445) that can affect how media objects are returned through the REST API. - -During the upload process to the WordPress media library, the `post_parent` value ([seen here in the wp_posts table](https://codex.wordpress.org/Database_Description#Table:_wp_posts)) is set to the ID of the post the image is attached to. This value is unable to be changed by any WordPress administration actions. - -When the post an image is attached to becomes inaccessible (e.g. from changing visibility settings, or deleting the post), the image itself is restricted in the REST API: - -```json -{ - "code": "rest_forbidden", - "message": "You don't have permission to do this.", - "data": { - "status": 403 - } -} -``` - -which prevents Gatsby from retrieving it. - -In order to resolve this, you can manually change the `post_parent` value of the image record to `0` in the database. The only side effect of this change is that the image will no longer appear in the "Uploaded to this post" filter in the Add Media dialog in the WordPress administration area. - -### TypeError - `Cannot read property 'id' of undefined` with WordPress.com - -While there are other reasons this can occur (see issues), a very specific version of this issue occurs when a particular tag, category, file (or any other referenced object) is referenced in a post but cannot be mapped to the list of related items to generate the proper node. - -This problem occurs because WordPress.com's API lacks the `X-WP-Total` and `X-WP-TotalPages` headers, which are used to determine the number of items and number of pages to pull from the API. Because of this, lower WordPress.com plans (Starter, Personal, and Premium) will not traverse the 2,...n pages and **will not be able to work with more than 100 items**. - -Note: The plugin is currently using `https://public-api.wordpress.com/wp/v2/sites/[site]/` base endpoint, instead of what is in the WordPress.com documentation (`https://public-api.wordpress.com/rest/v1.1/sites/[site]/`. the `wp/v2` closely resembles the WordPress.org API, whereas the `rest/v1` and `rest/v1.1` enpoints behave differently. - -### ACF Option Pages - Option page data not showing or not updating - -This issue occurs when you are trying to pull in data from your ACF Option pages. On certain occasions (initial setup or rebuilding) the data will not appear or won't update to the latest data. - -To resolve this issue, make sure that your ids in the `acfOptionPageIds` array, in the plugin config, corresponds to the `post_id` value when defining your Options page with the `acf_add_options_page` method provided by ACF. - -### Self-signed certificates - -When running locally, or in other situations that may involve self-signed certificates, you may run into the error: `The request failed with error code "DEPTH_ZERO_SELF_SIGNED_CERT"`. - -To solve this, you can disable Node.js' rejection of unauthorized certificates by adding the following to `.env.development`: - -```shell -NODE_TLS_REJECT_UNAUTHORIZED=0 -``` - -Please note that you need to add `dotenv`, as mentioned earlier, to expose environment variables in your gatsby-config.js or gatsby-node.js files. - -**CAUTION:** This should never be set in production. Always ensure that you disable `NODE_TLS_REJECT_UNAUTHORIZED` in development with `gatsby develop` only. - -[dotenv]: https://github.com/motdotla/dotenv -[envvars]: https://www.gatsbyjs.org/docs/environment-variables +
+Wapuu hugging a ball with the Gatsby logo on it +
+ +

+ + Gatsby and gatsby-source-wordpress are released under the MIT license. + + + Current npm package version. + + + Downloads per month on npm. + + + Total downloads on npm. + + + PRs welcome! + + + Follow @gatsbyjs + +

+ +# gatsby-source-wordpress v4 + +Source data from WordPress in a scaleable and efficient way with WPGraphQL 🚀 + +This plugin works by merging the [WPGraphQL schema & data](https://docs.wpgraphql.com/guides/about-wpgraphql/) with the [Gatsby schema & Node model](https://www.gatsbyjs.com/docs/node-model/) which allows us to efficiently cache WP data in Gatsby. What this means is that incremental builds, fast builds, and CMS Previews work beautifully! 💅 + +# Docs 📖 + +- 👩‍🎤 [Why use this plugin?](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/why-use-this-plugin.md) +- 🏃‍ [Installation & Getting started](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/getting-started.md) +- 🏫 [Tutorials](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/tutorials/index.md) +- 🐾 [Features](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/features/index.md) +- 🔌 [Plugin options](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/plugin-options.md) +- ⛵️ [Migrating from other WP source plugins](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/migrating-from-other-wp-source-plugins.md) +- 💻 [Using Data](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/using-data.md) +- 🏠 [Hosting WordPress](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/hosting.md) +- 👟 [Themes, Starters, and Examples](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/themes-starters-examples.md) +- 🏅 [Usage with popular WPGraphQL extensions](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/usage-with-popular-wp-graphql-extensions.md) +- 🛠 [Debugging and troubleshooting](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/debugging-and-troubleshooting.md) +- 🏞 [Community and Support](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/community-and-support.md) +- 💡 [Contribution](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/contribution.md) + +## Relevant Links 🔗 + +- [WPGatsby](https://github.com/gatsbyjs/wp-gatsby) +- [WPGraphQL](https://github.com/wp-graphql/wp-graphql) +- [Gatsby](https://www.gatsbyjs.com/) +- [WordPress](https://wordpress.com/) diff --git a/packages/gatsby-source-wordpress/docker-compose.yml b/packages/gatsby-source-wordpress/docker-compose.yml new file mode 100644 index 0000000000000..6cbdfac1cf725 --- /dev/null +++ b/packages/gatsby-source-wordpress/docker-compose.yml @@ -0,0 +1,59 @@ +version: "3.8" + +services: + db: + image: mysql:8 + environment: + MYSQL_ROOT_PASSWORD: gtsb-wp-dckr + MYSQL_DATABASE: wordpress + MYSQL_USER: wordpress + MYSQL_PASSWORD: gtsb-wp-dckr-user + restart: always + volumes: + - "db_data:/var/lib/mysql" + - "./docker/seed:/docker-entrypoint-initdb.d" + + docker-host: + image: qoomon/docker-host + cap_add: ["NET_ADMIN", "NET_RAW"] + mem_limit: 8M + restart: on-failure + + wordpress: + depends_on: + - db + env_file: + - ./test-site/.env.test + - ./test-site/.env.plugins + build: + context: ./docker/wordpress + ports: + - "8001:8001" + environment: + WORDPRESS_DB_PASSWORD: gtsb-wp-dckr-user + WORDPRESS_DB_NAME: wordpress + WORDPRESS_DB_USER: wordpress + WORDPRESS_DB_HOST: db:3306 + WORDPRESS_DEBUG: 1 + restart: always + volumes: + - wp_data:/var/www/html + + wordpress-cli: + depends_on: + - db + - wordpress + # Specify versions for wp cli or composer here + environment: + CPT_UI_VERSION: 1.8.1 + env_file: + - ./test-site/.env.test + - ./test-site/.env.plugins + build: + context: ./docker/wp-cli + volumes: + - wp_data:/var/www/html + +volumes: + db_data: + wp_data: diff --git a/packages/gatsby-source-wordpress/docker/rebuild.sh b/packages/gatsby-source-wordpress/docker/rebuild.sh new file mode 100755 index 0000000000000..fd8265c3abada --- /dev/null +++ b/packages/gatsby-source-wordpress/docker/rebuild.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +function log () { + echo -e "\n\n[gatsby-source-wordpress] ${1}\n\n" +} + +log 'Rebuilding test docker-compose' + +docker-compose rm -fsv && \ +docker volume rm gatsby-source-wordpress_db_data gatsby-source-wordpress_wp_data && \ +docker-compose up --force-recreate --build -V --remove-orphans -d && \ + +log 'Successfully rebuilt test docker-compose. \n\nContainers are now running in detached mode & next the script will follow logs for wordpress & wp-cli.\nIf you press ctrl/cmd+C to exit the log follow process, the containers will remain running.\nYou can use docker-compose stop to stop them.' && \ + +docker-compose logs -f wordpress wordpress-cli; diff --git a/packages/gatsby-source-wordpress/docker/seed/backup.sql b/packages/gatsby-source-wordpress/docker/seed/backup.sql new file mode 100644 index 0000000000000..65c698b832899 --- /dev/null +++ b/packages/gatsby-source-wordpress/docker/seed/backup.sql @@ -0,0 +1,6642 @@ +-- phpMyAdmin SQL Dump +-- version 4.9.5 +-- https://www.phpmyadmin.net/ +-- +-- Host: pod-154453.wpengine.com:13306 +-- Generation Time: Oct 17, 2020 at 02:23 PM +-- Server version: 5.7.29-32-log +-- PHP Version: 7.2.24-0ubuntu0.18.04.7 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +SET AUTOCOMMIT = 0; +START TRANSACTION; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Database: `wp_devgatsbyint` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_actionscheduler_actions` +-- + +CREATE TABLE `wp_actionscheduler_actions` ( + `action_id` bigint(20) UNSIGNED NOT NULL, + `hook` varchar(191) COLLATE utf8mb4_unicode_520_ci NOT NULL, + `status` varchar(20) COLLATE utf8mb4_unicode_520_ci NOT NULL, + `scheduled_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `scheduled_date_local` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `args` varchar(191) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL, + `schedule` longtext COLLATE utf8mb4_unicode_520_ci, + `group_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `attempts` int(11) NOT NULL DEFAULT '0', + `last_attempt_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `last_attempt_local` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `claim_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `extended_args` varchar(8000) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; + +-- +-- Dumping data for table `wp_actionscheduler_actions` +-- + +INSERT INTO `wp_actionscheduler_actions` (`action_id`, `hook`, `status`, `scheduled_date_gmt`, `scheduled_date_local`, `args`, `schedule`, `group_id`, `attempts`, `last_attempt_gmt`, `last_attempt_local`, `claim_id`, `extended_args`) VALUES +(8450, 'action_scheduler/migration_hook', 'complete', '2020-09-19 00:09:57', '2020-09-19 00:09:57', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600474197;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600474197;}', 1, 1, '2020-09-19 00:10:28', '2020-09-19 00:10:28', 0, NULL), +(8451, 'woocommerce_update_marketplace_suggestions', 'complete', '2020-09-19 00:12:34', '2020-09-19 00:12:34', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600474354;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600474354;}', 0, 1, '2020-09-19 00:12:59', '2020-09-19 00:12:59', 0, NULL), +(8452, 'action_scheduler/migration_hook', 'complete', '2020-09-24 22:48:39', '2020-09-24 22:48:39', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600987719;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600987719;}', 1, 1, '2020-09-24 22:51:32', '2020-09-24 22:51:32', 0, NULL), +(8453, 'action_scheduler/migration_hook', 'complete', '2020-09-24 22:52:32', '2020-09-24 22:52:32', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600987952;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600987952;}', 1, 1, '2020-09-24 22:53:15', '2020-09-24 22:53:15', 0, NULL), +(8454, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:02:42', '2020-09-24 23:02:42', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600988562;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600988562;}', 1, 1, '2020-09-24 23:02:55', '2020-09-24 23:02:55', 0, NULL), +(8455, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:03:55', '2020-09-24 23:03:55', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600988635;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600988635;}', 1, 1, '2020-09-24 23:06:38', '2020-09-24 23:06:38', 0, NULL), +(8456, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:07:38', '2020-09-24 23:07:38', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600988858;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600988858;}', 1, 1, '2020-09-24 23:07:53', '2020-09-24 23:07:53', 0, NULL), +(8457, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:08:55', '2020-09-24 23:08:55', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600988935;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600988935;}', 1, 1, '2020-09-24 23:09:03', '2020-09-24 23:09:03', 0, NULL), +(8458, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:10:03', '2020-09-24 23:10:03', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600989003;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600989003;}', 1, 1, '2020-09-24 23:11:44', '2020-09-24 23:11:44', 0, NULL), +(8459, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:12:44', '2020-09-24 23:12:44', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600989164;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600989164;}', 1, 1, '2020-09-24 23:12:54', '2020-09-24 23:12:54', 0, NULL), +(8460, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:13:54', '2020-09-24 23:13:54', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600989234;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600989234;}', 1, 1, '2020-09-24 23:14:54', '2020-09-24 23:14:54', 0, NULL), +(8461, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:15:54', '2020-09-24 23:15:54', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600989354;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600989354;}', 1, 1, '2020-09-24 23:15:57', '2020-09-24 23:15:57', 0, NULL), +(8462, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:16:57', '2020-09-24 23:16:57', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600989417;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600989417;}', 1, 1, '2020-09-24 23:18:16', '2020-09-24 23:18:16', 0, NULL), +(8463, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:19:16', '2020-09-24 23:19:16', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600989556;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600989556;}', 1, 1, '2020-09-24 23:20:28', '2020-09-24 23:20:28', 0, NULL), +(8464, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:21:28', '2020-09-24 23:21:28', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600989688;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600989688;}', 1, 1, '2020-09-24 23:21:59', '2020-09-24 23:21:59', 0, NULL), +(8465, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:22:59', '2020-09-24 23:22:59', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600989779;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600989779;}', 1, 1, '2020-09-24 23:26:27', '2020-09-24 23:26:27', 0, NULL), +(8466, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:45:24', '2020-09-24 23:45:24', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600991124;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600991124;}', 1, 1, '2020-09-24 23:47:38', '2020-09-24 23:47:38', 0, NULL), +(8467, 'action_scheduler/migration_hook', 'complete', '2020-09-24 23:48:38', '2020-09-24 23:48:38', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1600991318;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1600991318;}', 1, 1, '2020-09-24 23:50:09', '2020-09-24 23:50:09', 0, NULL), +(8468, 'action_scheduler/migration_hook', 'complete', '2020-09-25 22:44:31', '2020-09-25 22:44:31', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1601073871;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1601073871;}', 1, 1, '2020-09-25 22:44:40', '2020-09-25 22:44:40', 0, NULL), +(8469, 'action_scheduler/migration_hook', 'complete', '2020-09-25 22:47:13', '2020-09-25 22:47:13', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1601074033;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1601074033;}', 1, 1, '2020-09-25 22:47:16', '2020-09-25 22:47:16', 0, NULL), +(8470, 'action_scheduler/migration_hook', 'complete', '2020-10-01 00:34:29', '2020-10-01 00:34:29', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1601512469;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1601512469;}', 1, 1, '2020-10-01 00:35:34', '2020-10-01 00:35:34', 0, NULL), +(8471, 'action_scheduler/migration_hook', 'complete', '2020-10-01 00:36:34', '2020-10-01 00:36:34', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1601512594;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1601512594;}', 1, 1, '2020-10-01 00:36:47', '2020-10-01 00:36:47', 0, NULL), +(8472, 'action_scheduler/migration_hook', 'complete', '2020-10-02 18:52:00', '2020-10-02 18:52:00', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1601664720;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1601664720;}', 1, 1, '2020-10-02 18:52:06', '2020-10-02 18:52:06', 0, NULL), +(8473, 'action_scheduler/migration_hook', 'complete', '2020-10-15 21:00:49', '2020-10-15 21:00:49', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1602795649;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1602795649;}', 1, 1, '2020-10-15 21:04:44', '2020-10-15 21:04:44', 0, NULL), +(8474, 'action_scheduler/migration_hook', 'complete', '2020-10-15 21:05:44', '2020-10-15 21:05:44', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1602795944;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1602795944;}', 1, 1, '2020-10-15 21:05:57', '2020-10-15 21:05:57', 0, NULL), +(8475, 'action_scheduler/migration_hook', 'complete', '2020-10-15 21:29:19', '2020-10-15 21:29:19', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1602797359;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1602797359;}', 1, 1, '2020-10-15 21:29:33', '2020-10-15 21:29:33', 0, NULL), +(8476, 'action_scheduler/migration_hook', 'complete', '2020-10-15 21:30:33', '2020-10-15 21:30:33', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1602797433;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1602797433;}', 1, 1, '2020-10-15 21:31:00', '2020-10-15 21:31:00', 0, NULL), +(8477, 'action_scheduler/migration_hook', 'complete', '2020-10-15 21:40:34', '2020-10-15 21:40:34', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1602798034;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1602798034;}', 1, 1, '2020-10-15 23:34:08', '2020-10-15 23:34:08', 0, NULL), +(8478, 'action_scheduler/migration_hook', 'complete', '2020-10-15 23:35:08', '2020-10-15 23:35:08', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1602804908;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1602804908;}', 1, 1, '2020-10-15 23:38:56', '2020-10-15 23:38:56', 0, NULL), +(8479, 'action_scheduler/migration_hook', 'complete', '2020-10-15 23:39:56', '2020-10-15 23:39:56', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1602805196;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1602805196;}', 1, 1, '2020-10-15 23:47:03', '2020-10-15 23:47:03', 0, NULL), +(8480, 'action_scheduler/migration_hook', 'complete', '2020-10-15 23:48:03', '2020-10-15 23:48:03', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1602805683;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1602805683;}', 1, 1, '2020-10-15 23:54:29', '2020-10-15 23:54:29', 0, NULL), +(8481, 'action_scheduler/migration_hook', 'pending', '2020-10-17 13:51:12', '2020-10-17 13:51:12', '[]', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1602942672;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1602942672;}', 1, 0, '0000-00-00 00:00:00', '0000-00-00 00:00:00', 0, NULL); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_actionscheduler_claims` +-- + +CREATE TABLE `wp_actionscheduler_claims` ( + `claim_id` bigint(20) UNSIGNED NOT NULL, + `date_created_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_actionscheduler_groups` +-- + +CREATE TABLE `wp_actionscheduler_groups` ( + `group_id` bigint(20) UNSIGNED NOT NULL, + `slug` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; + +-- +-- Dumping data for table `wp_actionscheduler_groups` +-- + +INSERT INTO `wp_actionscheduler_groups` (`group_id`, `slug`) VALUES +(1, 'action-scheduler-migration'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_actionscheduler_logs` +-- + +CREATE TABLE `wp_actionscheduler_logs` ( + `log_id` bigint(20) UNSIGNED NOT NULL, + `action_id` bigint(20) UNSIGNED NOT NULL, + `message` text COLLATE utf8mb4_unicode_520_ci NOT NULL, + `log_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `log_date_local` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; + +-- +-- Dumping data for table `wp_actionscheduler_logs` +-- + +INSERT INTO `wp_actionscheduler_logs` (`log_id`, `action_id`, `message`, `log_date_gmt`, `log_date_local`) VALUES +(1, 8450, 'action created', '2020-09-19 00:08:57', '2020-09-19 00:08:57'), +(2, 8450, 'action started via Async Request', '2020-09-19 00:10:28', '2020-09-19 00:10:28'), +(3, 8450, 'action complete via Async Request', '2020-09-19 00:10:28', '2020-09-19 00:10:28'), +(4, 8451, 'action created', '2020-09-19 00:12:34', '2020-09-19 00:12:34'), +(5, 8451, 'action started via WP Cron', '2020-09-19 00:12:59', '2020-09-19 00:12:59'), +(6, 8451, 'action complete via WP Cron', '2020-09-19 00:12:59', '2020-09-19 00:12:59'), +(7, 8452, 'action created', '2020-09-24 22:47:39', '2020-09-24 22:47:39'), +(8, 8452, 'action started via WP Cron', '2020-09-24 22:51:32', '2020-09-24 22:51:32'), +(9, 8452, 'action complete via WP Cron', '2020-09-24 22:51:32', '2020-09-24 22:51:32'), +(10, 8453, 'action created', '2020-09-24 22:51:32', '2020-09-24 22:51:32'), +(11, 8453, 'action started via WP Cron', '2020-09-24 22:53:15', '2020-09-24 22:53:15'), +(12, 8453, 'action complete via WP Cron', '2020-09-24 22:53:15', '2020-09-24 22:53:15'), +(13, 8454, 'action created', '2020-09-24 23:01:42', '2020-09-24 23:01:42'), +(14, 8454, 'action started via WP Cron', '2020-09-24 23:02:55', '2020-09-24 23:02:55'), +(15, 8454, 'action complete via WP Cron', '2020-09-24 23:02:55', '2020-09-24 23:02:55'), +(16, 8455, 'action created', '2020-09-24 23:02:55', '2020-09-24 23:02:55'), +(17, 8455, 'action started via WP Cron', '2020-09-24 23:06:38', '2020-09-24 23:06:38'), +(18, 8455, 'action complete via WP Cron', '2020-09-24 23:06:38', '2020-09-24 23:06:38'), +(19, 8456, 'action created', '2020-09-24 23:06:38', '2020-09-24 23:06:38'), +(20, 8456, 'action started via Async Request', '2020-09-24 23:07:53', '2020-09-24 23:07:53'), +(21, 8456, 'action complete via Async Request', '2020-09-24 23:07:53', '2020-09-24 23:07:53'), +(22, 8457, 'action created', '2020-09-24 23:07:55', '2020-09-24 23:07:55'), +(23, 8457, 'action started via WP Cron', '2020-09-24 23:09:03', '2020-09-24 23:09:03'), +(24, 8457, 'action complete via WP Cron', '2020-09-24 23:09:03', '2020-09-24 23:09:03'), +(25, 8458, 'action created', '2020-09-24 23:09:03', '2020-09-24 23:09:03'), +(26, 8458, 'action started via WP Cron', '2020-09-24 23:11:44', '2020-09-24 23:11:44'), +(27, 8458, 'action complete via WP Cron', '2020-09-24 23:11:44', '2020-09-24 23:11:44'), +(28, 8459, 'action created', '2020-09-24 23:11:44', '2020-09-24 23:11:44'), +(29, 8459, 'action started via WP Cron', '2020-09-24 23:12:54', '2020-09-24 23:12:54'), +(30, 8459, 'action complete via WP Cron', '2020-09-24 23:12:54', '2020-09-24 23:12:54'), +(31, 8460, 'action created', '2020-09-24 23:12:54', '2020-09-24 23:12:54'), +(32, 8460, 'action started via WP Cron', '2020-09-24 23:14:54', '2020-09-24 23:14:54'), +(33, 8460, 'action complete via WP Cron', '2020-09-24 23:14:54', '2020-09-24 23:14:54'), +(34, 8461, 'action created', '2020-09-24 23:14:54', '2020-09-24 23:14:54'), +(35, 8461, 'action started via WP Cron', '2020-09-24 23:15:57', '2020-09-24 23:15:57'), +(36, 8461, 'action complete via WP Cron', '2020-09-24 23:15:57', '2020-09-24 23:15:57'), +(37, 8462, 'action created', '2020-09-24 23:15:57', '2020-09-24 23:15:57'), +(38, 8462, 'action started via WP Cron', '2020-09-24 23:18:16', '2020-09-24 23:18:16'), +(39, 8462, 'action complete via WP Cron', '2020-09-24 23:18:16', '2020-09-24 23:18:16'), +(40, 8463, 'action created', '2020-09-24 23:18:16', '2020-09-24 23:18:16'), +(41, 8463, 'action started via WP Cron', '2020-09-24 23:20:28', '2020-09-24 23:20:28'), +(42, 8463, 'action complete via WP Cron', '2020-09-24 23:20:28', '2020-09-24 23:20:28'), +(43, 8464, 'action created', '2020-09-24 23:20:28', '2020-09-24 23:20:28'), +(44, 8464, 'action started via WP Cron', '2020-09-24 23:21:59', '2020-09-24 23:21:59'), +(45, 8464, 'action complete via WP Cron', '2020-09-24 23:21:59', '2020-09-24 23:21:59'), +(46, 8465, 'action created', '2020-09-24 23:21:59', '2020-09-24 23:21:59'), +(47, 8465, 'action started via WP Cron', '2020-09-24 23:26:27', '2020-09-24 23:26:27'), +(48, 8465, 'action complete via WP Cron', '2020-09-24 23:26:27', '2020-09-24 23:26:27'), +(49, 8466, 'action created', '2020-09-24 23:44:24', '2020-09-24 23:44:24'), +(50, 8466, 'action started via WP Cron', '2020-09-24 23:47:38', '2020-09-24 23:47:38'), +(51, 8466, 'action complete via WP Cron', '2020-09-24 23:47:38', '2020-09-24 23:47:38'), +(52, 8467, 'action created', '2020-09-24 23:47:38', '2020-09-24 23:47:38'), +(53, 8467, 'action started via WP Cron', '2020-09-24 23:50:09', '2020-09-24 23:50:09'), +(54, 8467, 'action complete via WP Cron', '2020-09-24 23:50:09', '2020-09-24 23:50:09'), +(55, 8468, 'action created', '2020-09-25 22:43:31', '2020-09-25 22:43:31'), +(56, 8468, 'action started via Async Request', '2020-09-25 22:44:40', '2020-09-25 22:44:40'), +(57, 8468, 'action complete via Async Request', '2020-09-25 22:44:40', '2020-09-25 22:44:40'), +(58, 8469, 'action created', '2020-09-25 22:46:13', '2020-09-25 22:46:13'), +(59, 8469, 'action started via Async Request', '2020-09-25 22:47:16', '2020-09-25 22:47:16'), +(60, 8469, 'action complete via Async Request', '2020-09-25 22:47:16', '2020-09-25 22:47:16'), +(61, 8470, 'action created', '2020-10-01 00:33:29', '2020-10-01 00:33:29'), +(62, 8470, 'action started via WP Cron', '2020-10-01 00:35:34', '2020-10-01 00:35:34'), +(63, 8470, 'action complete via WP Cron', '2020-10-01 00:35:34', '2020-10-01 00:35:34'), +(64, 8471, 'action created', '2020-10-01 00:35:34', '2020-10-01 00:35:34'), +(65, 8471, 'action started via Async Request', '2020-10-01 00:36:47', '2020-10-01 00:36:47'), +(66, 8471, 'action complete via Async Request', '2020-10-01 00:36:47', '2020-10-01 00:36:47'), +(67, 8472, 'action created', '2020-10-02 18:51:00', '2020-10-02 18:51:00'), +(68, 8472, 'action started via Async Request', '2020-10-02 18:52:06', '2020-10-02 18:52:06'), +(69, 8472, 'action complete via Async Request', '2020-10-02 18:52:06', '2020-10-02 18:52:06'), +(70, 8473, 'action created', '2020-10-15 20:59:49', '2020-10-15 20:59:49'), +(71, 8473, 'action started via WP Cron', '2020-10-15 21:04:44', '2020-10-15 21:04:44'), +(72, 8473, 'action complete via WP Cron', '2020-10-15 21:04:44', '2020-10-15 21:04:44'), +(73, 8474, 'action created', '2020-10-15 21:04:44', '2020-10-15 21:04:44'), +(74, 8474, 'action started via WP Cron', '2020-10-15 21:05:57', '2020-10-15 21:05:57'), +(75, 8474, 'action complete via WP Cron', '2020-10-15 21:05:57', '2020-10-15 21:05:57'), +(76, 8475, 'action created', '2020-10-15 21:28:19', '2020-10-15 21:28:19'), +(77, 8475, 'action started via WP Cron', '2020-10-15 21:29:33', '2020-10-15 21:29:33'), +(78, 8475, 'action complete via WP Cron', '2020-10-15 21:29:33', '2020-10-15 21:29:33'), +(79, 8476, 'action created', '2020-10-15 21:29:33', '2020-10-15 21:29:33'), +(80, 8476, 'action started via WP Cron', '2020-10-15 21:31:00', '2020-10-15 21:31:00'), +(81, 8476, 'action complete via WP Cron', '2020-10-15 21:31:00', '2020-10-15 21:31:00'), +(82, 8477, 'action created', '2020-10-15 21:39:34', '2020-10-15 21:39:34'), +(83, 8477, 'action started via WP Cron', '2020-10-15 23:34:08', '2020-10-15 23:34:08'), +(84, 8477, 'action complete via WP Cron', '2020-10-15 23:34:08', '2020-10-15 23:34:08'), +(85, 8478, 'action created', '2020-10-15 23:34:08', '2020-10-15 23:34:08'), +(86, 8478, 'action started via WP Cron', '2020-10-15 23:38:56', '2020-10-15 23:38:56'), +(87, 8478, 'action complete via WP Cron', '2020-10-15 23:38:56', '2020-10-15 23:38:56'), +(88, 8479, 'action created', '2020-10-15 23:38:56', '2020-10-15 23:38:56'), +(89, 8479, 'action started via WP Cron', '2020-10-15 23:47:03', '2020-10-15 23:47:03'), +(90, 8479, 'action complete via WP Cron', '2020-10-15 23:47:03', '2020-10-15 23:47:03'), +(91, 8480, 'action created', '2020-10-15 23:47:03', '2020-10-15 23:47:03'), +(92, 8480, 'action started via WP Cron', '2020-10-15 23:54:29', '2020-10-15 23:54:29'), +(93, 8480, 'action complete via WP Cron', '2020-10-15 23:54:29', '2020-10-15 23:54:29'), +(94, 8481, 'action created', '2020-10-17 13:50:12', '2020-10-17 13:50:12'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_commentmeta` +-- + +CREATE TABLE `wp_commentmeta` ( + `meta_id` bigint(20) UNSIGNED NOT NULL, + `comment_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `meta_value` longtext COLLATE utf8mb4_unicode_ci +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_comments` +-- + +CREATE TABLE `wp_comments` ( + `comment_ID` bigint(20) UNSIGNED NOT NULL, + `comment_post_ID` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `comment_author` tinytext COLLATE utf8mb4_unicode_ci NOT NULL, + `comment_author_email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `comment_author_url` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `comment_author_IP` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `comment_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `comment_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `comment_content` text COLLATE utf8mb4_unicode_ci NOT NULL, + `comment_karma` int(11) NOT NULL DEFAULT '0', + `comment_approved` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '1', + `comment_agent` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `comment_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'comment', + `comment_parent` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `user_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_comments` +-- + +INSERT INTO `wp_comments` (`comment_ID`, `comment_post_ID`, `comment_author`, `comment_author_email`, `comment_author_url`, `comment_author_IP`, `comment_date`, `comment_date_gmt`, `comment_content`, `comment_karma`, `comment_approved`, `comment_agent`, `comment_type`, `comment_parent`, `user_id`) VALUES +(1, 1, 'A WordPress Commenter', 'wapuu@wordpress.example', 'https://wordpress.org/', '', '2020-02-25 17:54:21', '2020-02-25 17:54:21', 'Hi, this is a comment.\nTo get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard.\nCommenter avatars come from Gravatar.', 0, '1', '', 'comment', 0, 0); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_links` +-- + +CREATE TABLE `wp_links` ( + `link_id` bigint(20) UNSIGNED NOT NULL, + `link_url` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `link_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `link_image` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `link_target` varchar(25) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `link_description` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `link_visible` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Y', + `link_owner` bigint(20) UNSIGNED NOT NULL DEFAULT '1', + `link_rating` int(11) NOT NULL DEFAULT '0', + `link_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `link_rel` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `link_notes` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `link_rss` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_options` +-- + +CREATE TABLE `wp_options` ( + `option_id` bigint(20) UNSIGNED NOT NULL, + `option_name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `option_value` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `autoload` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'yes' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_options` +-- + +INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES +(1, 'siteurl', 'https://devgatsbyint.wpengine.com', 'yes'), +(2, 'home', 'https://devgatsbyint.wpengine.com', 'yes'), +(3, 'blogname', 'Automated testing for Gatsby source WordPress V4', 'yes'), +(4, 'blogdescription', 'Just another WordPress site', 'yes'), +(5, 'users_can_register', '0', 'yes'), +(6, 'admin_email', 'tyler@gatsbyjs.com', 'yes'), +(7, 'start_of_week', '1', 'yes'), +(8, 'use_balanceTags', '0', 'yes'), +(9, 'use_smilies', '1', 'yes'), +(10, 'require_name_email', '1', 'yes'), +(11, 'comments_notify', '1', 'yes'), +(12, 'posts_per_rss', '10', 'yes'), +(13, 'rss_use_excerpt', '0', 'yes'), +(14, 'mailserver_url', 'mail.example.com', 'yes'), +(15, 'mailserver_login', 'login@example.com', 'yes'), +(16, 'mailserver_pass', 'password', 'yes'), +(17, 'mailserver_port', '110', 'yes'), +(18, 'default_category', '23', 'yes'), +(19, 'default_comment_status', 'open', 'yes'), +(20, 'default_ping_status', 'open', 'yes'), +(21, 'default_pingback_flag', '0', 'yes'), +(22, 'posts_per_page', '10', 'yes'), +(23, 'date_format', 'F j, Y', 'yes'), +(24, 'time_format', 'g:i a', 'yes'), +(25, 'links_updated_date_format', 'F j, Y g:i a', 'yes'), +(26, 'comment_moderation', '0', 'yes'), +(27, 'moderation_notify', '1', 'yes'), +(28, 'permalink_structure', '/%year%/%monthnum%/%day%/%postname%/', 'yes'), +(30, 'hack_file', '0', 'yes'), +(31, 'blog_charset', 'UTF-8', 'yes'), +(32, 'moderation_keys', '', 'no'), +(33, 'active_plugins', 'a:8:{i:1;s:32:\"Basic-Auth-master/basic-auth.php\";i:2;s:55:\"acf-gatsby-google-api-key/acf-gatsby-google-api-key.php\";i:3;s:41:\"advanced-custom-fields-pro-master/acf.php\";i:4;s:43:\"custom-post-type-ui/custom-post-type-ui.php\";i:8;s:23:\"wp-gatsby/wp-gatsby.php\";i:10;s:32:\"wp-graphql-0.13.1/wp-graphql.php\";i:11;s:41:\"wp-graphql-acf-develop/wp-graphql-acf.php\";i:12;s:72:\"wp-graphql-custom-post-type-ui-master/wp-graphql-custom-post-type-ui.php\";}', 'yes'), +(34, 'category_base', '', 'yes'), +(35, 'ping_sites', 'http://rpc.pingomatic.com/', 'yes'), +(36, 'comment_max_links', '2', 'yes'), +(37, 'gmt_offset', '0', 'yes'), +(38, 'default_email_category', '1', 'yes'), +(39, 'recently_edited', '', 'no'), +(40, 'template', 'twentytwenty', 'yes'), +(41, 'stylesheet', 'twentytwenty', 'yes'), +(44, 'comment_registration', '0', 'yes'), +(45, 'html_type', 'text/html', 'yes'), +(46, 'use_trackback', '0', 'yes'), +(47, 'default_role', 'subscriber', 'yes'), +(48, 'db_version', '48748', 'yes'), +(49, 'uploads_use_yearmonth_folders', '1', 'yes'), +(50, 'upload_path', '', 'yes'), +(51, 'blog_public', '0', 'yes'), +(52, 'default_link_category', '2', 'yes'), +(53, 'show_on_front', 'page', 'yes'), +(54, 'tag_base', '', 'yes'), +(55, 'show_avatars', '1', 'yes'), +(56, 'avatar_rating', 'G', 'yes'), +(57, 'upload_url_path', '', 'yes'), +(58, 'thumbnail_size_w', '150', 'yes'), +(59, 'thumbnail_size_h', '150', 'yes'), +(60, 'thumbnail_crop', '1', 'yes'), +(61, 'medium_size_w', '300', 'yes'), +(62, 'medium_size_h', '300', 'yes'), +(63, 'avatar_default', 'mystery', 'yes'), +(64, 'large_size_w', '1024', 'yes'), +(65, 'large_size_h', '1024', 'yes'), +(66, 'image_default_link_type', 'none', 'yes'), +(67, 'image_default_size', '', 'yes'), +(68, 'image_default_align', '', 'yes'), +(69, 'close_comments_for_old_posts', '0', 'yes'), +(70, 'close_comments_days_old', '14', 'yes'), +(71, 'thread_comments', '1', 'yes'), +(72, 'thread_comments_depth', '5', 'yes'), +(73, 'page_comments', '0', 'yes'), +(74, 'comments_per_page', '50', 'yes'), +(75, 'default_comments_page', 'newest', 'yes'), +(76, 'comment_order', 'asc', 'yes'), +(77, 'sticky_posts', 'a:0:{}', 'yes'), +(78, 'widget_categories', 'a:2:{i:2;a:4:{s:5:\"title\";s:0:\"\";s:5:\"count\";i:0;s:12:\"hierarchical\";i:0;s:8:\"dropdown\";i:0;}s:12:\"_multiwidget\";i:1;}', 'yes'), +(79, 'widget_text', 'a:0:{}', 'yes'), +(80, 'widget_rss', 'a:0:{}', 'yes'), +(81, 'uninstall_plugins', 'a:1:{s:28:\"wp-site-migrate/wpengine.php\";a:2:{i:0;s:11:\"WPEWPAction\";i:1;s:9:\"uninstall\";}}', 'no'), +(82, 'timezone_string', '', 'yes'), +(83, 'page_for_posts', '0', 'yes'), +(84, 'page_on_front', '17', 'yes'), +(85, 'default_post_format', '0', 'yes'), +(86, 'link_manager_enabled', '0', 'yes'), +(87, 'finished_splitting_shared_terms', '1', 'yes'), +(88, 'site_icon', '0', 'yes'), +(89, 'medium_large_size_w', '768', 'yes'), +(90, 'medium_large_size_h', '0', 'yes'), +(91, 'wp_page_for_privacy_policy', '3', 'yes'), +(92, 'show_comments_cookies_opt_in', '1', 'yes'), +(93, 'admin_email_lifespan', '1615848750', 'yes'), +(94, 'initial_db_version', '45805', 'yes'), +(95, 'wp_user_roles', 'a:7:{s:13:\"administrator\";a:2:{s:4:\"name\";s:13:\"Administrator\";s:12:\"capabilities\";a:115:{s:13:\"switch_themes\";b:1;s:11:\"edit_themes\";b:1;s:16:\"activate_plugins\";b:1;s:12:\"edit_plugins\";b:1;s:10:\"edit_users\";b:1;s:10:\"edit_files\";b:1;s:14:\"manage_options\";b:1;s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:6:\"import\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:8:\"level_10\";b:1;s:7:\"level_9\";b:1;s:7:\"level_8\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;s:12:\"delete_users\";b:1;s:12:\"create_users\";b:1;s:17:\"unfiltered_upload\";b:1;s:14:\"edit_dashboard\";b:1;s:14:\"update_plugins\";b:1;s:14:\"delete_plugins\";b:1;s:15:\"install_plugins\";b:1;s:13:\"update_themes\";b:1;s:14:\"install_themes\";b:1;s:11:\"update_core\";b:1;s:10:\"list_users\";b:1;s:12:\"remove_users\";b:1;s:13:\"promote_users\";b:1;s:18:\"edit_theme_options\";b:1;s:13:\"delete_themes\";b:1;s:6:\"export\";b:1;s:12:\"manage_polls\";b:1;s:18:\"manage_woocommerce\";b:1;s:24:\"view_woocommerce_reports\";b:1;s:12:\"edit_product\";b:1;s:12:\"read_product\";b:1;s:14:\"delete_product\";b:1;s:13:\"edit_products\";b:1;s:20:\"edit_others_products\";b:1;s:16:\"publish_products\";b:1;s:21:\"read_private_products\";b:1;s:15:\"delete_products\";b:1;s:23:\"delete_private_products\";b:1;s:25:\"delete_published_products\";b:1;s:22:\"delete_others_products\";b:1;s:21:\"edit_private_products\";b:1;s:23:\"edit_published_products\";b:1;s:20:\"manage_product_terms\";b:1;s:18:\"edit_product_terms\";b:1;s:20:\"delete_product_terms\";b:1;s:20:\"assign_product_terms\";b:1;s:15:\"edit_shop_order\";b:1;s:15:\"read_shop_order\";b:1;s:17:\"delete_shop_order\";b:1;s:16:\"edit_shop_orders\";b:1;s:23:\"edit_others_shop_orders\";b:1;s:19:\"publish_shop_orders\";b:1;s:24:\"read_private_shop_orders\";b:1;s:18:\"delete_shop_orders\";b:1;s:26:\"delete_private_shop_orders\";b:1;s:28:\"delete_published_shop_orders\";b:1;s:25:\"delete_others_shop_orders\";b:1;s:24:\"edit_private_shop_orders\";b:1;s:26:\"edit_published_shop_orders\";b:1;s:23:\"manage_shop_order_terms\";b:1;s:21:\"edit_shop_order_terms\";b:1;s:23:\"delete_shop_order_terms\";b:1;s:23:\"assign_shop_order_terms\";b:1;s:16:\"edit_shop_coupon\";b:1;s:16:\"read_shop_coupon\";b:1;s:18:\"delete_shop_coupon\";b:1;s:17:\"edit_shop_coupons\";b:1;s:24:\"edit_others_shop_coupons\";b:1;s:20:\"publish_shop_coupons\";b:1;s:25:\"read_private_shop_coupons\";b:1;s:19:\"delete_shop_coupons\";b:1;s:27:\"delete_private_shop_coupons\";b:1;s:29:\"delete_published_shop_coupons\";b:1;s:26:\"delete_others_shop_coupons\";b:1;s:25:\"edit_private_shop_coupons\";b:1;s:27:\"edit_published_shop_coupons\";b:1;s:24:\"manage_shop_coupon_terms\";b:1;s:22:\"edit_shop_coupon_terms\";b:1;s:24:\"delete_shop_coupon_terms\";b:1;s:24:\"assign_shop_coupon_terms\";b:1;}}s:6:\"editor\";a:2:{s:4:\"name\";s:6:\"Editor\";s:12:\"capabilities\";a:34:{s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;}}s:6:\"author\";a:2:{s:4:\"name\";s:6:\"Author\";s:12:\"capabilities\";a:10:{s:12:\"upload_files\";b:1;s:10:\"edit_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:4:\"read\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:12:\"delete_posts\";b:1;s:22:\"delete_published_posts\";b:1;}}s:11:\"contributor\";a:2:{s:4:\"name\";s:11:\"Contributor\";s:12:\"capabilities\";a:5:{s:10:\"edit_posts\";b:1;s:4:\"read\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:12:\"delete_posts\";b:1;}}s:10:\"subscriber\";a:2:{s:4:\"name\";s:10:\"Subscriber\";s:12:\"capabilities\";a:2:{s:4:\"read\";b:1;s:7:\"level_0\";b:1;}}s:8:\"customer\";a:2:{s:4:\"name\";s:8:\"Customer\";s:12:\"capabilities\";a:1:{s:4:\"read\";b:1;}}s:12:\"shop_manager\";a:2:{s:4:\"name\";s:12:\"Shop manager\";s:12:\"capabilities\";a:92:{s:7:\"level_9\";b:1;s:7:\"level_8\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:4:\"read\";b:1;s:18:\"read_private_pages\";b:1;s:18:\"read_private_posts\";b:1;s:10:\"edit_posts\";b:1;s:10:\"edit_pages\";b:1;s:20:\"edit_published_posts\";b:1;s:20:\"edit_published_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"edit_private_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:17:\"edit_others_pages\";b:1;s:13:\"publish_posts\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_posts\";b:1;s:12:\"delete_pages\";b:1;s:20:\"delete_private_pages\";b:1;s:20:\"delete_private_posts\";b:1;s:22:\"delete_published_pages\";b:1;s:22:\"delete_published_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:19:\"delete_others_pages\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:17:\"moderate_comments\";b:1;s:12:\"upload_files\";b:1;s:6:\"export\";b:1;s:6:\"import\";b:1;s:10:\"list_users\";b:1;s:18:\"edit_theme_options\";b:1;s:18:\"manage_woocommerce\";b:1;s:24:\"view_woocommerce_reports\";b:1;s:12:\"edit_product\";b:1;s:12:\"read_product\";b:1;s:14:\"delete_product\";b:1;s:13:\"edit_products\";b:1;s:20:\"edit_others_products\";b:1;s:16:\"publish_products\";b:1;s:21:\"read_private_products\";b:1;s:15:\"delete_products\";b:1;s:23:\"delete_private_products\";b:1;s:25:\"delete_published_products\";b:1;s:22:\"delete_others_products\";b:1;s:21:\"edit_private_products\";b:1;s:23:\"edit_published_products\";b:1;s:20:\"manage_product_terms\";b:1;s:18:\"edit_product_terms\";b:1;s:20:\"delete_product_terms\";b:1;s:20:\"assign_product_terms\";b:1;s:15:\"edit_shop_order\";b:1;s:15:\"read_shop_order\";b:1;s:17:\"delete_shop_order\";b:1;s:16:\"edit_shop_orders\";b:1;s:23:\"edit_others_shop_orders\";b:1;s:19:\"publish_shop_orders\";b:1;s:24:\"read_private_shop_orders\";b:1;s:18:\"delete_shop_orders\";b:1;s:26:\"delete_private_shop_orders\";b:1;s:28:\"delete_published_shop_orders\";b:1;s:25:\"delete_others_shop_orders\";b:1;s:24:\"edit_private_shop_orders\";b:1;s:26:\"edit_published_shop_orders\";b:1;s:23:\"manage_shop_order_terms\";b:1;s:21:\"edit_shop_order_terms\";b:1;s:23:\"delete_shop_order_terms\";b:1;s:23:\"assign_shop_order_terms\";b:1;s:16:\"edit_shop_coupon\";b:1;s:16:\"read_shop_coupon\";b:1;s:18:\"delete_shop_coupon\";b:1;s:17:\"edit_shop_coupons\";b:1;s:24:\"edit_others_shop_coupons\";b:1;s:20:\"publish_shop_coupons\";b:1;s:25:\"read_private_shop_coupons\";b:1;s:19:\"delete_shop_coupons\";b:1;s:27:\"delete_private_shop_coupons\";b:1;s:29:\"delete_published_shop_coupons\";b:1;s:26:\"delete_others_shop_coupons\";b:1;s:25:\"edit_private_shop_coupons\";b:1;s:27:\"edit_published_shop_coupons\";b:1;s:24:\"manage_shop_coupon_terms\";b:1;s:22:\"edit_shop_coupon_terms\";b:1;s:24:\"delete_shop_coupon_terms\";b:1;s:24:\"assign_shop_coupon_terms\";b:1;}}}', 'yes'), +(96, 'fresh_site', '0', 'yes'), +(97, 'widget_search', 'a:2:{i:2;a:1:{s:5:\"title\";s:0:\"\";}s:12:\"_multiwidget\";i:1;}', 'yes'), +(98, 'widget_recent-posts', 'a:2:{i:2;a:2:{s:5:\"title\";s:0:\"\";s:6:\"number\";i:5;}s:12:\"_multiwidget\";i:1;}', 'yes'), +(99, 'widget_recent-comments', 'a:2:{i:2;a:2:{s:5:\"title\";s:0:\"\";s:6:\"number\";i:5;}s:12:\"_multiwidget\";i:1;}', 'yes'), +(100, 'widget_archives', 'a:2:{i:2;a:3:{s:5:\"title\";s:0:\"\";s:5:\"count\";i:0;s:8:\"dropdown\";i:0;}s:12:\"_multiwidget\";i:1;}', 'yes'), +(101, 'widget_meta', 'a:2:{i:2;a:1:{s:5:\"title\";s:0:\"\";}s:12:\"_multiwidget\";i:1;}', 'yes'), +(102, 'sidebars_widgets', 'a:4:{s:19:\"wp_inactive_widgets\";a:0:{}s:9:\"sidebar-1\";a:3:{i:0;s:8:\"search-2\";i:1;s:14:\"recent-posts-2\";i:2;s:17:\"recent-comments-2\";}s:9:\"sidebar-2\";a:3:{i:0;s:10:\"archives-2\";i:1;s:12:\"categories-2\";i:2;s:6:\"meta-2\";}s:13:\"array_version\";i:3;}', 'yes'), +(103, 'cron', 'a:18:{i:1602945015;a:1:{s:10:\"polls_cron\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:6:\"hourly\";s:4:\"args\";a:0:{}s:8:\"interval\";i:3600;}}}i:1602946463;a:1:{s:34:\"wp_privacy_delete_old_export_files\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:6:\"hourly\";s:4:\"args\";a:0:{}s:8:\"interval\";i:3600;}}}i:1602947336;a:1:{s:33:\"wc_admin_process_orders_milestone\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:6:\"hourly\";s:4:\"args\";a:0:{}s:8:\"interval\";i:3600;}}}i:1602947342;a:1:{s:29:\"wc_admin_unsnooze_admin_notes\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:6:\"hourly\";s:4:\"args\";a:0:{}s:8:\"interval\";i:3600;}}}i:1602951311;a:1:{s:46:\"WPEngineSecurityAuditor_Scans_fingerprint_core\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:0:{}}}}i:1602957262;a:1:{s:32:\"recovery_mode_clean_expired_keys\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1602957263;a:3:{s:16:\"wp_version_check\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:17:\"wp_update_plugins\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:16:\"wp_update_themes\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}}i:1602957268;a:2:{s:19:\"wp_scheduled_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}s:25:\"delete_expired_transients\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1602957269;a:1:{s:30:\"wp_scheduled_auto_draft_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1602961110;a:1:{s:19:\"wpseo-reindex-links\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1602962914;a:1:{s:17:\"gravityforms_cron\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1602969665;a:1:{s:49:\"WPEngineSecurityAuditor_Scans_fingerprint_plugins\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:0:{}}}}i:1602970723;a:1:{s:16:\"backupbuddy_cron\";a:1:{s:32:\"b2d6f4df5dfc2b203ff6fc9b49103fdc\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:2:{i:0;s:12:\"housekeeping\";i:1;a:0:{}}s:8:\"interval\";i:86400;}}}i:1602977617;a:1:{s:39:\"WPEngineSecurityAuditor_Scans_scheduler\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}}i:1602979736;a:1:{s:14:\"wc_admin_daily\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1602985651;a:1:{s:48:\"WPEngineSecurityAuditor_Scans_fingerprint_themes\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:0:{}}}}i:1603322864;a:1:{s:30:\"wp_site_health_scheduled_check\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:6:\"weekly\";s:4:\"args\";a:0:{}s:8:\"interval\";i:604800;}}}s:7:\"version\";i:2;}', 'yes'), +(104, 'widget_pages', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(105, 'widget_calendar', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(106, 'widget_media_audio', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(107, 'widget_media_image', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(108, 'widget_media_gallery', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(109, 'widget_media_video', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(110, 'widget_tag_cloud', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(111, 'widget_nav_menu', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(112, 'widget_custom_html', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(114, 'theme_mods_twentytwenty', 'a:3:{s:18:\"custom_css_post_id\";i:-1;s:18:\"nav_menu_locations\";a:5:{s:7:\"primary\";i:0;s:8:\"expanded\";i:0;s:6:\"mobile\";i:0;s:6:\"footer\";i:0;s:6:\"social\";i:17;}s:16:\"background_color\";s:3:\"fff\";}', 'yes'), +(115, 'recovery_keys', 'a:0:{}', 'yes'), +(143, 'recently_activated', 'a:11:{s:41:\"wordpress-importer/wordpress-importer.php\";i:1602944377;s:29:\"wp-sync-db-1.5/wp-sync-db.php\";i:1602944377;s:56:\"wp-sync-db-media-files-master/wp-sync-db-media-files.php\";i:1602944377;s:34:\"wp-graphiql-master/wp-graphiql.php\";i:1602942694;s:37:\"wp-graphql-gutenberg-0.3.4/plugin.php\";i:1602942677;s:50:\"wp-graphql-polylang-master/wp-graphql-polylang.php\";i:1602942658;s:55:\"wp-graphql-woocommerce-0.5.1/wp-graphql-woocommerce.php\";i:1602942639;s:24:\"wordpress-seo/wp-seo.php\";i:1602942635;s:27:\"woocommerce/woocommerce.php\";i:1602942628;s:21:\"polylang/polylang.php\";i:1602942624;s:45:\"wp-graphql-yoast-seo/wp-graphql-yoast-seo.php\";i:1602942611;}', 'yes'), +(171, 'acf_version', '5.8.7', 'yes'), +(180, 'cptui_new_install', 'false', 'yes'), +(183, 'cptui_post_types', 'a:6:{s:11:\"team_member\";a:33:{s:4:\"name\";s:11:\"team_member\";s:5:\"label\";s:12:\"Team Members\";s:14:\"singular_label\";s:11:\"Team Member\";s:11:\"description\";s:0:\"\";s:6:\"public\";s:4:\"true\";s:18:\"publicly_queryable\";s:4:\"true\";s:7:\"show_ui\";s:4:\"true\";s:17:\"show_in_nav_menus\";s:4:\"true\";s:16:\"delete_with_user\";s:5:\"false\";s:12:\"show_in_rest\";s:4:\"true\";s:9:\"rest_base\";s:0:\"\";s:21:\"rest_controller_class\";s:0:\"\";s:11:\"has_archive\";s:4:\"true\";s:18:\"has_archive_string\";s:4:\"team\";s:19:\"exclude_from_search\";s:5:\"false\";s:15:\"capability_type\";s:4:\"post\";s:12:\"hierarchical\";s:5:\"false\";s:7:\"rewrite\";s:4:\"true\";s:12:\"rewrite_slug\";s:0:\"\";s:17:\"rewrite_withfront\";s:4:\"true\";s:9:\"query_var\";s:4:\"true\";s:14:\"query_var_slug\";s:0:\"\";s:13:\"menu_position\";s:0:\"\";s:12:\"show_in_menu\";s:4:\"true\";s:19:\"show_in_menu_string\";s:0:\"\";s:9:\"menu_icon\";s:0:\"\";s:8:\"supports\";a:11:{i:0;s:5:\"title\";i:1;s:6:\"editor\";i:2;s:9:\"thumbnail\";i:3;s:7:\"excerpt\";i:4;s:10:\"trackbacks\";i:5;s:13:\"custom-fields\";i:6;s:8:\"comments\";i:7;s:9:\"revisions\";i:8;s:6:\"author\";i:9;s:15:\"page-attributes\";i:10;s:12:\"post-formats\";}s:10:\"taxonomies\";a:2:{i:0;s:8:\"category\";i:1;s:8:\"post_tag\";}s:6:\"labels\";a:29:{s:9:\"menu_name\";s:0:\"\";s:9:\"all_items\";s:0:\"\";s:7:\"add_new\";s:0:\"\";s:12:\"add_new_item\";s:0:\"\";s:9:\"edit_item\";s:0:\"\";s:8:\"new_item\";s:0:\"\";s:9:\"view_item\";s:0:\"\";s:10:\"view_items\";s:0:\"\";s:12:\"search_items\";s:0:\"\";s:9:\"not_found\";s:0:\"\";s:18:\"not_found_in_trash\";s:0:\"\";s:17:\"parent_item_colon\";s:0:\"\";s:14:\"featured_image\";s:0:\"\";s:18:\"set_featured_image\";s:0:\"\";s:21:\"remove_featured_image\";s:0:\"\";s:18:\"use_featured_image\";s:0:\"\";s:8:\"archives\";s:0:\"\";s:16:\"insert_into_item\";s:0:\"\";s:21:\"uploaded_to_this_item\";s:0:\"\";s:17:\"filter_items_list\";s:0:\"\";s:21:\"items_list_navigation\";s:0:\"\";s:10:\"items_list\";s:0:\"\";s:10:\"attributes\";s:0:\"\";s:14:\"name_admin_bar\";s:0:\"\";s:14:\"item_published\";s:0:\"\";s:24:\"item_published_privately\";s:0:\"\";s:22:\"item_reverted_to_draft\";s:0:\"\";s:14:\"item_scheduled\";s:0:\"\";s:12:\"item_updated\";s:0:\"\";}s:15:\"custom_supports\";s:0:\"\";s:15:\"show_in_graphql\";s:1:\"1\";s:19:\"graphql_single_name\";s:10:\"teamMember\";s:19:\"graphql_plural_name\";s:11:\"TeamMembers\";}s:7:\"project\";a:33:{s:4:\"name\";s:7:\"project\";s:5:\"label\";s:7:\"Project\";s:14:\"singular_label\";s:8:\"Projects\";s:11:\"description\";s:0:\"\";s:6:\"public\";s:4:\"true\";s:18:\"publicly_queryable\";s:4:\"true\";s:7:\"show_ui\";s:4:\"true\";s:17:\"show_in_nav_menus\";s:4:\"true\";s:16:\"delete_with_user\";s:5:\"false\";s:12:\"show_in_rest\";s:4:\"true\";s:9:\"rest_base\";s:0:\"\";s:21:\"rest_controller_class\";s:0:\"\";s:11:\"has_archive\";s:5:\"false\";s:18:\"has_archive_string\";s:0:\"\";s:19:\"exclude_from_search\";s:5:\"false\";s:15:\"capability_type\";s:4:\"post\";s:12:\"hierarchical\";s:5:\"false\";s:7:\"rewrite\";s:4:\"true\";s:12:\"rewrite_slug\";s:0:\"\";s:17:\"rewrite_withfront\";s:4:\"true\";s:9:\"query_var\";s:4:\"true\";s:14:\"query_var_slug\";s:0:\"\";s:13:\"menu_position\";s:0:\"\";s:12:\"show_in_menu\";s:4:\"true\";s:19:\"show_in_menu_string\";s:0:\"\";s:9:\"menu_icon\";s:0:\"\";s:8:\"supports\";a:4:{i:0;s:5:\"title\";i:1;s:6:\"editor\";i:2;s:9:\"thumbnail\";i:3;s:6:\"author\";}s:10:\"taxonomies\";a:0:{}s:6:\"labels\";a:29:{s:9:\"menu_name\";s:0:\"\";s:9:\"all_items\";s:0:\"\";s:7:\"add_new\";s:0:\"\";s:12:\"add_new_item\";s:0:\"\";s:9:\"edit_item\";s:0:\"\";s:8:\"new_item\";s:0:\"\";s:9:\"view_item\";s:0:\"\";s:10:\"view_items\";s:0:\"\";s:12:\"search_items\";s:0:\"\";s:9:\"not_found\";s:0:\"\";s:18:\"not_found_in_trash\";s:0:\"\";s:17:\"parent_item_colon\";s:0:\"\";s:14:\"featured_image\";s:0:\"\";s:18:\"set_featured_image\";s:0:\"\";s:21:\"remove_featured_image\";s:0:\"\";s:18:\"use_featured_image\";s:0:\"\";s:8:\"archives\";s:0:\"\";s:16:\"insert_into_item\";s:0:\"\";s:21:\"uploaded_to_this_item\";s:0:\"\";s:17:\"filter_items_list\";s:0:\"\";s:21:\"items_list_navigation\";s:0:\"\";s:10:\"items_list\";s:0:\"\";s:10:\"attributes\";s:0:\"\";s:14:\"name_admin_bar\";s:0:\"\";s:14:\"item_published\";s:0:\"\";s:24:\"item_published_privately\";s:0:\"\";s:22:\"item_reverted_to_draft\";s:0:\"\";s:14:\"item_scheduled\";s:0:\"\";s:12:\"item_updated\";s:0:\"\";}s:15:\"custom_supports\";s:0:\"\";s:15:\"show_in_graphql\";s:1:\"1\";s:19:\"graphql_single_name\";s:7:\"project\";s:19:\"graphql_plural_name\";s:8:\"projects\";}s:15:\"type_limit_test\";a:33:{s:4:\"name\";s:15:\"type_limit_test\";s:5:\"label\";s:15:\"Type Limit Test\";s:14:\"singular_label\";s:15:\"Type limit Test\";s:11:\"description\";s:0:\"\";s:6:\"public\";s:4:\"true\";s:18:\"publicly_queryable\";s:4:\"true\";s:7:\"show_ui\";s:4:\"true\";s:17:\"show_in_nav_menus\";s:4:\"true\";s:16:\"delete_with_user\";s:5:\"false\";s:12:\"show_in_rest\";s:4:\"true\";s:9:\"rest_base\";s:0:\"\";s:21:\"rest_controller_class\";s:0:\"\";s:11:\"has_archive\";s:5:\"false\";s:18:\"has_archive_string\";s:0:\"\";s:19:\"exclude_from_search\";s:5:\"false\";s:15:\"capability_type\";s:4:\"post\";s:12:\"hierarchical\";s:5:\"false\";s:7:\"rewrite\";s:4:\"true\";s:12:\"rewrite_slug\";s:0:\"\";s:17:\"rewrite_withfront\";s:4:\"true\";s:9:\"query_var\";s:4:\"true\";s:14:\"query_var_slug\";s:0:\"\";s:13:\"menu_position\";s:0:\"\";s:12:\"show_in_menu\";s:4:\"true\";s:19:\"show_in_menu_string\";s:0:\"\";s:9:\"menu_icon\";s:0:\"\";s:8:\"supports\";a:4:{i:0;s:5:\"title\";i:1;s:6:\"editor\";i:2;s:9:\"thumbnail\";i:3;s:6:\"author\";}s:10:\"taxonomies\";a:0:{}s:6:\"labels\";a:29:{s:9:\"menu_name\";s:0:\"\";s:9:\"all_items\";s:0:\"\";s:7:\"add_new\";s:0:\"\";s:12:\"add_new_item\";s:0:\"\";s:9:\"edit_item\";s:0:\"\";s:8:\"new_item\";s:0:\"\";s:9:\"view_item\";s:0:\"\";s:10:\"view_items\";s:0:\"\";s:12:\"search_items\";s:0:\"\";s:9:\"not_found\";s:0:\"\";s:18:\"not_found_in_trash\";s:0:\"\";s:17:\"parent_item_colon\";s:0:\"\";s:14:\"featured_image\";s:0:\"\";s:18:\"set_featured_image\";s:0:\"\";s:21:\"remove_featured_image\";s:0:\"\";s:18:\"use_featured_image\";s:0:\"\";s:8:\"archives\";s:0:\"\";s:16:\"insert_into_item\";s:0:\"\";s:21:\"uploaded_to_this_item\";s:0:\"\";s:17:\"filter_items_list\";s:0:\"\";s:21:\"items_list_navigation\";s:0:\"\";s:10:\"items_list\";s:0:\"\";s:10:\"attributes\";s:0:\"\";s:14:\"name_admin_bar\";s:0:\"\";s:14:\"item_published\";s:0:\"\";s:24:\"item_published_privately\";s:0:\"\";s:22:\"item_reverted_to_draft\";s:0:\"\";s:14:\"item_scheduled\";s:0:\"\";s:12:\"item_updated\";s:0:\"\";}s:15:\"custom_supports\";s:0:\"\";s:15:\"show_in_graphql\";s:1:\"1\";s:19:\"graphql_single_name\";s:13:\"typeLimitTest\";s:19:\"graphql_plural_name\";s:14:\"typeLimitTests\";}s:17:\"type_limit_0_test\";a:33:{s:4:\"name\";s:17:\"type_limit_0_test\";s:5:\"label\";s:17:\"Type Limit 0 Test\";s:14:\"singular_label\";s:17:\"Type Limit 0 Test\";s:11:\"description\";s:0:\"\";s:6:\"public\";s:4:\"true\";s:18:\"publicly_queryable\";s:4:\"true\";s:7:\"show_ui\";s:4:\"true\";s:17:\"show_in_nav_menus\";s:4:\"true\";s:16:\"delete_with_user\";s:5:\"false\";s:12:\"show_in_rest\";s:4:\"true\";s:9:\"rest_base\";s:0:\"\";s:21:\"rest_controller_class\";s:0:\"\";s:11:\"has_archive\";s:5:\"false\";s:18:\"has_archive_string\";s:0:\"\";s:19:\"exclude_from_search\";s:5:\"false\";s:15:\"capability_type\";s:4:\"post\";s:12:\"hierarchical\";s:5:\"false\";s:7:\"rewrite\";s:4:\"true\";s:12:\"rewrite_slug\";s:0:\"\";s:17:\"rewrite_withfront\";s:4:\"true\";s:9:\"query_var\";s:4:\"true\";s:14:\"query_var_slug\";s:0:\"\";s:13:\"menu_position\";s:0:\"\";s:12:\"show_in_menu\";s:4:\"true\";s:19:\"show_in_menu_string\";s:0:\"\";s:9:\"menu_icon\";s:0:\"\";s:8:\"supports\";a:4:{i:0;s:5:\"title\";i:1;s:6:\"editor\";i:2;s:9:\"thumbnail\";i:3;s:6:\"author\";}s:10:\"taxonomies\";a:0:{}s:6:\"labels\";a:29:{s:9:\"menu_name\";s:0:\"\";s:9:\"all_items\";s:0:\"\";s:7:\"add_new\";s:0:\"\";s:12:\"add_new_item\";s:0:\"\";s:9:\"edit_item\";s:0:\"\";s:8:\"new_item\";s:0:\"\";s:9:\"view_item\";s:0:\"\";s:10:\"view_items\";s:0:\"\";s:12:\"search_items\";s:0:\"\";s:9:\"not_found\";s:0:\"\";s:18:\"not_found_in_trash\";s:0:\"\";s:17:\"parent_item_colon\";s:0:\"\";s:14:\"featured_image\";s:0:\"\";s:18:\"set_featured_image\";s:0:\"\";s:21:\"remove_featured_image\";s:0:\"\";s:18:\"use_featured_image\";s:0:\"\";s:8:\"archives\";s:0:\"\";s:16:\"insert_into_item\";s:0:\"\";s:21:\"uploaded_to_this_item\";s:0:\"\";s:17:\"filter_items_list\";s:0:\"\";s:21:\"items_list_navigation\";s:0:\"\";s:10:\"items_list\";s:0:\"\";s:10:\"attributes\";s:0:\"\";s:14:\"name_admin_bar\";s:0:\"\";s:14:\"item_published\";s:0:\"\";s:24:\"item_published_privately\";s:0:\"\";s:22:\"item_reverted_to_draft\";s:0:\"\";s:14:\"item_scheduled\";s:0:\"\";s:12:\"item_updated\";s:0:\"\";}s:15:\"custom_supports\";s:0:\"\";s:15:\"show_in_graphql\";s:1:\"1\";s:19:\"graphql_single_name\";s:14:\"typeLimit0Test\";s:19:\"graphql_plural_name\";s:15:\"typeLimit0Tests\";}s:20:\"translation_filter_t\";a:33:{s:4:\"name\";s:20:\"translation_filter_t\";s:5:\"label\";s:23:\"Translation Filter Test\";s:14:\"singular_label\";s:23:\"Translation Filter Test\";s:11:\"description\";s:0:\"\";s:6:\"public\";s:4:\"true\";s:18:\"publicly_queryable\";s:4:\"true\";s:7:\"show_ui\";s:4:\"true\";s:17:\"show_in_nav_menus\";s:4:\"true\";s:16:\"delete_with_user\";s:5:\"false\";s:12:\"show_in_rest\";s:4:\"true\";s:9:\"rest_base\";s:0:\"\";s:21:\"rest_controller_class\";s:0:\"\";s:11:\"has_archive\";s:5:\"false\";s:18:\"has_archive_string\";s:0:\"\";s:19:\"exclude_from_search\";s:5:\"false\";s:15:\"capability_type\";s:4:\"page\";s:12:\"hierarchical\";s:5:\"false\";s:7:\"rewrite\";s:4:\"true\";s:12:\"rewrite_slug\";s:0:\"\";s:17:\"rewrite_withfront\";s:4:\"true\";s:9:\"query_var\";s:4:\"true\";s:14:\"query_var_slug\";s:0:\"\";s:13:\"menu_position\";s:0:\"\";s:12:\"show_in_menu\";s:4:\"true\";s:19:\"show_in_menu_string\";s:0:\"\";s:9:\"menu_icon\";s:0:\"\";s:8:\"supports\";a:4:{i:0;s:5:\"title\";i:1;s:6:\"editor\";i:2;s:9:\"thumbnail\";i:3;s:6:\"author\";}s:10:\"taxonomies\";a:0:{}s:6:\"labels\";a:29:{s:9:\"menu_name\";s:0:\"\";s:9:\"all_items\";s:0:\"\";s:7:\"add_new\";s:0:\"\";s:12:\"add_new_item\";s:0:\"\";s:9:\"edit_item\";s:0:\"\";s:8:\"new_item\";s:0:\"\";s:9:\"view_item\";s:0:\"\";s:10:\"view_items\";s:0:\"\";s:12:\"search_items\";s:0:\"\";s:9:\"not_found\";s:0:\"\";s:18:\"not_found_in_trash\";s:0:\"\";s:17:\"parent_item_colon\";s:0:\"\";s:14:\"featured_image\";s:0:\"\";s:18:\"set_featured_image\";s:0:\"\";s:21:\"remove_featured_image\";s:0:\"\";s:18:\"use_featured_image\";s:0:\"\";s:8:\"archives\";s:0:\"\";s:16:\"insert_into_item\";s:0:\"\";s:21:\"uploaded_to_this_item\";s:0:\"\";s:17:\"filter_items_list\";s:0:\"\";s:21:\"items_list_navigation\";s:0:\"\";s:10:\"items_list\";s:0:\"\";s:10:\"attributes\";s:0:\"\";s:14:\"name_admin_bar\";s:0:\"\";s:14:\"item_published\";s:0:\"\";s:24:\"item_published_privately\";s:0:\"\";s:22:\"item_reverted_to_draft\";s:0:\"\";s:14:\"item_scheduled\";s:0:\"\";s:12:\"item_updated\";s:0:\"\";}s:15:\"custom_supports\";s:0:\"\";s:15:\"show_in_graphql\";s:1:\"1\";s:19:\"graphql_single_name\";s:21:\"translationFilterTest\";s:19:\"graphql_plural_name\";s:22:\"translationFilterTests\";}s:20:\"acf custom post type\";a:33:{s:4:\"name\";s:20:\"acf custom post type\";s:5:\"label\";s:26:\"ACF Custom post type posts\";s:14:\"singular_label\";s:25:\"ACF Custom post type post\";s:11:\"description\";s:0:\"\";s:6:\"public\";s:4:\"true\";s:18:\"publicly_queryable\";s:4:\"true\";s:7:\"show_ui\";s:4:\"true\";s:17:\"show_in_nav_menus\";s:4:\"true\";s:16:\"delete_with_user\";s:5:\"false\";s:12:\"show_in_rest\";s:4:\"true\";s:9:\"rest_base\";s:0:\"\";s:21:\"rest_controller_class\";s:0:\"\";s:11:\"has_archive\";s:5:\"false\";s:18:\"has_archive_string\";s:0:\"\";s:19:\"exclude_from_search\";s:5:\"false\";s:15:\"capability_type\";s:4:\"post\";s:12:\"hierarchical\";s:5:\"false\";s:7:\"rewrite\";s:4:\"true\";s:12:\"rewrite_slug\";s:0:\"\";s:17:\"rewrite_withfront\";s:4:\"true\";s:9:\"query_var\";s:4:\"true\";s:14:\"query_var_slug\";s:0:\"\";s:13:\"menu_position\";s:0:\"\";s:12:\"show_in_menu\";s:4:\"true\";s:19:\"show_in_menu_string\";s:0:\"\";s:9:\"menu_icon\";s:0:\"\";s:8:\"supports\";a:3:{i:0;s:5:\"title\";i:1;s:6:\"editor\";i:2;s:9:\"thumbnail\";}s:10:\"taxonomies\";a:0:{}s:6:\"labels\";a:30:{s:9:\"menu_name\";s:29:\"My ACF Custom post type posts\";s:9:\"all_items\";s:30:\"All ACF Custom post type posts\";s:7:\"add_new\";s:7:\"Add new\";s:12:\"add_new_item\";s:33:\"Add new ACF Custom post type post\";s:9:\"edit_item\";s:30:\"Edit ACF Custom post type post\";s:8:\"new_item\";s:29:\"New ACF Custom post type post\";s:9:\"view_item\";s:30:\"View ACF Custom post type post\";s:10:\"view_items\";s:31:\"View ACF Custom post type posts\";s:12:\"search_items\";s:33:\"Search ACF Custom post type posts\";s:9:\"not_found\";s:35:\"No ACF Custom post type posts found\";s:18:\"not_found_in_trash\";s:44:\"No ACF Custom post type posts found in trash\";s:6:\"parent\";s:33:\"Parent ACF Custom post type post:\";s:14:\"featured_image\";s:49:\"Featured image for this ACF Custom post type post\";s:18:\"set_featured_image\";s:53:\"Set featured image for this ACF Custom post type post\";s:21:\"remove_featured_image\";s:56:\"Remove featured image for this ACF Custom post type post\";s:18:\"use_featured_image\";s:56:\"Use as featured image for this ACF Custom post type post\";s:8:\"archives\";s:34:\"ACF Custom post type post archives\";s:16:\"insert_into_item\";s:37:\"Insert into ACF Custom post type post\";s:21:\"uploaded_to_this_item\";s:40:\"Upload to this ACF Custom post type post\";s:17:\"filter_items_list\";s:38:\"Filter ACF Custom post type posts list\";s:21:\"items_list_navigation\";s:42:\"ACF Custom post type posts list navigation\";s:10:\"items_list\";s:31:\"ACF Custom post type posts list\";s:10:\"attributes\";s:37:\"ACF Custom post type posts attributes\";s:14:\"name_admin_bar\";s:25:\"ACF Custom post type post\";s:14:\"item_published\";s:35:\"ACF Custom post type post published\";s:24:\"item_published_privately\";s:46:\"ACF Custom post type post published privately.\";s:22:\"item_reverted_to_draft\";s:44:\"ACF Custom post type post reverted to draft.\";s:14:\"item_scheduled\";s:35:\"ACF Custom post type post scheduled\";s:12:\"item_updated\";s:34:\"ACF Custom post type post updated.\";s:17:\"parent_item_colon\";s:33:\"Parent ACF Custom post type post:\";}s:15:\"custom_supports\";s:0:\"\";s:15:\"show_in_graphql\";s:1:\"0\";s:19:\"graphql_single_name\";s:6:\"acfCPT\";s:19:\"graphql_plural_name\";s:7:\"acfCPTs\";}}', 'yes'), +(203, 'wpseo', 'a:30:{s:8:\"tracking\";b:0;s:22:\"license_server_version\";s:1:\"2\";s:15:\"ms_defaults_set\";b:0;s:40:\"ignore_search_engines_discouraged_notice\";b:1;s:25:\"ignore_indexation_warning\";b:0;s:29:\"indexation_warning_hide_until\";b:0;s:18:\"indexation_started\";b:0;s:28:\"indexables_indexation_reason\";s:0:\"\";s:31:\"indexables_indexation_completed\";b:1;s:7:\"version\";s:4:\"14.9\";s:16:\"previous_version\";s:6:\"14.8.1\";s:20:\"disableadvanced_meta\";b:1;s:30:\"enable_headless_rest_endpoints\";b:1;s:17:\"ryte_indexability\";b:1;s:11:\"baiduverify\";s:0:\"\";s:12:\"googleverify\";s:0:\"\";s:8:\"msverify\";s:0:\"\";s:12:\"yandexverify\";s:0:\"\";s:9:\"site_type\";s:0:\"\";s:20:\"has_multiple_authors\";s:0:\"\";s:16:\"environment_type\";s:0:\"\";s:23:\"content_analysis_active\";b:1;s:23:\"keyword_analysis_active\";b:1;s:21:\"enable_admin_bar_menu\";b:1;s:26:\"enable_cornerstone_content\";b:1;s:18:\"enable_xml_sitemap\";b:1;s:24:\"enable_text_link_counter\";b:1;s:22:\"show_onboarding_notice\";b:1;s:18:\"first_activated_on\";i:1582657110;s:13:\"myyoast-oauth\";b:0;}', 'yes'), +(204, 'wpseo_titles', 'a:77:{s:10:\"title_test\";i:0;s:17:\"forcerewritetitle\";b:0;s:9:\"separator\";s:7:\"sc-dash\";s:16:\"title-home-wpseo\";s:42:\"%%sitename%% %%page%% %%sep%% %%sitedesc%%\";s:18:\"title-author-wpseo\";s:41:\"%%name%%, Author at %%sitename%% %%page%%\";s:19:\"title-archive-wpseo\";s:38:\"%%date%% %%page%% %%sep%% %%sitename%%\";s:18:\"title-search-wpseo\";s:63:\"You searched for %%searchphrase%% %%page%% %%sep%% %%sitename%%\";s:15:\"title-404-wpseo\";s:35:\"Page not found %%sep%% %%sitename%%\";s:19:\"metadesc-home-wpseo\";s:0:\"\";s:21:\"metadesc-author-wpseo\";s:0:\"\";s:22:\"metadesc-archive-wpseo\";s:0:\"\";s:9:\"rssbefore\";s:0:\"\";s:8:\"rssafter\";s:53:\"The post %%POSTLINK%% appeared first on %%BLOGLINK%%.\";s:20:\"noindex-author-wpseo\";b:0;s:28:\"noindex-author-noposts-wpseo\";b:1;s:21:\"noindex-archive-wpseo\";b:1;s:14:\"disable-author\";b:0;s:12:\"disable-date\";b:0;s:19:\"disable-post_format\";b:0;s:18:\"disable-attachment\";b:1;s:23:\"is-media-purge-relevant\";b:0;s:20:\"breadcrumbs-404crumb\";s:25:\"Error 404: Page not found\";s:29:\"breadcrumbs-display-blog-page\";b:1;s:20:\"breadcrumbs-boldlast\";b:0;s:25:\"breadcrumbs-archiveprefix\";s:12:\"Archives for\";s:18:\"breadcrumbs-enable\";b:0;s:16:\"breadcrumbs-home\";s:4:\"Home\";s:18:\"breadcrumbs-prefix\";s:0:\"\";s:24:\"breadcrumbs-searchprefix\";s:16:\"You searched for\";s:15:\"breadcrumbs-sep\";s:7:\"»\";s:12:\"website_name\";s:0:\"\";s:11:\"person_name\";s:0:\"\";s:11:\"person_logo\";s:0:\"\";s:14:\"person_logo_id\";i:0;s:22:\"alternate_website_name\";s:0:\"\";s:12:\"company_logo\";s:0:\"\";s:15:\"company_logo_id\";i:0;s:12:\"company_name\";s:0:\"\";s:17:\"company_or_person\";s:7:\"company\";s:25:\"company_or_person_user_id\";b:0;s:17:\"stripcategorybase\";b:0;s:10:\"title-post\";s:39:\"%%title%% %%page%% %%sep%% %%sitename%%\";s:13:\"metadesc-post\";s:0:\"\";s:12:\"noindex-post\";b:0;s:13:\"showdate-post\";b:0;s:23:\"display-metabox-pt-post\";b:1;s:23:\"post_types-post-maintax\";i:0;s:10:\"title-page\";s:39:\"%%title%% %%page%% %%sep%% %%sitename%%\";s:13:\"metadesc-page\";s:0:\"\";s:12:\"noindex-page\";b:0;s:13:\"showdate-page\";b:0;s:23:\"display-metabox-pt-page\";b:1;s:23:\"post_types-page-maintax\";i:0;s:16:\"title-attachment\";s:39:\"%%title%% %%page%% %%sep%% %%sitename%%\";s:19:\"metadesc-attachment\";s:0:\"\";s:18:\"noindex-attachment\";b:0;s:19:\"showdate-attachment\";b:0;s:29:\"display-metabox-pt-attachment\";b:1;s:29:\"post_types-attachment-maintax\";i:0;s:17:\"title-team_member\";s:39:\"%%title%% %%page%% %%sep%% %%sitename%%\";s:20:\"metadesc-team_member\";s:0:\"\";s:19:\"noindex-team_member\";b:0;s:20:\"showdate-team_member\";b:0;s:30:\"display-metabox-pt-team_member\";b:1;s:30:\"post_types-team_member-maintax\";i:0;s:18:\"title-tax-category\";s:53:\"%%term_title%% Archives %%page%% %%sep%% %%sitename%%\";s:21:\"metadesc-tax-category\";s:0:\"\";s:28:\"display-metabox-tax-category\";b:1;s:20:\"noindex-tax-category\";b:0;s:18:\"title-tax-post_tag\";s:53:\"%%term_title%% Archives %%page%% %%sep%% %%sitename%%\";s:21:\"metadesc-tax-post_tag\";s:0:\"\";s:28:\"display-metabox-tax-post_tag\";b:1;s:20:\"noindex-tax-post_tag\";b:0;s:21:\"title-tax-post_format\";s:53:\"%%term_title%% Archives %%page%% %%sep%% %%sitename%%\";s:24:\"metadesc-tax-post_format\";s:0:\"\";s:31:\"display-metabox-tax-post_format\";b:1;s:23:\"noindex-tax-post_format\";b:1;}', 'yes'), +(205, 'wpseo_social', 'a:19:{s:13:\"facebook_site\";s:0:\"\";s:13:\"instagram_url\";s:0:\"\";s:12:\"linkedin_url\";s:0:\"\";s:11:\"myspace_url\";s:0:\"\";s:16:\"og_default_image\";s:0:\"\";s:19:\"og_default_image_id\";s:0:\"\";s:18:\"og_frontpage_title\";s:0:\"\";s:17:\"og_frontpage_desc\";s:0:\"\";s:18:\"og_frontpage_image\";s:0:\"\";s:21:\"og_frontpage_image_id\";s:0:\"\";s:9:\"opengraph\";b:1;s:13:\"pinterest_url\";s:0:\"\";s:15:\"pinterestverify\";s:0:\"\";s:7:\"twitter\";b:1;s:12:\"twitter_site\";s:0:\"\";s:17:\"twitter_card_type\";s:19:\"summary_large_image\";s:11:\"youtube_url\";s:0:\"\";s:13:\"wikipedia_url\";s:0:\"\";s:10:\"fbadminapp\";s:0:\"\";}', 'yes'), +(206, 'wpseo_flush_rewrite', '1', 'yes'), +(245, 'bp-deactivated-components', 'a:0:{}', 'yes'), +(246, 'bp-xprofile-base-group-name', 'Base', 'yes'), +(247, 'bp-xprofile-fullname-field-name', 'Name', 'yes'), +(248, 'bp-blogs-first-install', '', 'yes'), +(249, 'bp-disable-profile-sync', '', 'yes'), +(250, 'hide-loggedout-adminbar', '', 'yes'), +(251, 'bp-disable-avatar-uploads', '', 'yes'), +(252, 'bp-disable-cover-image-uploads', '', 'yes'), +(253, 'bp-disable-group-avatar-uploads', '', 'yes'), +(254, 'bp-disable-group-cover-image-uploads', '', 'yes'), +(255, 'bp-disable-account-deletion', '', 'yes'), +(256, 'bp-disable-blogforum-comments', '1', 'yes'), +(257, '_bp_theme_package_id', 'nouveau', 'yes'), +(258, 'bp-emails-unsubscribe-salt', 'U2EuZFVlUTJfTzg1aGZDMiAqaWsgTmI6XmAhd2xWJUNpUTRKdnxbYzZlMlVqIXAoTVpUUGZ3dFo4L2xsZCBoNQ==', 'yes'), +(259, 'bp_restrict_group_creation', '', 'yes'), +(260, '_bp_enable_akismet', '1', 'yes'), +(261, '_bp_enable_heartbeat_refresh', '1', 'yes'), +(262, '_bp_force_buddybar', '', 'yes'), +(263, '_bp_retain_bp_default', '', 'yes'), +(264, '_bp_ignore_deprecated_code', '1', 'yes'), +(265, 'widget_bp_core_login_widget', '', 'yes'), +(266, 'widget_bp_core_members_widget', '', 'yes'), +(267, 'widget_bp_core_whos_online_widget', '', 'yes'), +(268, 'widget_bp_core_recently_active_widget', '', 'yes'), +(269, 'widget_bp_groups_widget', '', 'yes'), +(270, 'widget_bp_messages_sitewide_notices_widget', '', 'yes'), +(275, 'widget_bp_nouveau_sidebar_object_nav_widget', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(276, 'bp-active-components', 'a:5:{s:8:\"activity\";i:1;s:7:\"members\";i:1;s:8:\"settings\";i:1;s:8:\"xprofile\";i:1;s:13:\"notifications\";i:1;}', 'yes'), +(277, 'bp-pages', 'a:2:{s:8:\"activity\";i:16;s:7:\"members\";i:17;}', 'yes'), +(278, '_bp_db_version', '12385', 'yes'), +(279, 'widget_bp_latest_activities', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(287, 'polylang', 'a:15:{s:7:\"browser\";i:1;s:7:\"rewrite\";i:1;s:12:\"hide_default\";i:1;s:10:\"force_lang\";i:1;s:13:\"redirect_lang\";i:0;s:13:\"media_support\";i:1;s:9:\"uninstall\";i:0;s:4:\"sync\";a:0:{}s:10:\"post_types\";a:1:{i:0;s:20:\"translation_filter_t\";}s:10:\"taxonomies\";a:0:{}s:7:\"domains\";a:0:{}s:7:\"version\";s:6:\"2.6.10\";s:16:\"first_activation\";i:1582658887;s:12:\"default_lang\";s:2:\"en\";s:9:\"nav_menus\";a:1:{s:12:\"twentytwenty\";a:5:{s:7:\"primary\";a:2:{s:2:\"fr\";i:0;s:2:\"en\";i:0;}s:8:\"expanded\";a:2:{s:2:\"fr\";i:0;s:2:\"en\";i:0;}s:6:\"mobile\";a:2:{s:2:\"fr\";i:0;s:2:\"en\";i:0;}s:6:\"footer\";a:2:{s:2:\"fr\";i:0;s:2:\"en\";i:0;}s:6:\"social\";a:2:{s:2:\"fr\";i:0;s:2:\"en\";i:17;}}}}', 'yes'), +(288, 'polylang_wpml_strings', 'a:0:{}', 'yes'), +(289, 'widget_polylang', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(293, 'gf_db_version', '2.4.17', 'no'), +(294, 'rg_form_version', '2.4.17', 'no'), +(295, 'gform_enable_background_updates', '1', 'yes'), +(296, 'gform_pending_installation', '1', 'yes'), +(297, 'widget_gform_widget', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(298, 'gravityformsaddon_gravityformswebapi_version', '1.0', 'yes'), +(299, 'gform_version_info', 'a:6:{s:12:\"is_valid_key\";s:1:\"0\";s:15:\"expiration_time\";i:0;s:7:\"version\";s:5:\"1.7.9\";s:3:\"url\";s:0:\"\";s:9:\"offerings\";a:0:{}s:9:\"timestamp\";i:1583181700;}', 'no'), +(346, 'poll_template_pollarchivepagingheader', '', 'yes'), +(347, 'poll_template_pollarchivepagingfooter', '', 'yes'), +(371, 'wpgraphql_settings_basics', '', 'yes'), +(695, 'wpsdb_settings', 'a:7:{s:11:\"max_request\";i:1048576;s:3:\"key\";s:32:\"BZLvH/SezHJiJW43ZrvIeXXmlOgAm0Us\";s:10:\"allow_pull\";b:1;s:10:\"allow_push\";b:1;s:8:\"profiles\";a:0:{}s:10:\"verify_ssl\";b:0;s:17:\"blacklist_plugins\";a:0:{}}', 'yes'), +(752, 'wpsdb_error_log', '********************************************\n****** Log date: 2020/03/03 00:33:47 ******\n********************************************\n\nWPSDB Error: Invalid content verification signature, please verify the connection information on the remote site and try again. (#123)\n\nArray\n(\n [action] => wpsdb_remote_finalize_migration\n [intent] => pull\n [url] => https://devgatsbyint.wpengine.com\n [key] => qAGLW3Wdd1B9xZmenH6IyJXYbNQLZV1N\n [form_data] => save_computer=1&gzip_file=1&action=push&connection_info=https%3A%2F%2Fdevgatsbyint.wpengine.com%0D%0AqAGLW3Wdd1B9xZmenH6IyJXYbNQLZV1N&auth_username=&auth_password=&replace_old%5B%5D=&replace_new%5B%5D=&replace_old%5B%5D=http%3A%2F%2Fautomatedtestinggatsbysourcewordpresswpgraphql.local&replace_new%5B%5D=https%3A%2F%2Fdevgatsbyint.wpengine.com&replace_old%5B%5D=%2FUsers%2Ftyler%2FLocal+Sites%2Fautomated-testing-gatsby-source-wordpress-wpgraphql%2Fapp%2Fpublic&replace_new%5B%5D=%2Fsrv%2Fbindings%2F91fa00e23cd24d43b6375dec520d48fb%2Fcode&table_migrate_option=migrate_only_with_prefix&replace_guids=1&exclude_transients=1&backup_option=backup_only_with_prefix&media_files=1&save_migration_profile=1&save_migration_profile_option=new&create_new_profile=dev-automated-testing-gatsby-source-wordpress-wpgraphql.pantheonsite.io&remote_json_data=\n [prefix] => wp_\n [temp_prefix] => _mig_\n [tables] => wp_bp_activity,wp_bp_activity_meta,wp_bp_invitations,wp_bp_notifications,wp_bp_notifications_meta,wp_bp_xprofile_data,wp_bp_xprofile_fields,wp_bp_xprofile_groups,wp_bp_xprofile_meta,wp_commentmeta,wp_comments,wp_gf_draft_submissions,wp_gf_entry,wp_gf_entry_meta,wp_gf_entry_notes,wp_gf_form,wp_gf_form_meta,wp_gf_form_revisions,wp_gf_form_view,wp_links,wp_options,wp_pollsa,wp_pollsip,wp_pollsq,wp_postmeta,wp_posts,wp_signups,wp_term_relationships,wp_term_taxonomy,wp_termmeta,wp_terms,wp_usermeta,wp_users,wp_yoast_seo_links,wp_yoast_seo_meta\n [type] => push\n [location] => http://automatedtestinggatsbysourcewordpresswpgraphql.local\n [sig] => eHHNaMogkv+5hlgTprFHi2jS+/c=\n)\n\n\n********************************************\n****** Log date: 2020/03/03 00:34:42 ******\n********************************************\n\nWPSDB Error: Invalid content verification signature, please verify the connection information on the remote site and try again. (#123)\n\nArray\n(\n [action] => wpsdb_remote_finalize_migration\n [intent] => pull\n [url] => https://devgatsbyint.wpengine.com\n [key] => BZLvH/SezHJiJW43ZrvIeXXmlOgAm0Us\n [form_data] => save_computer=1&gzip_file=1&action=push&connection_info=https%3A%2F%2Fdevgatsbyint.wpengine.com%0D%0ABZLvH%2FSezHJiJW43ZrvIeXXmlOgAm0Us&auth_username=&auth_password=&replace_old%5B%5D=&replace_new%5B%5D=&replace_old%5B%5D=http%3A%2F%2Fautomatedtestinggatsbysourcewordpresswpgraphql.local&replace_new%5B%5D=https%3A%2F%2Fdevgatsbyint.wpengine.com&replace_old%5B%5D=%2FUsers%2Ftyler%2FLocal+Sites%2Fautomated-testing-gatsby-source-wordpress-wpgraphql%2Fapp%2Fpublic&replace_new%5B%5D=%2Fsrv%2Fbindings%2F91fa00e23cd24d43b6375dec520d48fb%2Fcode&table_migrate_option=migrate_only_with_prefix&replace_guids=1&exclude_transients=1&backup_option=backup_only_with_prefix&media_files=1&save_migration_profile=1&save_migration_profile_option=0&create_new_profile=dev-automated-testing-gatsby-source-wordpress-wpgraphql.pantheonsite.io&remote_json_data=\n [prefix] => wp_\n [temp_prefix] => _mig_\n [tables] => wp_bp_activity,wp_bp_activity_meta,wp_bp_invitations,wp_bp_notifications,wp_bp_notifications_meta,wp_bp_xprofile_data,wp_bp_xprofile_fields,wp_bp_xprofile_groups,wp_bp_xprofile_meta,wp_commentmeta,wp_comments,wp_gf_draft_submissions,wp_gf_entry,wp_gf_entry_meta,wp_gf_entry_notes,wp_gf_form,wp_gf_form_meta,wp_gf_form_revisions,wp_gf_form_view,wp_links,wp_options,wp_pollsa,wp_pollsip,wp_pollsq,wp_postmeta,wp_posts,wp_signups,wp_term_relationships,wp_term_taxonomy,wp_termmeta,wp_terms,wp_usermeta,wp_users,wp_yoast_seo_links,wp_yoast_seo_meta\n [type] => push\n [location] => http://automatedtestinggatsbysourcewordpresswpgraphql.local\n [sig] => 82taPsby4mczKgpknedd2K8O39s=\n)\n\n\n', 'yes'), +(840, 'nav_menu_options', 'a:2:{i:0;b:0;s:8:\"auto_add\";a:0:{}}', 'yes'), +(1705, 'wpgatsby_settings', 'a:5:{s:18:\"builds_api_webhook\";b:0;s:21:\"enable_gatsby_preview\";s:2:\"on\";s:20:\"preview_instance_url\";s:30:\"https://b911b322d94d.ngrok.io/\";s:19:\"preview_api_webhook\";s:39:\"https://b911b322d94d.ngrok.io/__refresh\";s:18:\"preview_jwt_secret\";s:50:\"Svx7Ps4S0CqAoeHNUpyZmuUVtxJukoyP1P3LeruTaOG3N1VWe8\";}', 'yes'), +(2975, 'pantheon-cache', 'a:1:{s:11:\"default_ttl\";i:0;}', 'yes'); +INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES +(3588, 'pb_backupbuddy', 'a:109:{s:12:\"data_version\";s:2:\"18\";s:21:\"importbuddy_pass_hash\";s:0:\"\";s:23:\"importbuddy_pass_length\";i:0;s:16:\"backup_reminders\";i:1;s:16:\"edits_since_last\";a:4:{s:3:\"all\";i:0;s:4:\"post\";i:0;s:6:\"plugin\";i:0;s:6:\"option\";i:0;}s:12:\"recent_edits\";a:0:{}s:19:\"edits_tracking_mode\";s:5:\"basic\";s:17:\"last_backup_start\";d:1592595891.282742;s:18:\"last_backup_finish\";d:1592595879.663283;s:18:\"last_backup_serial\";s:10:\"7r7gwpcf3r\";s:17:\"last_backup_stats\";a:10:{s:11:\"archiveFile\";s:115:\"backup-dev-automated-testing-gatsby-source-wordpress-wpgraphql_pantheonsite_io-2020_06_19-07_42pm-db-0t48bvq2b2.zip\";s:10:\"archiveURL\";s:188:\"https://devgatsbyint.wpengine.com/wp-content/uploads/backupbuddy_backups/backup-dev-automated-testing-gatsby-source-wordpress-wpgraphql_pantheonsite_io-2020_06_19-07_42pm-db-0t48bvq2b2.zip\";s:11:\"archiveSize\";i:91167;s:5:\"start\";d:1592595765.844207;s:6:\"finish\";d:1592595879.663283;s:4:\"type\";s:2:\"db\";s:12:\"profileTitle\";s:13:\"Database Only\";s:13:\"scheduleTitle\";s:0:\"\";s:15:\"integrityStatus\";b:1;s:12:\"destinations\";a:0:{}}s:21:\"last_error_email_time\";i:0;s:19:\"force_compatibility\";i:0;s:29:\"force_mysqldump_compatibility\";i:0;s:9:\"schedules\";a:0:{}s:9:\"log_level\";s:1:\"1\";s:13:\"high_security\";i:0;s:19:\"next_schedule_index\";i:100;s:13:\"archive_limit\";i:0;s:18:\"archive_limit_full\";i:0;s:16:\"archive_limit_db\";i:0;s:19:\"archive_limit_files\";i:0;s:18:\"archive_limit_size\";i:0;s:22:\"archive_limit_size_big\";i:50000;s:17:\"archive_limit_age\";i:0;s:26:\"delete_archives_pre_backup\";i:0;s:23:\"lock_archives_directory\";s:1:\"0\";s:25:\"set_greedy_execution_time\";i:0;s:28:\"email_notify_scheduled_start\";s:0:\"\";s:36:\"email_notify_scheduled_start_subject\";s:49:\"BackupBuddy Scheduled Backup Started - {home_url}\";s:33:\"email_notify_scheduled_start_body\";s:140:\"A scheduled backup has started with BackupBuddy v{backupbuddy_version} on {current_datetime} for the site {home_url}.\n\nDetails:\r\n\r\n{message}\";s:31:\"email_notify_scheduled_complete\";s:0:\"\";s:39:\"email_notify_scheduled_complete_subject\";s:50:\"BackupBuddy Scheduled Backup Complete - {home_url}\";s:36:\"email_notify_scheduled_complete_body\";s:142:\"A scheduled backup has completed with BackupBuddy v{backupbuddy_version} on {current_datetime} for the site {home_url}.\n\nDetails:\r\n\r\n{message}\";s:24:\"email_notify_send_finish\";s:0:\"\";s:32:\"email_notify_send_finish_subject\";s:43:\"BackupBuddy File Send Finished - {home_url}\";s:29:\"email_notify_send_finish_body\";s:168:\"A destination file send of file {backup_file} has finished with BackupBuddy v{backupbuddy_version} on {current_datetime} for the site {home_url}.\n\nDetails:\r\n\r\n{message}\";s:18:\"email_notify_error\";s:18:\"tyler@gatsbyjs.com\";s:26:\"email_notify_error_subject\";s:37:\"BackupBuddy Server Error - {home_url}\";s:23:\"email_notify_error_body\";s:136:\"BackupBuddy v{backupbuddy_version} encountered a server error on {current_datetime} for the site {home_url}. Error details:\r\n\r\n{message}\";s:12:\"email_return\";s:0:\"\";s:19:\"remote_destinations\";a:0:{}s:27:\"remote_send_timeout_retries\";s:1:\"1\";s:11:\"role_access\";s:16:\"activate_plugins\";s:16:\"dropboxtemptoken\";s:0:\"\";s:16:\"multisite_export\";s:1:\"0\";s:16:\"backup_directory\";s:0:\"\";s:14:\"temp_directory\";s:0:\"\";s:13:\"log_directory\";s:0:\"\";s:10:\"log_serial\";s:15:\"e51oedj6rbsjhep\";s:13:\"notifications\";a:0:{}s:19:\"zip_method_strategy\";s:1:\"1\";s:24:\"database_method_strategy\";s:3:\"php\";s:17:\"alternative_zip_2\";s:1:\"0\";s:19:\"ignore_zip_warnings\";s:1:\"1\";s:19:\"ignore_zip_symlinks\";s:1:\"1\";s:18:\"zip_build_strategy\";s:1:\"3\";s:15:\"zip_step_period\";s:2:\"30\";s:13:\"zip_burst_gap\";s:1:\"2\";s:21:\"zip_min_burst_content\";s:2:\"10\";s:21:\"zip_max_burst_content\";s:3:\"100\";s:25:\"disable_zipmethod_caching\";s:1:\"0\";s:19:\"archive_name_format\";s:8:\"datetime\";s:20:\"archive_name_profile\";s:1:\"0\";s:30:\"disable_https_local_ssl_verify\";s:1:\"0\";s:17:\"save_comment_meta\";s:1:\"1\";s:27:\"ignore_command_length_check\";s:1:\"0\";s:18:\"default_backup_tab\";s:1:\"0\";s:18:\"deployment_allowed\";s:1:\"0\";s:9:\"hide_live\";s:1:\"0\";s:21:\"hide_dashboard_widget\";s:1:\"0\";s:16:\"deploy_sslverify\";s:1:\"1\";s:10:\"remote_api\";a:2:{s:4:\"keys\";a:0:{}s:3:\"ips\";a:0:{}}s:20:\"skip_spawn_cron_call\";s:1:\"0\";s:5:\"stats\";a:6:{s:9:\"site_size\";i:0;s:18:\"site_size_excluded\";i:0;s:17:\"site_size_updated\";i:0;s:7:\"db_size\";i:0;s:16:\"db_size_excluded\";i:0;s:15:\"db_size_updated\";i:0;}s:9:\"disalerts\";a:0:{}s:15:\"breakout_tables\";s:1:\"1\";s:19:\"include_importbuddy\";s:1:\"1\";s:17:\"max_site_log_size\";s:1:\"3\";s:11:\"compression\";s:1:\"1\";s:25:\"no_new_backups_error_days\";s:2:\"10\";s:15:\"skip_quicksetup\";s:1:\"1\";s:13:\"prevent_flush\";s:1:\"0\";s:17:\"rollback_cleanups\";a:0:{}s:20:\"phpmysqldump_maxrows\";s:0:\"\";s:20:\"disable_localization\";s:1:\"0\";s:18:\"max_execution_time\";s:0:\"\";s:24:\"backup_cron_rescheduling\";s:1:\"0\";s:29:\"backup_cron_passed_force_time\";s:0:\"\";s:20:\"force_single_db_file\";s:1:\"0\";s:11:\"deployments\";a:0:{}s:19:\"max_send_stats_days\";s:1:\"7\";s:20:\"max_send_stats_count\";s:1:\"6\";s:26:\"max_notifications_age_days\";s:2:\"21\";s:19:\"save_backup_sum_log\";s:1:\"1\";s:26:\"limit_single_cron_per_pass\";s:1:\"1\";s:18:\"tested_php_runtime\";i:0;s:17:\"tested_php_memory\";i:0;s:23:\"last_tested_php_runtime\";i:0;s:22:\"last_tested_php_memory\";i:0;s:17:\"use_internal_cron\";s:1:\"0\";s:11:\"umask_check\";b:0;s:28:\"default_restores_permissions\";s:8:\"standard\";s:25:\"disable_dat_file_creation\";i:0;s:33:\"php_runtime_test_minimum_interval\";s:6:\"604800\";s:32:\"php_memory_test_minimum_interval\";s:6:\"604800\";s:29:\"cron_request_timeout_override\";s:0:\"\";s:8:\"profiles\";a:6:{i:2;a:2:{s:4:\"type\";s:4:\"full\";s:5:\"title\";s:15:\"Complete Backup\";}i:1;a:3:{s:4:\"type\";s:2:\"db\";s:5:\"title\";s:13:\"Database Only\";s:3:\"tip\";s:49:\"Just your database. I like your minimalist style.\";}i:-3;a:3:{s:4:\"type\";s:6:\"themes\";s:5:\"title\";s:11:\"Themes Only\";s:3:\"tip\";s:17:\"Just your themes.\";}i:-2;a:3:{s:4:\"type\";s:7:\"plugins\";s:5:\"title\";s:12:\"Plugins Only\";s:3:\"tip\";s:18:\"Just your plugins.\";}i:-1;a:3:{s:4:\"type\";s:5:\"media\";s:5:\"title\";s:10:\"Media Only\";s:3:\"tip\";s:16:\"WordPress Media.\";}i:0;a:14:{s:4:\"type\";s:8:\"defaults\";s:5:\"title\";s:15:\"Global Defaults\";s:18:\"skip_database_dump\";s:1:\"0\";s:19:\"backup_nonwp_tables\";s:1:\"0\";s:15:\"integrity_check\";s:1:\"1\";s:29:\"mysqldump_additional_includes\";s:0:\"\";s:29:\"mysqldump_additional_excludes\";s:0:\"\";s:8:\"excludes\";s:0:\"\";s:11:\"custom_root\";s:0:\"\";s:11:\"backup_mode\";s:1:\"2\";s:13:\"exclude_media\";s:1:\"0\";s:14:\"exclude_themes\";s:1:\"0\";s:15:\"exclude_plugins\";s:1:\"0\";s:19:\"active_plugins_only\";s:1:\"0\";}}s:23:\"show_all_cron_schedules\";i:0;}', 'no'), +(3606, 'ithemes-updater-cache', 'a:9:{s:18:\"timeout-multiplier\";i:1;s:10:\"expiration\";i:0;s:9:\"timestamp\";i:0;s:8:\"packages\";a:0:{}s:14:\"update_plugins\";a:0:{}s:13:\"update_themes\";a:0:{}s:12:\"use_ca_patch\";b:0;s:7:\"use_ssl\";b:1;s:14:\"quick_releases\";b:0;}', 'no'), +(3620, 'pb_backupbuddy_notifications', 'a:1:{i:0;a:7:{s:4:\"time\";i:1592595881;s:4:\"slug\";s:14:\"backup_success\";s:5:\"title\";s:30:\"Backup completed successfully.\";s:7:\"message\";s:56:\"A manual backup has completed successfully on your site.\";s:4:\"data\";a:3:{s:6:\"serial\";s:10:\"0t48bvq2b2\";s:4:\"type\";s:2:\"db\";s:13:\"profile_title\";s:13:\"Database Only\";}s:6:\"urgent\";b:0;s:8:\"syncSent\";b:0;}}', 'no'), +(3868, 'db_upgraded', '', 'yes'), +(5067, 'wperedirect', 'no', 'no'), +(5068, 'bvActivateTime', '1597964512', 'no'), +(5069, 'bvSecretKey', 'ruOpTrs6GkEIWlLXTEj8nWJ68LodcP4E', 'no'), +(5072, 'bvAccountsList', 'a:1:{s:32:\"fcec3ddcb404067eb6ffb3d34be3911c\";a:5:{s:6:\"secret\";s:32:\"5643dbe6c5b70e688d67171815df75c6\";s:14:\"lastbackuptime\";i:1597965139;s:8:\"wpengine\";b:1;s:3:\"url\";s:33:\"https://devgatsbyint.wpengine.com\";s:5:\"email\";s:22:\"tyl******@gatsbyjs.com\";}}', 'no'), +(5073, 'bvLastRecvTime', '1597965196', 'no'), +(5074, 'bvApiPublic', 'fcec3ddcb404067eb6ffb3d34be3911c', 'no'), +(5077, 'widget_wpe_powered_by_widget', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5078, 'wpe_notices', 'a:1:{s:4:\"read\";s:0:\"\";}', 'yes'), +(5079, 'wpe_notices_ttl', '1602946159', 'yes'), +(5092, 'yoast_migrations_free', 'a:1:{s:7:\"version\";s:4:\"14.9\";}', 'yes'); +INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES +(5102, 'wp_graphql_gutenberg_block_types', 'a:105:{s:23:\"woocommerce/all-reviews\";a:12:{s:4:\"name\";s:23:\"woocommerce/all-reviews\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:15:{s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"imageType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:8:\"reviewer\";}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:11:\"most-recent\";}s:17:\"reviewsOnLoadMore\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:10;}s:17:\"reviewsOnPageLoad\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:10;}s:12:\"showLoadMore\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:11:\"showOrderby\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:14:\"showReviewDate\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:16:\"showReviewerName\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:15:\"showReviewImage\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:16:\"showReviewRating\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:17:\"showReviewContent\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:14:\"previewReviews\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";N;}s:15:\"showProductName\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:11:\"All Reviews\";s:11:\"description\";s:35:\"Show a list of all product reviews.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:14:{s:8:\"editMode\";b:0;s:9:\"imageType\";s:8:\"reviewer\";s:7:\"orderby\";s:11:\"most-recent\";s:17:\"reviewsOnLoadMore\";i:10;s:17:\"reviewsOnPageLoad\";i:10;s:12:\"showLoadMore\";b:1;s:11:\"showOrderby\";b:1;s:14:\"showReviewDate\";b:1;s:16:\"showReviewerName\";b:1;s:15:\"showReviewImage\";b:1;s:16:\"showReviewRating\";b:1;s:17:\"showReviewContent\";b:1;s:14:\"previewReviews\";a:2:{i:0;a:12:{s:2:\"id\";i:1;s:12:\"date_created\";s:19:\"2019-07-15T17:05:04\";s:22:\"formatted_date_created\";s:13:\"July 15, 2019\";s:16:\"date_created_gmt\";s:19:\"2019-07-15T15:05:04\";s:10:\"product_id\";i:0;s:12:\"product_name\";s:17:\"WordPress Pennant\";s:17:\"product_permalink\";s:1:\"#\";s:8:\"reviewer\";s:5:\"Alice\";s:6:\"review\";s:67:\"

I bought this product last week and I\'m very happy with it.

\n\";s:20:\"reviewer_avatar_urls\";a:2:{i:48;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";i:96;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";}s:6:\"rating\";i:5;s:8:\"verified\";b:1;}i:1;a:12:{s:2:\"id\";i:2;s:12:\"date_created\";s:19:\"2019-07-12T12:39:39\";s:22:\"formatted_date_created\";s:13:\"July 12, 2019\";s:16:\"date_created_gmt\";s:19:\"2019-07-12T10:39:39\";s:10:\"product_id\";i:0;s:12:\"product_name\";s:17:\"WordPress Pennant\";s:17:\"product_permalink\";s:1:\"#\";s:8:\"reviewer\";s:3:\"Bob\";s:6:\"review\";s:43:\"

This product is awesome, I love it!

\n\";s:20:\"reviewer_avatar_urls\";a:2:{i:48;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";i:96;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";}s:6:\"rating\";N;s:8:\"verified\";b:0;}}s:15:\"showProductName\";b:1;}}s:10:\"variations\";a:0:{}}s:29:\"woocommerce/featured-category\";a:12:{s:4:\"name\";s:29:\"woocommerce/featured-category\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:15:{s:12:\"contentAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:6:\"center\";}s:8:\"dimRatio\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:6:\"height\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:500;}s:7:\"mediaId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:8:\"mediaSrc\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:0:\"\";}s:12:\"overlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:18:\"customOverlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"linkText\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:8:\"Shop now\";}s:10:\"categoryId\";a:1:{s:4:\"type\";s:6:\"number\";}s:8:\"showDesc\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:15:\"previewCategory\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";N;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:17:\"Featured Category\";s:11:\"description\";s:66:\"Visually highlight a product category and encourage prompt action.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:8:{s:12:\"contentAlign\";s:6:\"center\";s:8:\"dimRatio\";i:50;s:8:\"editMode\";b:0;s:6:\"height\";i:500;s:8:\"mediaSrc\";s:0:\"\";s:8:\"showDesc\";b:1;s:10:\"categoryId\";s:7:\"preview\";s:15:\"previewCategory\";a:8:{s:2:\"id\";i:1;s:4:\"name\";s:8:\"Clothing\";s:4:\"slug\";s:8:\"clothing\";s:6:\"parent\";i:0;s:5:\"count\";i:10;s:11:\"description\";s:50:\"

Branded t-shirts, jumpers, pants and more!

\n\";s:5:\"image\";a:8:{s:2:\"id\";i:1;s:12:\"date_created\";s:19:\"2019-07-15T17:05:04\";s:16:\"date_created_gmt\";s:19:\"2019-07-15T17:05:04\";s:13:\"date_modified\";s:19:\"2019-07-15T17:05:04\";s:17:\"date_modified_gmt\";s:19:\"2019-07-15T17:05:04\";s:3:\"src\";s:118:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/collection.jpg\";s:4:\"name\";s:0:\"\";s:3:\"alt\";s:0:\"\";}s:9:\"permalink\";s:1:\"#\";}}}s:10:\"variations\";a:0:{}}s:28:\"woocommerce/featured-product\";a:12:{s:4:\"name\";s:28:\"woocommerce/featured-product\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:16:{s:12:\"contentAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:6:\"center\";}s:8:\"dimRatio\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:6:\"height\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:500;}s:7:\"mediaId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:8:\"mediaSrc\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:0:\"\";}s:12:\"overlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:18:\"customOverlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"linkText\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:8:\"Shop now\";}s:9:\"productId\";a:1:{s:4:\"type\";s:6:\"number\";}s:8:\"showDesc\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"showPrice\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:14:\"previewProduct\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";N;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:16:\"Featured Product\";s:11:\"description\";s:70:\"Visually highlight a product or variation and encourage prompt action.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:8:{s:12:\"contentAlign\";s:6:\"center\";s:8:\"dimRatio\";i:50;s:8:\"editMode\";b:0;s:6:\"height\";i:500;s:8:\"mediaSrc\";s:0:\"\";s:8:\"showDesc\";b:1;s:9:\"productId\";s:7:\"preview\";s:14:\"previewProduct\";a:18:{s:2:\"id\";i:1;s:4:\"name\";s:17:\"WordPress Pennant\";s:9:\"variation\";s:0:\"\";s:9:\"permalink\";s:19:\"https://example.org\";s:3:\"sku\";s:10:\"wp-pennant\";s:17:\"short_description\";s:150:\"Fly your WordPress banner with this beauty! Deck out your office space or add it to your kids walls. This banner will spruce up any space it’s hung!\";s:11:\"description\";s:278:\"Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.\";s:5:\"price\";s:4:\"7.99\";s:10:\"price_html\";s:112:\"$7.99\";s:6:\"images\";a:1:{i:0;a:7:{s:2:\"id\";i:1;s:3:\"src\";s:115:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/pennant.jpg\";s:9:\"thumbnail\";s:115:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/pennant.jpg\";s:4:\"name\";s:13:\"pennant-1.jpg\";s:3:\"alt\";s:17:\"WordPress Pennant\";s:6:\"srcset\";s:0:\"\";s:5:\"sizes\";s:0:\"\";}}s:14:\"average_rating\";i:5;s:12:\"review_count\";i:1;s:6:\"prices\";a:10:{s:13:\"currency_code\";s:3:\"GBP\";s:17:\"decimal_separator\";s:1:\".\";s:18:\"thousand_separator\";s:1:\",\";s:8:\"decimals\";i:2;s:12:\"price_prefix\";s:2:\"£\";s:12:\"price_suffix\";s:0:\"\";s:5:\"price\";s:4:\"7.99\";s:13:\"regular_price\";s:4:\"9.99\";s:10:\"sale_price\";s:4:\"7.99\";s:11:\"price_range\";N;}s:11:\"add_to_cart\";a:2:{s:4:\"text\";s:11:\"Add to cart\";s:11:\"description\";s:11:\"Add to cart\";}s:11:\"has_options\";b:0;s:14:\"is_purchasable\";b:1;s:11:\"is_in_stock\";b:1;s:7:\"on_sale\";b:1;}}}s:10:\"variations\";a:0:{}}s:31:\"woocommerce/handpicked-products\";a:13:{s:4:\"name\";s:31:\"woocommerce/handpicked-products\";s:8:\"keywords\";a:2:{i:0;s:19:\"Handpicked Products\";i:1;s:11:\"WooCommerce\";}s:10:\"attributes\";a:9:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:8:\"products\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:20:\"Hand-picked Products\";s:11:\"description\";s:54:\"Display a selection of hand-picked products in a grid.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:7:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:8:\"products\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:32:\"woocommerce/product-best-sellers\";a:13:{s:4:\"name\";s:32:\"woocommerce/product-best-sellers\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:9:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:21:\"Best Selling Products\";s:11:\"description\";s:54:\"Display a grid of your all-time best selling products.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:8:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:30:\"woocommerce/product-categories\";a:13:{s:4:\"name\";s:30:\"woocommerce/product-categories\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:7:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"hasCount\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:8:\"hasImage\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:8:\"hasEmpty\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"isDropdown\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:14:\"isHierarchical\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:23:\"Product Categories List\";s:11:\"description\";s:50:\"Show all product categories as a list or dropdown.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:2:{s:8:\"hasCount\";b:1;s:8:\"hasImage\";b:0;}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:5:{s:8:\"hasCount\";a:5:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"div\";s:9:\"attribute\";s:14:\"data-has-count\";}s:8:\"hasEmpty\";a:5:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"div\";s:9:\"attribute\";s:14:\"data-has-empty\";}s:10:\"isDropdown\";a:5:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"div\";s:9:\"attribute\";s:16:\"data-is-dropdown\";}s:14:\"isHierarchical\";a:5:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"div\";s:9:\"attribute\";s:20:\"data-is-hierarchical\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:28:\"woocommerce/product-category\";a:13:{s:4:\"name\";s:28:\"woocommerce/product-category\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:11:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:20:\"Products by Category\";s:11:\"description\";s:57:\"Display a grid of products from your selected categories.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:10:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:23:\"woocommerce/product-new\";a:13:{s:4:\"name\";s:23:\"woocommerce/product-new\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:9:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:15:\"Newest Products\";s:11:\"description\";s:39:\"Display a grid of your newest products.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:8:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:27:\"woocommerce/product-on-sale\";a:13:{s:4:\"name\";s:27:\"woocommerce/product-on-sale\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:10:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:16:\"On Sale Products\";s:11:\"description\";s:45:\"Display a grid of products currently on sale.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:9:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:33:\"woocommerce/products-by-attribute\";a:13:{s:4:\"name\";s:33:\"woocommerce/products-by-attribute\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:11:{s:10:\"attributes\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:12:\"attrOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:21:\"Products by Attribute\";s:11:\"description\";s:52:\"Display a grid of products with selected attributes.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:8:{s:10:\"attributes\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:12:\"attrOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:29:\"woocommerce/product-top-rated\";a:13:{s:4:\"name\";s:29:\"woocommerce/product-top-rated\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:9:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:18:\"Top Rated Products\";s:11:\"description\";s:42:\"Display a grid of your top rated products.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:8:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"catOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:30:\"woocommerce/reviews-by-product\";a:12:{s:4:\"name\";s:30:\"woocommerce/reviews-by-product\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:15:{s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"imageType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:8:\"reviewer\";}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:11:\"most-recent\";}s:17:\"reviewsOnLoadMore\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:10;}s:17:\"reviewsOnPageLoad\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:10;}s:12:\"showLoadMore\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:11:\"showOrderby\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:14:\"showReviewDate\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:16:\"showReviewerName\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:15:\"showReviewImage\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:16:\"showReviewRating\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:17:\"showReviewContent\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:14:\"previewReviews\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";N;}s:9:\"productId\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:18:\"Reviews by Product\";s:11:\"description\";s:45:\"Show reviews of your products to build trust.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:14:{s:8:\"editMode\";b:0;s:9:\"imageType\";s:8:\"reviewer\";s:7:\"orderby\";s:11:\"most-recent\";s:17:\"reviewsOnLoadMore\";i:10;s:17:\"reviewsOnPageLoad\";i:10;s:12:\"showLoadMore\";b:1;s:11:\"showOrderby\";b:1;s:14:\"showReviewDate\";b:1;s:16:\"showReviewerName\";b:1;s:15:\"showReviewImage\";b:1;s:16:\"showReviewRating\";b:1;s:17:\"showReviewContent\";b:1;s:14:\"previewReviews\";a:2:{i:0;a:12:{s:2:\"id\";i:1;s:12:\"date_created\";s:19:\"2019-07-15T17:05:04\";s:22:\"formatted_date_created\";s:13:\"July 15, 2019\";s:16:\"date_created_gmt\";s:19:\"2019-07-15T15:05:04\";s:10:\"product_id\";i:0;s:12:\"product_name\";s:17:\"WordPress Pennant\";s:17:\"product_permalink\";s:1:\"#\";s:8:\"reviewer\";s:5:\"Alice\";s:6:\"review\";s:67:\"

I bought this product last week and I\'m very happy with it.

\n\";s:20:\"reviewer_avatar_urls\";a:2:{i:48;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";i:96;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";}s:6:\"rating\";i:5;s:8:\"verified\";b:1;}i:1;a:12:{s:2:\"id\";i:2;s:12:\"date_created\";s:19:\"2019-07-12T12:39:39\";s:22:\"formatted_date_created\";s:13:\"July 12, 2019\";s:16:\"date_created_gmt\";s:19:\"2019-07-12T10:39:39\";s:10:\"product_id\";i:0;s:12:\"product_name\";s:17:\"WordPress Pennant\";s:17:\"product_permalink\";s:1:\"#\";s:8:\"reviewer\";s:3:\"Bob\";s:6:\"review\";s:43:\"

This product is awesome, I love it!

\n\";s:20:\"reviewer_avatar_urls\";a:2:{i:48;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";i:96;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";}s:6:\"rating\";N;s:8:\"verified\";b:0;}}s:9:\"productId\";i:1;}}s:10:\"variations\";a:0:{}}s:31:\"woocommerce/reviews-by-category\";a:12:{s:4:\"name\";s:31:\"woocommerce/reviews-by-category\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:16:{s:8:\"editMode\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"imageType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:8:\"reviewer\";}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:11:\"most-recent\";}s:17:\"reviewsOnLoadMore\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:10;}s:17:\"reviewsOnPageLoad\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:10;}s:12:\"showLoadMore\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:11:\"showOrderby\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:14:\"showReviewDate\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:16:\"showReviewerName\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:15:\"showReviewImage\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:16:\"showReviewRating\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:17:\"showReviewContent\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:14:\"previewReviews\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";N;}s:11:\"categoryIds\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:15:\"showProductName\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:19:\"Reviews by Category\";s:11:\"description\";s:46:\"Show product reviews from specific categories.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:15:{s:8:\"editMode\";b:0;s:9:\"imageType\";s:8:\"reviewer\";s:7:\"orderby\";s:11:\"most-recent\";s:17:\"reviewsOnLoadMore\";i:10;s:17:\"reviewsOnPageLoad\";i:10;s:12:\"showLoadMore\";b:1;s:11:\"showOrderby\";b:1;s:14:\"showReviewDate\";b:1;s:16:\"showReviewerName\";b:1;s:15:\"showReviewImage\";b:1;s:16:\"showReviewRating\";b:1;s:17:\"showReviewContent\";b:1;s:14:\"previewReviews\";a:2:{i:0;a:12:{s:2:\"id\";i:1;s:12:\"date_created\";s:19:\"2019-07-15T17:05:04\";s:22:\"formatted_date_created\";s:13:\"July 15, 2019\";s:16:\"date_created_gmt\";s:19:\"2019-07-15T15:05:04\";s:10:\"product_id\";i:0;s:12:\"product_name\";s:17:\"WordPress Pennant\";s:17:\"product_permalink\";s:1:\"#\";s:8:\"reviewer\";s:5:\"Alice\";s:6:\"review\";s:67:\"

I bought this product last week and I\'m very happy with it.

\n\";s:20:\"reviewer_avatar_urls\";a:2:{i:48;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";i:96;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";}s:6:\"rating\";i:5;s:8:\"verified\";b:1;}i:1;a:12:{s:2:\"id\";i:2;s:12:\"date_created\";s:19:\"2019-07-12T12:39:39\";s:22:\"formatted_date_created\";s:13:\"July 12, 2019\";s:16:\"date_created_gmt\";s:19:\"2019-07-12T10:39:39\";s:10:\"product_id\";i:0;s:12:\"product_name\";s:17:\"WordPress Pennant\";s:17:\"product_permalink\";s:1:\"#\";s:8:\"reviewer\";s:3:\"Bob\";s:6:\"review\";s:43:\"

This product is awesome, I love it!

\n\";s:20:\"reviewer_avatar_urls\";a:2:{i:48;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";i:96;s:114:\"https://devgatsbyint.wpengine.com/wp-content/plugins/woocommerce/packages/woocommerce-blocks/assets/img/avatar.jpg\";}s:6:\"rating\";N;s:8:\"verified\";b:0;}}s:11:\"categoryIds\";a:1:{i:0;i:1;}s:15:\"showProductName\";b:1;}}s:10:\"variations\";a:0:{}}s:26:\"woocommerce/product-search\";a:12:{s:4:\"name\";s:26:\"woocommerce/product-search\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:6:{s:8:\"hasLabel\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"label\";a:4:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:6:\"Search\";s:6:\"source\";s:4:\"text\";s:8:\"selector\";s:5:\"label\";}s:11:\"placeholder\";a:5:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:18:\"Search products…\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:36:\"input.wc-block-product-search__field\";s:9:\"attribute\";s:11:\"placeholder\";}s:6:\"formId\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:0:\"\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}}s:6:\"styles\";a:0:{}s:5:\"title\";s:14:\"Product Search\";s:11:\"description\";s:66:\"A search box to allow customers to search for products by keyword.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:8:\"hasLabel\";b:1;}}s:10:\"variations\";a:0:{}}s:23:\"woocommerce/product-tag\";a:12:{s:4:\"name\";s:23:\"woocommerce/product-tag\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:10:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"alignButtons\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:17:\"contentVisibility\";a:2:{s:4:\"type\";s:6:\"object\";s:7:\"default\";a:4:{s:5:\"title\";b:1;s:5:\"price\";b:1;s:6:\"rating\";b:1;s:6:\"button\";b:1;}}s:4:\"tags\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:11:\"tagOperator\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"any\";}s:7:\"orderby\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:15:\"Products by Tag\";s:11:\"description\";s:46:\"Display a grid of products with selected tags.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:10:\"variations\";a:0:{}}s:25:\"woocommerce/product-title\";a:13:{s:4:\"name\";s:25:\"woocommerce/product-title\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:4:{s:12:\"headingLevel\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:2;}s:11:\"productLink\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"productId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:13:\"Product Title\";s:11:\"description\";s:31:\"Display the title of a product.\";s:8:\"category\";s:28:\"woocommerce-product-elements\";s:6:\"parent\";a:2:{i:0;s:25:\"@woocommerce/all-products\";i:1;s:27:\"@woocommerce/single-product\";}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:1:{s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:25:\"woocommerce/product-price\";a:13:{s:4:\"name\";s:25:\"woocommerce/product-price\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:2:{s:9:\"productId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:13:\"Product Price\";s:11:\"description\";s:31:\"Display the price of a product.\";s:8:\"category\";s:28:\"woocommerce-product-elements\";s:6:\"parent\";a:2:{i:0;s:25:\"@woocommerce/all-products\";i:1;s:27:\"@woocommerce/single-product\";}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:1:{s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:25:\"woocommerce/product-image\";a:13:{s:4:\"name\";s:25:\"woocommerce/product-image\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:6:{s:11:\"productLink\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:13:\"showSaleBadge\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:14:\"saleBadgeAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:5:\"right\";}s:11:\"imageSizing\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:9:\"full-size\";}s:9:\"productId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:13:\"Product Image\";s:11:\"description\";s:30:\"Display the main product image\";s:8:\"category\";s:28:\"woocommerce-product-elements\";s:6:\"parent\";a:2:{i:0;s:25:\"@woocommerce/all-products\";i:1;s:27:\"@woocommerce/single-product\";}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:1:{s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:26:\"woocommerce/product-rating\";a:13:{s:4:\"name\";s:26:\"woocommerce/product-rating\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:2:{s:9:\"productId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:14:\"Product Rating\";s:11:\"description\";s:40:\"Display the average rating of a product.\";s:8:\"category\";s:28:\"woocommerce-product-elements\";s:6:\"parent\";a:2:{i:0;s:25:\"@woocommerce/all-products\";i:1;s:27:\"@woocommerce/single-product\";}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:1:{s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:26:\"woocommerce/product-button\";a:13:{s:4:\"name\";s:26:\"woocommerce/product-button\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:2:{s:9:\"productId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:18:\"Add to Cart Button\";s:11:\"description\";s:104:\"Display a call to action button which either adds the product to the cart, or links to the product page.\";s:8:\"category\";s:28:\"woocommerce-product-elements\";s:6:\"parent\";a:2:{i:0;s:25:\"@woocommerce/all-products\";i:1;s:27:\"@woocommerce/single-product\";}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:1:{s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:27:\"woocommerce/product-summary\";a:13:{s:4:\"name\";s:27:\"woocommerce/product-summary\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:2:{s:9:\"productId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:15:\"Product Summary\";s:11:\"description\";s:44:\"Display a short description about a product.\";s:8:\"category\";s:28:\"woocommerce-product-elements\";s:6:\"parent\";a:2:{i:0;s:25:\"@woocommerce/all-products\";i:1;s:27:\"@woocommerce/single-product\";}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:1:{s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:30:\"woocommerce/product-sale-badge\";a:13:{s:4:\"name\";s:30:\"woocommerce/product-sale-badge\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:2:{s:9:\"productId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:13:\"On-Sale Badge\";s:11:\"description\";s:52:\"Displays an on-sale badge if the product is on-sale.\";s:8:\"category\";s:28:\"woocommerce-product-elements\";s:6:\"parent\";a:2:{i:0;s:25:\"@woocommerce/all-products\";i:1;s:27:\"@woocommerce/single-product\";}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:1:{s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:24:\"woocommerce/all-products\";a:14:{s:4:\"name\";s:24:\"woocommerce/all-products\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:9:{s:7:\"columns\";a:1:{s:4:\"type\";s:6:\"number\";}s:4:\"rows\";a:1:{s:4:\"type\";s:6:\"number\";}s:12:\"alignButtons\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:17:\"contentVisibility\";a:1:{s:4:\"type\";s:6:\"object\";}s:7:\"orderby\";a:1:{s:4:\"type\";s:6:\"string\";}s:12:\"layoutConfig\";a:1:{s:4:\"type\";s:5:\"array\";}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;s:8:\"multiple\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:12:\"All Products\";s:11:\"description\";s:50:\"Display products from your store in a grid layout.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:8:\"defaults\";a:7:{s:7:\"columns\";i:3;s:4:\"rows\";i:3;s:12:\"alignButtons\";b:0;s:17:\"contentVisibility\";a:1:{s:7:\"orderBy\";b:1;}s:7:\"orderby\";s:4:\"date\";s:12:\"layoutConfig\";a:5:{i:0;a:1:{i:0;s:25:\"woocommerce/product-image\";}i:1;a:1:{i:0;s:25:\"woocommerce/product-title\";}i:2;a:1:{i:0;s:25:\"woocommerce/product-price\";}i:3;a:1:{i:0;s:26:\"woocommerce/product-rating\";}i:4;a:1:{i:0;s:26:\"woocommerce/product-button\";}}s:9:\"isPreview\";b:0;}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:8:{s:7:\"columns\";a:1:{s:4:\"type\";s:6:\"number\";}s:4:\"rows\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:1;}s:12:\"alignButtons\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:17:\"contentVisibility\";a:1:{s:4:\"type\";s:6:\"object\";}s:7:\"orderby\";a:1:{s:4:\"type\";s:6:\"string\";}s:12:\"layoutConfig\";a:1:{s:4:\"type\";s:5:\"array\";}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:24:\"woocommerce/price-filter\";a:12:{s:4:\"name\";s:24:\"woocommerce/price-filter\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:5:{s:15:\"showInputFields\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:16:\"showFilterButton\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:7:\"heading\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:15:\"Filter by price\";}s:12:\"headingLevel\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:4:\"html\";b:0;s:8:\"multiple\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:24:\"Filter Products by Price\";s:11:\"description\";s:130:\"Allow customers to filter the products by choosing a lower or upper price limit. Works in combination with the All Products block.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:0:{}s:10:\"variations\";a:0:{}}s:28:\"woocommerce/attribute-filter\";a:12:{s:4:\"name\";s:28:\"woocommerce/attribute-filter\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:9:{s:11:\"attributeId\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:0;}s:10:\"showCounts\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"queryType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:2:\"or\";}s:7:\"heading\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:19:\"Filter by attribute\";}s:12:\"headingLevel\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:12:\"displayStyle\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"list\";}s:16:\"showFilterButton\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:9:\"isPreview\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:28:\"Filter Products by Attribute\";s:11:\"description\";s:121:\"Allow customers to filter the grid by product attribute, such as color. Works in combination with the All Products block.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"isPreview\";b:1;}}s:10:\"variations\";a:0:{}}s:26:\"woocommerce/active-filters\";a:12:{s:4:\"name\";s:26:\"woocommerce/active-filters\";s:8:\"keywords\";a:1:{i:0;s:11:\"WooCommerce\";}s:10:\"attributes\";a:4:{s:12:\"displayStyle\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"list\";}s:7:\"heading\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:14:\"Active filters\";}s:12:\"headingLevel\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:4:\"html\";b:0;s:8:\"multiple\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:22:\"Active Product Filters\";s:11:\"description\";s:105:\"Show the currently active product filters. Works in combination with the All Products and filters blocks.\";s:8:\"category\";s:11:\"woocommerce\";s:7:\"example\";a:1:{s:10:\"attributes\";a:0:{}}s:10:\"variations\";a:0:{}}s:18:\"yoast/how-to-block\";a:13:{s:4:\"name\";s:18:\"yoast/how-to-block\";s:8:\"keywords\";a:5:{i:0;s:6:\"How-to\";i:1;s:6:\"How to\";i:2;s:6:\"Schema\";i:3;s:3:\"SEO\";i:4;s:15:\"Structured Data\";}s:10:\"attributes\";a:12:{s:11:\"hasDuration\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:4:\"days\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"hours\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"minutes\";a:1:{s:4:\"type\";s:6:\"string\";}s:11:\"description\";a:3:{s:4:\"type\";s:5:\"array\";s:6:\"source\";s:8:\"children\";s:8:\"selector\";s:26:\".schema-how-to-description\";}s:15:\"jsonDescription\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"steps\";a:1:{s:4:\"type\";s:5:\"array\";}s:24:\"additionalListCssClasses\";a:1:{s:4:\"type\";s:6:\"string\";}s:13:\"unorderedList\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:12:\"durationText\";a:1:{s:4:\"type\";s:6:\"string\";}s:19:\"defaultDurationText\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:8:\"multiple\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:12:\"Yoast How-to\";s:11:\"description\";s:89:\"Create a How-to guide in an SEO-friendly way. You can only use one How-to block per post.\";s:8:\"category\";s:28:\"yoast-structured-data-blocks\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:5:\"steps\";a:2:{i:0;a:3:{s:2:\"id\";s:25:\"how-to-step-1602177822453\";s:4:\"name\";a:0:{}s:4:\"text\";a:0:{}}i:1;a:3:{s:2:\"id\";s:25:\"how-to-step-1602177822453\";s:4:\"name\";a:0:{}s:4:\"text\";a:0:{}}}}}s:10:\"deprecated\";a:2:{i:0;a:1:{s:10:\"attributes\";a:12:{s:11:\"hasDuration\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:4:\"days\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"hours\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"minutes\";a:1:{s:4:\"type\";s:6:\"string\";}s:11:\"description\";a:3:{s:4:\"type\";s:5:\"array\";s:6:\"source\";s:8:\"children\";s:8:\"selector\";s:26:\".schema-how-to-description\";}s:15:\"jsonDescription\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"steps\";a:1:{s:4:\"type\";s:5:\"array\";}s:24:\"additionalListCssClasses\";a:1:{s:4:\"type\";s:6:\"string\";}s:13:\"unorderedList\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:12:\"durationText\";a:1:{s:4:\"type\";s:6:\"string\";}s:19:\"defaultDurationText\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:1;a:1:{s:10:\"attributes\";a:12:{s:11:\"hasDuration\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:4:\"days\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"hours\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"minutes\";a:1:{s:4:\"type\";s:6:\"string\";}s:11:\"description\";a:3:{s:4:\"type\";s:5:\"array\";s:6:\"source\";s:8:\"children\";s:8:\"selector\";s:26:\".schema-how-to-description\";}s:15:\"jsonDescription\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"steps\";a:1:{s:4:\"type\";s:5:\"array\";}s:24:\"additionalListCssClasses\";a:1:{s:4:\"type\";s:6:\"string\";}s:13:\"unorderedList\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:12:\"durationText\";a:1:{s:4:\"type\";s:6:\"string\";}s:19:\"defaultDurationText\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:15:\"yoast/faq-block\";a:13:{s:4:\"name\";s:15:\"yoast/faq-block\";s:8:\"keywords\";a:5:{i:0;s:3:\"FAQ\";i:1;s:26:\"Frequently Asked Questions\";i:2;s:6:\"Schema\";i:3;s:3:\"SEO\";i:4;s:15:\"Structured Data\";}s:10:\"attributes\";a:3:{s:9:\"questions\";a:1:{s:4:\"type\";s:5:\"array\";}s:24:\"additionalListCssClasses\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:8:\"multiple\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:9:\"Yoast FAQ\";s:11:\"description\";s:101:\"List your Frequently Asked Questions in an SEO-friendly way. You can only use one FAQ block per post.\";s:8:\"category\";s:28:\"yoast-structured-data-blocks\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:9:\"questions\";a:3:{i:0;a:3:{s:2:\"id\";s:26:\"faq-question-1602177822454\";s:8:\"question\";a:0:{}s:6:\"answer\";a:0:{}}i:1;a:3:{s:2:\"id\";s:26:\"faq-question-1602177822454\";s:8:\"question\";a:0:{}s:6:\"answer\";a:0:{}}i:2;a:3:{s:2:\"id\";s:26:\"faq-question-1602177822454\";s:8:\"question\";a:0:{}s:6:\"answer\";a:0:{}}}}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:3:{s:9:\"questions\";a:1:{s:4:\"type\";s:5:\"array\";}s:24:\"additionalListCssClasses\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:14:\"core/paragraph\";a:13:{s:4:\"name\";s:14:\"core/paragraph\";s:8:\"keywords\";a:1:{i:0;s:4:\"text\";}s:10:\"attributes\";a:11:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";s:7:\"default\";s:0:\"\";}s:7:\"dropCap\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"direction\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:2:{i:0;s:3:\"ltr\";i:1;s:3:\"rtl\";}}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"fontSize\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"style\";a:1:{s:4:\"type\";s:6:\"object\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:9:{s:6:\"anchor\";b:1;s:9:\"className\";b:0;s:17:\"lightBlockWrapper\";b:1;s:19:\"__experimentalColor\";a:1:{s:9:\"linkColor\";b:1;}s:22:\"__experimentalFontSize\";b:1;s:24:\"__experimentalLineHeight\";b:1;s:22:\"__experimentalFeatures\";a:1:{s:10:\"typography\";a:1:{s:7:\"dropCap\";b:1;}}s:22:\"__experimentalSelector\";s:1:\"p\";s:25:\"__unstablePasteTextInline\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:9:\"Paragraph\";s:11:\"description\";s:47:\"Start with the building block of all narrative.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:3:{s:7:\"content\";s:224:\"In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.\";s:5:\"style\";a:1:{s:10:\"typography\";a:1:{s:8:\"fontSize\";i:28;}}s:7:\"dropCap\";b:1;}}s:10:\"deprecated\";a:5:{i:0;a:2:{s:10:\"attributes\";a:12:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";s:7:\"default\";s:0:\"\";}s:7:\"dropCap\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"fontSize\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"direction\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:2:{i:0;s:3:\"ltr\";i:1;s:3:\"rtl\";}}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"customFontSize\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:9:\"className\";b:0;}}i:1;a:2:{s:10:\"attributes\";a:12:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";s:7:\"default\";s:0:\"\";}s:7:\"dropCap\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"fontSize\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"direction\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:2:{i:0;s:3:\"ltr\";i:1;s:3:\"rtl\";}}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"customFontSize\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:9:\"className\";b:0;}}i:2;a:2:{s:10:\"attributes\";a:13:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";s:7:\"default\";s:0:\"\";}s:7:\"dropCap\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"fontSize\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"direction\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:2:{i:0;s:3:\"ltr\";i:1;s:3:\"rtl\";}}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"customFontSize\";a:1:{s:4:\"type\";s:6:\"number\";}s:5:\"width\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:9:\"className\";b:0;}}i:3;a:2:{s:10:\"attributes\";a:9:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";s:7:\"default\";s:0:\"\";}s:7:\"dropCap\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"fontSize\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"direction\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:2:{i:0;s:3:\"ltr\";i:1;s:3:\"rtl\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:9:\"className\";b:0;}}i:4;a:2:{s:10:\"attributes\";a:10:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:7:\"default\";s:0:\"\";}s:7:\"dropCap\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"fontSize\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"direction\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:2:{i:0;s:3:\"ltr\";i:1;s:3:\"rtl\";}}s:5:\"style\";a:1:{s:4:\"type\";s:6:\"object\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:9:\"className\";b:0;}}}s:10:\"variations\";a:0:{}}s:10:\"core/image\";a:13:{s:4:\"name\";s:10:\"core/image\";s:8:\"keywords\";a:2:{i:0;s:3:\"img\";i:1;s:5:\"photo\";}s:10:\"attributes\";a:16:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"src\";}s:3:\"alt\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:5:\"title\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:5:\"title\";}s:4:\"href\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:4:\"href\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:3:\"rel\";}s:9:\"linkClass\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:5:\"class\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:5:\"width\";a:1:{s:4:\"type\";s:6:\"number\";}s:6:\"height\";a:1:{s:4:\"type\";s:6:\"number\";}s:8:\"sizeSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"linkDestination\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:6:\"target\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:6:\"anchor\";b:1;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:2:{i:0;a:3:{s:4:\"name\";s:7:\"default\";s:5:\"label\";s:7:\"Default\";s:9:\"isDefault\";b:1;}i:1;a:2:{s:4:\"name\";s:7:\"rounded\";s:5:\"label\";s:7:\"Rounded\";}}s:8:\"category\";s:5:\"media\";s:5:\"title\";s:5:\"Image\";s:11:\"description\";s:43:\"Insert an image to make a visual statement.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:3:{s:8:\"sizeSlug\";s:5:\"large\";s:3:\"url\";s:44:\"https://s.w.org/images/core/5.3/MtBlanc1.jpg\";s:7:\"caption\";s:46:\"Mont Blanc appears—still, snowy, and serene.\";}}s:10:\"deprecated\";a:3:{i:0;a:1:{s:10:\"attributes\";a:13:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"src\";}s:3:\"alt\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"href\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:4:\"href\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:3:\"rel\";}s:9:\"linkClass\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:5:\"class\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:5:\"width\";a:1:{s:4:\"type\";s:6:\"number\";}s:6:\"height\";a:1:{s:4:\"type\";s:6:\"number\";}s:15:\"linkDestination\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:6:\"target\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:1;a:1:{s:10:\"attributes\";a:13:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"src\";}s:3:\"alt\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"href\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:4:\"href\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:3:\"rel\";}s:9:\"linkClass\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:5:\"class\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:5:\"width\";a:1:{s:4:\"type\";s:6:\"number\";}s:6:\"height\";a:1:{s:4:\"type\";s:6:\"number\";}s:15:\"linkDestination\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:6:\"target\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:2;a:1:{s:10:\"attributes\";a:13:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"src\";}s:3:\"alt\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"href\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:4:\"href\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:3:\"rel\";}s:9:\"linkClass\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:5:\"class\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:5:\"width\";a:1:{s:4:\"type\";s:6:\"number\";}s:6:\"height\";a:1:{s:4:\"type\";s:6:\"number\";}s:15:\"linkDestination\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure > a\";s:9:\"attribute\";s:6:\"target\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:12:\"core/heading\";a:13:{s:4:\"name\";s:12:\"core/heading\";s:8:\"keywords\";a:2:{i:0;s:5:\"title\";i:1;s:8:\"subtitle\";}s:10:\"attributes\";a:10:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:17:\"h1,h2,h3,h4,h5,h6\";s:7:\"default\";s:0:\"\";}s:5:\"level\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:2;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"fontSize\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"style\";a:1:{s:4:\"type\";s:6:\"object\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:8:{s:6:\"anchor\";b:1;s:9:\"className\";b:0;s:17:\"lightBlockWrapper\";b:1;s:19:\"__experimentalColor\";a:1:{s:9:\"linkColor\";b:1;}s:22:\"__experimentalFontSize\";b:1;s:24:\"__experimentalLineHeight\";b:1;s:22:\"__experimentalSelector\";a:6:{s:15:\"core/heading/h1\";s:2:\"h1\";s:15:\"core/heading/h2\";s:2:\"h2\";s:15:\"core/heading/h3\";s:2:\"h3\";s:15:\"core/heading/h4\";s:2:\"h4\";s:15:\"core/heading/h5\";s:2:\"h5\";s:15:\"core/heading/h6\";s:2:\"h6\";}s:25:\"__unstablePasteTextInline\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:7:\"Heading\";s:11:\"description\";s:123:\"Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:2:{s:7:\"content\";s:14:\"Code is Poetry\";s:5:\"level\";i:2;}}s:10:\"deprecated\";a:3:{i:0;a:2:{s:10:\"attributes\";a:8:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:17:\"h1,h2,h3,h4,h5,h6\";s:7:\"default\";s:0:\"\";}s:5:\"level\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:2;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:2:{s:9:\"className\";b:0;s:6:\"anchor\";b:1;}}i:1;a:2:{s:10:\"attributes\";a:8:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:17:\"h1,h2,h3,h4,h5,h6\";s:7:\"default\";s:0:\"\";}s:5:\"level\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:2;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:2:{s:9:\"className\";b:0;s:6:\"anchor\";b:1;}}i:2;a:2:{s:10:\"attributes\";a:8:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:17:\"h1,h2,h3,h4,h5,h6\";s:7:\"default\";s:0:\"\";}s:5:\"level\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:2;}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:2:{s:9:\"className\";b:0;s:6:\"anchor\";b:1;}}}s:10:\"variations\";a:0:{}}s:12:\"core/gallery\";a:13:{s:4:\"name\";s:12:\"core/gallery\";s:8:\"keywords\";a:2:{i:0;s:6:\"images\";i:1;s:6:\"photos\";}s:10:\"attributes\";a:10:{s:6:\"images\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:20:\".blocks-gallery-item\";s:5:\"query\";a:6:{s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"src\";}s:7:\"fullUrl\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:13:\"data-full-url\";}s:4:\"link\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:9:\"data-link\";}s:3:\"alt\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:2:\"id\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:7:\"data-id\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:29:\".blocks-gallery-item__caption\";}}}s:3:\"ids\";a:3:{s:4:\"type\";s:5:\"array\";s:5:\"items\";a:1:{s:4:\"type\";s:6:\"number\";}s:7:\"default\";a:0:{}}s:7:\"columns\";a:3:{s:4:\"type\";s:6:\"number\";s:7:\"minimum\";i:1;s:7:\"maximum\";i:8;}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:23:\".blocks-gallery-caption\";}s:9:\"imageCrop\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:6:\"linkTo\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:8:\"sizeSlug\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:5:\"large\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:6:\"anchor\";b:1;s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:5:\"media\";s:5:\"title\";s:7:\"Gallery\";s:11:\"description\";s:42:\"Display multiple images in a rich gallery.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:2:{s:7:\"columns\";i:2;s:6:\"images\";a:2:{i:0;a:1:{s:3:\"url\";s:59:\"https://s.w.org/images/core/5.3/Glacial_lakes%2C_Bhutan.jpg\";}i:1;a:1:{s:3:\"url\";s:70:\"https://s.w.org/images/core/5.3/Sediment_off_the_Yucatan_Peninsula.jpg\";}}}}s:10:\"deprecated\";a:4:{i:0;a:2:{s:10:\"attributes\";a:8:{s:6:\"images\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:20:\".blocks-gallery-item\";s:5:\"query\";a:6:{s:3:\"url\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"src\";}s:7:\"fullUrl\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:13:\"data-full-url\";}s:4:\"link\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:9:\"data-link\";}s:3:\"alt\";a:4:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:2:\"id\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:7:\"data-id\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:29:\".blocks-gallery-item__caption\";}}}s:3:\"ids\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:7:\"columns\";a:1:{s:4:\"type\";s:6:\"number\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:23:\".blocks-gallery-caption\";}s:9:\"imageCrop\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:6:\"linkTo\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}}i:1;a:2:{s:10:\"attributes\";a:7:{s:6:\"images\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:40:\"ul.wp-block-gallery .blocks-gallery-item\";s:5:\"query\";a:6:{s:3:\"url\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"src\";}s:7:\"fullUrl\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:13:\"data-full-url\";}s:3:\"alt\";a:4:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:2:\"id\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:7:\"data-id\";}s:4:\"link\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:9:\"data-link\";}s:7:\"caption\";a:3:{s:4:\"type\";s:5:\"array\";s:6:\"source\";s:8:\"children\";s:8:\"selector\";s:10:\"figcaption\";}}}s:3:\"ids\";a:2:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}}s:7:\"columns\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"imageCrop\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:6:\"linkTo\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}}i:2;a:2:{s:10:\"attributes\";a:6:{s:6:\"images\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:40:\"ul.wp-block-gallery .blocks-gallery-item\";s:5:\"query\";a:5:{s:3:\"url\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"src\";}s:3:\"alt\";a:4:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:2:\"id\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:7:\"data-id\";}s:4:\"link\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:3:\"img\";s:9:\"attribute\";s:9:\"data-link\";}s:7:\"caption\";a:3:{s:4:\"type\";s:5:\"array\";s:6:\"source\";s:8:\"children\";s:8:\"selector\";s:10:\"figcaption\";}}}s:7:\"columns\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"imageCrop\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:6:\"linkTo\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}}i:3;a:2:{s:10:\"attributes\";a:6:{s:6:\"images\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:52:\"div.wp-block-gallery figure.blocks-gallery-image img\";s:5:\"query\";a:3:{s:3:\"url\";a:2:{s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:3:\"src\";}s:3:\"alt\";a:3:{s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:2:\"id\";a:2:{s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:7:\"data-id\";}}}s:7:\"columns\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"imageCrop\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:6:\"linkTo\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}}}s:10:\"variations\";a:0:{}}s:9:\"core/list\";a:12:{s:4:\"name\";s:9:\"core/list\";s:8:\"keywords\";a:3:{i:0;s:11:\"bullet list\";i:1;s:12:\"ordered list\";i:2;s:13:\"numbered list\";}s:10:\"attributes\";a:7:{s:7:\"ordered\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:6:\"values\";a:6:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:5:\"ol,ul\";s:9:\"multiline\";s:2:\"li\";s:30:\"__unstableMultilineWrapperTags\";a:2:{i:0;s:2:\"ol\";i:1;s:2:\"ul\";}s:7:\"default\";s:0:\"\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"start\";a:1:{s:4:\"type\";s:6:\"number\";}s:8:\"reversed\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:4:{s:6:\"anchor\";b:1;s:9:\"className\";b:0;s:25:\"__unstablePasteTextInline\";b:1;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:4:\"List\";s:11:\"description\";s:35:\"Create a bulleted or numbered list.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:6:\"values\";s:120:\"
  • Alice.
  • The White Rabbit.
  • The Cheshire Cat.
  • The Mad Hatter.
  • The Queen of Hearts.
  • \";}}s:10:\"variations\";a:0:{}}s:10:\"core/quote\";a:13:{s:4:\"name\";s:10:\"core/quote\";s:8:\"keywords\";a:2:{i:0;s:10:\"blockquote\";i:1;s:4:\"cite\";}s:10:\"attributes\";a:5:{s:5:\"value\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"blockquote\";s:9:\"multiline\";s:1:\"p\";s:7:\"default\";s:0:\"\";}s:8:\"citation\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:4:\"cite\";s:7:\"default\";s:0:\"\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:6:\"anchor\";b:1;}s:6:\"styles\";a:2:{i:0;a:3:{s:4:\"name\";s:7:\"default\";s:5:\"label\";s:7:\"Default\";s:9:\"isDefault\";b:1;}i:1;a:2:{s:4:\"name\";s:5:\"large\";s:5:\"label\";s:5:\"Large\";}}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:5:\"Quote\";s:11:\"description\";s:93:\"Give quoted text visual emphasis. \"In quoting others, we cite ourselves.\" — Julio Cortázar\";s:7:\"example\";a:1:{s:10:\"attributes\";a:3:{s:5:\"value\";s:44:\"

    In quoting others, we cite ourselves.

    \";s:8:\"citation\";s:15:\"Julio Cortázar\";s:9:\"className\";s:14:\"is-style-large\";}}s:10:\"deprecated\";a:3:{i:0;a:1:{s:10:\"attributes\";a:4:{s:5:\"value\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"blockquote\";s:9:\"multiline\";s:1:\"p\";s:7:\"default\";s:0:\"\";}s:8:\"citation\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:4:\"cite\";s:7:\"default\";s:0:\"\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:1;a:1:{s:10:\"attributes\";a:5:{s:5:\"value\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"blockquote\";s:9:\"multiline\";s:1:\"p\";s:7:\"default\";s:0:\"\";}s:8:\"citation\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:4:\"cite\";s:7:\"default\";s:0:\"\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"style\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:2;a:1:{s:10:\"attributes\";a:5:{s:5:\"value\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"blockquote\";s:9:\"multiline\";s:1:\"p\";s:7:\"default\";s:0:\"\";}s:8:\"citation\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:6:\"footer\";s:7:\"default\";s:0:\"\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"style\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:14:\"core/shortcode\";a:11:{s:4:\"name\";s:14:\"core/shortcode\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:1:{s:4:\"text\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:9:\"className\";b:0;s:15:\"customClassName\";b:0;s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:9:\"Shortcode\";s:11:\"description\";s:61:\"Insert additional custom elements with a WordPress shortcode.\";s:10:\"variations\";a:0:{}}s:13:\"core/archives\";a:12:{s:4:\"name\";s:13:\"core/archives\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:4:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:5:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";i:3;s:4:\"wide\";i:4;s:4:\"full\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:17:\"displayAsDropdown\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:14:\"showPostCounts\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:8:\"Archives\";s:11:\"description\";s:40:\"Display a monthly archive of your posts.\";s:7:\"example\";a:0:{}s:10:\"variations\";a:0:{}}s:10:\"core/audio\";a:12:{s:4:\"name\";s:10:\"core/audio\";s:8:\"keywords\";a:4:{i:0;s:5:\"music\";i:1;s:5:\"sound\";i:2;s:7:\"podcast\";i:3;s:9:\"recording\";}s:10:\"attributes\";a:9:{s:3:\"src\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"audio\";s:9:\"attribute\";s:3:\"src\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:8:\"autoplay\";a:4:{s:4:\"type\";s:7:\"boolean\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"audio\";s:9:\"attribute\";s:8:\"autoplay\";}s:4:\"loop\";a:4:{s:4:\"type\";s:7:\"boolean\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"audio\";s:9:\"attribute\";s:4:\"loop\";}s:7:\"preload\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"audio\";s:9:\"attribute\";s:7:\"preload\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:6:\"anchor\";b:1;s:5:\"align\";b:1;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:5:\"media\";s:5:\"title\";s:5:\"Audio\";s:11:\"description\";s:28:\"Embed a simple audio player.\";s:10:\"deprecated\";a:1:{i:0;a:2:{s:10:\"attributes\";a:8:{s:3:\"src\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"audio\";s:9:\"attribute\";s:3:\"src\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:8:\"autoplay\";a:4:{s:4:\"type\";s:7:\"boolean\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"audio\";s:9:\"attribute\";s:8:\"autoplay\";}s:4:\"loop\";a:4:{s:4:\"type\";s:7:\"boolean\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"audio\";s:9:\"attribute\";s:4:\"loop\";}s:7:\"preload\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"audio\";s:9:\"attribute\";s:7:\"preload\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}}}s:10:\"variations\";a:0:{}}s:11:\"core/button\";a:14:{s:4:\"name\";s:11:\"core/button\";s:8:\"keywords\";a:1:{i:0;s:4:\"link\";}s:10:\"attributes\";a:14:{s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:4:\"href\";}s:5:\"title\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:5:\"title\";}s:4:\"text\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"a\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:6:\"target\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:3:\"rel\";}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:12:\"borderRadius\";a:1:{s:4:\"type\";s:6:\"number\";}s:5:\"style\";a:1:{s:4:\"type\";s:6:\"object\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"gradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:5:{s:6:\"anchor\";b:1;s:5:\"align\";b:1;s:9:\"alignWide\";b:0;s:8:\"reusable\";b:0;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:2:{i:0;a:3:{s:4:\"name\";s:4:\"fill\";s:5:\"label\";s:4:\"Fill\";s:9:\"isDefault\";b:1;}i:1;a:2:{s:4:\"name\";s:7:\"outline\";s:5:\"label\";s:7:\"Outline\";}}s:8:\"category\";s:6:\"design\";s:6:\"parent\";a:1:{i:0;s:12:\"core/buttons\";}s:5:\"title\";s:6:\"Button\";s:11:\"description\";s:56:\"Prompt visitors to take action with a button-style link.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:3:{s:9:\"className\";s:13:\"is-style-fill\";s:15:\"backgroundColor\";s:16:\"vivid-green-cyan\";s:4:\"text\";s:14:\"Call to Action\";}}s:10:\"deprecated\";a:6:{i:0;a:2:{s:10:\"attributes\";a:13:{s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:4:\"href\";}s:5:\"title\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:5:\"title\";}s:4:\"text\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"a\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:6:\"target\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:3:\"rel\";}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:12:\"borderRadius\";a:1:{s:4:\"type\";s:6:\"number\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"gradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"style\";a:1:{s:4:\"type\";s:6:\"object\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:3:{s:5:\"align\";b:1;s:9:\"alignWide\";b:0;s:19:\"__experimentalColor\";a:1:{s:9:\"gradients\";b:1;}}}i:1;a:2:{s:10:\"attributes\";a:15:{s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:4:\"href\";}s:5:\"title\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:5:\"title\";}s:4:\"text\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"a\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:6:\"target\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:3:\"rel\";}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:12:\"borderRadius\";a:1:{s:4:\"type\";s:6:\"number\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"customGradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"gradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:9:\"alignWide\";b:0;}}i:2;a:1:{s:10:\"attributes\";a:12:{s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:4:\"href\";}s:5:\"title\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:5:\"title\";}s:4:\"text\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"a\";}s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:6:\"target\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:3:\"rel\";}s:11:\"placeholder\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:3;a:1:{s:10:\"attributes\";a:9:{s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:4:\"href\";}s:5:\"title\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:5:\"title\";}s:4:\"text\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"a\";}s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:4;a:1:{s:10:\"attributes\";a:7:{s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:4:\"href\";}s:5:\"title\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:5:\"title\";}s:4:\"text\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"a\";}s:5:\"color\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:5;a:1:{s:10:\"attributes\";a:7:{s:3:\"url\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:4:\"href\";}s:5:\"title\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:1:\"a\";s:9:\"attribute\";s:5:\"title\";}s:4:\"text\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"a\";}s:5:\"color\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:12:\"core/buttons\";a:11:{s:4:\"name\";s:12:\"core/buttons\";s:8:\"keywords\";a:1:{i:0;s:4:\"link\";}s:10:\"attributes\";a:3:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:4:{s:6:\"anchor\";b:1;s:5:\"align\";b:1;s:9:\"alignWide\";b:0;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:6:\"design\";s:5:\"title\";s:7:\"Buttons\";s:11:\"description\";s:66:\"Prompt visitors to take action with a group of button-style links.\";s:10:\"variations\";a:0:{}}s:13:\"core/calendar\";a:12:{s:4:\"name\";s:13:\"core/calendar\";s:8:\"keywords\";a:2:{i:0;s:5:\"posts\";i:1;s:7:\"archive\";}s:10:\"attributes\";a:4:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:5:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";i:3;s:4:\"wide\";i:4;s:4:\"full\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"month\";a:1:{s:4:\"type\";s:7:\"integer\";}s:4:\"year\";a:1:{s:4:\"type\";s:7:\"integer\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:8:\"Calendar\";s:11:\"description\";s:34:\"A calendar of your site’s posts.\";s:7:\"example\";a:0:{}s:10:\"variations\";a:0:{}}s:15:\"core/categories\";a:12:{s:4:\"name\";s:15:\"core/categories\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:5:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:5:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";i:3;s:4:\"wide\";i:4;s:4:\"full\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:17:\"displayAsDropdown\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:13:\"showHierarchy\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:14:\"showPostCounts\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:10:\"Categories\";s:11:\"description\";s:33:\"Display a list of all categories.\";s:7:\"example\";a:0:{}s:10:\"variations\";a:0:{}}s:9:\"core/code\";a:12:{s:4:\"name\";s:9:\"core/code\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:3:{s:7:\"content\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"text\";s:8:\"selector\";s:4:\"code\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:6:\"anchor\";b:1;s:4:\"html\";b:0;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:4:\"Code\";s:11:\"description\";s:57:\"Display code snippets that respect your spacing and tabs.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:7:\"content\";s:179:\"// A \"block\" is the abstract term used\n// to describe units of markup that\n// when composed together, form the\n// content or layout of a page.\nregisterBlockType( name, settings );\";}}s:10:\"variations\";a:0:{}}s:12:\"core/columns\";a:13:{s:4:\"name\";s:12:\"core/columns\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:8:{s:17:\"verticalAlignment\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"gradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"style\";a:1:{s:4:\"type\";s:6:\"object\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:5:{s:6:\"anchor\";b:1;s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;s:17:\"lightBlockWrapper\";b:1;s:19:\"__experimentalColor\";a:2:{s:9:\"gradients\";b:1;s:9:\"linkColor\";b:1;}}s:6:\"styles\";a:0:{}s:8:\"category\";s:6:\"design\";s:5:\"title\";s:7:\"Columns\";s:11:\"description\";s:101:\"Add a block that displays content in multiple columns, then add whatever content blocks you’d like.\";s:10:\"variations\";a:5:{i:0;a:7:{s:4:\"name\";s:17:\"two-columns-equal\";s:5:\"title\";s:7:\"50 / 50\";s:11:\"description\";s:24:\"Two columns; equal split\";s:4:\"icon\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:5:{s:5:\"width\";s:2:\"48\";s:6:\"height\";s:2:\"48\";s:7:\"viewBox\";s:9:\"0 0 48 48\";s:5:\"xmlns\";s:26:\"http://www.w3.org/2000/svg\";s:8:\"children\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:3:{s:8:\"fillRule\";s:7:\"evenodd\";s:8:\"clipRule\";s:7:\"evenodd\";s:1:\"d\";s:163:\"M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H25V34H39ZM23 34H9V14H23V34Z\";}s:6:\"_owner\";N;}}s:6:\"_owner\";N;}s:9:\"isDefault\";b:1;s:11:\"innerBlocks\";a:2:{i:0;a:1:{i:0;s:11:\"core/column\";}i:1;a:1:{i:0;s:11:\"core/column\";}}s:5:\"scope\";a:1:{i:0;s:5:\"block\";}}i:1;a:6:{s:4:\"name\";s:32:\"two-columns-one-third-two-thirds\";s:5:\"title\";s:7:\"30 / 70\";s:11:\"description\";s:40:\"Two columns; one-third, two-thirds split\";s:4:\"icon\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:5:{s:5:\"width\";s:2:\"48\";s:6:\"height\";s:2:\"48\";s:7:\"viewBox\";s:9:\"0 0 48 48\";s:5:\"xmlns\";s:26:\"http://www.w3.org/2000/svg\";s:8:\"children\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:3:{s:8:\"fillRule\";s:7:\"evenodd\";s:8:\"clipRule\";s:7:\"evenodd\";s:1:\"d\";s:163:\"M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H20V34H39ZM18 34H9V14H18V34Z\";}s:6:\"_owner\";N;}}s:6:\"_owner\";N;}s:11:\"innerBlocks\";a:2:{i:0;a:2:{i:0;s:11:\"core/column\";i:1;a:1:{s:5:\"width\";d:33.33;}}i:1;a:2:{i:0;s:11:\"core/column\";i:1;a:1:{s:5:\"width\";d:66.66;}}}s:5:\"scope\";a:1:{i:0;s:5:\"block\";}}i:2;a:6:{s:4:\"name\";s:32:\"two-columns-two-thirds-one-third\";s:5:\"title\";s:7:\"70 / 30\";s:11:\"description\";s:40:\"Two columns; two-thirds, one-third split\";s:4:\"icon\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:5:{s:5:\"width\";s:2:\"48\";s:6:\"height\";s:2:\"48\";s:7:\"viewBox\";s:9:\"0 0 48 48\";s:5:\"xmlns\";s:26:\"http://www.w3.org/2000/svg\";s:8:\"children\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:3:{s:8:\"fillRule\";s:7:\"evenodd\";s:8:\"clipRule\";s:7:\"evenodd\";s:1:\"d\";s:163:\"M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H30V34H39ZM28 34H9V14H28V34Z\";}s:6:\"_owner\";N;}}s:6:\"_owner\";N;}s:11:\"innerBlocks\";a:2:{i:0;a:2:{i:0;s:11:\"core/column\";i:1;a:1:{s:5:\"width\";d:66.66;}}i:1;a:2:{i:0;s:11:\"core/column\";i:1;a:1:{s:5:\"width\";d:33.33;}}}s:5:\"scope\";a:1:{i:0;s:5:\"block\";}}i:3;a:6:{s:4:\"name\";s:19:\"three-columns-equal\";s:5:\"title\";s:12:\"33 / 33 / 33\";s:11:\"description\";s:26:\"Three columns; equal split\";s:4:\"icon\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:5:{s:5:\"width\";s:2:\"48\";s:6:\"height\";s:2:\"48\";s:7:\"viewBox\";s:9:\"0 0 48 48\";s:5:\"xmlns\";s:26:\"http://www.w3.org/2000/svg\";s:8:\"children\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:2:{s:8:\"fillRule\";s:7:\"evenodd\";s:1:\"d\";s:132:\"M41 14a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h30a2 2 0 0 0 2-2V14zM28.5 34h-9V14h9v20zm2 0V14H39v20h-8.5zm-13 0H9V14h8.5v20z\";}s:6:\"_owner\";N;}}s:6:\"_owner\";N;}s:11:\"innerBlocks\";a:3:{i:0;a:1:{i:0;s:11:\"core/column\";}i:1;a:1:{i:0;s:11:\"core/column\";}i:2;a:1:{i:0;s:11:\"core/column\";}}s:5:\"scope\";a:1:{i:0;s:5:\"block\";}}i:4;a:6:{s:4:\"name\";s:26:\"three-columns-wider-center\";s:5:\"title\";s:12:\"25 / 50 / 25\";s:11:\"description\";s:33:\"Three columns; wide center column\";s:4:\"icon\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:5:{s:5:\"width\";s:2:\"48\";s:6:\"height\";s:2:\"48\";s:7:\"viewBox\";s:9:\"0 0 48 48\";s:5:\"xmlns\";s:26:\"http://www.w3.org/2000/svg\";s:8:\"children\";a:4:{s:3:\"key\";N;s:3:\"ref\";N;s:5:\"props\";a:2:{s:8:\"fillRule\";s:7:\"evenodd\";s:1:\"d\";s:126:\"M41 14a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h30a2 2 0 0 0 2-2V14zM31 34H17V14h14v20zm2 0V14h6v20h-6zm-18 0H9V14h6v20z\";}s:6:\"_owner\";N;}}s:6:\"_owner\";N;}s:11:\"innerBlocks\";a:3:{i:0;a:2:{i:0;s:11:\"core/column\";i:1;a:1:{s:5:\"width\";i:25;}}i:1;a:2:{i:0;s:11:\"core/column\";i:1;a:1:{s:5:\"width\";i:50;}}i:2;a:2:{i:0;s:11:\"core/column\";i:1;a:1:{s:5:\"width\";i:25;}}}s:5:\"scope\";a:1:{i:0;s:5:\"block\";}}}s:7:\"example\";a:1:{s:11:\"innerBlocks\";a:2:{i:0;a:2:{s:4:\"name\";s:11:\"core/column\";s:11:\"innerBlocks\";a:3:{i:0;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:1:{s:7:\"content\";s:83:\"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent et eros eu felis.\";}}i:1;a:2:{s:4:\"name\";s:10:\"core/image\";s:10:\"attributes\";a:1:{s:3:\"url\";s:49:\"https://s.w.org/images/core/5.3/Windbuchencom.jpg\";}}i:2;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:1:{s:7:\"content\";s:59:\"Suspendisse commodo neque lacus, a dictum orci interdum et.\";}}}}i:1;a:2:{s:4:\"name\";s:11:\"core/column\";s:11:\"innerBlocks\";a:2:{i:0;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:1:{s:7:\"content\";s:157:\"Etiam et egestas lorem. Vivamus sagittis sit amet dolor quis lobortis. Integer sed fermentum arcu, id vulputate lacus. Etiam fermentum sem eu quam hendrerit.\";}}i:1;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:1:{s:7:\"content\";s:103:\"Nam risus massa, ullamcorper consectetur eros fermentum, porta aliquet ligula. Sed vel mauris nec enim.\";}}}}}}s:10:\"deprecated\";a:3:{i:0;a:1:{s:10:\"attributes\";a:6:{s:17:\"verticalAlignment\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:1;a:1:{s:10:\"attributes\";a:2:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:2;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:2;a:1:{s:10:\"attributes\";a:2:{s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:2;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}}s:11:\"core/column\";a:12:{s:4:\"name\";s:11:\"core/column\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:4:{s:17:\"verticalAlignment\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"width\";a:3:{s:4:\"type\";s:6:\"number\";s:3:\"min\";i:0;s:3:\"max\";i:100;}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:4:{s:6:\"anchor\";b:1;s:8:\"reusable\";b:0;s:4:\"html\";b:0;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:6:\"parent\";a:1:{i:0;s:12:\"core/columns\";}s:5:\"title\";s:6:\"Column\";s:11:\"description\";s:39:\"A single column within a columns block.\";s:10:\"variations\";a:0:{}}s:10:\"core/cover\";a:13:{s:4:\"name\";s:10:\"core/cover\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:17:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:11:\"hasParallax\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:8:\"dimRatio\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:12:\"overlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:18:\"customOverlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"backgroundType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:5:\"image\";}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:9:\"minHeight\";a:1:{s:4:\"type\";s:6:\"number\";}s:13:\"minHeightUnit\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"gradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"customGradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"contentPosition\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"style\";a:1:{s:4:\"type\";s:6:\"object\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:5:{s:6:\"anchor\";b:1;s:5:\"align\";b:1;s:4:\"html\";b:0;s:17:\"lightBlockWrapper\";b:1;s:21:\"__experimentalPadding\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:5:\"media\";s:5:\"title\";s:5:\"Cover\";s:11:\"description\";s:64:\"Add an image or video with a text overlay — great for headers.\";s:7:\"example\";a:2:{s:10:\"attributes\";a:3:{s:18:\"customOverlayColor\";s:7:\"#065174\";s:8:\"dimRatio\";i:40;s:3:\"url\";s:49:\"https://s.w.org/images/core/5.3/Windbuchencom.jpg\";}s:11:\"innerBlocks\";a:1:{i:0;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:3:{s:14:\"customFontSize\";i:48;s:7:\"content\";s:28:\"Snow Patrol\";s:5:\"align\";s:6:\"center\";}}}}s:10:\"deprecated\";a:5:{i:0;a:1:{s:10:\"attributes\";a:14:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:11:\"hasParallax\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:8:\"dimRatio\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:12:\"overlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:18:\"customOverlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"backgroundType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:5:\"image\";}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:5:\"title\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";}s:12:\"contentAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:6:\"center\";}s:9:\"minHeight\";a:1:{s:4:\"type\";s:6:\"number\";}s:8:\"gradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"customGradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:1;a:1:{s:10:\"attributes\";a:14:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:11:\"hasParallax\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:8:\"dimRatio\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:12:\"overlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:18:\"customOverlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"backgroundType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:5:\"image\";}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:5:\"title\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";}s:12:\"contentAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:6:\"center\";}s:9:\"minHeight\";a:1:{s:4:\"type\";s:6:\"number\";}s:8:\"gradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"customGradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:2;a:2:{s:10:\"attributes\";a:12:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:11:\"hasParallax\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:8:\"dimRatio\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:12:\"overlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:18:\"customOverlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"backgroundType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:5:\"image\";}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:5:\"title\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";}s:12:\"contentAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:6:\"center\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}}i:3;a:2:{s:10:\"attributes\";a:12:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:11:\"hasParallax\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:8:\"dimRatio\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:12:\"overlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:18:\"customOverlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"backgroundType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:5:\"image\";}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:5:\"title\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";}s:12:\"contentAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:6:\"center\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:9:\"className\";b:0;}}i:4;a:2:{s:10:\"attributes\";a:12:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:11:\"hasParallax\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:8:\"dimRatio\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:12:\"overlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:18:\"customOverlayColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"backgroundType\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:5:\"image\";}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:5:\"title\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:2:\"h2\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:12:\"contentAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:6:\"center\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:9:\"className\";b:0;}}}s:10:\"variations\";a:0:{}}s:10:\"core/embed\";a:12:{s:4:\"name\";s:10:\"core/embed\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:5:\"Embed\";s:11:\"description\";s:77:\"Embed videos, images, tweets, audio, and other content from external sources.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:18:\"core-embed/twitter\";a:12:{s:4:\"name\";s:18:\"core-embed/twitter\";s:8:\"keywords\";a:2:{i:0;s:5:\"tweet\";i:1;s:6:\"social\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:7:\"Twitter\";s:11:\"description\";s:14:\"Embed a tweet.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:18:\"core-embed/youtube\";a:12:{s:4:\"name\";s:18:\"core-embed/youtube\";s:8:\"keywords\";a:2:{i:0;s:5:\"music\";i:1;s:5:\"video\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:7:\"YouTube\";s:11:\"description\";s:22:\"Embed a YouTube video.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:19:\"core-embed/facebook\";a:12:{s:4:\"name\";s:19:\"core-embed/facebook\";s:8:\"keywords\";a:1:{i:0;s:6:\"social\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:8:\"Facebook\";s:11:\"description\";s:22:\"Embed a Facebook post.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:20:\"core-embed/instagram\";a:12:{s:4:\"name\";s:20:\"core-embed/instagram\";s:8:\"keywords\";a:2:{i:0;s:5:\"image\";i:1;s:6:\"social\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:9:\"Instagram\";s:11:\"description\";s:24:\"Embed an Instagram post.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:20:\"core-embed/wordpress\";a:12:{s:4:\"name\";s:20:\"core-embed/wordpress\";s:8:\"keywords\";a:2:{i:0;s:4:\"post\";i:1;s:4:\"blog\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:9:\"WordPress\";s:11:\"description\";s:23:\"Embed a WordPress post.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:21:\"core-embed/soundcloud\";a:12:{s:4:\"name\";s:21:\"core-embed/soundcloud\";s:8:\"keywords\";a:2:{i:0;s:5:\"music\";i:1;s:5:\"audio\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:10:\"SoundCloud\";s:11:\"description\";s:25:\"Embed SoundCloud content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:18:\"core-embed/spotify\";a:12:{s:4:\"name\";s:18:\"core-embed/spotify\";s:8:\"keywords\";a:2:{i:0;s:5:\"music\";i:1;s:5:\"audio\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:7:\"Spotify\";s:11:\"description\";s:22:\"Embed Spotify content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:17:\"core-embed/flickr\";a:12:{s:4:\"name\";s:17:\"core-embed/flickr\";s:8:\"keywords\";a:1:{i:0;s:5:\"image\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:6:\"Flickr\";s:11:\"description\";s:21:\"Embed Flickr content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:16:\"core-embed/vimeo\";a:12:{s:4:\"name\";s:16:\"core-embed/vimeo\";s:8:\"keywords\";a:1:{i:0;s:5:\"video\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:5:\"Vimeo\";s:11:\"description\";s:20:\"Embed a Vimeo video.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:18:\"core-embed/animoto\";a:12:{s:4:\"name\";s:18:\"core-embed/animoto\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:7:\"Animoto\";s:11:\"description\";s:23:\"Embed an Animoto video.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:18:\"core-embed/cloudup\";a:12:{s:4:\"name\";s:18:\"core-embed/cloudup\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:7:\"Cloudup\";s:11:\"description\";s:22:\"Embed Cloudup content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:23:\"core-embed/collegehumor\";a:12:{s:4:\"name\";s:23:\"core-embed/collegehumor\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:8:\"inserter\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:12:\"CollegeHumor\";s:11:\"description\";s:27:\"Embed CollegeHumor content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:22:\"core-embed/crowdsignal\";a:12:{s:4:\"name\";s:22:\"core-embed/crowdsignal\";s:8:\"keywords\";a:2:{i:0;s:9:\"polldaddy\";i:1;s:6:\"survey\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:11:\"Crowdsignal\";s:11:\"description\";s:47:\"Embed Crowdsignal (formerly Polldaddy) content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:22:\"core-embed/dailymotion\";a:12:{s:4:\"name\";s:22:\"core-embed/dailymotion\";s:8:\"keywords\";a:1:{i:0;s:5:\"video\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:11:\"Dailymotion\";s:11:\"description\";s:26:\"Embed a Dailymotion video.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:16:\"core-embed/imgur\";a:12:{s:4:\"name\";s:16:\"core-embed/imgur\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:5:\"Imgur\";s:11:\"description\";s:20:\"Embed Imgur content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:16:\"core-embed/issuu\";a:12:{s:4:\"name\";s:16:\"core-embed/issuu\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:5:\"Issuu\";s:11:\"description\";s:20:\"Embed Issuu content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:22:\"core-embed/kickstarter\";a:12:{s:4:\"name\";s:22:\"core-embed/kickstarter\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:11:\"Kickstarter\";s:11:\"description\";s:26:\"Embed Kickstarter content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:21:\"core-embed/meetup-com\";a:12:{s:4:\"name\";s:21:\"core-embed/meetup-com\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:10:\"Meetup.com\";s:11:\"description\";s:25:\"Embed Meetup.com content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:19:\"core-embed/mixcloud\";a:12:{s:4:\"name\";s:19:\"core-embed/mixcloud\";s:8:\"keywords\";a:2:{i:0;s:5:\"music\";i:1;s:5:\"audio\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:8:\"Mixcloud\";s:11:\"description\";s:23:\"Embed Mixcloud content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:20:\"core-embed/polldaddy\";a:12:{s:4:\"name\";s:20:\"core-embed/polldaddy\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:8:\"inserter\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:9:\"Polldaddy\";s:11:\"description\";s:24:\"Embed Polldaddy content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:17:\"core-embed/reddit\";a:12:{s:4:\"name\";s:17:\"core-embed/reddit\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:6:\"Reddit\";s:11:\"description\";s:22:\"Embed a Reddit thread.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:23:\"core-embed/reverbnation\";a:12:{s:4:\"name\";s:23:\"core-embed/reverbnation\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:12:\"ReverbNation\";s:11:\"description\";s:27:\"Embed ReverbNation content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:21:\"core-embed/screencast\";a:12:{s:4:\"name\";s:21:\"core-embed/screencast\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:10:\"Screencast\";s:11:\"description\";s:25:\"Embed Screencast content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:17:\"core-embed/scribd\";a:12:{s:4:\"name\";s:17:\"core-embed/scribd\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:6:\"Scribd\";s:11:\"description\";s:21:\"Embed Scribd content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:21:\"core-embed/slideshare\";a:12:{s:4:\"name\";s:21:\"core-embed/slideshare\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:10:\"Slideshare\";s:11:\"description\";s:25:\"Embed Slideshare content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:18:\"core-embed/smugmug\";a:12:{s:4:\"name\";s:18:\"core-embed/smugmug\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:7:\"SmugMug\";s:11:\"description\";s:22:\"Embed SmugMug content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:18:\"core-embed/speaker\";a:12:{s:4:\"name\";s:18:\"core-embed/speaker\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:8:\"inserter\";b:0;}s:6:\"styles\";a:0:{}s:5:\"title\";s:7:\"Speaker\";s:11:\"description\";s:94:\"Add a block that displays content pulled from other sites, like Twitter, Instagram or YouTube.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:23:\"core-embed/speaker-deck\";a:12:{s:4:\"name\";s:23:\"core-embed/speaker-deck\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:12:\"Speaker Deck\";s:11:\"description\";s:27:\"Embed Speaker Deck content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:17:\"core-embed/tiktok\";a:12:{s:4:\"name\";s:17:\"core-embed/tiktok\";s:8:\"keywords\";a:1:{i:0;s:5:\"video\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:6:\"TikTok\";s:11:\"description\";s:21:\"Embed a TikTok video.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:14:\"core-embed/ted\";a:12:{s:4:\"name\";s:14:\"core-embed/ted\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:3:\"TED\";s:11:\"description\";s:18:\"Embed a TED video.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:17:\"core-embed/tumblr\";a:12:{s:4:\"name\";s:17:\"core-embed/tumblr\";s:8:\"keywords\";a:1:{i:0;s:6:\"social\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:6:\"Tumblr\";s:11:\"description\";s:20:\"Embed a Tumblr post.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:21:\"core-embed/videopress\";a:12:{s:4:\"name\";s:21:\"core-embed/videopress\";s:8:\"keywords\";a:1:{i:0;s:5:\"video\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:10:\"VideoPress\";s:11:\"description\";s:25:\"Embed a VideoPress video.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:23:\"core-embed/wordpress-tv\";a:12:{s:4:\"name\";s:23:\"core-embed/wordpress-tv\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:12:\"WordPress.tv\";s:11:\"description\";s:27:\"Embed a WordPress.tv video.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:24:\"core-embed/amazon-kindle\";a:12:{s:4:\"name\";s:24:\"core-embed/amazon-kindle\";s:8:\"keywords\";a:1:{i:0;s:5:\"ebook\";}s:10:\"attributes\";a:7:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:5:\"title\";s:13:\"Amazon Kindle\";s:11:\"description\";s:28:\"Embed Amazon Kindle content.\";s:8:\"category\";s:5:\"embed\";s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:6:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:4:\"type\";a:1:{s:4:\"type\";s:6:\"string\";}s:16:\"providerNameSlug\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"allowResponsive\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:9:\"core/file\";a:11:{s:4:\"name\";s:9:\"core/file\";s:8:\"keywords\";a:3:{i:0;s:8:\"document\";i:1;s:3:\"pdf\";i:2;s:8:\"download\";}s:10:\"attributes\";a:10:{s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:4:\"href\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"fileName\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:17:\"a:not([download])\";}s:12:\"textLinkHref\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:17:\"a:not([download])\";s:9:\"attribute\";s:4:\"href\";}s:14:\"textLinkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:17:\"a:not([download])\";s:9:\"attribute\";s:6:\"target\";}s:18:\"showDownloadButton\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:18:\"downloadButtonText\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:11:\"a[download]\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:6:\"anchor\";b:1;s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:5:\"media\";s:5:\"title\";s:4:\"File\";s:11:\"description\";s:34:\"Add a link to a downloadable file.\";s:10:\"variations\";a:0:{}}s:10:\"core/group\";a:13:{s:4:\"name\";s:10:\"core/group\";s:8:\"keywords\";a:4:{i:0;s:9:\"container\";i:1;s:7:\"wrapper\";i:2;s:3:\"row\";i:3;s:7:\"section\";}s:10:\"attributes\";a:8:{s:7:\"tagName\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:3:\"div\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"gradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"style\";a:1:{s:4:\"type\";s:6:\"object\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:5:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:6:\"anchor\";b:1;s:4:\"html\";b:0;s:17:\"lightBlockWrapper\";b:1;s:19:\"__experimentalColor\";a:2:{s:9:\"gradients\";b:1;s:9:\"linkColor\";b:1;}}s:6:\"styles\";a:0:{}s:8:\"category\";s:6:\"design\";s:5:\"title\";s:5:\"Group\";s:11:\"description\";s:33:\"A block that groups other blocks.\";s:7:\"example\";a:2:{s:10:\"attributes\";a:1:{s:5:\"style\";a:1:{s:5:\"color\";a:2:{s:4:\"text\";s:7:\"#000000\";s:10:\"background\";s:7:\"#ffffff\";}}}s:11:\"innerBlocks\";a:6:{i:0;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:3:{s:15:\"customTextColor\";s:7:\"#cf2e2e\";s:8:\"fontSize\";s:5:\"large\";s:7:\"content\";s:4:\"One.\";}}i:1;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:3:{s:15:\"customTextColor\";s:7:\"#ff6900\";s:8:\"fontSize\";s:5:\"large\";s:7:\"content\";s:4:\"Two.\";}}i:2;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:3:{s:15:\"customTextColor\";s:7:\"#fcb900\";s:8:\"fontSize\";s:5:\"large\";s:7:\"content\";s:6:\"Three.\";}}i:3;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:3:{s:15:\"customTextColor\";s:7:\"#00d084\";s:8:\"fontSize\";s:5:\"large\";s:7:\"content\";s:5:\"Four.\";}}i:4;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:3:{s:15:\"customTextColor\";s:7:\"#0693e3\";s:8:\"fontSize\";s:5:\"large\";s:7:\"content\";s:5:\"Five.\";}}i:5;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:3:{s:15:\"customTextColor\";s:7:\"#9b51e0\";s:8:\"fontSize\";s:5:\"large\";s:7:\"content\";s:4:\"Six.\";}}}}s:10:\"deprecated\";a:3:{i:0;a:2:{s:10:\"attributes\";a:7:{s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:3:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:6:\"anchor\";b:1;s:4:\"html\";b:0;}}i:1;a:2:{s:10:\"attributes\";a:7:{s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:3:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:6:\"anchor\";b:1;s:4:\"html\";b:0;}}i:2;a:2:{s:10:\"attributes\";a:5:{s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:3:{s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:6:\"anchor\";b:1;s:4:\"html\";b:0;}}}s:10:\"variations\";a:0:{}}s:13:\"core/freeform\";a:11:{s:4:\"name\";s:13:\"core/freeform\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:1:{s:7:\"content\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:9:\"className\";b:0;s:15:\"customClassName\";b:0;s:8:\"reusable\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:7:\"Classic\";s:11:\"description\";s:33:\"Use the classic WordPress editor.\";s:10:\"variations\";a:0:{}}s:9:\"core/html\";a:12:{s:4:\"name\";s:9:\"core/html\";s:8:\"keywords\";a:1:{i:0;s:5:\"embed\";}s:10:\"attributes\";a:1:{s:7:\"content\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:15:\"customClassName\";b:0;s:9:\"className\";b:0;s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:11:\"Custom HTML\";s:11:\"description\";s:48:\"Add custom HTML code and preview it as you edit.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:7:\"content\";s:62:\"Welcome to the wonderful world of blocks…\";}}s:10:\"variations\";a:0:{}}s:15:\"core/media-text\";a:13:{s:4:\"name\";s:15:\"core/media-text\";s:8:\"keywords\";a:2:{i:0;s:5:\"image\";i:1;s:5:\"video\";}s:10:\"attributes\";a:23:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"wide\";}s:8:\"mediaAlt\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:13:\"mediaPosition\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"left\";}s:7:\"mediaId\";a:1:{s:4:\"type\";s:6:\"number\";}s:8:\"mediaUrl\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:23:\"figure video,figure img\";s:9:\"attribute\";s:3:\"src\";}s:9:\"mediaLink\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"linkDestination\";a:1:{s:4:\"type\";s:6:\"string\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:8:\"figure a\";s:9:\"attribute\";s:6:\"target\";}s:4:\"href\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:8:\"figure a\";s:9:\"attribute\";s:4:\"href\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:8:\"figure a\";s:9:\"attribute\";s:3:\"rel\";}s:9:\"linkClass\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:8:\"figure a\";s:9:\"attribute\";s:5:\"class\";}s:9:\"mediaType\";a:1:{s:4:\"type\";s:6:\"string\";}s:10:\"mediaWidth\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:17:\"isStackedOnMobile\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:17:\"verticalAlignment\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"imageFill\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"gradient\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"style\";a:1:{s:4:\"type\";s:6:\"object\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:5:{s:6:\"anchor\";b:1;s:5:\"align\";a:2:{i:0;s:4:\"wide\";i:1;s:4:\"full\";}s:4:\"html\";b:0;s:17:\"lightBlockWrapper\";b:1;s:19:\"__experimentalColor\";a:2:{s:9:\"gradients\";b:1;s:9:\"linkColor\";b:1;}}s:6:\"styles\";a:0:{}s:8:\"category\";s:5:\"media\";s:5:\"title\";s:12:\"Media & Text\";s:11:\"description\";s:53:\"Set media and words side-by-side for a richer layout.\";s:7:\"example\";a:2:{s:10:\"attributes\";a:2:{s:9:\"mediaType\";s:5:\"image\";s:8:\"mediaUrl\";s:94:\"https://s.w.org/images/core/5.3/Biologia_Centrali-Americana_-_Cantorchilus_semibadius_1902.jpg\";}s:11:\"innerBlocks\";a:2:{i:0;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:1:{s:7:\"content\";s:44:\"The wren
    Earns his living
    Noiselessly.\";}}i:1;a:2:{s:4:\"name\";s:14:\"core/paragraph\";s:10:\"attributes\";a:1:{s:7:\"content\";s:27:\"— Kobayashi Issa (一茶)\";}}}}s:10:\"deprecated\";a:3:{i:0;a:1:{s:10:\"attributes\";a:19:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"wide\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"mediaAlt\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:13:\"mediaPosition\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"left\";}s:7:\"mediaId\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"mediaType\";a:1:{s:4:\"type\";s:6:\"string\";}s:10:\"mediaWidth\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:17:\"isStackedOnMobile\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"mediaLink\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"linkDestination\";a:1:{s:4:\"type\";s:6:\"string\";}s:10:\"linkTarget\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:8:\"figure a\";s:9:\"attribute\";s:6:\"target\";}s:4:\"href\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:8:\"figure a\";s:9:\"attribute\";s:4:\"href\";}s:3:\"rel\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:8:\"figure a\";s:9:\"attribute\";s:3:\"rel\";}s:9:\"linkClass\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:8:\"figure a\";s:9:\"attribute\";s:5:\"class\";}s:17:\"verticalAlignment\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"imageFill\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:1;a:1:{s:10:\"attributes\";a:14:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"wide\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"mediaAlt\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:13:\"mediaPosition\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"left\";}s:7:\"mediaId\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"mediaType\";a:1:{s:4:\"type\";s:6:\"string\";}s:10:\"mediaWidth\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:17:\"isStackedOnMobile\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"mediaUrl\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:23:\"figure video,figure img\";s:9:\"attribute\";s:3:\"src\";}s:17:\"verticalAlignment\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"imageFill\";a:1:{s:4:\"type\";s:7:\"boolean\";}s:10:\"focalPoint\";a:1:{s:4:\"type\";s:6:\"object\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:2;a:1:{s:10:\"attributes\";a:11:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"wide\";}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"mediaAlt\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:10:\"figure img\";s:9:\"attribute\";s:3:\"alt\";s:7:\"default\";s:0:\"\";}s:13:\"mediaPosition\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"left\";}s:7:\"mediaId\";a:1:{s:4:\"type\";s:6:\"number\";}s:9:\"mediaType\";a:1:{s:4:\"type\";s:6:\"string\";}s:10:\"mediaWidth\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:50;}s:17:\"isStackedOnMobile\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:21:\"customBackgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"mediaUrl\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:23:\"figure video,figure img\";s:9:\"attribute\";s:3:\"src\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:20:\"core/latest-comments\";a:12:{s:4:\"name\";s:20:\"core/latest-comments\";s:8:\"keywords\";a:1:{i:0;s:15:\"recent comments\";}s:10:\"attributes\";a:6:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:5:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";i:3;s:4:\"wide\";i:4;s:4:\"full\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"commentsToShow\";a:4:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:5;s:7:\"minimum\";i:1;s:7:\"maximum\";i:100;}s:13:\"displayAvatar\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:11:\"displayDate\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}s:14:\"displayExcerpt\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:1;}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:15:\"Latest Comments\";s:11:\"description\";s:44:\"Display a list of your most recent comments.\";s:7:\"example\";a:0:{}s:10:\"variations\";a:0:{}}s:17:\"core/latest-posts\";a:13:{s:4:\"name\";s:17:\"core/latest-posts\";s:8:\"keywords\";a:1:{i:0;s:12:\"recent posts\";}s:10:\"attributes\";a:19:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:5:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";i:3;s:4:\"wide\";i:4;s:4:\"full\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:10:\"categories\";a:2:{s:4:\"type\";s:5:\"array\";s:5:\"items\";a:1:{s:4:\"type\";s:6:\"object\";}}s:14:\"selectedAuthor\";a:1:{s:4:\"type\";s:6:\"number\";}s:11:\"postsToShow\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:5;}s:18:\"displayPostContent\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:23:\"displayPostContentRadio\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:7:\"excerpt\";}s:13:\"excerptLength\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:55;}s:13:\"displayAuthor\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:15:\"displayPostDate\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"postLayout\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"list\";}s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:5:\"order\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"desc\";}s:7:\"orderBy\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:20:\"displayFeaturedImage\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:18:\"featuredImageAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:3:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";}}s:21:\"featuredImageSizeSlug\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:9:\"thumbnail\";}s:22:\"featuredImageSizeWidth\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";N;}s:23:\"featuredImageSizeHeight\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";N;}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:12:\"Latest Posts\";s:11:\"description\";s:41:\"Display a list of your most recent posts.\";s:7:\"example\";a:0:{}s:10:\"deprecated\";a:1:{i:0;a:2:{s:10:\"attributes\";a:19:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:5:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";i:3;s:4:\"wide\";i:4;s:4:\"full\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:10:\"categories\";a:1:{s:4:\"type\";s:6:\"string\";}s:14:\"selectedAuthor\";a:1:{s:4:\"type\";s:6:\"number\";}s:11:\"postsToShow\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:5;}s:18:\"displayPostContent\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:23:\"displayPostContentRadio\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:7:\"excerpt\";}s:13:\"excerptLength\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:55;}s:13:\"displayAuthor\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:15:\"displayPostDate\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:10:\"postLayout\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"list\";}s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:3;}s:5:\"order\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"desc\";}s:7:\"orderBy\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"date\";}s:20:\"displayFeaturedImage\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:18:\"featuredImageAlign\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:3:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";}}s:21:\"featuredImageSizeSlug\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:9:\"thumbnail\";}s:22:\"featuredImageSizeWidth\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";N;}s:23:\"featuredImageSizeHeight\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";N;}}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:4:\"html\";b:0;}}}s:10:\"variations\";a:0:{}}s:12:\"core/missing\";a:11:{s:4:\"name\";s:12:\"core/missing\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:3:{s:12:\"originalName\";a:1:{s:4:\"type\";s:6:\"string\";}s:26:\"originalUndelimitedContent\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"originalContent\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:5:{s:9:\"className\";b:0;s:15:\"customClassName\";b:0;s:8:\"inserter\";b:0;s:4:\"html\";b:0;s:8:\"reusable\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:11:\"Unsupported\";s:11:\"description\";s:51:\"Your site doesn’t include support for this block.\";s:10:\"variations\";a:0:{}}s:9:\"core/more\";a:12:{s:4:\"name\";s:9:\"core/more\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:2:{s:10:\"customText\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"noTeaser\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:4:{s:15:\"customClassName\";b:0;s:9:\"className\";b:0;s:4:\"html\";b:0;s:8:\"multiple\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:6:\"design\";s:5:\"title\";s:4:\"More\";s:11:\"description\";s:77:\"Content before this block will be shown in the excerpt on your archives page.\";s:7:\"example\";a:0:{}s:10:\"variations\";a:0:{}}s:13:\"core/nextpage\";a:13:{s:4:\"name\";s:13:\"core/nextpage\";s:8:\"keywords\";a:2:{i:0;s:9:\"next page\";i:1;s:10:\"pagination\";}s:10:\"attributes\";a:0:{}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:15:\"customClassName\";b:0;s:9:\"className\";b:0;s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:6:\"design\";s:6:\"parent\";a:1:{i:0;s:17:\"core/post-content\";}s:5:\"title\";s:10:\"Page Break\";s:11:\"description\";s:51:\"Separate your content into a multi-page experience.\";s:7:\"example\";a:0:{}s:10:\"variations\";a:0:{}}s:17:\"core/preformatted\";a:12:{s:4:\"name\";s:17:\"core/preformatted\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:3:{s:7:\"content\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:3:\"pre\";s:7:\"default\";s:0:\"\";s:28:\"__unstablePreserveWhiteSpace\";b:1;}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:6:\"anchor\";b:1;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:12:\"Preformatted\";s:11:\"description\";s:70:\"Add text that respects your spacing and tabs, and also allows styling.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:7:\"content\";s:260:\"EXT. XANADU - FAINT DAWN - 1940 (MINIATURE)\nWindow, very small in the distance, illuminated.\nAll around this is an almost totally black screen. Now, as the camera moves slowly towards the window which is almost a postage stamp in the frame, other forms appear;\";}}s:10:\"variations\";a:0:{}}s:14:\"core/pullquote\";a:13:{s:4:\"name\";s:14:\"core/pullquote\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:9:{s:5:\"value\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"blockquote\";s:9:\"multiline\";s:1:\"p\";}s:8:\"citation\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:4:\"cite\";s:7:\"default\";s:0:\"\";}s:9:\"mainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customMainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:6:\"anchor\";b:1;s:5:\"align\";a:4:{i:0;s:4:\"left\";i:1;s:5:\"right\";i:2;s:4:\"wide\";i:3;s:4:\"full\";}}s:6:\"styles\";a:2:{i:0;a:3:{s:4:\"name\";s:7:\"default\";s:5:\"label\";s:7:\"Default\";s:9:\"isDefault\";b:1;}i:1;a:2:{s:4:\"name\";s:11:\"solid-color\";s:5:\"label\";s:11:\"Solid color\";}}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:9:\"Pullquote\";s:11:\"description\";s:55:\"Give special visual emphasis to a quote from your text.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:2:{s:5:\"value\";s:73:\"

    One of the hardest things to do in technology is disrupt yourself.

    \";s:8:\"citation\";s:14:\"Matt Mullenweg\";}}s:10:\"deprecated\";a:4:{i:0;a:1:{s:10:\"attributes\";a:8:{s:5:\"value\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"blockquote\";s:9:\"multiline\";s:1:\"p\";}s:8:\"citation\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:4:\"cite\";s:7:\"default\";s:0:\"\";}s:9:\"mainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customMainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:11:\"figureStyle\";a:3:{s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:6:\"figure\";s:9:\"attribute\";s:5:\"style\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:1;a:1:{s:10:\"attributes\";a:7:{s:5:\"value\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"blockquote\";s:9:\"multiline\";s:1:\"p\";}s:8:\"citation\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:4:\"cite\";s:7:\"default\";s:0:\"\";}s:9:\"mainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customMainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:2;a:1:{s:10:\"attributes\";a:7:{s:5:\"value\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"blockquote\";s:9:\"multiline\";s:1:\"p\";}s:8:\"citation\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:4:\"cite\";s:7:\"default\";s:0:\"\";}s:9:\"mainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customMainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}i:3;a:1:{s:10:\"attributes\";a:8:{s:5:\"value\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"blockquote\";s:9:\"multiline\";s:1:\"p\";}s:8:\"citation\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:6:\"footer\";}s:9:\"mainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customMainColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"textColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:15:\"customTextColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"none\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:8:\"core/rss\";a:12:{s:4:\"name\";s:8:\"core/rss\";s:8:\"keywords\";a:2:{i:0;s:4:\"atom\";i:1;s:4:\"feed\";}s:10:\"attributes\";a:10:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:5:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";i:3;s:4:\"wide\";i:4;s:4:\"full\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:2;}s:11:\"blockLayout\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:4:\"list\";}s:7:\"feedURL\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:0:\"\";}s:11:\"itemsToShow\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:5;}s:14:\"displayExcerpt\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:13:\"displayAuthor\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:11:\"displayDate\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:13:\"excerptLength\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:55;}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:3:\"RSS\";s:11:\"description\";s:42:\"Display entries from any RSS or Atom feed.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:7:\"feedURL\";s:21:\"https://wordpress.org\";}}s:10:\"variations\";a:0:{}}s:11:\"core/search\";a:12:{s:4:\"name\";s:11:\"core/search\";s:8:\"keywords\";a:1:{i:0;s:4:\"find\";}s:10:\"attributes\";a:5:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:5:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";i:3;s:4:\"wide\";i:4;s:4:\"full\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"label\";a:1:{s:4:\"type\";s:6:\"string\";}s:11:\"placeholder\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:0:\"\";}s:10:\"buttonText\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:5:\"align\";b:1;s:4:\"html\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:6:\"Search\";s:11:\"description\";s:32:\"Help visitors find your content.\";s:7:\"example\";a:0:{}s:10:\"variations\";a:1:{i:0;a:3:{s:4:\"name\";s:7:\"default\";s:9:\"isDefault\";b:1;s:10:\"attributes\";a:2:{s:10:\"buttonText\";s:6:\"Search\";s:5:\"label\";s:6:\"Search\";}}}}s:14:\"core/separator\";a:12:{s:4:\"name\";s:14:\"core/separator\";s:8:\"keywords\";a:3:{i:0;s:15:\"horizontal-line\";i:1;s:2:\"hr\";i:2;s:7:\"divider\";}s:10:\"attributes\";a:4:{s:5:\"color\";a:1:{s:4:\"type\";s:6:\"string\";}s:11:\"customColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:6:\"anchor\";b:1;}s:6:\"styles\";a:3:{i:0;a:3:{s:4:\"name\";s:7:\"default\";s:5:\"label\";s:7:\"Default\";s:9:\"isDefault\";b:1;}i:1;a:2:{s:4:\"name\";s:4:\"wide\";s:5:\"label\";s:9:\"Wide Line\";}i:2;a:2:{s:4:\"name\";s:4:\"dots\";s:5:\"label\";s:4:\"Dots\";}}s:8:\"category\";s:6:\"design\";s:5:\"title\";s:9:\"Separator\";s:11:\"description\";s:69:\"Create a break between ideas or sections with a horizontal separator.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:2:{s:11:\"customColor\";s:7:\"#065174\";s:9:\"className\";s:13:\"is-style-wide\";}}s:10:\"variations\";a:0:{}}s:10:\"core/block\";a:11:{s:4:\"name\";s:10:\"core/block\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:1:{s:3:\"ref\";a:1:{s:4:\"type\";s:6:\"number\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:15:\"customClassName\";b:0;s:4:\"html\";b:0;s:8:\"inserter\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:8:\"reusable\";s:5:\"title\";s:14:\"Reusable Block\";s:11:\"description\";s:114:\"Create and save content to reuse across your site. Update the block, and the changes apply everywhere it’s used.\";s:10:\"variations\";a:0:{}}s:17:\"core/social-links\";a:12:{s:4:\"name\";s:17:\"core/social-links\";s:8:\"keywords\";a:1:{i:0;s:5:\"links\";}s:10:\"attributes\";a:3:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:5:\"align\";a:3:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";}s:17:\"lightBlockWrapper\";b:1;s:6:\"anchor\";b:1;}s:6:\"styles\";a:3:{i:0;a:3:{s:4:\"name\";s:7:\"default\";s:5:\"label\";s:7:\"Default\";s:9:\"isDefault\";b:1;}i:1;a:2:{s:4:\"name\";s:10:\"logos-only\";s:5:\"label\";s:10:\"Logos Only\";}i:2;a:2:{s:4:\"name\";s:10:\"pill-shape\";s:5:\"label\";s:10:\"Pill Shape\";}}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:12:\"Social Icons\";s:11:\"description\";s:64:\"Display icons linking to your social media profiles or websites.\";s:7:\"example\";a:1:{s:11:\"innerBlocks\";a:3:{i:0;a:2:{s:4:\"name\";s:16:\"core/social-link\";s:10:\"attributes\";a:2:{s:7:\"service\";s:9:\"wordpress\";s:3:\"url\";s:21:\"https://wordpress.org\";}}i:1;a:2:{s:4:\"name\";s:16:\"core/social-link\";s:10:\"attributes\";a:2:{s:7:\"service\";s:8:\"facebook\";s:3:\"url\";s:35:\"https://www.facebook.com/WordPress/\";}}i:2;a:2:{s:4:\"name\";s:16:\"core/social-link\";s:10:\"attributes\";a:2:{s:7:\"service\";s:7:\"twitter\";s:3:\"url\";s:29:\"https://twitter.com/WordPress\";}}}}s:10:\"variations\";a:0:{}}s:16:\"core/social-link\";a:12:{s:4:\"name\";s:16:\"core/social-link\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:4:{s:3:\"url\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"service\";a:1:{s:4:\"type\";s:6:\"string\";}s:5:\"label\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:8:\"reusable\";b:0;s:4:\"html\";b:0;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:6:\"parent\";a:1:{i:0;s:17:\"core/social-links\";}s:5:\"title\";s:11:\"Social Icon\";s:11:\"description\";s:61:\"Display an icon linking to a social media profile or website.\";s:10:\"variations\";a:39:{i:0;a:4:{s:9:\"isDefault\";b:1;s:4:\"name\";s:9:\"wordpress\";s:10:\"attributes\";a:1:{s:7:\"service\";s:9:\"wordpress\";}s:5:\"title\";s:9:\"WordPress\";}i:1;a:3:{s:4:\"name\";s:13:\"fivehundredpx\";s:10:\"attributes\";a:1:{s:7:\"service\";s:13:\"fivehundredpx\";}s:5:\"title\";s:5:\"500px\";}i:2;a:3:{s:4:\"name\";s:6:\"amazon\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"amazon\";}s:5:\"title\";s:6:\"Amazon\";}i:3;a:3:{s:4:\"name\";s:8:\"bandcamp\";s:10:\"attributes\";a:1:{s:7:\"service\";s:8:\"bandcamp\";}s:5:\"title\";s:8:\"Bandcamp\";}i:4;a:3:{s:4:\"name\";s:7:\"behance\";s:10:\"attributes\";a:1:{s:7:\"service\";s:7:\"behance\";}s:5:\"title\";s:7:\"Behance\";}i:5;a:3:{s:4:\"name\";s:5:\"chain\";s:10:\"attributes\";a:1:{s:7:\"service\";s:5:\"chain\";}s:5:\"title\";s:4:\"Link\";}i:6;a:3:{s:4:\"name\";s:7:\"codepen\";s:10:\"attributes\";a:1:{s:7:\"service\";s:7:\"codepen\";}s:5:\"title\";s:7:\"CodePen\";}i:7;a:3:{s:4:\"name\";s:10:\"deviantart\";s:10:\"attributes\";a:1:{s:7:\"service\";s:10:\"deviantart\";}s:5:\"title\";s:10:\"DeviantArt\";}i:8;a:3:{s:4:\"name\";s:8:\"dribbble\";s:10:\"attributes\";a:1:{s:7:\"service\";s:8:\"dribbble\";}s:5:\"title\";s:8:\"Dribbble\";}i:9;a:3:{s:4:\"name\";s:7:\"dropbox\";s:10:\"attributes\";a:1:{s:7:\"service\";s:7:\"dropbox\";}s:5:\"title\";s:7:\"Dropbox\";}i:10;a:3:{s:4:\"name\";s:4:\"etsy\";s:10:\"attributes\";a:1:{s:7:\"service\";s:4:\"etsy\";}s:5:\"title\";s:4:\"Etsy\";}i:11;a:3:{s:4:\"name\";s:8:\"facebook\";s:10:\"attributes\";a:1:{s:7:\"service\";s:8:\"facebook\";}s:5:\"title\";s:8:\"Facebook\";}i:12;a:3:{s:4:\"name\";s:4:\"feed\";s:10:\"attributes\";a:1:{s:7:\"service\";s:4:\"feed\";}s:5:\"title\";s:8:\"RSS Feed\";}i:13;a:3:{s:4:\"name\";s:6:\"flickr\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"flickr\";}s:5:\"title\";s:6:\"Flickr\";}i:14;a:3:{s:4:\"name\";s:10:\"foursquare\";s:10:\"attributes\";a:1:{s:7:\"service\";s:10:\"foursquare\";}s:5:\"title\";s:10:\"Foursquare\";}i:15;a:3:{s:4:\"name\";s:9:\"goodreads\";s:10:\"attributes\";a:1:{s:7:\"service\";s:9:\"goodreads\";}s:5:\"title\";s:9:\"Goodreads\";}i:16;a:3:{s:4:\"name\";s:6:\"google\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"google\";}s:5:\"title\";s:6:\"Google\";}i:17;a:3:{s:4:\"name\";s:6:\"github\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"github\";}s:5:\"title\";s:6:\"GitHub\";}i:18;a:3:{s:4:\"name\";s:9:\"instagram\";s:10:\"attributes\";a:1:{s:7:\"service\";s:9:\"instagram\";}s:5:\"title\";s:9:\"Instagram\";}i:19;a:3:{s:4:\"name\";s:6:\"lastfm\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"lastfm\";}s:5:\"title\";s:7:\"Last.fm\";}i:20;a:3:{s:4:\"name\";s:8:\"linkedin\";s:10:\"attributes\";a:1:{s:7:\"service\";s:8:\"linkedin\";}s:5:\"title\";s:8:\"LinkedIn\";}i:21;a:3:{s:4:\"name\";s:4:\"mail\";s:10:\"attributes\";a:1:{s:7:\"service\";s:4:\"mail\";}s:5:\"title\";s:4:\"Mail\";}i:22;a:3:{s:4:\"name\";s:8:\"mastodon\";s:10:\"attributes\";a:1:{s:7:\"service\";s:8:\"mastodon\";}s:5:\"title\";s:8:\"Mastodon\";}i:23;a:3:{s:4:\"name\";s:6:\"meetup\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"meetup\";}s:5:\"title\";s:6:\"Meetup\";}i:24;a:3:{s:4:\"name\";s:6:\"medium\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"medium\";}s:5:\"title\";s:6:\"Medium\";}i:25;a:3:{s:4:\"name\";s:9:\"pinterest\";s:10:\"attributes\";a:1:{s:7:\"service\";s:9:\"pinterest\";}s:5:\"title\";s:9:\"Pinterest\";}i:26;a:3:{s:4:\"name\";s:6:\"pocket\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"pocket\";}s:5:\"title\";s:6:\"Pocket\";}i:27;a:3:{s:4:\"name\";s:6:\"reddit\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"reddit\";}s:5:\"title\";s:6:\"Reddit\";}i:28;a:3:{s:4:\"name\";s:5:\"skype\";s:10:\"attributes\";a:1:{s:7:\"service\";s:5:\"skype\";}s:5:\"title\";s:5:\"Skype\";}i:29;a:3:{s:4:\"name\";s:8:\"snapchat\";s:10:\"attributes\";a:1:{s:7:\"service\";s:8:\"snapchat\";}s:5:\"title\";s:8:\"Snapchat\";}i:30;a:3:{s:4:\"name\";s:10:\"soundcloud\";s:10:\"attributes\";a:1:{s:7:\"service\";s:10:\"soundcloud\";}s:5:\"title\";s:10:\"SoundCloud\";}i:31;a:3:{s:4:\"name\";s:7:\"spotify\";s:10:\"attributes\";a:1:{s:7:\"service\";s:7:\"spotify\";}s:5:\"title\";s:7:\"Spotify\";}i:32;a:3:{s:4:\"name\";s:6:\"tumblr\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"tumblr\";}s:5:\"title\";s:6:\"Tumblr\";}i:33;a:3:{s:4:\"name\";s:6:\"twitch\";s:10:\"attributes\";a:1:{s:7:\"service\";s:6:\"twitch\";}s:5:\"title\";s:6:\"Twitch\";}i:34;a:3:{s:4:\"name\";s:7:\"twitter\";s:10:\"attributes\";a:1:{s:7:\"service\";s:7:\"twitter\";}s:5:\"title\";s:7:\"Twitter\";}i:35;a:3:{s:4:\"name\";s:5:\"vimeo\";s:10:\"attributes\";a:1:{s:7:\"service\";s:5:\"vimeo\";}s:5:\"title\";s:5:\"Vimeo\";}i:36;a:3:{s:4:\"name\";s:2:\"vk\";s:10:\"attributes\";a:1:{s:7:\"service\";s:2:\"vk\";}s:5:\"title\";s:2:\"VK\";}i:37;a:3:{s:4:\"name\";s:4:\"yelp\";s:10:\"attributes\";a:1:{s:7:\"service\";s:4:\"yelp\";}s:5:\"title\";s:4:\"Yelp\";}i:38;a:3:{s:4:\"name\";s:7:\"youtube\";s:10:\"attributes\";a:1:{s:7:\"service\";s:7:\"youtube\";}s:5:\"title\";s:7:\"YouTube\";}}}s:11:\"core/spacer\";a:11:{s:4:\"name\";s:11:\"core/spacer\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:3:{s:6:\"height\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:100;}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:6:\"anchor\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:6:\"design\";s:5:\"title\";s:6:\"Spacer\";s:11:\"description\";s:56:\"Add white space between blocks and customize its height.\";s:10:\"variations\";a:0:{}}s:12:\"core/subhead\";a:11:{s:4:\"name\";s:12:\"core/subhead\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:3:{s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"content\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:1:\"p\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:8:\"inserter\";b:0;s:8:\"multiple\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:23:\"Subheading (deprecated)\";s:11:\"description\";s:65:\"This block is deprecated. Please use the Paragraph block instead.\";s:10:\"variations\";a:0:{}}s:10:\"core/table\";a:13:{s:4:\"name\";s:10:\"core/table\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:9:{s:14:\"hasFixedLayout\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:7:\"caption\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";s:7:\"default\";s:0:\"\";}s:4:\"head\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:8:\"thead tr\";s:5:\"query\";a:1:{s:5:\"cells\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:5:\"td,th\";s:5:\"query\";a:4:{s:7:\"content\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}s:3:\"tag\";a:3:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:2:\"td\";s:6:\"source\";s:3:\"tag\";}s:5:\"scope\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:5:\"scope\";}s:5:\"align\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:10:\"data-align\";}}}}}s:4:\"body\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:8:\"tbody tr\";s:5:\"query\";a:1:{s:5:\"cells\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:5:\"td,th\";s:5:\"query\";a:4:{s:7:\"content\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}s:3:\"tag\";a:3:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:2:\"td\";s:6:\"source\";s:3:\"tag\";}s:5:\"scope\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:5:\"scope\";}s:5:\"align\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:10:\"data-align\";}}}}}s:4:\"foot\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:8:\"tfoot tr\";s:5:\"query\";a:1:{s:5:\"cells\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:5:\"td,th\";s:5:\"query\";a:4:{s:7:\"content\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}s:3:\"tag\";a:3:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:2:\"td\";s:6:\"source\";s:3:\"tag\";}s:5:\"scope\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:5:\"scope\";}s:5:\"align\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:10:\"data-align\";}}}}}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:6:\"anchor\";b:1;s:5:\"align\";b:1;}s:6:\"styles\";a:2:{i:0;a:3:{s:4:\"name\";s:7:\"regular\";s:5:\"label\";s:7:\"Default\";s:9:\"isDefault\";b:1;}i:1;a:2:{s:4:\"name\";s:7:\"stripes\";s:5:\"label\";s:7:\"Stripes\";}}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:5:\"Table\";s:11:\"description\";s:55:\"Insert a table — perfect for sharing charts and data.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:2:{s:4:\"head\";a:1:{i:0;a:1:{s:5:\"cells\";a:3:{i:0;a:2:{s:7:\"content\";s:7:\"Version\";s:3:\"tag\";s:2:\"th\";}i:1;a:2:{s:7:\"content\";s:13:\"Jazz Musician\";s:3:\"tag\";s:2:\"th\";}i:2;a:2:{s:7:\"content\";s:12:\"Release Date\";s:3:\"tag\";s:2:\"th\";}}}}s:4:\"body\";a:3:{i:0;a:1:{s:5:\"cells\";a:3:{i:0;a:2:{s:7:\"content\";s:3:\"5.2\";s:3:\"tag\";s:2:\"td\";}i:1;a:2:{s:7:\"content\";s:14:\"Jaco Pastorius\";s:3:\"tag\";s:2:\"td\";}i:2;a:2:{s:7:\"content\";s:11:\"May 7, 2019\";s:3:\"tag\";s:2:\"td\";}}}i:1;a:1:{s:5:\"cells\";a:3:{i:0;a:2:{s:7:\"content\";s:3:\"5.1\";s:3:\"tag\";s:2:\"td\";}i:1;a:2:{s:7:\"content\";s:12:\"Betty Carter\";s:3:\"tag\";s:2:\"td\";}i:2;a:2:{s:7:\"content\";s:17:\"February 21, 2019\";s:3:\"tag\";s:2:\"td\";}}}i:2;a:1:{s:5:\"cells\";a:3:{i:0;a:2:{s:7:\"content\";s:3:\"5.0\";s:3:\"tag\";s:2:\"td\";}i:1;a:2:{s:7:\"content\";s:12:\"Bebo Valdés\";s:3:\"tag\";s:2:\"td\";}i:2;a:2:{s:7:\"content\";s:16:\"December 6, 2018\";s:3:\"tag\";s:2:\"td\";}}}}}}s:10:\"deprecated\";a:1:{i:0;a:2:{s:10:\"attributes\";a:7:{s:14:\"hasFixedLayout\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}s:15:\"backgroundColor\";a:1:{s:4:\"type\";s:6:\"string\";}s:4:\"head\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:8:\"thead tr\";s:5:\"query\";a:1:{s:5:\"cells\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:5:\"td,th\";s:5:\"query\";a:3:{s:7:\"content\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}s:3:\"tag\";a:3:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:2:\"td\";s:6:\"source\";s:3:\"tag\";}s:5:\"scope\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:5:\"scope\";}}}}}s:4:\"body\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:8:\"tbody tr\";s:5:\"query\";a:1:{s:5:\"cells\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:5:\"td,th\";s:5:\"query\";a:3:{s:7:\"content\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}s:3:\"tag\";a:3:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:2:\"td\";s:6:\"source\";s:3:\"tag\";}s:5:\"scope\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:5:\"scope\";}}}}}s:4:\"foot\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:8:\"tfoot tr\";s:5:\"query\";a:1:{s:5:\"cells\";a:5:{s:4:\"type\";s:5:\"array\";s:7:\"default\";a:0:{}s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:5:\"td,th\";s:5:\"query\";a:3:{s:7:\"content\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}s:3:\"tag\";a:3:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:2:\"td\";s:6:\"source\";s:3:\"tag\";}s:5:\"scope\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:5:\"scope\";}}}}}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:8:\"supports\";a:1:{s:5:\"align\";b:1;}}}s:10:\"variations\";a:0:{}}s:14:\"core/tag-cloud\";a:12:{s:4:\"name\";s:14:\"core/tag-cloud\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:4:{s:5:\"align\";a:2:{s:4:\"type\";s:6:\"string\";s:4:\"enum\";a:5:{i:0;s:4:\"left\";i:1;s:6:\"center\";i:2;s:5:\"right\";i:3;s:4:\"wide\";i:4;s:4:\"full\";}}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}s:8:\"taxonomy\";a:2:{s:4:\"type\";s:6:\"string\";s:7:\"default\";s:8:\"post_tag\";}s:13:\"showTagCounts\";a:2:{s:4:\"type\";s:7:\"boolean\";s:7:\"default\";b:0;}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:4:\"html\";b:0;s:5:\"align\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:7:\"widgets\";s:5:\"title\";s:9:\"Tag Cloud\";s:11:\"description\";s:31:\"A cloud of your most used tags.\";s:7:\"example\";a:0:{}s:10:\"variations\";a:0:{}}s:17:\"core/text-columns\";a:11:{s:4:\"name\";s:17:\"core/text-columns\";s:8:\"keywords\";a:0:{}s:10:\"attributes\";a:4:{s:7:\"content\";a:5:{s:4:\"type\";s:5:\"array\";s:6:\"source\";s:5:\"query\";s:8:\"selector\";s:1:\"p\";s:5:\"query\";a:1:{s:8:\"children\";a:2:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";}}s:7:\"default\";a:2:{i:0;a:0:{}i:1;a:0:{}}}s:7:\"columns\";a:2:{s:4:\"type\";s:6:\"number\";s:7:\"default\";i:2;}s:5:\"width\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:1:{s:8:\"inserter\";b:0;}s:6:\"styles\";a:0:{}s:8:\"category\";s:6:\"design\";s:5:\"title\";s:25:\"Text Columns (deprecated)\";s:11:\"description\";s:63:\"This block is deprecated. Please use the Columns block instead.\";s:10:\"variations\";a:0:{}}s:10:\"core/verse\";a:13:{s:4:\"name\";s:10:\"core/verse\";s:8:\"keywords\";a:2:{i:0;s:6:\"poetry\";i:1;s:4:\"poem\";}s:10:\"attributes\";a:4:{s:7:\"content\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:3:\"pre\";s:7:\"default\";s:0:\"\";s:28:\"__unstablePreserveWhiteSpace\";b:1;}s:9:\"textAlign\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:2:{s:6:\"anchor\";b:1;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:4:\"text\";s:5:\"title\";s:5:\"Verse\";s:11:\"description\";s:65:\"Insert poetry. Use special spacing formats. Or quote song lyrics.\";s:7:\"example\";a:1:{s:10:\"attributes\";a:1:{s:7:\"content\";s:226:\"WHAT was he doing, the great god Pan,\n Down in the reeds by the river?\nSpreading ruin and scattering ban,\nSplashing and paddling with hoofs of a goat,\nAnd breaking the golden lilies afloat\n With the dragon-fly on the river.\";}}s:10:\"deprecated\";a:1:{i:0;a:1:{s:10:\"attributes\";a:3:{s:7:\"content\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:3:\"pre\";s:7:\"default\";s:0:\"\";}s:9:\"textAlign\";a:1:{s:4:\"type\";s:6:\"string\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}}}s:10:\"variations\";a:0:{}}s:10:\"core/video\";a:11:{s:4:\"name\";s:10:\"core/video\";s:8:\"keywords\";a:1:{i:0;s:5:\"movie\";}s:10:\"attributes\";a:13:{s:8:\"autoplay\";a:4:{s:4:\"type\";s:7:\"boolean\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"video\";s:9:\"attribute\";s:8:\"autoplay\";}s:7:\"caption\";a:3:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:4:\"html\";s:8:\"selector\";s:10:\"figcaption\";}s:8:\"controls\";a:5:{s:4:\"type\";s:7:\"boolean\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"video\";s:9:\"attribute\";s:8:\"controls\";s:7:\"default\";b:1;}s:2:\"id\";a:1:{s:4:\"type\";s:6:\"number\";}s:4:\"loop\";a:4:{s:4:\"type\";s:7:\"boolean\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"video\";s:9:\"attribute\";s:4:\"loop\";}s:5:\"muted\";a:4:{s:4:\"type\";s:7:\"boolean\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"video\";s:9:\"attribute\";s:5:\"muted\";}s:6:\"poster\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"video\";s:9:\"attribute\";s:6:\"poster\";}s:7:\"preload\";a:5:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"video\";s:9:\"attribute\";s:7:\"preload\";s:7:\"default\";s:8:\"metadata\";}s:3:\"src\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"video\";s:9:\"attribute\";s:3:\"src\";}s:11:\"playsInline\";a:4:{s:4:\"type\";s:7:\"boolean\";s:6:\"source\";s:9:\"attribute\";s:8:\"selector\";s:5:\"video\";s:9:\"attribute\";s:11:\"playsinline\";}s:5:\"align\";a:1:{s:4:\"type\";s:6:\"string\";}s:6:\"anchor\";a:4:{s:4:\"type\";s:6:\"string\";s:6:\"source\";s:9:\"attribute\";s:9:\"attribute\";s:2:\"id\";s:8:\"selector\";s:1:\"*\";}s:9:\"className\";a:1:{s:4:\"type\";s:6:\"string\";}}s:15:\"providesContext\";a:0:{}s:11:\"usesContext\";a:0:{}s:8:\"supports\";a:3:{s:6:\"anchor\";b:1;s:5:\"align\";b:1;s:17:\"lightBlockWrapper\";b:1;}s:6:\"styles\";a:0:{}s:8:\"category\";s:5:\"media\";s:5:\"title\";s:5:\"Video\";s:11:\"description\";s:58:\"Embed a video from your media library or upload a new one.\";s:10:\"variations\";a:0:{}}}', 'no'); +INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES +(5107, 'action_scheduler_hybrid_store_demarkation', '8449', 'yes'), +(5108, 'schema-ActionScheduler_StoreSchema', '3.0.1600474134', 'yes'), +(5109, 'schema-ActionScheduler_LoggerSchema', '2.0.1600474134', 'yes'), +(5110, 'woocommerce_schema_version', '430', 'yes'), +(5111, 'woocommerce_store_address', '123 test st.', 'yes'), +(5112, 'woocommerce_store_address_2', '', 'yes'), +(5113, 'woocommerce_store_city', 'Victoria', 'yes'), +(5114, 'woocommerce_default_country', 'CA:BC', 'yes'), +(5115, 'woocommerce_store_postcode', 'v8v2g9', 'yes'), +(5116, 'woocommerce_allowed_countries', 'all', 'yes'), +(5117, 'woocommerce_all_except_countries', 'a:0:{}', 'yes'), +(5118, 'woocommerce_specific_allowed_countries', 'a:0:{}', 'yes'), +(5119, 'woocommerce_ship_to_countries', '', 'yes'), +(5120, 'woocommerce_specific_ship_to_countries', 'a:0:{}', 'yes'), +(5121, 'woocommerce_default_customer_address', 'base', 'yes'), +(5122, 'woocommerce_calc_taxes', 'no', 'yes'), +(5123, 'woocommerce_enable_coupons', 'yes', 'yes'), +(5124, 'woocommerce_calc_discounts_sequentially', 'no', 'no'), +(5125, 'woocommerce_currency', 'CAD', 'yes'), +(5126, 'woocommerce_currency_pos', 'left', 'yes'), +(5127, 'woocommerce_price_thousand_sep', ',', 'yes'), +(5128, 'woocommerce_price_decimal_sep', '.', 'yes'), +(5129, 'woocommerce_price_num_decimals', '2', 'yes'), +(5130, 'woocommerce_shop_page_id', '8454', 'yes'), +(5131, 'woocommerce_cart_redirect_after_add', 'no', 'yes'), +(5132, 'woocommerce_enable_ajax_add_to_cart', 'yes', 'yes'), +(5133, 'woocommerce_placeholder_image', '8449', 'yes'), +(5134, 'woocommerce_weight_unit', 'kg', 'yes'), +(5135, 'woocommerce_dimension_unit', 'cm', 'yes'), +(5136, 'woocommerce_enable_reviews', 'yes', 'yes'), +(5137, 'woocommerce_review_rating_verification_label', 'yes', 'no'), +(5138, 'woocommerce_review_rating_verification_required', 'no', 'no'), +(5139, 'woocommerce_enable_review_rating', 'yes', 'yes'), +(5140, 'woocommerce_review_rating_required', 'yes', 'no'), +(5141, 'woocommerce_manage_stock', 'yes', 'yes'), +(5142, 'woocommerce_hold_stock_minutes', '60', 'no'), +(5143, 'woocommerce_notify_low_stock', 'yes', 'no'), +(5144, 'woocommerce_notify_no_stock', 'yes', 'no'), +(5145, 'woocommerce_stock_email_recipient', 'tyler@gatsbyjs.com', 'no'), +(5146, 'woocommerce_notify_low_stock_amount', '2', 'no'), +(5147, 'woocommerce_notify_no_stock_amount', '0', 'yes'), +(5148, 'woocommerce_hide_out_of_stock_items', 'no', 'yes'), +(5149, 'woocommerce_stock_format', '', 'yes'), +(5150, 'woocommerce_file_download_method', 'force', 'no'), +(5151, 'woocommerce_downloads_require_login', 'no', 'no'), +(5152, 'woocommerce_downloads_grant_access_after_payment', 'yes', 'no'), +(5153, 'woocommerce_downloads_add_hash_to_filename', 'yes', 'yes'), +(5154, 'woocommerce_prices_include_tax', 'no', 'yes'), +(5155, 'woocommerce_tax_based_on', 'shipping', 'yes'), +(5156, 'woocommerce_shipping_tax_class', 'inherit', 'yes'), +(5157, 'woocommerce_tax_round_at_subtotal', 'no', 'yes'), +(5158, 'woocommerce_tax_classes', '', 'yes'), +(5159, 'woocommerce_tax_display_shop', 'excl', 'yes'), +(5160, 'woocommerce_tax_display_cart', 'excl', 'yes'), +(5161, 'woocommerce_price_display_suffix', '', 'yes'), +(5162, 'woocommerce_tax_total_display', 'itemized', 'no'), +(5163, 'woocommerce_enable_shipping_calc', 'yes', 'no'), +(5164, 'woocommerce_shipping_cost_requires_address', 'no', 'yes'), +(5165, 'woocommerce_ship_to_destination', 'billing', 'no'), +(5166, 'woocommerce_shipping_debug_mode', 'no', 'yes'), +(5167, 'woocommerce_enable_guest_checkout', 'yes', 'no'), +(5168, 'woocommerce_enable_checkout_login_reminder', 'no', 'no'), +(5169, 'woocommerce_enable_signup_and_login_from_checkout', 'no', 'no'), +(5170, 'woocommerce_enable_myaccount_registration', 'no', 'no'), +(5171, 'woocommerce_registration_generate_username', 'yes', 'no'), +(5172, 'woocommerce_registration_generate_password', 'yes', 'no'), +(5173, 'woocommerce_erasure_request_removes_order_data', 'no', 'no'), +(5174, 'woocommerce_erasure_request_removes_download_data', 'no', 'no'), +(5175, 'woocommerce_allow_bulk_remove_personal_data', 'no', 'no'), +(5176, 'woocommerce_registration_privacy_policy_text', 'Your personal data will be used to support your experience throughout this website, to manage access to your account, and for other purposes described in our [privacy_policy].', 'yes'), +(5177, 'woocommerce_checkout_privacy_policy_text', 'Your personal data will be used to process your order, support your experience throughout this website, and for other purposes described in our [privacy_policy].', 'yes'), +(5178, 'woocommerce_delete_inactive_accounts', 'a:2:{s:6:\"number\";s:0:\"\";s:4:\"unit\";s:6:\"months\";}', 'no'), +(5179, 'woocommerce_trash_pending_orders', '', 'no'), +(5180, 'woocommerce_trash_failed_orders', '', 'no'), +(5181, 'woocommerce_trash_cancelled_orders', '', 'no'), +(5182, 'woocommerce_anonymize_completed_orders', 'a:2:{s:6:\"number\";s:0:\"\";s:4:\"unit\";s:6:\"months\";}', 'no'), +(5183, 'woocommerce_email_from_name', 'Automated testing for Gatsby source WordPress V4', 'no'), +(5184, 'woocommerce_email_from_address', 'tyler@gatsbyjs.com', 'no'), +(5185, 'woocommerce_email_header_image', '', 'no'), +(5186, 'woocommerce_email_footer_text', '{site_title} — Built with {WooCommerce}', 'no'), +(5187, 'woocommerce_email_base_color', '#96588a', 'no'), +(5188, 'woocommerce_email_background_color', '#f7f7f7', 'no'), +(5189, 'woocommerce_email_body_background_color', '#ffffff', 'no'), +(5190, 'woocommerce_email_text_color', '#3c3c3c', 'no'), +(5191, 'woocommerce_cart_page_id', '8457', 'no'), +(5192, 'woocommerce_checkout_page_id', '8460', 'no'), +(5193, 'woocommerce_myaccount_page_id', '8463', 'no'), +(5194, 'woocommerce_terms_page_id', '', 'no'), +(5195, 'woocommerce_checkout_pay_endpoint', 'order-pay', 'yes'), +(5196, 'woocommerce_checkout_order_received_endpoint', 'order-received', 'yes'), +(5197, 'woocommerce_myaccount_add_payment_method_endpoint', 'add-payment-method', 'yes'), +(5198, 'woocommerce_myaccount_delete_payment_method_endpoint', 'delete-payment-method', 'yes'), +(5199, 'woocommerce_myaccount_set_default_payment_method_endpoint', 'set-default-payment-method', 'yes'), +(5200, 'woocommerce_myaccount_orders_endpoint', 'orders', 'yes'), +(5201, 'woocommerce_myaccount_view_order_endpoint', 'view-order', 'yes'), +(5202, 'woocommerce_myaccount_downloads_endpoint', 'downloads', 'yes'), +(5203, 'woocommerce_myaccount_edit_account_endpoint', 'edit-account', 'yes'), +(5204, 'woocommerce_myaccount_edit_address_endpoint', 'edit-address', 'yes'), +(5205, 'woocommerce_myaccount_payment_methods_endpoint', 'payment-methods', 'yes'), +(5206, 'woocommerce_myaccount_lost_password_endpoint', 'lost-password', 'yes'), +(5207, 'woocommerce_logout_endpoint', 'customer-logout', 'yes'), +(5208, 'woocommerce_api_enabled', 'no', 'yes'), +(5209, 'woocommerce_allow_tracking', 'no', 'no'), +(5210, 'woocommerce_show_marketplace_suggestions', 'yes', 'no'), +(5211, 'woocommerce_single_image_width', '600', 'yes'), +(5212, 'woocommerce_thumbnail_image_width', '300', 'yes'), +(5213, 'woocommerce_checkout_highlight_required_fields', 'yes', 'yes'), +(5214, 'woocommerce_demo_store', 'no', 'no'), +(5215, 'woocommerce_permalinks', 'a:5:{s:12:\"product_base\";s:7:\"product\";s:13:\"category_base\";s:16:\"product-category\";s:8:\"tag_base\";s:11:\"product-tag\";s:14:\"attribute_base\";s:0:\"\";s:22:\"use_verbose_page_rules\";b:0;}', 'yes'), +(5216, 'current_theme_supports_woocommerce', 'yes', 'yes'), +(5217, 'woocommerce_queue_flush_rewrite_rules', 'no', 'yes'), +(5219, 'default_product_cat', '56', 'yes'), +(5220, 'woocommerce_admin_notices', 'a:1:{i:0;s:7:\"install\";}', 'yes'), +(5221, 'woocommerce_version', '4.5.2', 'yes'), +(5222, 'woocommerce_db_version', '4.5.2', 'yes'), +(5223, 'woocommerce_homescreen_enabled', 'yes', 'yes'), +(5224, 'action_scheduler_lock_async-request-runner', '1602942684', 'yes'), +(5225, 'woocommerce_maxmind_geolocation_settings', 'a:1:{s:15:\"database_prefix\";s:32:\"LAKNUexZHRyHwC1JhGYNV43V7rTD5auL\";}', 'yes'), +(5226, 'widget_woocommerce_widget_cart', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5227, 'widget_woocommerce_layered_nav_filters', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5228, 'widget_woocommerce_layered_nav', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5229, 'widget_woocommerce_price_filter', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5230, 'widget_woocommerce_product_categories', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5231, 'widget_woocommerce_product_search', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5232, 'widget_woocommerce_product_tag_cloud', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5233, 'widget_woocommerce_products', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5234, 'widget_woocommerce_recently_viewed_products', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5235, 'widget_woocommerce_top_rated_products', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5236, 'widget_woocommerce_recent_reviews', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5237, 'widget_woocommerce_rating_filter', 'a:1:{s:12:\"_multiwidget\";i:1;}', 'yes'), +(5238, 'woocommerce_admin_version', '1.5.0', 'yes'), +(5239, 'woocommerce_admin_install_timestamp', '1600474136', 'yes'), +(5240, 'wc_admin_note_home_screen_feedback_homescreen_accessed', '1600474137', 'yes'), +(5241, 'woocommerce_meta_box_errors', 'a:0:{}', 'yes'), +(5242, 'wc_blocks_db_schema_version', '260', 'yes'), +(5243, 'woocommerce_onboarding_profile', 'a:9:{s:9:\"completed\";b:1;s:12:\"setup_client\";b:0;s:8:\"industry\";a:1:{i:0;a:1:{s:4:\"slug\";s:27:\"fashion-apparel-accessories\";}}s:13:\"product_types\";a:1:{i:0;s:9:\"downloads\";}s:13:\"product_count\";s:4:\"1-10\";s:14:\"selling_venues\";s:2:\"no\";s:19:\"business_extensions\";a:0:{}s:5:\"theme\";s:12:\"twentytwenty\";s:7:\"plugins\";s:7:\"skipped\";}', 'yes'), +(5244, 'woocommerce_onboarding_opt_in', 'yes', 'yes'), +(5246, 'wc_remote_inbox_notifications_specs', 'a:3:{s:37:\"ecomm-need-help-setting-up-your-store\";O:8:\"stdClass\":8:{s:4:\"slug\";s:37:\"ecomm-need-help-setting-up-your-store\";s:4:\"type\";s:4:\"info\";s:6:\"status\";s:10:\"unactioned\";s:12:\"is_snoozable\";i:0;s:6:\"source\";s:15:\"woocommerce.com\";s:7:\"locales\";a:1:{i:0;O:8:\"stdClass\":3:{s:6:\"locale\";s:5:\"en_US\";s:5:\"title\";s:32:\"Need help setting up your Store?\";s:7:\"content\";s:350:\"Schedule a free 30-min quick start session and get help from our specialists. We’re happy to walk through setup steps, show you around the WordPress.com dashboard, troubleshoot any issues you may have, and help you the find the features you need to accomplish your goals for your site.\";}}s:7:\"actions\";a:1:{i:0;O:8:\"stdClass\":6:{s:4:\"name\";s:16:\"set-up-concierge\";s:7:\"locales\";a:1:{i:0;O:8:\"stdClass\":2:{s:6:\"locale\";s:5:\"en_US\";s:5:\"label\";s:21:\"Schedule free session\";}}s:3:\"url\";s:34:\"https://wordpress.com/me/concierge\";s:18:\"url_is_admin_query\";b:0;s:10:\"is_primary\";b:1;s:6:\"status\";s:8:\"actioned\";}}s:5:\"rules\";a:1:{i:0;O:8:\"stdClass\":2:{s:4:\"type\";s:17:\"plugins_activated\";s:7:\"plugins\";a:3:{i:0;s:35:\"woocommerce-shipping-australia-post\";i:1;s:32:\"woocommerce-shipping-canada-post\";i:2;s:30:\"woocommerce-shipping-royalmail\";}}}}s:20:\"woocommerce-services\";O:8:\"stdClass\":8:{s:4:\"slug\";s:20:\"woocommerce-services\";s:4:\"type\";s:4:\"info\";s:6:\"status\";s:10:\"unactioned\";s:12:\"is_snoozable\";i:0;s:6:\"source\";s:15:\"woocommerce.com\";s:7:\"locales\";a:1:{i:0;O:8:\"stdClass\":3:{s:6:\"locale\";s:5:\"en_US\";s:5:\"title\";s:20:\"WooCommerce Services\";s:7:\"content\";s:249:\"WooCommerce Services helps get your store “ready to sell” as quickly as possible. You create your products. We take care of tax calculation, payment processing, and shipping label printing! Learn more about the extension that you just installed.\";}}s:7:\"actions\";a:1:{i:0;O:8:\"stdClass\":6:{s:4:\"name\";s:10:\"learn-more\";s:7:\"locales\";a:1:{i:0;O:8:\"stdClass\":2:{s:6:\"locale\";s:5:\"en_US\";s:5:\"label\";s:10:\"Learn more\";}}s:3:\"url\";s:76:\"https://docs.woocommerce.com/document/woocommerce-services/?utm_source=inbox\";s:18:\"url_is_admin_query\";b:0;s:10:\"is_primary\";b:1;s:6:\"status\";s:10:\"unactioned\";}}s:5:\"rules\";a:2:{i:0;O:8:\"stdClass\":2:{s:4:\"type\";s:17:\"plugins_activated\";s:7:\"plugins\";a:1:{i:0;s:20:\"woocommerce-services\";}}i:1;O:8:\"stdClass\":3:{s:4:\"type\";s:18:\"wcadmin_active_for\";s:9:\"operation\";s:1:\"<\";s:4:\"days\";i:2;}}}s:32:\"ecomm-unique-shopping-experience\";O:8:\"stdClass\":8:{s:4:\"slug\";s:32:\"ecomm-unique-shopping-experience\";s:4:\"type\";s:4:\"info\";s:6:\"status\";s:10:\"unactioned\";s:12:\"is_snoozable\";i:0;s:6:\"source\";s:15:\"woocommerce.com\";s:7:\"locales\";a:1:{i:0;O:8:\"stdClass\":3:{s:6:\"locale\";s:5:\"en_US\";s:5:\"title\";s:53:\"For a shopping experience as unique as your customers\";s:7:\"content\";s:274:\"Product Add-Ons allow your customers to personalize products while they’re shopping on your online store. No more follow-up email requests—customers get what they want, before they’re done checking out. Learn more about this extension that comes included in your plan.\";}}s:7:\"actions\";a:1:{i:0;O:8:\"stdClass\":6:{s:4:\"name\";s:43:\"learn-more-ecomm-unique-shopping-experience\";s:7:\"locales\";a:1:{i:0;O:8:\"stdClass\":2:{s:6:\"locale\";s:5:\"en_US\";s:5:\"label\";s:10:\"Learn more\";}}s:3:\"url\";s:71:\"https://docs.woocommerce.com/document/product-add-ons/?utm_source=inbox\";s:18:\"url_is_admin_query\";b:0;s:10:\"is_primary\";b:1;s:6:\"status\";s:8:\"actioned\";}}s:5:\"rules\";a:2:{i:0;O:8:\"stdClass\":2:{s:4:\"type\";s:17:\"plugins_activated\";s:7:\"plugins\";a:3:{i:0;s:35:\"woocommerce-shipping-australia-post\";i:1;s:32:\"woocommerce-shipping-canada-post\";i:2;s:30:\"woocommerce-shipping-royalmail\";}}i:1;O:8:\"stdClass\":3:{s:4:\"type\";s:18:\"wcadmin_active_for\";s:9:\"operation\";s:1:\"<\";s:4:\"days\";i:2;}}}}', 'yes'), +(5247, 'wc_remote_inbox_notifications_stored_state', 'O:8:\"stdClass\":2:{s:22:\"there_were_no_products\";b:1;s:22:\"there_are_now_products\";b:0;}', 'yes'), +(5248, 'woocommerce_task_list_tracked_completed_tasks', 'a:1:{i:0;s:13:\"store_details\";}', 'yes'), +(5249, 'woocommerce_task_list_welcome_modal_dismissed', '1', 'yes'), +(5256, 'product_cat_children', 'a:1:{i:57;a:3:{i:0;i:58;i:1;i:59;i:2;i:60;}}', 'yes'), +(5262, 'pa_size_children', 'a:0:{}', 'yes'), +(5264, 'pa_color_children', 'a:0:{}', 'yes'), +(5265, 'woocommerce_marketplace_suggestions', 'a:2:{s:11:\"suggestions\";a:26:{i:0;a:4:{s:4:\"slug\";s:28:\"product-edit-meta-tab-header\";s:7:\"context\";s:28:\"product-edit-meta-tab-header\";s:5:\"title\";s:22:\"Recommended extensions\";s:13:\"allow-dismiss\";b:0;}i:1;a:6:{s:4:\"slug\";s:39:\"product-edit-meta-tab-footer-browse-all\";s:7:\"context\";s:28:\"product-edit-meta-tab-footer\";s:9:\"link-text\";s:21:\"Browse all extensions\";s:3:\"url\";s:64:\"https://woocommerce.com/product-category/woocommerce-extensions/\";s:8:\"promoted\";s:31:\"category-woocommerce-extensions\";s:13:\"allow-dismiss\";b:0;}i:2;a:9:{s:4:\"slug\";s:46:\"product-edit-mailchimp-woocommerce-memberships\";s:7:\"product\";s:33:\"woocommerce-memberships-mailchimp\";s:14:\"show-if-active\";a:1:{i:0;s:23:\"woocommerce-memberships\";}s:7:\"context\";a:1:{i:0;s:26:\"product-edit-meta-tab-body\";}s:4:\"icon\";s:116:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/mailchimp-for-memberships.svg\";s:5:\"title\";s:25:\"Mailchimp for Memberships\";s:4:\"copy\";s:79:\"Completely automate your email lists by syncing membership changes to Mailchimp\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:67:\"https://woocommerce.com/products/mailchimp-woocommerce-memberships/\";}i:3;a:9:{s:4:\"slug\";s:19:\"product-edit-addons\";s:7:\"product\";s:26:\"woocommerce-product-addons\";s:14:\"show-if-active\";a:2:{i:0;s:25:\"woocommerce-subscriptions\";i:1;s:20:\"woocommerce-bookings\";}s:7:\"context\";a:1:{i:0;s:26:\"product-edit-meta-tab-body\";}s:4:\"icon\";s:106:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/product-add-ons.svg\";s:5:\"title\";s:15:\"Product Add-Ons\";s:4:\"copy\";s:93:\"Offer add-ons like gift wrapping, special messages or other special options for your products\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:49:\"https://woocommerce.com/products/product-add-ons/\";}i:4;a:9:{s:4:\"slug\";s:46:\"product-edit-woocommerce-subscriptions-gifting\";s:7:\"product\";s:33:\"woocommerce-subscriptions-gifting\";s:14:\"show-if-active\";a:1:{i:0;s:25:\"woocommerce-subscriptions\";}s:7:\"context\";a:1:{i:0;s:26:\"product-edit-meta-tab-body\";}s:4:\"icon\";s:116:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/gifting-for-subscriptions.svg\";s:5:\"title\";s:25:\"Gifting for Subscriptions\";s:4:\"copy\";s:70:\"Let customers buy subscriptions for others - they\'re the ultimate gift\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:67:\"https://woocommerce.com/products/woocommerce-subscriptions-gifting/\";}i:5;a:9:{s:4:\"slug\";s:42:\"product-edit-teams-woocommerce-memberships\";s:7:\"product\";s:33:\"woocommerce-memberships-for-teams\";s:14:\"show-if-active\";a:1:{i:0;s:23:\"woocommerce-memberships\";}s:7:\"context\";a:1:{i:0;s:26:\"product-edit-meta-tab-body\";}s:4:\"icon\";s:112:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/teams-for-memberships.svg\";s:5:\"title\";s:21:\"Teams for Memberships\";s:4:\"copy\";s:123:\"Adds B2B functionality to WooCommerce Memberships, allowing sites to sell team, group, corporate, or family member accounts\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:63:\"https://woocommerce.com/products/teams-woocommerce-memberships/\";}i:6;a:8:{s:4:\"slug\";s:29:\"product-edit-variation-images\";s:7:\"product\";s:39:\"woocommerce-additional-variation-images\";s:7:\"context\";a:1:{i:0;s:26:\"product-edit-meta-tab-body\";}s:4:\"icon\";s:118:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/additional-variation-images.svg\";s:5:\"title\";s:27:\"Additional Variation Images\";s:4:\"copy\";s:72:\"Showcase your products in the best light with a image for each variation\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:73:\"https://woocommerce.com/products/woocommerce-additional-variation-images/\";}i:7;a:9:{s:4:\"slug\";s:47:\"product-edit-woocommerce-subscription-downloads\";s:7:\"product\";s:34:\"woocommerce-subscription-downloads\";s:14:\"show-if-active\";a:1:{i:0;s:25:\"woocommerce-subscriptions\";}s:7:\"context\";a:1:{i:0;s:26:\"product-edit-meta-tab-body\";}s:4:\"icon\";s:113:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/subscription-downloads.svg\";s:5:\"title\";s:22:\"Subscription Downloads\";s:4:\"copy\";s:57:\"Give customers special downloads with their subscriptions\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:68:\"https://woocommerce.com/products/woocommerce-subscription-downloads/\";}i:8;a:8:{s:4:\"slug\";s:31:\"product-edit-min-max-quantities\";s:7:\"product\";s:30:\"woocommerce-min-max-quantities\";s:7:\"context\";a:1:{i:0;s:26:\"product-edit-meta-tab-body\";}s:4:\"icon\";s:109:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/min-max-quantities.svg\";s:5:\"title\";s:18:\"Min/Max Quantities\";s:4:\"copy\";s:81:\"Specify minimum and maximum allowed product quantities for orders to be completed\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:52:\"https://woocommerce.com/products/min-max-quantities/\";}i:9;a:8:{s:4:\"slug\";s:28:\"product-edit-name-your-price\";s:7:\"product\";s:27:\"woocommerce-name-your-price\";s:7:\"context\";a:1:{i:0;s:26:\"product-edit-meta-tab-body\";}s:4:\"icon\";s:106:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/name-your-price.svg\";s:5:\"title\";s:15:\"Name Your Price\";s:4:\"copy\";s:70:\"Let customers pay what they want - useful for donations, tips and more\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:49:\"https://woocommerce.com/products/name-your-price/\";}i:10;a:8:{s:4:\"slug\";s:42:\"product-edit-woocommerce-one-page-checkout\";s:7:\"product\";s:29:\"woocommerce-one-page-checkout\";s:7:\"context\";a:1:{i:0;s:26:\"product-edit-meta-tab-body\";}s:4:\"icon\";s:108:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/one-page-checkout.svg\";s:5:\"title\";s:17:\"One Page Checkout\";s:4:\"copy\";s:92:\"Don\'t make customers click around - let them choose products, checkout & pay all on one page\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:63:\"https://woocommerce.com/products/woocommerce-one-page-checkout/\";}i:11;a:4:{s:4:\"slug\";s:19:\"orders-empty-header\";s:7:\"context\";s:24:\"orders-list-empty-header\";s:5:\"title\";s:20:\"Tools for your store\";s:13:\"allow-dismiss\";b:0;}i:12;a:6:{s:4:\"slug\";s:30:\"orders-empty-footer-browse-all\";s:7:\"context\";s:24:\"orders-list-empty-footer\";s:9:\"link-text\";s:21:\"Browse all extensions\";s:3:\"url\";s:64:\"https://woocommerce.com/product-category/woocommerce-extensions/\";s:8:\"promoted\";s:31:\"category-woocommerce-extensions\";s:13:\"allow-dismiss\";b:0;}i:13;a:8:{s:4:\"slug\";s:19:\"orders-empty-zapier\";s:7:\"context\";s:22:\"orders-list-empty-body\";s:7:\"product\";s:18:\"woocommerce-zapier\";s:4:\"icon\";s:97:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/zapier.svg\";s:5:\"title\";s:6:\"Zapier\";s:4:\"copy\";s:88:\"Save time and increase productivity by connecting your store to more than 1000+ services\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:52:\"https://woocommerce.com/products/woocommerce-zapier/\";}i:14;a:8:{s:4:\"slug\";s:30:\"orders-empty-shipment-tracking\";s:7:\"context\";s:22:\"orders-list-empty-body\";s:7:\"product\";s:29:\"woocommerce-shipment-tracking\";s:4:\"icon\";s:108:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/shipment-tracking.svg\";s:5:\"title\";s:17:\"Shipment Tracking\";s:4:\"copy\";s:86:\"Let customers know when their orders will arrive by adding shipment tracking to emails\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:51:\"https://woocommerce.com/products/shipment-tracking/\";}i:15;a:8:{s:4:\"slug\";s:32:\"orders-empty-table-rate-shipping\";s:7:\"context\";s:22:\"orders-list-empty-body\";s:7:\"product\";s:31:\"woocommerce-table-rate-shipping\";s:4:\"icon\";s:110:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/table-rate-shipping.svg\";s:5:\"title\";s:19:\"Table Rate Shipping\";s:4:\"copy\";s:122:\"Advanced, flexible shipping. Define multiple shipping rates based on location, price, weight, shipping class or item count\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:53:\"https://woocommerce.com/products/table-rate-shipping/\";}i:16;a:8:{s:4:\"slug\";s:40:\"orders-empty-shipping-carrier-extensions\";s:7:\"context\";s:22:\"orders-list-empty-body\";s:4:\"icon\";s:118:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/shipping-carrier-extensions.svg\";s:5:\"title\";s:27:\"Shipping Carrier Extensions\";s:4:\"copy\";s:116:\"Show live rates from FedEx, UPS, USPS and more directly on your store - never under or overcharge for shipping again\";s:11:\"button-text\";s:13:\"Find Carriers\";s:8:\"promoted\";s:26:\"category-shipping-carriers\";s:3:\"url\";s:99:\"https://woocommerce.com/product-category/woocommerce-extensions/shipping-methods/shipping-carriers/\";}i:17;a:8:{s:4:\"slug\";s:32:\"orders-empty-google-product-feed\";s:7:\"context\";s:22:\"orders-list-empty-body\";s:7:\"product\";s:25:\"woocommerce-product-feeds\";s:4:\"icon\";s:110:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/google-product-feed.svg\";s:5:\"title\";s:19:\"Google Product Feed\";s:4:\"copy\";s:76:\"Increase sales by letting customers find you when they\'re shopping on Google\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:53:\"https://woocommerce.com/products/google-product-feed/\";}i:18;a:4:{s:4:\"slug\";s:35:\"products-empty-header-product-types\";s:7:\"context\";s:26:\"products-list-empty-header\";s:5:\"title\";s:23:\"Other types of products\";s:13:\"allow-dismiss\";b:0;}i:19;a:6:{s:4:\"slug\";s:32:\"products-empty-footer-browse-all\";s:7:\"context\";s:26:\"products-list-empty-footer\";s:9:\"link-text\";s:21:\"Browse all extensions\";s:3:\"url\";s:64:\"https://woocommerce.com/product-category/woocommerce-extensions/\";s:8:\"promoted\";s:31:\"category-woocommerce-extensions\";s:13:\"allow-dismiss\";b:0;}i:20;a:8:{s:4:\"slug\";s:30:\"products-empty-product-vendors\";s:7:\"context\";s:24:\"products-list-empty-body\";s:7:\"product\";s:27:\"woocommerce-product-vendors\";s:4:\"icon\";s:106:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/product-vendors.svg\";s:5:\"title\";s:15:\"Product Vendors\";s:4:\"copy\";s:47:\"Turn your store into a multi-vendor marketplace\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:49:\"https://woocommerce.com/products/product-vendors/\";}i:21;a:8:{s:4:\"slug\";s:26:\"products-empty-memberships\";s:7:\"context\";s:24:\"products-list-empty-body\";s:7:\"product\";s:23:\"woocommerce-memberships\";s:4:\"icon\";s:102:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/memberships.svg\";s:5:\"title\";s:11:\"Memberships\";s:4:\"copy\";s:76:\"Give members access to restricted content or products, for a fee or for free\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:57:\"https://woocommerce.com/products/woocommerce-memberships/\";}i:22;a:9:{s:4:\"slug\";s:35:\"products-empty-woocommerce-deposits\";s:7:\"context\";s:24:\"products-list-empty-body\";s:7:\"product\";s:20:\"woocommerce-deposits\";s:14:\"show-if-active\";a:1:{i:0;s:20:\"woocommerce-bookings\";}s:4:\"icon\";s:99:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/deposits.svg\";s:5:\"title\";s:8:\"Deposits\";s:4:\"copy\";s:75:\"Make it easier for customers to pay by offering a deposit or a payment plan\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:54:\"https://woocommerce.com/products/woocommerce-deposits/\";}i:23;a:8:{s:4:\"slug\";s:40:\"products-empty-woocommerce-subscriptions\";s:7:\"context\";s:24:\"products-list-empty-body\";s:7:\"product\";s:25:\"woocommerce-subscriptions\";s:4:\"icon\";s:104:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/subscriptions.svg\";s:5:\"title\";s:13:\"Subscriptions\";s:4:\"copy\";s:97:\"Let customers subscribe to your products or services and pay on a weekly, monthly or annual basis\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:59:\"https://woocommerce.com/products/woocommerce-subscriptions/\";}i:24;a:8:{s:4:\"slug\";s:35:\"products-empty-woocommerce-bookings\";s:7:\"context\";s:24:\"products-list-empty-body\";s:7:\"product\";s:20:\"woocommerce-bookings\";s:4:\"icon\";s:99:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/bookings.svg\";s:5:\"title\";s:8:\"Bookings\";s:4:\"copy\";s:99:\"Allow customers to book appointments, make reservations or rent equipment without leaving your site\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:54:\"https://woocommerce.com/products/woocommerce-bookings/\";}i:25;a:8:{s:4:\"slug\";s:30:\"products-empty-product-bundles\";s:7:\"context\";s:24:\"products-list-empty-body\";s:7:\"product\";s:27:\"woocommerce-product-bundles\";s:4:\"icon\";s:106:\"https://woocommerce.com/wp-content/plugins/wccom-plugins/marketplace-suggestions/icons/product-bundles.svg\";s:5:\"title\";s:15:\"Product Bundles\";s:4:\"copy\";s:49:\"Offer customizable bundles and assembled products\";s:11:\"button-text\";s:10:\"Learn More\";s:3:\"url\";s:49:\"https://woocommerce.com/products/product-bundles/\";}}s:7:\"updated\";i:1600474379;}', 'no'), +(5281, 'category_children', 'a:4:{i:71;a:1:{i:0;i:72;}i:72;a:1:{i:0;i:73;}i:73;a:1:{i:0;i:74;}i:74;a:1:{i:0;i:75;}}', 'yes'), +(5284, 'graphql_general_settings', '', 'yes'), +(5318, 'disallowed_keys', '', 'no'), +(5319, 'comment_previously_approved', '1', 'yes'), +(5320, 'auto_plugin_theme_update_emails', 'a:0:{}', 'no'), +(5321, 'finished_updating_comment_type', '1', 'yes'), +(5322, 'can_compress_scripts', '0', 'no'), +(5346, 'auto_update_plugins', 'a:1:{i:0;s:23:\"wp-gatsby/wp-gatsby.php\";}', 'no'); +INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES +(5349, 'rewrite_rules', 'a:243:{s:19:\"sitemap_index\\.xml$\";s:19:\"index.php?sitemap=1\";s:31:\"([^/]+?)-sitemap([0-9]+)?\\.xml$\";s:51:\"index.php?sitemap=$matches[1]&sitemap_n=$matches[2]\";s:24:\"([a-z]+)?-?sitemap\\.xsl$\";s:39:\"index.php?yoast-sitemap-xsl=$matches[1]\";s:11:\"^wp-json/?$\";s:22:\"index.php?rest_route=/\";s:14:\"^wp-json/(.*)?\";s:33:\"index.php?rest_route=/$matches[1]\";s:21:\"^index.php/wp-json/?$\";s:22:\"index.php?rest_route=/\";s:24:\"^index.php/wp-json/(.*)?\";s:33:\"index.php?rest_route=/$matches[1]\";s:17:\"^wp-sitemap\\.xml$\";s:23:\"index.php?sitemap=index\";s:17:\"^wp-sitemap\\.xsl$\";s:36:\"index.php?sitemap-stylesheet=sitemap\";s:23:\"^wp-sitemap-index\\.xsl$\";s:34:\"index.php?sitemap-stylesheet=index\";s:48:\"^wp-sitemap-([a-z]+?)-([a-z\\d_-]+?)-(\\d+?)\\.xml$\";s:75:\"index.php?sitemap=$matches[1]&sitemap-subtype=$matches[2]&paged=$matches[3]\";s:34:\"^wp-sitemap-([a-z]+?)-(\\d+?)\\.xml$\";s:47:\"index.php?sitemap=$matches[1]&paged=$matches[2]\";s:7:\"team/?$\";s:31:\"index.php?post_type=team_member\";s:37:\"team/feed/(feed|rdf|rss|rss2|atom)/?$\";s:48:\"index.php?post_type=team_member&feed=$matches[1]\";s:32:\"team/(feed|rdf|rss|rss2|atom)/?$\";s:48:\"index.php?post_type=team_member&feed=$matches[1]\";s:24:\"team/page/([0-9]{1,})/?$\";s:49:\"index.php?post_type=team_member&paged=$matches[1]\";s:10:\"graphql/?$\";s:22:\"index.php?graphql=true\";s:47:\"category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:52:\"index.php?category_name=$matches[1]&feed=$matches[2]\";s:42:\"category/(.+?)/(feed|rdf|rss|rss2|atom)/?$\";s:52:\"index.php?category_name=$matches[1]&feed=$matches[2]\";s:23:\"category/(.+?)/embed/?$\";s:46:\"index.php?category_name=$matches[1]&embed=true\";s:35:\"category/(.+?)/page/?([0-9]{1,})/?$\";s:53:\"index.php?category_name=$matches[1]&paged=$matches[2]\";s:17:\"category/(.+?)/?$\";s:35:\"index.php?category_name=$matches[1]\";s:44:\"tag/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?tag=$matches[1]&feed=$matches[2]\";s:39:\"tag/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?tag=$matches[1]&feed=$matches[2]\";s:20:\"tag/([^/]+)/embed/?$\";s:36:\"index.php?tag=$matches[1]&embed=true\";s:32:\"tag/([^/]+)/page/?([0-9]{1,})/?$\";s:43:\"index.php?tag=$matches[1]&paged=$matches[2]\";s:14:\"tag/([^/]+)/?$\";s:25:\"index.php?tag=$matches[1]\";s:45:\"type/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?post_format=$matches[1]&feed=$matches[2]\";s:40:\"type/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?post_format=$matches[1]&feed=$matches[2]\";s:21:\"type/([^/]+)/embed/?$\";s:44:\"index.php?post_format=$matches[1]&embed=true\";s:33:\"type/([^/]+)/page/?([0-9]{1,})/?$\";s:51:\"index.php?post_format=$matches[1]&paged=$matches[2]\";s:15:\"type/([^/]+)/?$\";s:33:\"index.php?post_format=$matches[1]\";s:39:\"team_member/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:49:\"team_member/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:69:\"team_member/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:64:\"team_member/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:64:\"team_member/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:45:\"team_member/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:28:\"team_member/([^/]+)/embed/?$\";s:44:\"index.php?team_member=$matches[1]&embed=true\";s:32:\"team_member/([^/]+)/trackback/?$\";s:38:\"index.php?team_member=$matches[1]&tb=1\";s:52:\"team_member/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?team_member=$matches[1]&feed=$matches[2]\";s:47:\"team_member/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?team_member=$matches[1]&feed=$matches[2]\";s:40:\"team_member/([^/]+)/page/?([0-9]{1,})/?$\";s:51:\"index.php?team_member=$matches[1]&paged=$matches[2]\";s:47:\"team_member/([^/]+)/comment-page-([0-9]{1,})/?$\";s:51:\"index.php?team_member=$matches[1]&cpage=$matches[2]\";s:36:\"team_member/([^/]+)(?:/([0-9]+))?/?$\";s:50:\"index.php?team_member=$matches[1]&page=$matches[2]\";s:28:\"team_member/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:38:\"team_member/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:58:\"team_member/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:53:\"team_member/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:53:\"team_member/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:34:\"team_member/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:35:\"project/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:45:\"project/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:65:\"project/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:60:\"project/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:60:\"project/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:41:\"project/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:24:\"project/([^/]+)/embed/?$\";s:40:\"index.php?project=$matches[1]&embed=true\";s:28:\"project/([^/]+)/trackback/?$\";s:34:\"index.php?project=$matches[1]&tb=1\";s:36:\"project/([^/]+)/page/?([0-9]{1,})/?$\";s:47:\"index.php?project=$matches[1]&paged=$matches[2]\";s:43:\"project/([^/]+)/comment-page-([0-9]{1,})/?$\";s:47:\"index.php?project=$matches[1]&cpage=$matches[2]\";s:32:\"project/([^/]+)(?:/([0-9]+))?/?$\";s:46:\"index.php?project=$matches[1]&page=$matches[2]\";s:24:\"project/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:34:\"project/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:54:\"project/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:49:\"project/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:49:\"project/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:30:\"project/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:43:\"type_limit_test/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:53:\"type_limit_test/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:73:\"type_limit_test/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:68:\"type_limit_test/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:68:\"type_limit_test/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:49:\"type_limit_test/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:32:\"type_limit_test/([^/]+)/embed/?$\";s:48:\"index.php?type_limit_test=$matches[1]&embed=true\";s:36:\"type_limit_test/([^/]+)/trackback/?$\";s:42:\"index.php?type_limit_test=$matches[1]&tb=1\";s:44:\"type_limit_test/([^/]+)/page/?([0-9]{1,})/?$\";s:55:\"index.php?type_limit_test=$matches[1]&paged=$matches[2]\";s:51:\"type_limit_test/([^/]+)/comment-page-([0-9]{1,})/?$\";s:55:\"index.php?type_limit_test=$matches[1]&cpage=$matches[2]\";s:40:\"type_limit_test/([^/]+)(?:/([0-9]+))?/?$\";s:54:\"index.php?type_limit_test=$matches[1]&page=$matches[2]\";s:32:\"type_limit_test/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:42:\"type_limit_test/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:62:\"type_limit_test/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:57:\"type_limit_test/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:57:\"type_limit_test/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:38:\"type_limit_test/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:45:\"type_limit_0_test/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:55:\"type_limit_0_test/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:75:\"type_limit_0_test/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:70:\"type_limit_0_test/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:70:\"type_limit_0_test/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:51:\"type_limit_0_test/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:34:\"type_limit_0_test/([^/]+)/embed/?$\";s:50:\"index.php?type_limit_0_test=$matches[1]&embed=true\";s:38:\"type_limit_0_test/([^/]+)/trackback/?$\";s:44:\"index.php?type_limit_0_test=$matches[1]&tb=1\";s:46:\"type_limit_0_test/([^/]+)/page/?([0-9]{1,})/?$\";s:57:\"index.php?type_limit_0_test=$matches[1]&paged=$matches[2]\";s:53:\"type_limit_0_test/([^/]+)/comment-page-([0-9]{1,})/?$\";s:57:\"index.php?type_limit_0_test=$matches[1]&cpage=$matches[2]\";s:42:\"type_limit_0_test/([^/]+)(?:/([0-9]+))?/?$\";s:56:\"index.php?type_limit_0_test=$matches[1]&page=$matches[2]\";s:34:\"type_limit_0_test/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:44:\"type_limit_0_test/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:64:\"type_limit_0_test/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:59:\"type_limit_0_test/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:59:\"type_limit_0_test/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:40:\"type_limit_0_test/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:48:\"translation_filter_t/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:58:\"translation_filter_t/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:78:\"translation_filter_t/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:73:\"translation_filter_t/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:73:\"translation_filter_t/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:54:\"translation_filter_t/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:37:\"translation_filter_t/([^/]+)/embed/?$\";s:53:\"index.php?translation_filter_t=$matches[1]&embed=true\";s:41:\"translation_filter_t/([^/]+)/trackback/?$\";s:47:\"index.php?translation_filter_t=$matches[1]&tb=1\";s:49:\"translation_filter_t/([^/]+)/page/?([0-9]{1,})/?$\";s:60:\"index.php?translation_filter_t=$matches[1]&paged=$matches[2]\";s:56:\"translation_filter_t/([^/]+)/comment-page-([0-9]{1,})/?$\";s:60:\"index.php?translation_filter_t=$matches[1]&cpage=$matches[2]\";s:45:\"translation_filter_t/([^/]+)(?:/([0-9]+))?/?$\";s:59:\"index.php?translation_filter_t=$matches[1]&page=$matches[2]\";s:37:\"translation_filter_t/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:47:\"translation_filter_t/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:67:\"translation_filter_t/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:62:\"translation_filter_t/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:62:\"translation_filter_t/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:43:\"translation_filter_t/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:48:\"acf custom post type/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:58:\"acf custom post type/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:78:\"acf custom post type/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:73:\"acf custom post type/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:73:\"acf custom post type/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:54:\"acf custom post type/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:37:\"acf custom post type/([^/]+)/embed/?$\";s:50:\"index.php?acfcustomposttype=$matches[1]&embed=true\";s:41:\"acf custom post type/([^/]+)/trackback/?$\";s:44:\"index.php?acfcustomposttype=$matches[1]&tb=1\";s:49:\"acf custom post type/([^/]+)/page/?([0-9]{1,})/?$\";s:57:\"index.php?acfcustomposttype=$matches[1]&paged=$matches[2]\";s:56:\"acf custom post type/([^/]+)/comment-page-([0-9]{1,})/?$\";s:57:\"index.php?acfcustomposttype=$matches[1]&cpage=$matches[2]\";s:45:\"acf custom post type/([^/]+)(?:/([0-9]+))?/?$\";s:56:\"index.php?acfcustomposttype=$matches[1]&page=$matches[2]\";s:37:\"acf custom post type/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:47:\"acf custom post type/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:67:\"acf custom post type/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:62:\"acf custom post type/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:62:\"acf custom post type/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:43:\"acf custom post type/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:39:\"wgg_preview/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:49:\"wgg_preview/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:69:\"wgg_preview/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:64:\"wgg_preview/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:64:\"wgg_preview/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:45:\"wgg_preview/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:28:\"wgg_preview/([^/]+)/embed/?$\";s:44:\"index.php?wgg_preview=$matches[1]&embed=true\";s:32:\"wgg_preview/([^/]+)/trackback/?$\";s:38:\"index.php?wgg_preview=$matches[1]&tb=1\";s:40:\"wgg_preview/([^/]+)/page/?([0-9]{1,})/?$\";s:51:\"index.php?wgg_preview=$matches[1]&paged=$matches[2]\";s:47:\"wgg_preview/([^/]+)/comment-page-([0-9]{1,})/?$\";s:51:\"index.php?wgg_preview=$matches[1]&cpage=$matches[2]\";s:36:\"wgg_preview/([^/]+)(?:/([0-9]+))?/?$\";s:50:\"index.php?wgg_preview=$matches[1]&page=$matches[2]\";s:28:\"wgg_preview/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:38:\"wgg_preview/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:58:\"wgg_preview/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:53:\"wgg_preview/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:53:\"wgg_preview/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:34:\"wgg_preview/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:42:\"action_monitor/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:52:\"action_monitor/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:72:\"action_monitor/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:67:\"action_monitor/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:67:\"action_monitor/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:48:\"action_monitor/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:31:\"action_monitor/([^/]+)/embed/?$\";s:47:\"index.php?action_monitor=$matches[1]&embed=true\";s:35:\"action_monitor/([^/]+)/trackback/?$\";s:41:\"index.php?action_monitor=$matches[1]&tb=1\";s:43:\"action_monitor/([^/]+)/page/?([0-9]{1,})/?$\";s:54:\"index.php?action_monitor=$matches[1]&paged=$matches[2]\";s:50:\"action_monitor/([^/]+)/comment-page-([0-9]{1,})/?$\";s:54:\"index.php?action_monitor=$matches[1]&cpage=$matches[2]\";s:39:\"action_monitor/([^/]+)(?:/([0-9]+))?/?$\";s:53:\"index.php?action_monitor=$matches[1]&page=$matches[2]\";s:31:\"action_monitor/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:41:\"action_monitor/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:61:\"action_monitor/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:56:\"action_monitor/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:56:\"action_monitor/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:37:\"action_monitor/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:12:\"robots\\.txt$\";s:18:\"index.php?robots=1\";s:13:\"favicon\\.ico$\";s:19:\"index.php?favicon=1\";s:48:\".*wp-(atom|rdf|rss|rss2|feed|commentsrss2)\\.php$\";s:18:\"index.php?feed=old\";s:20:\".*wp-app\\.php(/.*)?$\";s:19:\"index.php?error=403\";s:18:\".*wp-register.php$\";s:23:\"index.php?register=true\";s:32:\"feed/(feed|rdf|rss|rss2|atom)/?$\";s:27:\"index.php?&feed=$matches[1]\";s:27:\"(feed|rdf|rss|rss2|atom)/?$\";s:27:\"index.php?&feed=$matches[1]\";s:8:\"embed/?$\";s:21:\"index.php?&embed=true\";s:20:\"page/?([0-9]{1,})/?$\";s:28:\"index.php?&paged=$matches[1]\";s:27:\"comment-page-([0-9]{1,})/?$\";s:39:\"index.php?&page_id=17&cpage=$matches[1]\";s:41:\"comments/feed/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?&feed=$matches[1]&withcomments=1\";s:36:\"comments/(feed|rdf|rss|rss2|atom)/?$\";s:42:\"index.php?&feed=$matches[1]&withcomments=1\";s:17:\"comments/embed/?$\";s:21:\"index.php?&embed=true\";s:44:\"search/(.+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:40:\"index.php?s=$matches[1]&feed=$matches[2]\";s:39:\"search/(.+)/(feed|rdf|rss|rss2|atom)/?$\";s:40:\"index.php?s=$matches[1]&feed=$matches[2]\";s:20:\"search/(.+)/embed/?$\";s:34:\"index.php?s=$matches[1]&embed=true\";s:32:\"search/(.+)/page/?([0-9]{1,})/?$\";s:41:\"index.php?s=$matches[1]&paged=$matches[2]\";s:14:\"search/(.+)/?$\";s:23:\"index.php?s=$matches[1]\";s:47:\"author/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?author_name=$matches[1]&feed=$matches[2]\";s:42:\"author/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:50:\"index.php?author_name=$matches[1]&feed=$matches[2]\";s:23:\"author/([^/]+)/embed/?$\";s:44:\"index.php?author_name=$matches[1]&embed=true\";s:35:\"author/([^/]+)/page/?([0-9]{1,})/?$\";s:51:\"index.php?author_name=$matches[1]&paged=$matches[2]\";s:17:\"author/([^/]+)/?$\";s:33:\"index.php?author_name=$matches[1]\";s:69:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$\";s:80:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&feed=$matches[4]\";s:64:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$\";s:80:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&feed=$matches[4]\";s:45:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/embed/?$\";s:74:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&embed=true\";s:57:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/page/?([0-9]{1,})/?$\";s:81:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&paged=$matches[4]\";s:39:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$\";s:63:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]\";s:56:\"([0-9]{4})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$\";s:64:\"index.php?year=$matches[1]&monthnum=$matches[2]&feed=$matches[3]\";s:51:\"([0-9]{4})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$\";s:64:\"index.php?year=$matches[1]&monthnum=$matches[2]&feed=$matches[3]\";s:32:\"([0-9]{4})/([0-9]{1,2})/embed/?$\";s:58:\"index.php?year=$matches[1]&monthnum=$matches[2]&embed=true\";s:44:\"([0-9]{4})/([0-9]{1,2})/page/?([0-9]{1,})/?$\";s:65:\"index.php?year=$matches[1]&monthnum=$matches[2]&paged=$matches[3]\";s:26:\"([0-9]{4})/([0-9]{1,2})/?$\";s:47:\"index.php?year=$matches[1]&monthnum=$matches[2]\";s:43:\"([0-9]{4})/feed/(feed|rdf|rss|rss2|atom)/?$\";s:43:\"index.php?year=$matches[1]&feed=$matches[2]\";s:38:\"([0-9]{4})/(feed|rdf|rss|rss2|atom)/?$\";s:43:\"index.php?year=$matches[1]&feed=$matches[2]\";s:19:\"([0-9]{4})/embed/?$\";s:37:\"index.php?year=$matches[1]&embed=true\";s:31:\"([0-9]{4})/page/?([0-9]{1,})/?$\";s:44:\"index.php?year=$matches[1]&paged=$matches[2]\";s:13:\"([0-9]{4})/?$\";s:26:\"index.php?year=$matches[1]\";s:58:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:68:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:88:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:83:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:83:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:64:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:53:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/embed/?$\";s:91:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&embed=true\";s:57:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/trackback/?$\";s:85:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&tb=1\";s:77:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:97:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&feed=$matches[5]\";s:72:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:97:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&feed=$matches[5]\";s:65:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/page/?([0-9]{1,})/?$\";s:98:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&paged=$matches[5]\";s:72:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/comment-page-([0-9]{1,})/?$\";s:98:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&cpage=$matches[5]\";s:61:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)(?:/([0-9]+))?/?$\";s:97:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&page=$matches[5]\";s:47:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:57:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:77:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:72:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:72:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:53:\"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:64:\"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/comment-page-([0-9]{1,})/?$\";s:81:\"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&cpage=$matches[4]\";s:51:\"([0-9]{4})/([0-9]{1,2})/comment-page-([0-9]{1,})/?$\";s:65:\"index.php?year=$matches[1]&monthnum=$matches[2]&cpage=$matches[3]\";s:38:\"([0-9]{4})/comment-page-([0-9]{1,})/?$\";s:44:\"index.php?year=$matches[1]&cpage=$matches[2]\";s:27:\".?.+?/attachment/([^/]+)/?$\";s:32:\"index.php?attachment=$matches[1]\";s:37:\".?.+?/attachment/([^/]+)/trackback/?$\";s:37:\"index.php?attachment=$matches[1]&tb=1\";s:57:\".?.+?/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:52:\".?.+?/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$\";s:49:\"index.php?attachment=$matches[1]&feed=$matches[2]\";s:52:\".?.+?/attachment/([^/]+)/comment-page-([0-9]{1,})/?$\";s:50:\"index.php?attachment=$matches[1]&cpage=$matches[2]\";s:33:\".?.+?/attachment/([^/]+)/embed/?$\";s:43:\"index.php?attachment=$matches[1]&embed=true\";s:16:\"(.?.+?)/embed/?$\";s:41:\"index.php?pagename=$matches[1]&embed=true\";s:20:\"(.?.+?)/trackback/?$\";s:35:\"index.php?pagename=$matches[1]&tb=1\";s:40:\"(.?.+?)/feed/(feed|rdf|rss|rss2|atom)/?$\";s:47:\"index.php?pagename=$matches[1]&feed=$matches[2]\";s:35:\"(.?.+?)/(feed|rdf|rss|rss2|atom)/?$\";s:47:\"index.php?pagename=$matches[1]&feed=$matches[2]\";s:28:\"(.?.+?)/page/?([0-9]{1,})/?$\";s:48:\"index.php?pagename=$matches[1]&paged=$matches[2]\";s:35:\"(.?.+?)/comment-page-([0-9]{1,})/?$\";s:48:\"index.php?pagename=$matches[1]&cpage=$matches[2]\";s:24:\"(.?.+?)(?:/([0-9]+))?/?$\";s:47:\"index.php?pagename=$matches[1]&page=$matches[2]\";}', 'yes'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_postmeta` +-- + +CREATE TABLE `wp_postmeta` ( + `meta_id` bigint(20) UNSIGNED NOT NULL, + `post_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `meta_value` longtext COLLATE utf8mb4_unicode_ci +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_postmeta` +-- + +INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES +(1, 2, '_wp_page_template', 'default'), +(2, 3, '_wp_page_template', 'default'), +(174, 1, '__update', '1'), +(224, 74, '_edit_last', '1'), +(225, 75, '__update', '1'), +(226, 74, '__update', '1'), +(275, 84, '__update', '1'), +(300, 89, '__update', '1'), +(337, 74, '_edit_lock', '1583187828:1'), +(350, 98, '_edit_lock', '1597973347:1'), +(351, 99, '_wp_attached_file', '2020/03/avatar.jpg'), +(352, 99, '__update', '1'), +(383, 99, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:160;s:6:\"height\";i:160;s:4:\"file\";s:18:\"2020/03/avatar.jpg\";s:5:\"sizes\";a:1:{s:9:\"thumbnail\";a:4:{s:4:\"file\";s:18:\"avatar-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(408, 98, '__update', '1'), +(433, 98, '_edit_last', '1'), +(446, 98, '_yoast_wpseo_content_score', '60'), +(459, 98, 'name', 'Jason'), +(472, 98, '_name', 'field_5e5d725460853'), +(485, 98, 'title', 'WPGraphQL guy'), +(498, 98, '_title', 'field_5e5d726060854'), +(511, 98, 'portrait', '99'), +(524, 98, '_portrait', 'field_5e5d727560855'), +(537, 116, 'name', 'Jason'), +(538, 116, '_name', 'field_5e5d725460853'), +(539, 116, 'title', 'WPGraphQL guy'), +(540, 116, '_title', 'field_5e5d726060854'), +(541, 116, 'portrait', '99'), +(542, 116, '_portrait', 'field_5e5d727560855'), +(579, 72, '_edit_last', '1'), +(581, 72, '__update', '1'), +(674, 72, '_edit_lock', '1601669226:1'), +(675, 155, '__update', '1'), +(712, 162, '__update', '1'), +(767, 172, '_edit_lock', '1597973266:1'), +(768, 172, '__update', '1'), +(793, 172, '_edit_last', '1'), +(818, 181, '_edit_last', '1'), +(819, 182, '__update', '1'), +(820, 181, '__update', '1'), +(851, 188, '__update', '1'), +(888, 181, '_edit_lock', '1583187772:1'), +(889, 195, '_wp_attached_file', '2020/03/1024x1024-300x300-1.png'), +(890, 195, '__update', '1'), +(945, 195, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:300;s:6:\"height\";i:300;s:4:\"file\";s:31:\"2020/03/1024x1024-300x300-1.png\";s:5:\"sizes\";a:2:{s:6:\"medium\";a:4:{s:4:\"file\";s:31:\"1024x1024-300x300-1-300x300.png\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:9:\"image/png\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:31:\"1024x1024-300x300-1-150x150.png\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:9:\"image/png\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(1030, 172, 'project_url', 'a:3:{s:5:\"title\";s:0:\"\";s:3:\"url\";s:26:\"https://www.wpgraphql.com/\";s:6:\"target\";s:6:\"_blank\";}'), +(1043, 172, '_project_url', 'field_5e5d8628dde4a'), +(1056, 172, 'image', '195'), +(1069, 172, '_image', 'field_5e5d8631dde4b'), +(1094, 229, '__update', '1'), +(1143, 98, 'twitterlink', 'a:3:{s:5:\"title\";s:0:\"\";s:3:\"url\";s:29:\"https://twitter.com/jasonbahl\";s:6:\"target\";s:6:\"_blank\";}'), +(1156, 98, '_twitterlink', 'field_5e5d73f3f4d05'), +(1169, 98, 'web_site', 'a:3:{s:5:\"title\";s:0:\"\";s:3:\"url\";s:22:\"https://jasonbahl.com/\";s:6:\"target\";s:0:\"\";}'), +(1182, 98, '_web_site', 'field_5e5d740688701'), +(1195, 98, 'projects', 'a:1:{i:0;s:3:\"172\";}'), +(1208, 98, '_projects', 'field_5e5d87b185982'), +(1410, 17, '_edit_lock', '1597973122:1'), +(1411, 284, '_wp_attached_file', '2020/03/Screen-Shot-2020-02-18-at-7.04.39-AM.png'), +(1412, 284, '__update', '1'), +(1419, 17, '__update', '1'), +(1480, 284, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:5120;s:6:\"height\";i:2880;s:4:\"file\";s:48:\"2020/03/Screen-Shot-2020-02-18-at-7.04.39-AM.png\";s:5:\"sizes\";a:4:{s:6:\"medium\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-02-18-at-7.04.39-AM-300x169.png\";s:5:\"width\";i:300;s:6:\"height\";i:169;s:9:\"mime-type\";s:9:\"image/png\";}s:5:\"large\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-02-18-at-7.04.39-AM-1024x576.png\";s:5:\"width\";i:1024;s:6:\"height\";i:576;s:9:\"mime-type\";s:9:\"image/png\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-02-18-at-7.04.39-AM-150x150.png\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:9:\"image/png\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-02-18-at-7.04.39-AM-768x432.png\";s:5:\"width\";i:768;s:6:\"height\";i:432;s:9:\"mime-type\";s:9:\"image/png\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(1601, 316, '_wp_attached_file', '2020/03/Screen-Shot-2020-02-27-at-7.40.56-PM.png'), +(1602, 316, '__update', '1'), +(1657, 316, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:2190;s:6:\"height\";i:610;s:4:\"file\";s:48:\"2020/03/Screen-Shot-2020-02-27-at-7.40.56-PM.png\";s:5:\"sizes\";a:8:{s:6:\"medium\";a:4:{s:4:\"file\";s:47:\"Screen-Shot-2020-02-27-at-7.40.56-PM-300x84.png\";s:5:\"width\";i:300;s:6:\"height\";i:84;s:9:\"mime-type\";s:9:\"image/png\";}s:5:\"large\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-02-27-at-7.40.56-PM-1024x285.png\";s:5:\"width\";i:1024;s:6:\"height\";i:285;s:9:\"mime-type\";s:9:\"image/png\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-02-27-at-7.40.56-PM-150x150.png\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:9:\"image/png\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-02-27-at-7.40.56-PM-768x214.png\";s:5:\"width\";i:768;s:6:\"height\";i:214;s:9:\"mime-type\";s:9:\"image/png\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-02-27-at-7.40.56-PM-1536x428.png\";s:5:\"width\";i:1536;s:6:\"height\";i:428;s:9:\"mime-type\";s:9:\"image/png\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-02-27-at-7.40.56-PM-2048x570.png\";s:5:\"width\";i:2048;s:6:\"height\";i:570;s:9:\"mime-type\";s:9:\"image/png\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-02-27-at-7.40.56-PM-1200x334.png\";s:5:\"width\";i:1200;s:6:\"height\";i:334;s:9:\"mime-type\";s:9:\"image/png\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-02-27-at-7.40.56-PM-1980x552.png\";s:5:\"width\";i:1980;s:6:\"height\";i:552;s:9:\"mime-type\";s:9:\"image/png\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(1874, 362, '_wp_attached_file', '2020/03/84-1000x1000-1.jpg'), +(1875, 362, '__update', '1'), +(1930, 362, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:1000;s:6:\"height\";i:1000;s:4:\"file\";s:26:\"2020/03/84-1000x1000-1.jpg\";s:5:\"sizes\";a:3:{s:6:\"medium\";a:4:{s:4:\"file\";s:26:\"84-1000x1000-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:26:\"84-1000x1000-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:26:\"84-1000x1000-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"1\";s:8:\"keywords\";a:0:{}}}'), +(2039, 17, '_thumbnail_id', '362'), +(2052, 17, '_edit_last', '1'), +(2065, 17, '_yoast_wpseo_content_score', '30'), +(2078, 17, 'image', '316'), +(2091, 17, '_image', 'field_5e5d71e8712f4'), +(2104, 17, 'flex', 'a:2:{i:0;s:6:\"header\";i:1;s:12:\"team_members\";}'), +(2117, 17, '_flex', 'field_5e5d71ef712f5'), +(2158, 17, 'flex_0_header', 'header text test'), +(2171, 17, '_flex_0_header', 'field_5e5d71f8712f6'), +(2184, 17, 'flex_1_team_members_0_team_member', 'a:1:{i:0;s:2:\"98\";}'), +(2197, 17, '_flex_1_team_members_0_team_member', 'field_5e5d9d0ec49f2'), +(2210, 17, 'flex_1_team_members', '1'), +(2223, 17, '_flex_1_team_members', 'field_5e5d9d01c49f1'), +(2236, 17, 'flex_2_project_relationship', 'a:1:{i:0;s:3:\"172\";}'), +(2249, 17, '_flex_2_project_relationship', 'field_5e5d88d15d14b'), +(3079, 564, '_menu_item_type', 'post_type'), +(3080, 564, '_menu_item_menu_item_parent', '0'), +(3081, 564, '_menu_item_object_id', '16'), +(3082, 564, '_menu_item_object', 'page'), +(3083, 564, '_menu_item_target', ''), +(3084, 564, '_menu_item_classes', 'a:1:{i:0;s:0:\"\";}'), +(3085, 564, '_menu_item_xfn', ''), +(3086, 564, '_menu_item_url', ''), +(3088, 565, '_menu_item_type', 'post_type'), +(3089, 565, '_menu_item_menu_item_parent', '0'), +(3090, 565, '_menu_item_object_id', '2'), +(3091, 565, '_menu_item_object', 'page'), +(3092, 565, '_menu_item_target', ''), +(3093, 565, '_menu_item_classes', 'a:1:{i:0;s:0:\"\";}'), +(3094, 565, '_menu_item_xfn', ''), +(3095, 565, '_menu_item_url', ''), +(3097, 566, '_menu_item_type', 'post_type'), +(3098, 566, '_menu_item_menu_item_parent', '565'), +(3099, 566, '_menu_item_object_id', '1'), +(3100, 566, '_menu_item_object', 'post'), +(3101, 566, '_menu_item_target', ''), +(3102, 566, '_menu_item_classes', 'a:1:{i:0;s:0:\"\";}'), +(3103, 566, '_menu_item_xfn', ''), +(3104, 566, '_menu_item_url', ''), +(3106, 567, '_menu_item_type', 'custom'), +(3107, 567, '_menu_item_menu_item_parent', '566'), +(3108, 567, '_menu_item_object_id', '567'), +(3109, 567, '_menu_item_object', 'custom'), +(3110, 567, '_menu_item_target', ''), +(3111, 567, '_menu_item_classes', 'a:1:{i:0;s:0:\"\";}'), +(3112, 567, '_menu_item_xfn', ''), +(3113, 567, '_menu_item_url', 'https://google.com'), +(3147, 1, '_thumbnail_id', '362'), +(3160, 1, '_edit_last', '4'), +(3210, 1, '_yoast_wpseo_content_score', '90'), +(3223, 586, '_edit_lock', '1597973681:1'), +(3224, 586, '__update', '1'), +(3231, 2, '__update', '1'), +(3286, 586, '_thumbnail_id', '195'), +(3311, 586, '_edit_last', '1'), +(3336, 586, 'image', ''), +(3349, 586, '_image', 'field_5e5d71e8712f4'), +(3362, 586, 'flex', ''), +(3375, 586, '_flex', 'field_5e5d71ef712f5'), +(3404, 586, '_yoast_wpseo_content_score', '30'), +(3879, 1, '_wp_page_template', 'default'), +(3958, 711, '__update', '1'), +(3983, 711, '_edit_last', '1'), +(4035, 711, '_yoast_wpseo_content_score', '60'), +(4067, 2, '_edit_last', '4'), +(4641, 2, 'image', ''), +(4654, 2, '_image', 'field_5e5d71e8712f4'), +(4667, 2, 'flex', ''), +(4680, 2, '_flex', 'field_5e5d71ef712f5'), +(4725, 2, '_yoast_wpseo_content_score', '90'), +(5734, 1035, '_edit_lock', '1597973315:1'), +(5735, 1035, '__update', '1'), +(5760, 1035, '_edit_last', '1'), +(5785, 1035, '_yoast_wpseo_content_score', '30'), +(5798, 1046, '_edit_lock', '1597973302:1'), +(5799, 1046, '__update', '1'), +(5824, 1046, '_edit_last', '1'), +(5849, 1046, '_yoast_wpseo_content_score', '30'), +(5862, 1057, '_edit_lock', '1597973317:1'), +(5863, 1057, '__update', '1'), +(5888, 1057, '_edit_last', '1'), +(5913, 1057, '_yoast_wpseo_content_score', '30'), +(5926, 1068, '_edit_lock', '1597973316:1'), +(5927, 1068, '__update', '1'), +(5952, 1068, '_edit_last', '1'), +(5977, 1068, '_yoast_wpseo_content_score', '30'), +(5990, 1079, '_edit_lock', '1597973301:1'), +(5991, 1079, '__update', '1'), +(6016, 1079, '_edit_last', '1'), +(6041, 1079, '_yoast_wpseo_content_score', '30'), +(6054, 1090, '_edit_lock', '1597973287:1'), +(6055, 1090, '__update', '1'), +(6080, 1090, '_edit_last', '1'), +(6105, 1090, '_yoast_wpseo_content_score', '30'), +(6118, 1101, '_edit_lock', '1597973284:1'), +(6119, 1101, '__update', '1'), +(6144, 1101, '_edit_last', '1'), +(6169, 1101, '_yoast_wpseo_content_score', '30'), +(6182, 1112, '_edit_lock', '1597973277:1'), +(6183, 1112, '__update', '1'), +(6208, 1112, '_edit_last', '1'), +(6233, 1112, '_yoast_wpseo_content_score', '30'), +(6246, 1123, '_edit_lock', '1597973275:1'), +(6247, 1123, '__update', '1'), +(6272, 1123, '_edit_last', '1'), +(6297, 1123, '_yoast_wpseo_content_score', '30'), +(6310, 1134, '_edit_lock', '1584578565:1'), +(6311, 1134, '__update', '1'), +(6336, 1134, '_edit_last', '1'), +(6361, 1134, '_yoast_wpseo_content_score', '30'), +(6374, 1145, '_edit_lock', '1597973274:1'), +(6375, 1145, '__update', '1'), +(6400, 1145, '_edit_last', '1'), +(6425, 1145, '_yoast_wpseo_content_score', '30'), +(6438, 1156, '_edit_lock', '1597973271:1'), +(6439, 1156, '__update', '1'), +(6464, 1156, '_edit_last', '1'), +(6489, 1156, '_yoast_wpseo_content_score', '30'), +(6502, 1167, '_edit_lock', '1597973269:1'), +(6503, 1167, '__update', '1'), +(6528, 1167, '_edit_last', '1'), +(6553, 1167, '_yoast_wpseo_content_score', '30'), +(7040, 1258, '__update', '1'), +(7053, 1258, '_pll_strings_translations', 'a:0:{}'), +(7108, 1270, '__update', '1'), +(7121, 1270, '_pll_strings_translations', 'a:0:{}'), +(7140, 1276, 'image', '316'), +(7141, 1276, 'flex', 'a:2:{i:0;s:6:\"header\";i:1;s:12:\"team_members\";}'), +(7142, 1276, 'flex_0_header', 'header text test'), +(7143, 1276, 'flex_1_team_members_0_team_member', 'a:1:{i:0;s:2:\"98\";}'), +(7144, 1276, 'flex_1_team_members', '1'), +(7145, 1276, 'flex_2_project_relationship', 'a:1:{i:0;s:3:\"172\";}'), +(7146, 1276, '_thumbnail_id', '362'), +(7147, 1276, '_edit_lock', '1597973128:1'), +(7148, 1276, '__update', '1'), +(7173, 1276, '_edit_last', '1'), +(7186, 1276, '_image', 'field_5e5d71e8712f4'), +(7199, 1276, '_flex_0_header', 'field_5e5d71f8712f6'), +(7212, 1276, '_flex_1_team_members_0_team_member', 'field_5e5d9d0ec49f2'), +(7225, 1276, '_flex_1_team_members', 'field_5e5d9d01c49f1'), +(7238, 1276, '_flex', 'field_5e5d71ef712f5'), +(7273, 1276, '_yoast_wpseo_content_score', '30'), +(7316, 16, '_edit_lock', '1597973124:1'), +(7366, 1311, '_edit_lock', '1597973320:1'), +(7367, 1311, '__update', '1'), +(7392, 1311, '_edit_last', '1'), +(7511, 1335, '_edit_lock', '1597973319:1'), +(7512, 1335, '__update', '1'), +(7537, 1335, '_edit_last', '1'), +(7562, 1335, '_yoast_wpseo_content_score', '30'), +(7923, 1311, '_yoast_wpseo_content_score', '60'), +(43903, 7627, '_wp_attached_file', '2020/08/Screen-Shot-2020-08-11-at-3.10.03-PM.png'), +(43904, 7627, '__update', '1'), +(43924, 7627, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:1760;s:6:\"height\";i:240;s:4:\"file\";s:48:\"2020/08/Screen-Shot-2020-08-11-at-3.10.03-PM.png\";s:5:\"sizes\";a:6:{s:6:\"medium\";a:4:{s:4:\"file\";s:47:\"Screen-Shot-2020-08-11-at-3.10.03-PM-300x41.png\";s:5:\"width\";i:300;s:6:\"height\";i:41;s:9:\"mime-type\";s:9:\"image/png\";}s:5:\"large\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-08-11-at-3.10.03-PM-1024x140.png\";s:5:\"width\";i:1024;s:6:\"height\";i:140;s:9:\"mime-type\";s:9:\"image/png\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-08-11-at-3.10.03-PM-150x150.png\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:9:\"image/png\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-08-11-at-3.10.03-PM-768x105.png\";s:5:\"width\";i:768;s:6:\"height\";i:105;s:9:\"mime-type\";s:9:\"image/png\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-08-11-at-3.10.03-PM-1536x209.png\";s:5:\"width\";i:1536;s:6:\"height\";i:209;s:9:\"mime-type\";s:9:\"image/png\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-08-11-at-3.10.03-PM-1200x164.png\";s:5:\"width\";i:1200;s:6:\"height\";i:164;s:9:\"mime-type\";s:9:\"image/png\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(44027, 7646, '_edit_lock', '1602179614:1'), +(44028, 7646, '__update', '1'), +(44042, 7646, '_edit_last', '1'), +(44043, 7646, 'image', ''), +(44044, 7646, '_image', 'field_5e5d71e8712f4'), +(44045, 7646, 'flex', ''), +(44046, 7646, '_flex', 'field_5e5d71ef712f5'), +(44053, 7650, '__update', '1'), +(44060, 7652, '__update', '1'), +(44067, 7654, '__update', '1'), +(44074, 7656, '__update', '1'), +(44081, 7658, '__update', '1'), +(44088, 7660, '__update', '1'), +(44095, 7662, '__update', '1'), +(44102, 7664, '__update', '1'), +(44109, 7666, '__update', '1'), +(44116, 7668, '__update', '1'), +(44123, 7670, '__update', '1'), +(44130, 7672, '__update', '1'), +(44137, 7674, '__update', '1'), +(44144, 7676, '__update', '1'), +(44151, 7678, '__update', '1'), +(44158, 7680, '__update', '1'), +(44165, 7682, '__update', '1'), +(44172, 7684, '__update', '1'), +(44179, 7686, '__update', '1'), +(44186, 7688, '__update', '1'), +(44193, 7690, '__update', '1'), +(44200, 7692, '__update', '1'), +(44207, 7694, '__update', '1'), +(44214, 7696, '__update', '1'), +(44221, 7698, '__update', '1'), +(44228, 7700, '__update', '1'), +(44235, 7702, '__update', '1'), +(44242, 7704, '__update', '1'), +(44249, 7706, '__update', '1'), +(44256, 7708, '__update', '1'), +(44473, 7740, '_wp_attached_file', '2020/08/file-sample_1MB.doc'), +(44474, 7740, '__update', '1'), +(44494, 7744, '_wp_attached_file', '2020/08/101-2621x1747-1-scaled.jpg'), +(44495, 7744, '__update', '1'), +(44515, 7744, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1706;s:4:\"file\";s:34:\"2020/08/101-2621x1747-1-scaled.jpg\";s:5:\"sizes\";a:12:{s:6:\"medium\";a:4:{s:4:\"file\";s:27:\"101-2621x1747-1-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:28:\"101-2621x1747-1-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:27:\"101-2621x1747-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:27:\"101-2621x1747-1-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:29:\"101-2621x1747-1-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:29:\"101-2621x1747-1-2048x1365.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1365;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:28:\"101-2621x1747-1-1200x800.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:800;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:29:\"101-2621x1747-1-1980x1320.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1320;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:34:\"101-2621x1747-1-scaled-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:34:\"101-2621x1747-1-scaled-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:34:\"101-2621x1747-1-scaled-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:34:\"101-2621x1747-1-scaled-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"1\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:19:\"101-2621x1747-1.jpg\";}'), +(44516, 7748, '_wp_attached_file', '2020/08/1002-4312x2868-1-scaled.jpg'), +(44517, 7748, '__update', '1'), +(44537, 7748, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1703;s:4:\"file\";s:35:\"2020/08/1002-4312x2868-1-scaled.jpg\";s:5:\"sizes\";a:12:{s:6:\"medium\";a:4:{s:4:\"file\";s:28:\"1002-4312x2868-1-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:29:\"1002-4312x2868-1-1024x681.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:681;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:28:\"1002-4312x2868-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:28:\"1002-4312x2868-1-768x511.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:511;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:30:\"1002-4312x2868-1-1536x1022.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1022;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:30:\"1002-4312x2868-1-2048x1362.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1362;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:29:\"1002-4312x2868-1-1200x798.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:798;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:30:\"1002-4312x2868-1-1980x1317.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1317;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:35:\"1002-4312x2868-1-scaled-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:35:\"1002-4312x2868-1-scaled-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:35:\"1002-4312x2868-1-scaled-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:35:\"1002-4312x2868-1-scaled-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"1\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:20:\"1002-4312x2868-1.jpg\";}'), +(44538, 7752, '_wp_attached_file', '2020/08/1003-1181x1772-1.jpg'), +(44539, 7752, '__update', '1'), +(44559, 7752, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:1181;s:6:\"height\";i:1772;s:4:\"file\";s:28:\"2020/08/1003-1181x1772-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:28:\"1003-1181x1772-1-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:29:\"1003-1181x1772-1-682x1024.jpg\";s:5:\"width\";i:682;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:28:\"1003-1181x1772-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:29:\"1003-1181x1772-1-768x1152.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1152;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:30:\"1003-1181x1772-1-1024x1536.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:28:\"1003-1181x1772-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:28:\"1003-1181x1772-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:28:\"1003-1181x1772-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:28:\"1003-1181x1772-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"1\";s:8:\"keywords\";a:0:{}}}'), +(44560, 7756, '_wp_attached_file', '2020/08/1001-5616x3744-1-scaled.jpg'), +(44561, 7756, '__update', '1'), +(44581, 7756, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1707;s:4:\"file\";s:35:\"2020/08/1001-5616x3744-1-scaled.jpg\";s:5:\"sizes\";a:12:{s:6:\"medium\";a:4:{s:4:\"file\";s:28:\"1001-5616x3744-1-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:29:\"1001-5616x3744-1-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:28:\"1001-5616x3744-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:28:\"1001-5616x3744-1-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:30:\"1001-5616x3744-1-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:30:\"1001-5616x3744-1-2048x1365.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1365;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:29:\"1001-5616x3744-1-1200x800.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:800;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:30:\"1001-5616x3744-1-1980x1320.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1320;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:35:\"1001-5616x3744-1-scaled-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:35:\"1001-5616x3744-1-scaled-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:35:\"1001-5616x3744-1-scaled-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:35:\"1001-5616x3744-1-scaled-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"1\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:20:\"1001-5616x3744-1.jpg\";}'), +(44582, 7760, '_wp_attached_file', '2020/08/10-2500x1667-1.jpg'), +(44583, 7760, '__update', '1'), +(44603, 7760, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:2500;s:6:\"height\";i:1667;s:4:\"file\";s:26:\"2020/08/10-2500x1667-1.jpg\";s:5:\"sizes\";a:12:{s:6:\"medium\";a:4:{s:4:\"file\";s:26:\"10-2500x1667-1-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:27:\"10-2500x1667-1-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:26:\"10-2500x1667-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:26:\"10-2500x1667-1-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:28:\"10-2500x1667-1-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:28:\"10-2500x1667-1-2048x1366.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1366;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:27:\"10-2500x1667-1-1200x800.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:800;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:28:\"10-2500x1667-1-1980x1320.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1320;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:26:\"10-2500x1667-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:26:\"10-2500x1667-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:26:\"10-2500x1667-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:26:\"10-2500x1667-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"1\";s:8:\"keywords\";a:0:{}}}'), +(44604, 7764, '_wp_attached_file', '2020/08/1004-5616x3744-1-scaled.jpg'), +(44605, 7764, '__update', '1'), +(44625, 7764, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1707;s:4:\"file\";s:35:\"2020/08/1004-5616x3744-1-scaled.jpg\";s:5:\"sizes\";a:8:{s:6:\"medium\";a:4:{s:4:\"file\";s:28:\"1004-5616x3744-1-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:29:\"1004-5616x3744-1-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:28:\"1004-5616x3744-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:28:\"1004-5616x3744-1-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:30:\"1004-5616x3744-1-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:30:\"1004-5616x3744-1-2048x1365.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1365;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:29:\"1004-5616x3744-1-1200x800.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:800;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:30:\"1004-5616x3744-1-1980x1320.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1320;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"1\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:20:\"1004-5616x3744-1.jpg\";}'), +(44652, 7646, 'range_field', '53'), +(44653, 7646, '_range_field', 'field_5f47e967644b1'), +(44654, 7646, 'text_field', 'Text Field test example'), +(44655, 7646, '_text_field', 'field_5f47e986644b2'), +(44656, 7646, 'text_area_field', 'Text Area Field test example'), +(44657, 7646, '_text_area_field', 'field_5f47e993644b3'), +(44658, 7646, 'button_group_field', 'button2'), +(44659, 7646, '_button_group_field', 'field_5f47e99f644b4'), +(44660, 7646, 'checkbox_field', 'a:1:{i:0;s:9:\"checkbox2\";}'), +(44661, 7646, '_checkbox_field', 'field_5f47e9c5644b5'), +(44662, 7646, 'radio_button_field', 'radiobutton2'), +(44663, 7646, '_radio_button_field', 'field_5f47e9f3644b6'), +(44664, 7646, 'select_field', 'select2'), +(44665, 7646, '_select_field', 'field_5f47ea12644b7'), +(44666, 7646, 'true_false_field', '1'), +(44667, 7646, '_true_false_field', 'field_5f47ea28644b8'), +(44668, 7646, 'file_field', '7740'), +(44669, 7646, '_file_field', 'field_5f47ea3f644b9'), +(44670, 7646, 'gallery_field', 'a:5:{i:0;s:4:\"7744\";i:1;s:4:\"7748\";i:2;s:4:\"7752\";i:3;s:4:\"7756\";i:4;s:4:\"7760\";}'), +(44671, 7646, '_gallery_field', 'field_5f47ea4a644ba'), +(44672, 7646, 'image_field', '7764'), +(44673, 7646, '_image_field', 'field_5f47ea53644bb'), +(44674, 7646, 'oembed_field', 'https://www.youtube.com/watch?v=2MpUj-Aua48'), +(44675, 7646, '_oembed_field', 'field_5f47ea5b644bc'), +(44676, 7646, 'wysiwyg_editor_field', 'Wysiwyh Editor Field test content.\r\n\r\n \r\n

    H1

    \r\n\"\" \"\"'), +(44677, 7646, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(44678, 7646, 'color_picker_field', '#1e73be'), +(44679, 7646, '_color_picker_field', 'field_5f47ea75644be'), +(44680, 7646, 'date_picker_field', '20200827'), +(44681, 7646, '_date_picker_field', 'field_5f47ea7f644bf'), +(44682, 7646, 'date_time_picker_field', '2020-08-28 00:11:10'), +(44683, 7646, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(44684, 7646, 'google_map_field', 'a:10:{s:7:\"address\";s:20:\"Victoria, BC, Canada\";s:3:\"lat\";d:48.4284207;s:3:\"lng\";d:-123.3656444;s:4:\"zoom\";i:14;s:8:\"place_id\";s:27:\"ChIJcWGw3Ytzj1QR7Ui7HnTz6Dg\";s:4:\"city\";s:8:\"Victoria\";s:5:\"state\";s:16:\"British Columbia\";s:11:\"state_short\";s:2:\"BC\";s:7:\"country\";s:6:\"Canada\";s:13:\"country_short\";s:2:\"CA\";}'), +(44685, 7646, '_google_map_field', 'field_5f47ea9d644c1'), +(44686, 7646, 'time_picker', '21:00:47'), +(44687, 7646, '_time_picker', 'field_5f47eaa7644c2'), +(44688, 7646, 'flexible_content_field', 'a:1:{i:0;s:13:\"flex_layout_1\";}'), +(44689, 7646, '_flexible_content_field', 'field_5f47eadf644c4'), +(44690, 7646, 'link_field', 'a:3:{s:5:\"title\";s:9:\"Google it\";s:3:\"url\";s:18:\"https://google.com\";s:6:\"target\";s:6:\"_blank\";}'), +(44691, 7646, '_link_field', 'field_5f47eb54644c9'), +(44692, 7646, 'page_link_field', '16'), +(44693, 7646, '_page_link_field', 'field_5f47eb5e644ca'), +(44694, 7646, 'post_object_field', '7646'), +(44695, 7646, '_post_object_field', 'field_5f47eb69644cb'), +(44696, 7646, 'relationship_field', 'a:2:{i:0;s:1:\"1\";i:1;s:1:\"2\";}'), +(44697, 7646, '_relationship_field', 'field_5f47eb74644cc'), +(44698, 7646, 'taxonomy_field', 'a:1:{i:0;s:2:\"33\";}'), +(44699, 7646, '_taxonomy_field', 'field_5f47edce644cd'), +(44700, 7646, 'user_field', '1'), +(44701, 7646, '_user_field', 'field_5f47eddc644ce'), +(44702, 7772, '_wp_attached_file', '2020/08/1008-5616x3744-1-scaled.jpg'), +(44703, 7772, '__update', '1'), +(44723, 7772, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1707;s:4:\"file\";s:35:\"2020/08/1008-5616x3744-1-scaled.jpg\";s:5:\"sizes\";a:8:{s:6:\"medium\";a:4:{s:4:\"file\";s:28:\"1008-5616x3744-1-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:29:\"1008-5616x3744-1-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:28:\"1008-5616x3744-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:28:\"1008-5616x3744-1-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:30:\"1008-5616x3744-1-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:30:\"1008-5616x3744-1-2048x1365.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1365;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:29:\"1008-5616x3744-1-1200x800.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:800;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:30:\"1008-5616x3744-1-1980x1320.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1320;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"1\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:20:\"1008-5616x3744-1.jpg\";}'), +(44871, 7800, '__update', '1'), +(44884, 7803, '__update', '1'), +(44891, 7805, '__update', '1'), +(44898, 7807, '__update', '1'), +(44905, 7809, '__update', '1'), +(44912, 7811, '__update', '1'), +(44919, 7813, '__update', '1'), +(44932, 7816, '__update', '1'), +(44939, 7818, '__update', '1'), +(44965, 7646, 'flexible_content_field_0_flex_title', 'flex title test'), +(44966, 7646, '_flexible_content_field_0_flex_title', 'field_5f482998401a3'), +(44967, 7646, 'flexible_content_field_0_flex_image', '7764'), +(44968, 7646, '_flexible_content_field_0_flex_image', 'field_5f48299d401a4'), +(44969, 7646, 'flexible_content_field_0_flex_repeater_0_flex_repeater_title', 'flex repeater title test'), +(44970, 7646, '_flexible_content_field_0_flex_repeater_0_flex_repeater_title', 'field_5f4829b1401a6'), +(44971, 7646, 'flexible_content_field_0_flex_repeater_0_flex_repeater_relationship', 'a:2:{i:0;s:1:\"1\";i:1;s:2:\"16\";}'), +(44972, 7646, '_flexible_content_field_0_flex_repeater_0_flex_repeater_relationship', 'field_5f4829c7401a7'), +(44973, 7646, 'flexible_content_field_0_flex_repeater', '2'), +(44974, 7646, '_flexible_content_field_0_flex_repeater', 'field_5f4829a6401a5'), +(44975, 7646, 'flexible_content_field_0_flex_relationship', 'a:2:{i:0;s:1:\"1\";i:1;s:3:\"586\";}'), +(44976, 7646, '_flexible_content_field_0_flex_relationship', 'field_5f4829dc401a8'), +(44977, 7646, 'flexible_content_field_1_flex_title', 'flex title test 2'), +(44978, 7646, '_flexible_content_field_1_flex_title', 'field_5f482998401a3'), +(44979, 7646, 'flexible_content_field_1_flex_image', ''), +(44980, 7646, '_flexible_content_field_1_flex_image', 'field_5f48299d401a4'), +(44981, 7646, 'flexible_content_field_1_flex_repeater', ''), +(44982, 7646, '_flexible_content_field_1_flex_repeater', 'field_5f4829a6401a5'), +(44983, 7646, 'flexible_content_field_1_flex_relationship', ''), +(44984, 7646, '_flexible_content_field_1_flex_relationship', 'field_5f4829dc401a8'), +(44985, 7646, 'repeater_field_0_repeater_flex_0_repeater_flex_title', 'cloned repeater flex title'), +(44986, 7646, '_repeater_field_0_repeater_flex_0_repeater_flex_title', 'field_5f482a05401aa'), +(44987, 7646, 'repeater_field_0_repeater_flex_1_repeater_flex_relationship', 'a:1:{i:0;s:4:\"7646\";}'), +(44988, 7646, '_repeater_field_0_repeater_flex_1_repeater_flex_relationship', 'field_5f482a24401ac'), +(44989, 7646, 'repeater_field_0_repeater_flex', 'a:2:{i:0;s:26:\"repeater_flex_title_layout\";i:1;s:33:\"repeater_flex_relationship_layout\";}'), +(44990, 7646, '_repeater_field_0_repeater_flex', 'field_5f4829ed401a9'), +(44995, 7646, 'repeater_field', '1'), +(44996, 7646, '_repeater_field', 'field_5f47eaf8644c6'), +(44997, 7646, 'clone_field', ''), +(44998, 7646, '_clone_field', 'field_5f47eb4b644c8'), +(45037, 7646, 'flexible_content_field_0_flex_repeater_1_flex_repeater_title', 'flex repeater title test 2'), +(45038, 7646, '_flexible_content_field_0_flex_repeater_1_flex_repeater_title', 'field_5f4829b1401a6'), +(45039, 7646, 'flexible_content_field_0_flex_repeater_1_flex_repeater_relationship', ''), +(45040, 7646, '_flexible_content_field_0_flex_repeater_1_flex_repeater_relationship', 'field_5f4829c7401a7'), +(45311, 7868, '_edit_lock', '1598571524:1'), +(45312, 7868, '__update', '1'), +(45326, 7868, '_edit_last', '1'), +(45327, 7868, 'range_field', '0'), +(45328, 7868, '_range_field', 'field_5f47e967644b1'), +(45329, 7868, 'text_field', ''), +(45330, 7868, '_text_field', 'field_5f47e986644b2'), +(45331, 7868, 'text_area_field', ''), +(45332, 7868, '_text_area_field', 'field_5f47e993644b3'), +(45333, 7868, 'button_group_field', 'button1'), +(45334, 7868, '_button_group_field', 'field_5f47e99f644b4'), +(45335, 7868, 'checkbox_field', ''), +(45336, 7868, '_checkbox_field', 'field_5f47e9c5644b5'), +(45337, 7868, 'radio_button_field', 'radiobutton1'), +(45338, 7868, '_radio_button_field', 'field_5f47e9f3644b6'), +(45339, 7868, 'select_field', 'select1'), +(45340, 7868, '_select_field', 'field_5f47ea12644b7'), +(45341, 7868, 'true_false_field', '0'), +(45342, 7868, '_true_false_field', 'field_5f47ea28644b8'), +(45343, 7868, 'file_field', ''), +(45344, 7868, '_file_field', 'field_5f47ea3f644b9'), +(45345, 7868, 'gallery_field', ''), +(45346, 7868, '_gallery_field', 'field_5f47ea4a644ba'), +(45347, 7868, 'image_field', ''), +(45348, 7868, '_image_field', 'field_5f47ea53644bb'), +(45349, 7868, 'oembed_field', ''), +(45350, 7868, '_oembed_field', 'field_5f47ea5b644bc'), +(45351, 7868, 'wysiwyg_editor_field', ''), +(45352, 7868, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(45353, 7868, 'color_picker_field', ''), +(45354, 7868, '_color_picker_field', 'field_5f47ea75644be'), +(45355, 7868, 'date_picker_field', ''), +(45356, 7868, '_date_picker_field', 'field_5f47ea7f644bf'), +(45357, 7868, 'date_time_picker_field', ''), +(45358, 7868, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(45359, 7868, 'google_map_field', ''), +(45360, 7868, '_google_map_field', 'field_5f47ea9d644c1'), +(45361, 7868, 'time_picker', ''), +(45362, 7868, '_time_picker', 'field_5f47eaa7644c2'), +(45363, 7868, 'flexible_content_field', ''), +(45364, 7868, '_flexible_content_field', 'field_5f47eadf644c4'), +(45365, 7868, 'repeater_field', ''), +(45366, 7868, '_repeater_field', 'field_5f47eaf8644c6'), +(45367, 7868, 'clone_field', ''), +(45368, 7868, '_clone_field', 'field_5f47eb4b644c8'), +(45369, 7868, 'link_field', ''), +(45370, 7868, '_link_field', 'field_5f47eb54644c9'), +(45371, 7868, 'page_link_field', ''), +(45372, 7868, '_page_link_field', 'field_5f47eb5e644ca'), +(45373, 7868, 'post_object_field', ''), +(45374, 7868, '_post_object_field', 'field_5f47eb69644cb'), +(45375, 7868, 'relationship_field', ''), +(45376, 7868, '_relationship_field', 'field_5f47eb74644cc'), +(45377, 7868, 'taxonomy_field', ''), +(45378, 7868, '_taxonomy_field', 'field_5f47edce644cd'), +(45379, 7868, 'user_field', ''), +(45380, 7868, '_user_field', 'field_5f47eddc644ce'), +(45381, 7868, '_yoast_wpseo_opengraph-title', 'my facebook title'), +(45382, 7868, '_yoast_wpseo_opengraph-description', 'my facebook description'), +(45383, 7868, '_yoast_wpseo_opengraph-image', 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/10-2500x1667-1.jpg'), +(45384, 7868, '_yoast_wpseo_opengraph-image-id', '7760'), +(45385, 7868, '_yoast_wpseo_twitter-title', 'My twitter title'), +(45386, 7868, '_yoast_wpseo_twitter-description', 'My twitter description'), +(45387, 7868, '_yoast_wpseo_twitter-image', 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/03/84-1000x1000-1.jpg'), +(45388, 7868, '_yoast_wpseo_twitter-image-id', '362'), +(45389, 7868, '_yoast_wpseo_focuskw', 'My keyphrase'), +(45390, 7868, '_yoast_wpseo_metadesc', 'My meta description'), +(45391, 7868, '_yoast_wpseo_linkdex', '27'), +(45392, 7868, '_yoast_wpseo_content_score', '60'), +(45957, 7956, '_edit_lock', '1600299554:1'), +(45980, 7961, '__update', '1'), +(45993, 79, '__update', '1'), +(46013, 79, '_publicize_job_id', '23508272129'), +(46014, 79, 'timeline_notification', '1540323121'), +(46015, 90, '__update', '1'), +(46035, 90, 'timeline_notification', '1540323506'), +(46036, 90, '_publicize_job_id', '23508454437'), +(46037, 94, '__update', '1'), +(46051, 94, '_publicize_job_id', '23516779222'), +(46052, 94, 'timeline_notification', '1540344816'), +(46055, 95, '_wp_attached_file', '2018/10/aperture-vintage-346923-unsplash-scaled.jpg'), +(46056, 95, '__update', '1'), +(46076, 95, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1707;s:4:\"file\";s:51:\"2018/10/aperture-vintage-346923-unsplash-scaled.jpg\";s:5:\"sizes\";a:8:{s:6:\"medium\";a:4:{s:4:\"file\";s:44:\"aperture-vintage-346923-unsplash-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:45:\"aperture-vintage-346923-unsplash-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:44:\"aperture-vintage-346923-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:44:\"aperture-vintage-346923-unsplash-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:46:\"aperture-vintage-346923-unsplash-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:46:\"aperture-vintage-346923-unsplash-2048x1365.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1365;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:45:\"aperture-vintage-346923-unsplash-1200x800.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:800;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:46:\"aperture-vintage-346923-unsplash-1980x1320.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1320;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:36:\"aperture-vintage-346923-unsplash.jpg\";}'), +(46077, 96, '_wp_attached_file', '2018/10/brandon-siu-608784-unsplash-scaled.jpg'), +(46078, 96, '__update', '1'), +(46098, 96, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1709;s:4:\"file\";s:46:\"2018/10/brandon-siu-608784-unsplash-scaled.jpg\";s:5:\"sizes\";a:7:{s:6:\"medium\";a:4:{s:4:\"file\";s:39:\"brandon-siu-608784-unsplash-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:40:\"brandon-siu-608784-unsplash-1024x684.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:684;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:39:\"brandon-siu-608784-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:39:\"brandon-siu-608784-unsplash-768x513.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:513;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:41:\"brandon-siu-608784-unsplash-1536x1025.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1025;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:41:\"brandon-siu-608784-unsplash-2048x1367.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1367;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:40:\"brandon-siu-608784-unsplash-1200x801.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:801;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:31:\"brandon-siu-608784-unsplash.jpg\";}'), +(46099, 97, '_wp_attached_file', '2018/10/casey-horner-512022-unsplash-scaled.jpg'), +(46100, 97, '__update', '1'); +INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES +(46120, 97, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:1709;s:6:\"height\";i:2560;s:4:\"file\";s:47:\"2018/10/casey-horner-512022-unsplash-scaled.jpg\";s:5:\"sizes\";a:7:{s:6:\"medium\";a:4:{s:4:\"file\";s:40:\"casey-horner-512022-unsplash-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:41:\"casey-horner-512022-unsplash-684x1024.jpg\";s:5:\"width\";i:684;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:40:\"casey-horner-512022-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:41:\"casey-horner-512022-unsplash-768x1150.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:42:\"casey-horner-512022-unsplash-1025x1536.jpg\";s:5:\"width\";i:1025;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:42:\"casey-horner-512022-unsplash-1367x2048.jpg\";s:5:\"width\";i:1367;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:42:\"casey-horner-512022-unsplash-1980x2966.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:2966;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:32:\"casey-horner-512022-unsplash.jpg\";}'), +(46121, 7981, '_wp_attached_file', '2018/10/daniel-leone-197357-unsplash-scaled.jpg'), +(46122, 7981, '__update', '1'), +(46142, 7981, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1619;s:4:\"file\";s:47:\"2018/10/daniel-leone-197357-unsplash-scaled.jpg\";s:5:\"sizes\";a:8:{s:6:\"medium\";a:4:{s:4:\"file\";s:40:\"daniel-leone-197357-unsplash-300x190.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:190;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:41:\"daniel-leone-197357-unsplash-1024x648.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:648;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:40:\"daniel-leone-197357-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:40:\"daniel-leone-197357-unsplash-768x486.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:486;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:41:\"daniel-leone-197357-unsplash-1536x972.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:972;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:42:\"daniel-leone-197357-unsplash-2048x1296.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1296;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:41:\"daniel-leone-197357-unsplash-1200x759.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:759;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:42:\"daniel-leone-197357-unsplash-1980x1253.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1253;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:32:\"daniel-leone-197357-unsplash.jpg\";}'), +(46143, 7985, '_wp_attached_file', '2018/10/daniel-olah-495967-unsplash.jpg'), +(46144, 7985, '__update', '1'), +(46164, 7985, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:1342;s:6:\"height\";i:2300;s:4:\"file\";s:39:\"2018/10/daniel-olah-495967-unsplash.jpg\";s:5:\"sizes\";a:7:{s:6:\"medium\";a:4:{s:4:\"file\";s:39:\"daniel-olah-495967-unsplash-175x300.jpg\";s:5:\"width\";i:175;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:40:\"daniel-olah-495967-unsplash-597x1024.jpg\";s:5:\"width\";i:597;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:39:\"daniel-olah-495967-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:40:\"daniel-olah-495967-unsplash-768x1316.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1316;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:40:\"daniel-olah-495967-unsplash-896x1536.jpg\";s:5:\"width\";i:896;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:41:\"daniel-olah-495967-unsplash-1195x2048.jpg\";s:5:\"width\";i:1195;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:41:\"daniel-olah-495967-unsplash-1200x2057.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:2057;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(46165, 100, '_wp_attached_file', '2018/10/federico-bottos-442265-unsplash-scaled.jpg'), +(46166, 100, '__update', '1'), +(46186, 100, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:1567;s:6:\"height\";i:2560;s:4:\"file\";s:50:\"2018/10/federico-bottos-442265-unsplash-scaled.jpg\";s:5:\"sizes\";a:8:{s:6:\"medium\";a:4:{s:4:\"file\";s:43:\"federico-bottos-442265-unsplash-184x300.jpg\";s:5:\"width\";i:184;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:44:\"federico-bottos-442265-unsplash-627x1024.jpg\";s:5:\"width\";i:627;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:43:\"federico-bottos-442265-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:44:\"federico-bottos-442265-unsplash-768x1254.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1254;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:44:\"federico-bottos-442265-unsplash-940x1536.jpg\";s:5:\"width\";i:940;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:45:\"federico-bottos-442265-unsplash-1254x2048.jpg\";s:5:\"width\";i:1254;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:45:\"federico-bottos-442265-unsplash-1200x1960.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:1960;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:45:\"federico-bottos-442265-unsplash-1980x3234.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:3234;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:35:\"federico-bottos-442265-unsplash.jpg\";}'), +(46187, 101, '_wp_attached_file', '2018/10/jordan-steranka-504707-unsplash-scaled.jpg'), +(46188, 101, '__update', '1'), +(46208, 101, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:1707;s:6:\"height\";i:2560;s:4:\"file\";s:50:\"2018/10/jordan-steranka-504707-unsplash-scaled.jpg\";s:5:\"sizes\";a:7:{s:6:\"medium\";a:4:{s:4:\"file\";s:43:\"jordan-steranka-504707-unsplash-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:44:\"jordan-steranka-504707-unsplash-683x1024.jpg\";s:5:\"width\";i:683;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:43:\"jordan-steranka-504707-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:44:\"jordan-steranka-504707-unsplash-768x1152.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1152;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:45:\"jordan-steranka-504707-unsplash-1024x1536.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:45:\"jordan-steranka-504707-unsplash-1365x2048.jpg\";s:5:\"width\";i:1365;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:45:\"jordan-steranka-504707-unsplash-1980x2970.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:2970;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:35:\"jordan-steranka-504707-unsplash.jpg\";}'), +(46209, 102, '_wp_attached_file', '2018/10/kristopher-roller-110203-unsplash-scaled.jpg'), +(46210, 102, '__update', '1'), +(46230, 102, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1707;s:4:\"file\";s:52:\"2018/10/kristopher-roller-110203-unsplash-scaled.jpg\";s:5:\"sizes\";a:8:{s:6:\"medium\";a:4:{s:4:\"file\";s:45:\"kristopher-roller-110203-unsplash-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:46:\"kristopher-roller-110203-unsplash-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:45:\"kristopher-roller-110203-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:45:\"kristopher-roller-110203-unsplash-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:47:\"kristopher-roller-110203-unsplash-1536x1024.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:47:\"kristopher-roller-110203-unsplash-2048x1365.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1365;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:46:\"kristopher-roller-110203-unsplash-1200x800.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:800;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:47:\"kristopher-roller-110203-unsplash-1980x1320.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1320;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:37:\"kristopher-roller-110203-unsplash.jpg\";}'), +(46231, 103, '_wp_attached_file', '2018/10/zoltan-tasi-482489-unsplash-scaled.jpg'), +(46232, 103, '__update', '1'), +(46252, 103, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1721;s:4:\"file\";s:46:\"2018/10/zoltan-tasi-482489-unsplash-scaled.jpg\";s:5:\"sizes\";a:8:{s:6:\"medium\";a:4:{s:4:\"file\";s:39:\"zoltan-tasi-482489-unsplash-300x202.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:202;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:40:\"zoltan-tasi-482489-unsplash-1024x688.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:688;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:39:\"zoltan-tasi-482489-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:39:\"zoltan-tasi-482489-unsplash-768x516.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:516;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:41:\"zoltan-tasi-482489-unsplash-1536x1033.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1033;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:41:\"zoltan-tasi-482489-unsplash-2048x1377.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1377;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:40:\"zoltan-tasi-482489-unsplash-1200x807.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:807;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:41:\"zoltan-tasi-482489-unsplash-1980x1331.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1331;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:31:\"zoltan-tasi-482489-unsplash.jpg\";}'), +(46253, 104, '_wp_attached_file', '2018/10/wordpress-logotype-standard.pdf'), +(46254, 104, '__update', '1'), +(46274, 104, '_wp_attachment_metadata', 'a:1:{s:5:\"sizes\";a:4:{s:4:\"full\";a:4:{s:4:\"file\";s:35:\"wordpress-logotype-standard-pdf.jpg\";s:5:\"width\";i:2489;s:6:\"height\";i:844;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:43:\"wordpress-logotype-standard-pdf-300x102.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:102;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:44:\"wordpress-logotype-standard-pdf-1024x347.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:347;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:42:\"wordpress-logotype-standard-pdf-150x51.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:51;s:9:\"mime-type\";s:10:\"image/jpeg\";}}}'), +(46275, 114, '__update', '1'), +(46289, 114, '_publicize_job_id', '23546760452'), +(46290, 114, '_oembed_944a224b79e1fa84b1bbff1ef070865d', '{{unknown}}'), +(46291, 116, '__update', '1'), +(46305, 8008, '__update', '1'), +(46312, 8010, '__update', '1'), +(46319, 8012, '__update', '1'), +(46326, 8014, '__update', '1'), +(46333, 8016, '__update', '1'), +(46340, 8018, '__update', '1'), +(46347, 8020, '__update', '1'), +(46354, 8022, '__update', '1'), +(46361, 8024, '__update', '1'), +(46368, 8026, '__update', '1'), +(46375, 8028, '__update', '1'), +(46382, 116, '_oembed_ac8faf3e9c1ecbb1e4a7822e5de0f91c', '{{unknown}}'), +(46383, 116, '_oembed_09b667afb24ec9ee8159aa80c3b91eea', ''), +(46384, 116, '_oembed_time_09b667afb24ec9ee8159aa80c3b91eea', '1540415866'), +(46385, 116, '_oembed_b6c3663b93d47ab8a76c323c6478521e', '{{unknown}}'), +(46386, 116, '_oembed_2be6dce6cba3a8e9ac2270cd0a70e4b6', '{{unknown}}'), +(46387, 116, '_oembed_585f0e6b33d094813de6769120b699be', ''), +(46388, 116, '_oembed_time_585f0e6b33d094813de6769120b699be', '1540414769'), +(46389, 116, '_publicize_job_id', '23547015390'), +(46390, 116, 'timeline_notification', '1540414771'), +(46391, 116, '_oembed_3c0d60710566c1e4af6491a3c6dfca43', ''), +(46392, 116, '_oembed_time_3c0d60710566c1e4af6491a3c6dfca43', '1540414774'), +(46393, 116, '_oembed_7b845488354869099c395911d9bd1655', '{{unknown}}'), +(46394, 116, '_oembed_7c6af4f5175700d48a188793b2f74fb5', '{{unknown}}'), +(46395, 116, '_oembed_842b5f83d01cb7a69c9880ae500b73c8', '{{unknown}}'), +(46396, 116, '_oembed_381b622c458b0a9437acd3dd36c925c4', '{{unknown}}'), +(46397, 116, '_oembed_5ebe65cc777ea63267ad32121292941c', '{{unknown}}'), +(46398, 116, '_oembed_f0778f11ce74ffc6522a583bccc146a2', '{{unknown}}'), +(46399, 116, '_oembed_42ad1a764873a8523a15987e8537948f', '{{unknown}}'), +(46400, 116, '_oembed_eaa8f79bb3124cc87e2397f0851cf910', '{{unknown}}'), +(46401, 116, '_oembed_799daec0c31d2d5636d39928845cf521', '{{unknown}}'), +(46402, 116, '_oembed_e0c7aca4be8e8fdc5476550b7634157d', ''), +(46403, 116, '_oembed_time_e0c7aca4be8e8fdc5476550b7634157d', '1540415032'), +(46404, 116, '_oembed_92ad456289284f38b17c61268815ee2c', '{{unknown}}'), +(46405, 116, '_oembed_4af0f3086bf3e109a84a376031f362a4', '{{unknown}}'), +(46406, 116, '_oembed_73096de60ee1111af117b81cc19dc3b5', '
    '), +(46407, 116, '_oembed_time_73096de60ee1111af117b81cc19dc3b5', '1540415267'), +(46408, 116, '_oembed_6c85e945fbd178b59a7d5a68b63dabfc', '
    '), +(46409, 116, '_oembed_time_6c85e945fbd178b59a7d5a68b63dabfc', '1540415279'), +(46410, 116, '_oembed_6c16740267948b5dd7780d377d3e5539', '
    '), +(46411, 116, '_oembed_time_6c16740267948b5dd7780d377d3e5539', '1540415588'), +(46412, 116, '_oembed_7a740f192c08218f528012a2a4fa7cd1', '
    '), +(46413, 116, '_oembed_cab7d6a86a5df265107ba8f6b4f5e7b8', '
    '), +(46414, 116, '_oembed_02ee719ca306b46a132d9eeb4724ffea', '{{unknown}}'), +(46415, 116, '_oembed_time_cab7d6a86a5df265107ba8f6b4f5e7b8', '1540415869'), +(46416, 116, '_oembed_70670379cae5981e237191ef6f3d112a', '
    '), +(46417, 116, '_oembed_time_70670379cae5981e237191ef6f3d112a', '1540415599'), +(46418, 116, '_oembed_time_7a740f192c08218f528012a2a4fa7cd1', '1540415686'), +(46419, 116, '_oembed_bd941b11d8fc62d43de7e5cefd79f80a', '
    '), +(46420, 116, '_oembed_time_bd941b11d8fc62d43de7e5cefd79f80a', '1540415869'), +(46421, 116, '_oembed_fb03bb0b9c9e7bf69eccd1e749e55745', '
    '), +(46422, 116, '_oembed_time_fb03bb0b9c9e7bf69eccd1e749e55745', '1540415855'), +(46423, 116, '_oembed_1053c82208000bb89f28e5e95da8665b', '
    '), +(46424, 116, '_oembed_time_1053c82208000bb89f28e5e95da8665b', '1540415870'), +(46425, 116, '_oembed_71e166d7c0822457b0612498340d0b3d', '
    '), +(46426, 116, '_oembed_time_71e166d7c0822457b0612498340d0b3d', '1540415898'), +(46427, 116, '_oembed_4a53eca1e78e2adc298e2fe62bc55717', '
    '), +(46428, 116, '_oembed_time_4a53eca1e78e2adc298e2fe62bc55717', '1540415898'), +(46429, 116, '_oembed_7382c3fd719817572fa67b8e8691deaa', '
    '), +(46430, 116, '_oembed_time_7382c3fd719817572fa67b8e8691deaa', '1540416048'), +(46431, 116, '_oembed_691498e19ae415959aa29d81a889d96c', '
    '), +(46432, 116, '_oembed_time_691498e19ae415959aa29d81a889d96c', '1540416057'), +(46433, 116, '_oembed_da7bc35eeaa34cf4d32bb77050420ec0', '
    '), +(46434, 116, '_oembed_time_da7bc35eeaa34cf4d32bb77050420ec0', '1540416058'), +(46435, 116, '_oembed_58be9b34a7dfd60efb4947b3233c90a3', '{{unknown}}'), +(46436, 116, '_oembed_5e2aba341574699c3997438590e4e227', '{{unknown}}'), +(46437, 116, '_oembed_f7f1eaf08ee7b0424f2899abf2d61405', '{{unknown}}'), +(46438, 116, '_oembed_ac13df148e895c701e0a0f84ba57613a', '
    '), +(46439, 116, '_oembed_time_ac13df148e895c701e0a0f84ba57613a', '1540416272'), +(46440, 116, '_oembed_448734004434240474152d48340efb4a', '
    '), +(46441, 116, '_oembed_time_448734004434240474152d48340efb4a', '1540416273'), +(46442, 116, '_oembed_d7bf4411dc209303cb86b6d647bfa528', '
    '), +(46443, 116, '_oembed_time_d7bf4411dc209303cb86b6d647bfa528', '1540416273'), +(46444, 122, '__update', '1'), +(46458, 122, '_publicize_job_id', '23547690444'), +(46459, 122, 'timeline_notification', '1540416266'), +(46460, 125, '__update', '1'), +(46474, 125, '_publicize_job_id', '23547921636'), +(46475, 125, 'timeline_notification', '1540416845'), +(46476, 128, '__update', '1'), +(46490, 128, 'timeline_notification', '1540418076'), +(46491, 128, '_publicize_job_id', '23548395290'), +(46492, 128, '_wp_old_slug', 'gutenberg-layout-page'), +(46534, 116, '_oembed_24f34eb93912978bac579c87fb591102', '
    My dream car. Pagani Zonda
    '), +(46535, 116, '_oembed_time_24f34eb93912978bac579c87fb591102', '1600377204'), +(46536, 116, '_oembed_f6abb0e0c18de769108bddf99ab66f35', '{{unknown}}'), +(46537, 116, '_oembed_c0adb69381ea2dc75081f49420641f6a', 'Tweets by wordpressdotcom'), +(46538, 116, '_oembed_time_c0adb69381ea2dc75081f49420641f6a', '1600377205'), +(46539, 116, '_oembed_f978386b1cda1bf7b1f8918e2b996815', ''), +(46540, 116, '_oembed_time_f978386b1cda1bf7b1f8918e2b996815', '1600377205'), +(46541, 116, '_oembed_a06fa1c80c1b4df7b3d05cbf4d798037', '{{unknown}}'), +(46542, 116, '_oembed_9dab016ba3dc6bedb3135111b973d088', '{{unknown}}'), +(46543, 116, '_oembed_88f6fbeebc867fc4e045e50c5891986f', '{{unknown}}'), +(46544, 116, '_oembed_e88b08fb1989a33bdcd6381971a7fd96', ''), +(46545, 116, '_oembed_time_e88b08fb1989a33bdcd6381971a7fd96', '1600377207'), +(46546, 116, '_oembed_2689431d391b550d5e1ea5c308fab281', ''), +(46547, 116, '_oembed_time_2689431d391b550d5e1ea5c308fab281', '1600377207'), +(46548, 116, '_oembed_93e4fb35ab2d8dcb607a948f5e9a0274', '\"star\"'), +(46549, 116, '_oembed_time_93e4fb35ab2d8dcb607a948f5e9a0274', '1600377208'), +(46550, 116, '_oembed_8413e2f5a1ec2d352aa22e8807b649df', ''), +(46551, 116, '_oembed_time_8413e2f5a1ec2d352aa22e8807b649df', '1600377208'), +(46587, 7956, '_wp_trash_meta_status', 'draft'), +(46588, 7956, '_wp_trash_meta_time', '1600356367'), +(46589, 7956, '_wp_desired_post_slug', ''), +(46591, 94, '_edit_lock', '1602040127:1'), +(46594, 128, '_edit_lock', '1600375745:1'), +(46611, 128, '_edit_last', '1'), +(46626, 128, '_yoast_wpseo_content_score', '90'), +(46627, 125, '_edit_lock', '1600376582:1'), +(46628, 122, '_edit_lock', '1602025482:1'), +(46629, 116, '_edit_lock', '1600377383:1'), +(46632, 114, '_edit_lock', '1600377407:1'), +(46635, 90, '_edit_lock', '1602025760:1'), +(46638, 79, '_edit_lock', '1600377429:1'), +(46659, 125, '_edit_last', '1'), +(46689, 122, '_edit_last', '1'), +(46704, 122, '_yoast_wpseo_content_score', '60'), +(46719, 116, '_edit_last', '1'), +(46734, 116, '_yoast_wpseo_content_score', '60'), +(46749, 114, '_edit_last', '1'), +(46763, 114, '_yoast_wpseo_content_score', '60'), +(46778, 94, '_edit_last', '1'), +(46793, 94, '_yoast_wpseo_content_score', '30'), +(46808, 90, '_edit_last', '1'), +(46822, 90, '_yoast_wpseo_content_score', '60'), +(46837, 79, '_edit_last', '1'), +(46852, 79, '_yoast_wpseo_content_score', '30'), +(47017, 125, '_yoast_wpseo_content_score', '60'), +(49322, 8449, '_wp_attached_file', 'woocommerce-placeholder.png'), +(49323, 8449, '__update', '1'), +(49343, 8449, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:1200;s:6:\"height\";i:1200;s:4:\"file\";s:27:\"woocommerce-placeholder.png\";s:5:\"sizes\";a:4:{s:6:\"medium\";a:4:{s:4:\"file\";s:35:\"woocommerce-placeholder-300x300.png\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:9:\"image/png\";}s:5:\"large\";a:4:{s:4:\"file\";s:37:\"woocommerce-placeholder-1024x1024.png\";s:5:\"width\";i:1024;s:6:\"height\";i:1024;s:9:\"mime-type\";s:9:\"image/png\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:35:\"woocommerce-placeholder-150x150.png\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:9:\"image/png\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:35:\"woocommerce-placeholder-768x768.png\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:9:\"image/png\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(49350, 8454, '__update', '1'), +(49364, 8457, '__update', '1'), +(49378, 8460, '__update', '1'), +(49392, 8463, '__update', '1'), +(49446, 8473, '__update', '1'), +(49453, 8475, '__update', '1'), +(49460, 8475, '_sku', 'woo-vneck-tee'), +(49461, 8475, 'total_sales', '0'), +(49462, 8475, '_tax_status', 'taxable'), +(49463, 8475, '_tax_class', ''), +(49464, 8475, '_manage_stock', 'no'), +(49465, 8475, '_backorders', 'no'), +(49466, 8475, '_sold_individually', 'no'), +(49467, 8475, '_virtual', 'no'), +(49468, 8475, '_downloadable', 'no'), +(49469, 8475, '_download_limit', '0'), +(49470, 8475, '_download_expiry', '0'), +(49471, 8475, '_stock', NULL), +(49472, 8475, '_stock_status', 'instock'), +(49473, 8475, '_wc_average_rating', '0'), +(49474, 8475, '_wc_review_count', '0'), +(49475, 8475, '_product_version', '4.5.2'), +(49477, 8477, '__update', '1'), +(49484, 8477, '_sku', 'woo-hoodie'), +(49485, 8477, 'total_sales', '0'), +(49486, 8477, '_tax_status', 'taxable'), +(49487, 8477, '_tax_class', ''), +(49488, 8477, '_manage_stock', 'no'), +(49489, 8477, '_backorders', 'no'), +(49490, 8477, '_sold_individually', 'no'), +(49491, 8477, '_virtual', 'no'), +(49492, 8477, '_downloadable', 'no'), +(49493, 8477, '_download_limit', '0'), +(49494, 8477, '_download_expiry', '0'), +(49495, 8477, '_stock', NULL), +(49496, 8477, '_stock_status', 'instock'), +(49497, 8477, '_wc_average_rating', '0'), +(49498, 8477, '_wc_review_count', '0'), +(49499, 8477, '_product_version', '4.5.2'), +(49501, 8479, '__update', '1'), +(49508, 8479, '_sku', 'woo-hoodie-with-logo'), +(49509, 8479, 'total_sales', '0'), +(49510, 8479, '_tax_status', 'taxable'), +(49511, 8479, '_tax_class', ''), +(49512, 8479, '_manage_stock', 'no'), +(49513, 8479, '_backorders', 'no'), +(49514, 8479, '_sold_individually', 'no'), +(49515, 8479, '_virtual', 'no'), +(49516, 8479, '_downloadable', 'no'), +(49517, 8479, '_download_limit', '0'), +(49518, 8479, '_download_expiry', '0'), +(49519, 8479, '_stock', NULL), +(49520, 8479, '_stock_status', 'instock'), +(49521, 8479, '_wc_average_rating', '0'), +(49522, 8479, '_wc_review_count', '0'), +(49523, 8479, '_product_version', '4.5.2'), +(49525, 8481, '__update', '1'), +(49532, 8481, '_sku', 'woo-tshirt'), +(49533, 8481, 'total_sales', '0'), +(49534, 8481, '_tax_status', 'taxable'), +(49535, 8481, '_tax_class', ''), +(49536, 8481, '_manage_stock', 'no'), +(49537, 8481, '_backorders', 'no'), +(49538, 8481, '_sold_individually', 'no'), +(49539, 8481, '_virtual', 'no'), +(49540, 8481, '_downloadable', 'no'), +(49541, 8481, '_download_limit', '0'), +(49542, 8481, '_download_expiry', '0'), +(49543, 8481, '_stock', NULL), +(49544, 8481, '_stock_status', 'instock'), +(49545, 8481, '_wc_average_rating', '0'), +(49546, 8481, '_wc_review_count', '0'), +(49547, 8481, '_product_version', '4.5.2'), +(49549, 8483, '__update', '1'), +(49556, 8483, '_sku', 'woo-beanie'), +(49557, 8483, 'total_sales', '0'), +(49558, 8483, '_tax_status', 'taxable'), +(49559, 8483, '_tax_class', ''), +(49560, 8483, '_manage_stock', 'no'), +(49561, 8483, '_backorders', 'no'), +(49562, 8483, '_sold_individually', 'no'), +(49563, 8483, '_virtual', 'no'), +(49564, 8483, '_downloadable', 'no'), +(49565, 8483, '_download_limit', '0'), +(49566, 8483, '_download_expiry', '0'), +(49567, 8483, '_stock', NULL), +(49568, 8483, '_stock_status', 'instock'), +(49569, 8483, '_wc_average_rating', '0'), +(49570, 8483, '_wc_review_count', '0'), +(49571, 8483, '_product_version', '4.5.2'), +(49573, 8485, '__update', '1'), +(49580, 8485, '_sku', 'woo-belt'), +(49581, 8485, 'total_sales', '0'), +(49582, 8485, '_tax_status', 'taxable'), +(49583, 8485, '_tax_class', ''), +(49584, 8485, '_manage_stock', 'no'), +(49585, 8485, '_backorders', 'no'), +(49586, 8485, '_sold_individually', 'no'), +(49587, 8485, '_virtual', 'no'), +(49588, 8485, '_downloadable', 'no'), +(49589, 8485, '_download_limit', '0'), +(49590, 8485, '_download_expiry', '0'), +(49591, 8485, '_stock', NULL), +(49592, 8485, '_stock_status', 'instock'), +(49593, 8485, '_wc_average_rating', '0'), +(49594, 8485, '_wc_review_count', '0'), +(49595, 8485, '_product_version', '4.5.2'), +(49597, 8487, '__update', '1'), +(49604, 8487, '_sku', 'woo-cap'), +(49605, 8487, 'total_sales', '0'), +(49606, 8487, '_tax_status', 'taxable'), +(49607, 8487, '_tax_class', ''), +(49608, 8487, '_manage_stock', 'no'), +(49609, 8487, '_backorders', 'no'), +(49610, 8487, '_sold_individually', 'no'), +(49611, 8487, '_virtual', 'no'), +(49612, 8487, '_downloadable', 'no'), +(49613, 8487, '_download_limit', '0'), +(49614, 8487, '_download_expiry', '0'), +(49615, 8487, '_stock', NULL), +(49616, 8487, '_stock_status', 'instock'), +(49617, 8487, '_wc_average_rating', '0'), +(49618, 8487, '_wc_review_count', '0'), +(49619, 8487, '_product_version', '4.5.2'), +(49621, 8489, '__update', '1'), +(49628, 8489, '_sku', 'woo-sunglasses'), +(49629, 8489, 'total_sales', '0'), +(49630, 8489, '_tax_status', 'taxable'), +(49631, 8489, '_tax_class', ''), +(49632, 8489, '_manage_stock', 'no'), +(49633, 8489, '_backorders', 'no'), +(49634, 8489, '_sold_individually', 'no'), +(49635, 8489, '_virtual', 'no'), +(49636, 8489, '_downloadable', 'no'), +(49637, 8489, '_download_limit', '0'), +(49638, 8489, '_download_expiry', '0'), +(49639, 8489, '_stock', NULL), +(49640, 8489, '_stock_status', 'instock'), +(49641, 8489, '_wc_average_rating', '0'), +(49642, 8489, '_wc_review_count', '0'), +(49643, 8489, '_product_version', '4.5.2'), +(49645, 8491, '__update', '1'), +(49652, 8491, '_sku', 'woo-hoodie-with-pocket'), +(49653, 8491, 'total_sales', '0'), +(49654, 8491, '_tax_status', 'taxable'), +(49655, 8491, '_tax_class', ''), +(49656, 8491, '_manage_stock', 'no'), +(49657, 8491, '_backorders', 'no'), +(49658, 8491, '_sold_individually', 'no'), +(49659, 8491, '_virtual', 'no'), +(49660, 8491, '_downloadable', 'no'), +(49661, 8491, '_download_limit', '0'), +(49662, 8491, '_download_expiry', '0'), +(49663, 8491, '_stock', NULL), +(49664, 8491, '_stock_status', 'instock'), +(49665, 8491, '_wc_average_rating', '0'), +(49666, 8491, '_wc_review_count', '0'), +(49667, 8491, '_product_version', '4.5.2'), +(49669, 8493, '__update', '1'), +(49676, 8493, '_sku', 'woo-hoodie-with-zipper'), +(49677, 8493, 'total_sales', '0'), +(49678, 8493, '_tax_status', 'taxable'), +(49679, 8493, '_tax_class', ''), +(49680, 8493, '_manage_stock', 'no'), +(49681, 8493, '_backorders', 'no'), +(49682, 8493, '_sold_individually', 'no'), +(49683, 8493, '_virtual', 'no'), +(49684, 8493, '_downloadable', 'no'), +(49685, 8493, '_download_limit', '0'), +(49686, 8493, '_download_expiry', '0'), +(49687, 8493, '_stock', NULL), +(49688, 8493, '_stock_status', 'instock'), +(49689, 8493, '_wc_average_rating', '0'), +(49690, 8493, '_wc_review_count', '0'), +(49691, 8493, '_product_version', '4.5.2'), +(49693, 8495, '__update', '1'), +(49700, 8495, '_sku', 'woo-long-sleeve-tee'), +(49701, 8495, 'total_sales', '0'), +(49702, 8495, '_tax_status', 'taxable'), +(49703, 8495, '_tax_class', ''), +(49704, 8495, '_manage_stock', 'no'), +(49705, 8495, '_backorders', 'no'), +(49706, 8495, '_sold_individually', 'no'), +(49707, 8495, '_virtual', 'no'), +(49708, 8495, '_downloadable', 'no'), +(49709, 8495, '_download_limit', '0'), +(49710, 8495, '_download_expiry', '0'), +(49711, 8495, '_stock', NULL), +(49712, 8495, '_stock_status', 'instock'), +(49713, 8495, '_wc_average_rating', '0'), +(49714, 8495, '_wc_review_count', '0'), +(49715, 8495, '_product_version', '4.5.2'), +(49717, 8497, '__update', '1'), +(49724, 8497, '_sku', 'woo-polo'), +(49725, 8497, 'total_sales', '0'), +(49726, 8497, '_tax_status', 'taxable'), +(49727, 8497, '_tax_class', ''), +(49728, 8497, '_manage_stock', 'no'), +(49729, 8497, '_backorders', 'no'), +(49730, 8497, '_sold_individually', 'no'), +(49731, 8497, '_virtual', 'no'), +(49732, 8497, '_downloadable', 'no'), +(49733, 8497, '_download_limit', '0'), +(49734, 8497, '_download_expiry', '0'), +(49735, 8497, '_stock', NULL), +(49736, 8497, '_stock_status', 'instock'), +(49737, 8497, '_wc_average_rating', '0'), +(49738, 8497, '_wc_review_count', '0'), +(49739, 8497, '_product_version', '4.5.2'), +(49741, 8499, '__update', '1'), +(49748, 8499, '_sku', 'woo-album'), +(49749, 8499, 'total_sales', '0'), +(49750, 8499, '_tax_status', 'taxable'), +(49751, 8499, '_tax_class', ''), +(49752, 8499, '_manage_stock', 'no'), +(49753, 8499, '_backorders', 'no'), +(49754, 8499, '_sold_individually', 'no'), +(49755, 8499, '_virtual', 'yes'), +(49756, 8499, '_downloadable', 'yes'), +(49757, 8499, '_download_limit', '1'), +(49758, 8499, '_download_expiry', '1'), +(49759, 8499, '_stock', NULL), +(49760, 8499, '_stock_status', 'instock'), +(49761, 8499, '_wc_average_rating', '0'), +(49762, 8499, '_wc_review_count', '0'), +(49763, 8499, '_product_version', '4.5.2'), +(49765, 8501, '__update', '1'), +(49772, 8501, '_sku', 'woo-single'), +(49773, 8501, 'total_sales', '0'), +(49774, 8501, '_tax_status', 'taxable'), +(49775, 8501, '_tax_class', ''), +(49776, 8501, '_manage_stock', 'no'), +(49777, 8501, '_backorders', 'no'), +(49778, 8501, '_sold_individually', 'no'), +(49779, 8501, '_virtual', 'yes'), +(49780, 8501, '_downloadable', 'yes'), +(49781, 8501, '_download_limit', '1'), +(49782, 8501, '_download_expiry', '1'), +(49783, 8501, '_stock', NULL), +(49784, 8501, '_stock_status', 'instock'), +(49785, 8501, '_wc_average_rating', '0'), +(49786, 8501, '_wc_review_count', '0'), +(49787, 8501, '_product_version', '4.5.2'), +(49789, 8503, '__update', '1'), +(49796, 8503, '_sku', 'woo-vneck-tee-red'), +(49797, 8503, 'total_sales', '0'), +(49798, 8503, '_tax_status', 'taxable'), +(49799, 8503, '_tax_class', ''), +(49800, 8503, '_manage_stock', 'no'), +(49801, 8503, '_backorders', 'no'), +(49802, 8503, '_sold_individually', 'no'), +(49803, 8503, '_virtual', 'no'), +(49804, 8503, '_downloadable', 'no'), +(49805, 8503, '_download_limit', '0'), +(49806, 8503, '_download_expiry', '0'), +(49807, 8503, '_stock', NULL), +(49808, 8503, '_stock_status', 'instock'), +(49809, 8503, '_wc_average_rating', '0'), +(49810, 8503, '_wc_review_count', '0'), +(49811, 8503, '_product_version', '4.5.2'), +(49813, 8505, '__update', '1'), +(49820, 8505, '_sku', 'woo-vneck-tee-green'), +(49821, 8505, 'total_sales', '0'), +(49822, 8505, '_tax_status', 'taxable'), +(49823, 8505, '_tax_class', ''), +(49824, 8505, '_manage_stock', 'no'), +(49825, 8505, '_backorders', 'no'), +(49826, 8505, '_sold_individually', 'no'), +(49827, 8505, '_virtual', 'no'), +(49828, 8505, '_downloadable', 'no'), +(49829, 8505, '_download_limit', '0'), +(49830, 8505, '_download_expiry', '0'), +(49831, 8505, '_stock', NULL), +(49832, 8505, '_stock_status', 'instock'), +(49833, 8505, '_wc_average_rating', '0'), +(49834, 8505, '_wc_review_count', '0'), +(49835, 8505, '_product_version', '4.5.2'), +(49837, 8507, '__update', '1'), +(49844, 8507, '_sku', 'woo-vneck-tee-blue'), +(49845, 8507, 'total_sales', '0'), +(49846, 8507, '_tax_status', 'taxable'), +(49847, 8507, '_tax_class', ''), +(49848, 8507, '_manage_stock', 'no'), +(49849, 8507, '_backorders', 'no'), +(49850, 8507, '_sold_individually', 'no'), +(49851, 8507, '_virtual', 'no'), +(49852, 8507, '_downloadable', 'no'), +(49853, 8507, '_download_limit', '0'), +(49854, 8507, '_download_expiry', '0'), +(49855, 8507, '_stock', NULL), +(49856, 8507, '_stock_status', 'instock'), +(49857, 8507, '_wc_average_rating', '0'), +(49858, 8507, '_wc_review_count', '0'), +(49859, 8507, '_product_version', '4.5.2'), +(49861, 8509, '__update', '1'), +(49868, 8509, '_sku', 'woo-hoodie-red'), +(49869, 8509, 'total_sales', '0'), +(49870, 8509, '_tax_status', 'taxable'), +(49871, 8509, '_tax_class', ''), +(49872, 8509, '_manage_stock', 'no'), +(49873, 8509, '_backorders', 'no'), +(49874, 8509, '_sold_individually', 'no'), +(49875, 8509, '_virtual', 'no'), +(49876, 8509, '_downloadable', 'no'), +(49877, 8509, '_download_limit', '0'), +(49878, 8509, '_download_expiry', '0'), +(49879, 8509, '_stock', NULL), +(49880, 8509, '_stock_status', 'instock'), +(49881, 8509, '_wc_average_rating', '0'), +(49882, 8509, '_wc_review_count', '0'), +(49883, 8509, '_product_version', '4.5.2'), +(49885, 8511, '__update', '1'), +(49892, 8511, '_sku', 'woo-hoodie-green'), +(49893, 8511, 'total_sales', '0'), +(49894, 8511, '_tax_status', 'taxable'), +(49895, 8511, '_tax_class', ''), +(49896, 8511, '_manage_stock', 'no'), +(49897, 8511, '_backorders', 'no'), +(49898, 8511, '_sold_individually', 'no'), +(49899, 8511, '_virtual', 'no'), +(49900, 8511, '_downloadable', 'no'), +(49901, 8511, '_download_limit', '0'), +(49902, 8511, '_download_expiry', '0'), +(49903, 8511, '_stock', NULL), +(49904, 8511, '_stock_status', 'instock'), +(49905, 8511, '_wc_average_rating', '0'), +(49906, 8511, '_wc_review_count', '0'), +(49907, 8511, '_product_version', '4.5.2'), +(49909, 8513, '__update', '1'), +(49916, 8513, '_sku', 'woo-hoodie-blue'), +(49917, 8513, 'total_sales', '0'), +(49918, 8513, '_tax_status', 'taxable'), +(49919, 8513, '_tax_class', ''), +(49920, 8513, '_manage_stock', 'no'), +(49921, 8513, '_backorders', 'no'), +(49922, 8513, '_sold_individually', 'no'), +(49923, 8513, '_virtual', 'no'), +(49924, 8513, '_downloadable', 'no'), +(49925, 8513, '_download_limit', '0'), +(49926, 8513, '_download_expiry', '0'), +(49927, 8513, '_stock', NULL), +(49928, 8513, '_stock_status', 'instock'), +(49929, 8513, '_wc_average_rating', '0'), +(49930, 8513, '_wc_review_count', '0'), +(49931, 8513, '_product_version', '4.5.2'), +(49933, 8515, '__update', '1'), +(49940, 8515, '_sku', 'Woo-tshirt-logo'), +(49941, 8515, 'total_sales', '0'), +(49942, 8515, '_tax_status', 'taxable'), +(49943, 8515, '_tax_class', ''), +(49944, 8515, '_manage_stock', 'no'), +(49945, 8515, '_backorders', 'no'), +(49946, 8515, '_sold_individually', 'no'), +(49947, 8515, '_virtual', 'no'), +(49948, 8515, '_downloadable', 'no'), +(49949, 8515, '_download_limit', '0'), +(49950, 8515, '_download_expiry', '0'), +(49951, 8515, '_stock', NULL), +(49952, 8515, '_stock_status', 'instock'), +(49953, 8515, '_wc_average_rating', '0'), +(49954, 8515, '_wc_review_count', '0'), +(49955, 8515, '_product_version', '4.5.2'), +(49957, 8517, '__update', '1'), +(49964, 8517, '_sku', 'Woo-beanie-logo'), +(49965, 8517, 'total_sales', '0'), +(49966, 8517, '_tax_status', 'taxable'), +(49967, 8517, '_tax_class', ''), +(49968, 8517, '_manage_stock', 'no'), +(49969, 8517, '_backorders', 'no'), +(49970, 8517, '_sold_individually', 'no'), +(49971, 8517, '_virtual', 'no'), +(49972, 8517, '_downloadable', 'no'), +(49973, 8517, '_download_limit', '0'), +(49974, 8517, '_download_expiry', '0'), +(49975, 8517, '_stock', NULL), +(49976, 8517, '_stock_status', 'instock'), +(49977, 8517, '_wc_average_rating', '0'), +(49978, 8517, '_wc_review_count', '0'), +(49979, 8517, '_product_version', '4.5.2'), +(49981, 8519, '__update', '1'), +(49988, 8519, '_sku', 'logo-collection'), +(49989, 8519, 'total_sales', '0'), +(49990, 8519, '_tax_status', 'taxable'), +(49991, 8519, '_tax_class', ''), +(49992, 8519, '_manage_stock', 'no'), +(49993, 8519, '_backorders', 'no'), +(49994, 8519, '_sold_individually', 'no'), +(49995, 8519, '_virtual', 'no'), +(49996, 8519, '_downloadable', 'no'), +(49997, 8519, '_download_limit', '0'), +(49998, 8519, '_download_expiry', '0'), +(49999, 8519, '_stock', NULL), +(50000, 8519, '_stock_status', 'instock'), +(50001, 8519, '_wc_average_rating', '0'), +(50002, 8519, '_wc_review_count', '0'), +(50003, 8519, '_product_version', '4.5.2'), +(50005, 8521, '__update', '1'), +(50012, 8521, '_sku', 'wp-pennant'), +(50013, 8521, 'total_sales', '0'), +(50014, 8521, '_tax_status', 'taxable'), +(50015, 8521, '_tax_class', ''), +(50016, 8521, '_manage_stock', 'no'), +(50017, 8521, '_backorders', 'no'), +(50018, 8521, '_sold_individually', 'no'), +(50019, 8521, '_virtual', 'no'), +(50020, 8521, '_downloadable', 'no'), +(50021, 8521, '_download_limit', '0'), +(50022, 8521, '_download_expiry', '0'), +(50023, 8521, '_stock', NULL), +(50024, 8521, '_stock_status', 'instock'), +(50025, 8521, '_wc_average_rating', '0'), +(50026, 8521, '_wc_review_count', '0'), +(50027, 8521, '_product_version', '4.5.2'), +(50029, 8523, '__update', '1'), +(50036, 8523, '_sku', 'woo-hoodie-blue-logo'), +(50037, 8523, 'total_sales', '0'), +(50038, 8523, '_tax_status', 'taxable'), +(50039, 8523, '_tax_class', ''), +(50040, 8523, '_manage_stock', 'no'), +(50041, 8523, '_backorders', 'no'), +(50042, 8523, '_sold_individually', 'no'), +(50043, 8523, '_virtual', 'no'), +(50044, 8523, '_downloadable', 'no'), +(50045, 8523, '_download_limit', '0'), +(50046, 8523, '_download_expiry', '0'), +(50047, 8523, '_stock', NULL), +(50048, 8523, '_stock_status', 'instock'), +(50049, 8523, '_wc_average_rating', '0'), +(50050, 8523, '_wc_review_count', '0'), +(50051, 8523, '_product_version', '4.5.2'), +(50053, 8525, '_wp_attached_file', '2020/09/vneck-tee-2.jpg'), +(50054, 8525, '__update', '1'), +(50074, 8525, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:800;s:4:\"file\";s:23:\"2020/09/vneck-tee-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:23:\"vneck-tee-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:23:\"vneck-tee-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:23:\"vneck-tee-2-768x767.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:767;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:23:\"vneck-tee-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:23:\"vneck-tee-2-600x599.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:599;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:23:\"vneck-tee-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:23:\"vneck-tee-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:23:\"vneck-tee-2-600x599.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:599;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:23:\"vneck-tee-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50075, 8525, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/vneck-tee-2.jpg'), +(50076, 8529, '_wp_attached_file', '2020/09/vnech-tee-green-1.jpg'), +(50077, 8529, '__update', '1'); +INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES +(50097, 8529, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:29:\"2020/09/vnech-tee-green-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:29:\"vnech-tee-green-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:29:\"vnech-tee-green-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:29:\"vnech-tee-green-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:29:\"vnech-tee-green-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:29:\"vnech-tee-green-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:29:\"vnech-tee-green-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:29:\"vnech-tee-green-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:29:\"vnech-tee-green-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:29:\"vnech-tee-green-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50098, 8529, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/vnech-tee-green-1.jpg'), +(50099, 8533, '_wp_attached_file', '2020/09/vnech-tee-blue-1.jpg'), +(50100, 8533, '__update', '1'), +(50120, 8533, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:28:\"2020/09/vnech-tee-blue-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:28:\"vnech-tee-blue-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:28:\"vnech-tee-blue-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:28:\"vnech-tee-blue-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:28:\"vnech-tee-blue-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:28:\"vnech-tee-blue-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:28:\"vnech-tee-blue-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:28:\"vnech-tee-blue-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:28:\"vnech-tee-blue-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:28:\"vnech-tee-blue-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50121, 8533, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/vnech-tee-blue-1.jpg'), +(50122, 8475, '_wpcom_is_markdown', '1'), +(50123, 8475, '_wp_old_slug', 'import-placeholder-for-44'), +(50124, 8475, '_product_image_gallery', '8529,8533'), +(50125, 8475, '_thumbnail_id', '8525'), +(50126, 8475, '_product_attributes', 'a:2:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"1\";s:11:\"is_taxonomy\";s:1:\"1\";}s:7:\"pa_size\";a:6:{s:4:\"name\";s:7:\"pa_size\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"1\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"1\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50127, 8537, '_wp_attached_file', '2020/09/hoodie-2.jpg'), +(50128, 8537, '__update', '1'), +(50148, 8537, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:801;s:4:\"file\";s:20:\"2020/09/hoodie-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:20:\"hoodie-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:20:\"hoodie-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:20:\"hoodie-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:20:\"hoodie-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:20:\"hoodie-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:20:\"hoodie-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:20:\"hoodie-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:20:\"hoodie-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:20:\"hoodie-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50149, 8537, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/hoodie-2.jpg'), +(50150, 8541, '_wp_attached_file', '2020/09/hoodie-blue-1.jpg'), +(50151, 8541, '__update', '1'), +(50171, 8541, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:25:\"2020/09/hoodie-blue-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:25:\"hoodie-blue-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:25:\"hoodie-blue-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:25:\"hoodie-blue-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:25:\"hoodie-blue-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:25:\"hoodie-blue-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:25:\"hoodie-blue-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:25:\"hoodie-blue-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:25:\"hoodie-blue-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:25:\"hoodie-blue-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50172, 8541, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/hoodie-blue-1.jpg'), +(50173, 8545, '_wp_attached_file', '2020/09/hoodie-green-1.jpg'), +(50174, 8545, '__update', '1'), +(50194, 8545, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:26:\"2020/09/hoodie-green-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:26:\"hoodie-green-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:26:\"hoodie-green-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:26:\"hoodie-green-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:26:\"hoodie-green-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:26:\"hoodie-green-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:26:\"hoodie-green-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:26:\"hoodie-green-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:26:\"hoodie-green-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:26:\"hoodie-green-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50195, 8545, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/hoodie-green-1.jpg'), +(50196, 8549, '_wp_attached_file', '2020/09/hoodie-with-logo-2.jpg'), +(50197, 8549, '__update', '1'), +(50217, 8549, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:801;s:4:\"file\";s:30:\"2020/09/hoodie-with-logo-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:30:\"hoodie-with-logo-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:30:\"hoodie-with-logo-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:30:\"hoodie-with-logo-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:30:\"hoodie-with-logo-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:30:\"hoodie-with-logo-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:30:\"hoodie-with-logo-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:30:\"hoodie-with-logo-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:30:\"hoodie-with-logo-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:30:\"hoodie-with-logo-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50218, 8549, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/hoodie-with-logo-2.jpg'), +(50219, 8477, '_wpcom_is_markdown', '1'), +(50220, 8477, '_wp_old_slug', 'import-placeholder-for-45'), +(50221, 8477, '_product_image_gallery', '8541,8545,8549'), +(50222, 8477, '_thumbnail_id', '8537'), +(50223, 8477, '_product_attributes', 'a:2:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"1\";s:11:\"is_taxonomy\";s:1:\"1\";}s:4:\"logo\";a:6:{s:4:\"name\";s:4:\"Logo\";s:5:\"value\";s:8:\"Yes | No\";s:8:\"position\";s:1:\"1\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"1\";s:11:\"is_taxonomy\";s:1:\"0\";}}'), +(50224, 8479, '_wpcom_is_markdown', '1'), +(50225, 8479, '_wp_old_slug', 'import-placeholder-for-46'), +(50226, 8479, '_regular_price', '45'), +(50227, 8479, '_thumbnail_id', '8549'), +(50228, 8479, '_product_attributes', 'a:1:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"0\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50229, 8479, '_price', '45'), +(50230, 8553, '_wp_attached_file', '2020/09/tshirt-2.jpg'), +(50231, 8553, '__update', '1'), +(50251, 8553, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:801;s:4:\"file\";s:20:\"2020/09/tshirt-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:20:\"tshirt-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:20:\"tshirt-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:20:\"tshirt-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:20:\"tshirt-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:20:\"tshirt-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:20:\"tshirt-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:20:\"tshirt-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:20:\"tshirt-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:20:\"tshirt-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50252, 8553, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/tshirt-2.jpg'), +(50253, 8481, '_wpcom_is_markdown', '1'), +(50254, 8481, '_wp_old_slug', 'import-placeholder-for-47'), +(50255, 8481, '_regular_price', '18'), +(50256, 8481, '_thumbnail_id', '8553'), +(50257, 8481, '_product_attributes', 'a:1:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"0\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50258, 8481, '_price', '18'), +(50259, 8557, '_wp_attached_file', '2020/09/beanie-2.jpg'), +(50260, 8557, '__update', '1'), +(50280, 8557, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:801;s:4:\"file\";s:20:\"2020/09/beanie-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:20:\"beanie-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:20:\"beanie-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:20:\"beanie-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:20:\"beanie-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:20:\"beanie-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:20:\"beanie-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:20:\"beanie-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:20:\"beanie-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:20:\"beanie-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50281, 8557, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/beanie-2.jpg'), +(50282, 8483, '_wpcom_is_markdown', '1'), +(50283, 8483, '_wp_old_slug', 'import-placeholder-for-48'), +(50284, 8483, '_regular_price', '20'), +(50285, 8483, '_sale_price', '18'), +(50286, 8483, '_thumbnail_id', '8557'), +(50287, 8483, '_product_attributes', 'a:1:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"0\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50288, 8483, '_price', '18'), +(50289, 8561, '_wp_attached_file', '2020/09/belt-2.jpg'), +(50290, 8561, '__update', '1'), +(50310, 8561, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:801;s:4:\"file\";s:18:\"2020/09/belt-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:18:\"belt-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:18:\"belt-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:18:\"belt-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:18:\"belt-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:18:\"belt-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:18:\"belt-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:18:\"belt-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:18:\"belt-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:18:\"belt-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50311, 8561, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/belt-2.jpg'), +(50312, 8485, '_wpcom_is_markdown', '1'), +(50313, 8485, '_wp_old_slug', 'import-placeholder-for-58'), +(50314, 8485, '_regular_price', '65'), +(50315, 8485, '_sale_price', '55'), +(50316, 8485, '_thumbnail_id', '8561'), +(50317, 8485, '_price', '55'), +(50318, 8565, '_wp_attached_file', '2020/09/cap-2.jpg'), +(50319, 8565, '__update', '1'), +(50339, 8565, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:801;s:4:\"file\";s:17:\"2020/09/cap-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:17:\"cap-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:17:\"cap-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:17:\"cap-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:17:\"cap-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:17:\"cap-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:17:\"cap-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:17:\"cap-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:17:\"cap-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:17:\"cap-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50340, 8565, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/cap-2.jpg'), +(50341, 8487, '_wpcom_is_markdown', '1'), +(50342, 8487, '_wp_old_slug', 'import-placeholder-for-60'), +(50343, 8487, '_regular_price', '18'), +(50344, 8487, '_sale_price', '16'), +(50345, 8487, '_thumbnail_id', '8565'), +(50346, 8487, '_product_attributes', 'a:1:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"0\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50347, 8487, '_price', '16'), +(50348, 8569, '_wp_attached_file', '2020/09/sunglasses-2.jpg'), +(50349, 8569, '__update', '1'), +(50369, 8569, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:801;s:4:\"file\";s:24:\"2020/09/sunglasses-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:24:\"sunglasses-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:24:\"sunglasses-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:24:\"sunglasses-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:24:\"sunglasses-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:24:\"sunglasses-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:24:\"sunglasses-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:24:\"sunglasses-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:24:\"sunglasses-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:24:\"sunglasses-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50370, 8569, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/sunglasses-2.jpg'), +(50371, 8489, '_wpcom_is_markdown', '1'), +(50372, 8489, '_wp_old_slug', 'import-placeholder-for-62'), +(50373, 8489, '_regular_price', '90'), +(50374, 8489, '_thumbnail_id', '8569'), +(50375, 8489, '_price', '90'), +(50376, 8573, '_wp_attached_file', '2020/09/hoodie-with-pocket-2.jpg'), +(50377, 8573, '__update', '1'), +(50397, 8573, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:801;s:4:\"file\";s:32:\"2020/09/hoodie-with-pocket-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:32:\"hoodie-with-pocket-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:32:\"hoodie-with-pocket-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:32:\"hoodie-with-pocket-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:32:\"hoodie-with-pocket-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:32:\"hoodie-with-pocket-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:32:\"hoodie-with-pocket-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:32:\"hoodie-with-pocket-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:32:\"hoodie-with-pocket-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:32:\"hoodie-with-pocket-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50398, 8573, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/hoodie-with-pocket-2.jpg'), +(50399, 8491, '_wpcom_is_markdown', '1'), +(50400, 8491, '_wp_old_slug', 'import-placeholder-for-64'), +(50401, 8491, '_regular_price', '45'), +(50402, 8491, '_sale_price', '35'), +(50403, 8491, '_thumbnail_id', '8573'), +(50404, 8491, '_product_attributes', 'a:1:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"0\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50405, 8491, '_price', '35'), +(50406, 8577, '_wp_attached_file', '2020/09/hoodie-with-zipper-2.jpg'), +(50407, 8577, '__update', '1'), +(50427, 8577, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:32:\"2020/09/hoodie-with-zipper-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:32:\"hoodie-with-zipper-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:32:\"hoodie-with-zipper-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:32:\"hoodie-with-zipper-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:32:\"hoodie-with-zipper-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:32:\"hoodie-with-zipper-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:32:\"hoodie-with-zipper-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:32:\"hoodie-with-zipper-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:32:\"hoodie-with-zipper-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:32:\"hoodie-with-zipper-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50428, 8577, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/hoodie-with-zipper-2.jpg'), +(50429, 8493, '_wpcom_is_markdown', '1'), +(50430, 8493, '_wp_old_slug', 'import-placeholder-for-66'), +(50431, 8493, '_regular_price', '45'), +(50432, 8493, '_thumbnail_id', '8577'), +(50433, 8493, '_price', '45'), +(50434, 8581, '_wp_attached_file', '2020/09/long-sleeve-tee-2.jpg'), +(50435, 8581, '__update', '1'), +(50455, 8581, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:801;s:4:\"file\";s:29:\"2020/09/long-sleeve-tee-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:29:\"long-sleeve-tee-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:29:\"long-sleeve-tee-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:29:\"long-sleeve-tee-2-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:29:\"long-sleeve-tee-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:29:\"long-sleeve-tee-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:29:\"long-sleeve-tee-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:29:\"long-sleeve-tee-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:29:\"long-sleeve-tee-2-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:29:\"long-sleeve-tee-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50456, 8581, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/long-sleeve-tee-2.jpg'), +(50457, 8495, '_wpcom_is_markdown', '1'), +(50458, 8495, '_wp_old_slug', 'import-placeholder-for-68'), +(50459, 8495, '_regular_price', '25'), +(50460, 8495, '_thumbnail_id', '8581'), +(50461, 8495, '_product_attributes', 'a:1:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"0\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50462, 8495, '_price', '25'), +(50463, 8585, '_wp_attached_file', '2020/09/polo-2.jpg'), +(50464, 8585, '__update', '1'), +(50484, 8585, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:801;s:6:\"height\";i:800;s:4:\"file\";s:18:\"2020/09/polo-2.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:18:\"polo-2-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:18:\"polo-2-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:18:\"polo-2-768x767.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:767;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:18:\"polo-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:18:\"polo-2-600x599.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:599;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:18:\"polo-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:18:\"polo-2-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:18:\"polo-2-600x599.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:599;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:18:\"polo-2-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50485, 8585, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/polo-2.jpg'), +(50486, 8497, '_wpcom_is_markdown', '1'), +(50487, 8497, '_wp_old_slug', 'import-placeholder-for-70'), +(50488, 8497, '_regular_price', '20'), +(50489, 8497, '_thumbnail_id', '8585'), +(50490, 8497, '_product_attributes', 'a:1:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"0\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50491, 8497, '_price', '20'), +(50492, 8589, '_wp_attached_file', '2020/09/album-1.jpg'), +(50493, 8589, '__update', '1'), +(50513, 8589, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:19:\"2020/09/album-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:19:\"album-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:19:\"album-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:19:\"album-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:19:\"album-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:19:\"album-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:19:\"album-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:19:\"album-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:19:\"album-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:19:\"album-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50514, 8589, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/album-1.jpg'), +(50515, 8499, '_wpcom_is_markdown', '1'), +(50516, 8499, '_wp_old_slug', 'import-placeholder-for-73'), +(50517, 8499, '_regular_price', '15'), +(50518, 8499, '_thumbnail_id', '8589'), +(50519, 8499, '_downloadable_files', 'a:2:{s:36:\"c1953006-328f-44e0-a480-844968ae857a\";a:3:{s:2:\"id\";s:36:\"c1953006-328f-44e0-a480-844968ae857a\";s:4:\"name\";s:8:\"Single 1\";s:4:\"file\";s:85:\"https://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2017/08/single.jpg\";}s:36:\"3103181b-dc96-41c2-839d-83a1f6684326\";a:3:{s:2:\"id\";s:36:\"3103181b-dc96-41c2-839d-83a1f6684326\";s:4:\"name\";s:8:\"Single 2\";s:4:\"file\";s:84:\"https://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2017/08/album.jpg\";}}'), +(50520, 8499, '_price', '15'), +(50521, 8593, '_wp_attached_file', '2020/09/single-1.jpg'), +(50522, 8593, '__update', '1'), +(50542, 8593, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:20:\"2020/09/single-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:20:\"single-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:20:\"single-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:20:\"single-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:20:\"single-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:20:\"single-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:20:\"single-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:20:\"single-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:20:\"single-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:20:\"single-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50543, 8593, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/single-1.jpg'), +(50544, 8501, '_wpcom_is_markdown', '1'), +(50545, 8501, '_wp_old_slug', 'import-placeholder-for-75'), +(50546, 8501, '_regular_price', '3'), +(50547, 8501, '_sale_price', '2'), +(50548, 8501, '_thumbnail_id', '8593'), +(50549, 8501, '_downloadable_files', 'a:1:{s:36:\"65608cc3-c4c3-4aaf-bae4-d3086a6d5583\";a:3:{s:2:\"id\";s:36:\"65608cc3-c4c3-4aaf-bae4-d3086a6d5583\";s:4:\"name\";s:6:\"Single\";s:4:\"file\";s:85:\"https://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2017/08/single.jpg\";}}'), +(50550, 8501, '_price', '2'), +(50551, 8503, '_wpcom_is_markdown', ''), +(50552, 8503, '_wp_old_slug', 'import-placeholder-for-76'), +(50553, 8503, '_variation_description', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.'), +(50554, 8503, '_regular_price', '20'), +(50555, 8503, '_thumbnail_id', '8525'), +(50556, 8503, 'attribute_pa_color', 'red'), +(50557, 8503, 'attribute_pa_size', ''), +(50558, 8503, '_price', '20'), +(50559, 8505, '_wpcom_is_markdown', ''), +(50560, 8505, '_wp_old_slug', 'import-placeholder-for-77'), +(50561, 8505, '_variation_description', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.'), +(50562, 8505, '_regular_price', '20'), +(50563, 8505, '_thumbnail_id', '8529'), +(50564, 8505, 'attribute_pa_color', 'green'), +(50565, 8505, 'attribute_pa_size', ''), +(50566, 8505, '_price', '20'), +(50567, 8507, '_wpcom_is_markdown', ''), +(50568, 8507, '_wp_old_slug', 'import-placeholder-for-78'), +(50569, 8507, '_variation_description', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.'), +(50570, 8507, '_regular_price', '15'), +(50571, 8507, '_thumbnail_id', '8533'), +(50572, 8507, 'attribute_pa_color', 'blue'), +(50573, 8507, 'attribute_pa_size', ''), +(50574, 8507, '_price', '15'), +(50575, 8509, '_wpcom_is_markdown', ''), +(50576, 8509, '_wp_old_slug', 'import-placeholder-for-79'), +(50577, 8509, '_variation_description', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.'), +(50578, 8509, '_regular_price', '45'), +(50579, 8509, '_sale_price', '42'), +(50580, 8509, '_thumbnail_id', '8537'), +(50581, 8509, 'attribute_pa_color', 'red'), +(50582, 8509, 'attribute_logo', 'No'), +(50583, 8509, '_price', '42'), +(50584, 8511, '_wpcom_is_markdown', ''), +(50585, 8511, '_wp_old_slug', 'import-placeholder-for-80'), +(50586, 8511, '_variation_description', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.'), +(50587, 8511, '_regular_price', '45'), +(50588, 8511, '_thumbnail_id', '8545'), +(50589, 8511, 'attribute_pa_color', 'green'), +(50590, 8511, 'attribute_logo', 'No'), +(50591, 8511, '_price', '45'), +(50592, 8513, '_wpcom_is_markdown', ''), +(50593, 8513, '_wp_old_slug', 'import-placeholder-for-81'), +(50594, 8513, '_variation_description', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.'), +(50595, 8513, '_regular_price', '45'), +(50596, 8513, '_thumbnail_id', '8541'), +(50597, 8513, 'attribute_pa_color', 'blue'), +(50598, 8513, 'attribute_logo', 'No'), +(50599, 8513, '_price', '45'), +(50600, 8597, '_wp_attached_file', '2020/09/t-shirt-with-logo-1.jpg'), +(50601, 8597, '__update', '1'); +INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES +(50621, 8597, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:31:\"2020/09/t-shirt-with-logo-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:31:\"t-shirt-with-logo-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:31:\"t-shirt-with-logo-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:31:\"t-shirt-with-logo-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:31:\"t-shirt-with-logo-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:31:\"t-shirt-with-logo-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:31:\"t-shirt-with-logo-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:31:\"t-shirt-with-logo-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:31:\"t-shirt-with-logo-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:31:\"t-shirt-with-logo-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50622, 8597, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/t-shirt-with-logo-1.jpg'), +(50623, 8515, '_wpcom_is_markdown', '1'), +(50624, 8515, '_wp_old_slug', 'import-placeholder-for-83'), +(50625, 8515, '_regular_price', '18'), +(50626, 8515, '_thumbnail_id', '8597'), +(50627, 8515, '_product_attributes', 'a:1:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"0\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50628, 8515, '_price', '18'), +(50629, 8601, '_wp_attached_file', '2020/09/beanie-with-logo-1.jpg'), +(50630, 8601, '__update', '1'), +(50650, 8601, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:30:\"2020/09/beanie-with-logo-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:30:\"beanie-with-logo-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:30:\"beanie-with-logo-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:30:\"beanie-with-logo-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:30:\"beanie-with-logo-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:30:\"beanie-with-logo-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:30:\"beanie-with-logo-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:30:\"beanie-with-logo-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:30:\"beanie-with-logo-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:30:\"beanie-with-logo-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50651, 8601, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/beanie-with-logo-1.jpg'), +(50652, 8517, '_wpcom_is_markdown', '1'), +(50653, 8517, '_wp_old_slug', 'import-placeholder-for-85'), +(50654, 8517, '_regular_price', '20'), +(50655, 8517, '_sale_price', '18'), +(50656, 8517, '_thumbnail_id', '8601'), +(50657, 8517, '_product_attributes', 'a:1:{s:8:\"pa_color\";a:6:{s:4:\"name\";s:8:\"pa_color\";s:5:\"value\";s:0:\"\";s:8:\"position\";s:1:\"0\";s:10:\"is_visible\";s:1:\"1\";s:12:\"is_variation\";s:1:\"0\";s:11:\"is_taxonomy\";s:1:\"1\";}}'), +(50658, 8517, '_price', '18'), +(50659, 8605, '_wp_attached_file', '2020/09/logo-1.jpg'), +(50660, 8605, '__update', '1'), +(50680, 8605, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:799;s:4:\"file\";s:18:\"2020/09/logo-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:18:\"logo-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:18:\"logo-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:18:\"logo-1-768x767.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:767;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:18:\"logo-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:18:\"logo-1-600x599.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:599;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:18:\"logo-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:18:\"logo-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:18:\"logo-1-600x599.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:599;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:18:\"logo-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50681, 8605, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/logo-1.jpg'), +(50682, 8519, '_wpcom_is_markdown', '1'), +(50683, 8519, '_wp_old_slug', 'import-placeholder-for-87'), +(50684, 8519, '_children', 'a:3:{i:0;i:8479;i:1;i:8481;i:2;i:8483;}'), +(50685, 8519, '_product_image_gallery', '8601,8597,8549'), +(50686, 8519, '_thumbnail_id', '8605'), +(50687, 8519, '_price', '18'), +(50688, 8519, '_price', '45'), +(50689, 8609, '_wp_attached_file', '2020/09/pennant-1.jpg'), +(50690, 8609, '__update', '1'), +(50710, 8609, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:800;s:6:\"height\";i:800;s:4:\"file\";s:21:\"2020/09/pennant-1.jpg\";s:5:\"sizes\";a:9:{s:6:\"medium\";a:4:{s:4:\"file\";s:21:\"pennant-1-300x300.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:21:\"pennant-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:21:\"pennant-1-768x768.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:768;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:21:\"pennant-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:21:\"pennant-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:21:\"pennant-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:21:\"pennant-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:21:\"pennant-1-600x600.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:600;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:21:\"pennant-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(50711, 8609, '_wc_attachment_source', 'https://woocommercecore.mystagingwebsite.com/wp-content/uploads/2017/12/pennant-1.jpg'), +(50712, 8521, '_wpcom_is_markdown', '1'), +(50713, 8521, '_wp_old_slug', 'import-placeholder-for-89'), +(50714, 8521, '_regular_price', '11.05'), +(50715, 8521, '_thumbnail_id', '8609'), +(50716, 8521, '_product_url', 'https://mercantile.wordpress.org/product/wordpress-pennant/'), +(50717, 8521, '_button_text', 'Buy on the WordPress swag store!'), +(50718, 8521, '_price', '11.05'), +(50719, 8475, '_price', '15'), +(50720, 8475, '_price', '20'), +(50729, 8523, '_wpcom_is_markdown', ''), +(50730, 8523, '_wp_old_slug', 'import-placeholder-for-90'), +(50731, 8523, '_variation_description', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.'), +(50732, 8523, '_regular_price', '45'), +(50733, 8523, '_thumbnail_id', '8549'), +(50734, 8523, 'attribute_pa_color', 'blue'), +(50735, 8523, 'attribute_logo', 'Yes'), +(50736, 8523, '_price', '45'), +(50743, 8477, '_price', '42'), +(50744, 8477, '_price', '45'), +(50942, 8644, '__update', '1'), +(51864, 8521, '_edit_lock', '1600488655:1'), +(52809, 8521, '_edit_last', '1'), +(52823, 8521, '_yoast_wpseo_content_score', '60'), +(53168, 8964, '_edit_lock', '1601944984:1'), +(53171, 8964, '__update', '1'), +(53185, 8964, '_edit_last', '1'), +(53186, 8964, 'range_field', '0'), +(53187, 8964, '_range_field', 'field_5f47e967644b1'), +(53188, 8964, 'text_field', ''), +(53189, 8964, '_text_field', 'field_5f47e986644b2'), +(53190, 8964, 'text_area_field', ''), +(53191, 8964, '_text_area_field', 'field_5f47e993644b3'), +(53192, 8964, 'button_group_field', 'button1'), +(53193, 8964, '_button_group_field', 'field_5f47e99f644b4'), +(53194, 8964, 'checkbox_field', ''), +(53195, 8964, '_checkbox_field', 'field_5f47e9c5644b5'), +(53196, 8964, 'radio_button_field', 'radiobutton1'), +(53197, 8964, '_radio_button_field', 'field_5f47e9f3644b6'), +(53198, 8964, 'select_field', 'select1'), +(53199, 8964, '_select_field', 'field_5f47ea12644b7'), +(53200, 8964, 'true_false_field', '0'), +(53201, 8964, '_true_false_field', 'field_5f47ea28644b8'), +(53202, 8964, 'file_field', ''), +(53203, 8964, '_file_field', 'field_5f47ea3f644b9'), +(53204, 8964, 'gallery_field', ''), +(53205, 8964, '_gallery_field', 'field_5f47ea4a644ba'), +(53206, 8964, 'image_field', ''), +(53207, 8964, '_image_field', 'field_5f47ea53644bb'), +(53208, 8964, 'oembed_field', ''), +(53209, 8964, '_oembed_field', 'field_5f47ea5b644bc'), +(53210, 8964, 'wysiwyg_editor_field', ''), +(53211, 8964, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(53212, 8964, 'color_picker_field', ''), +(53213, 8964, '_color_picker_field', 'field_5f47ea75644be'), +(53214, 8964, 'date_picker_field', ''), +(53215, 8964, '_date_picker_field', 'field_5f47ea7f644bf'), +(53216, 8964, 'date_time_picker_field', ''), +(53217, 8964, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(53218, 8964, 'google_map_field', ''), +(53219, 8964, '_google_map_field', 'field_5f47ea9d644c1'), +(53220, 8964, 'time_picker', ''), +(53221, 8964, '_time_picker', 'field_5f47eaa7644c2'), +(53222, 8964, 'flexible_content_field', ''), +(53223, 8964, '_flexible_content_field', 'field_5f47eadf644c4'), +(53224, 8964, 'repeater_field', ''), +(53225, 8964, '_repeater_field', 'field_5f47eaf8644c6'), +(53226, 8964, 'clone_field', ''), +(53227, 8964, '_clone_field', 'field_5f47eb4b644c8'), +(53228, 8964, 'link_field', ''), +(53229, 8964, '_link_field', 'field_5f47eb54644c9'), +(53230, 8964, 'page_link_field', ''), +(53231, 8964, '_page_link_field', 'field_5f47eb5e644ca'), +(53232, 8964, 'post_object_field', ''), +(53233, 8964, '_post_object_field', 'field_5f47eb69644cb'), +(53234, 8964, 'relationship_field', ''), +(53235, 8964, '_relationship_field', 'field_5f47eb74644cc'), +(53236, 8964, 'taxonomy_field', ''), +(53237, 8964, '_taxonomy_field', 'field_5f47edce644cd'), +(53238, 8964, 'user_field', ''), +(53239, 8964, '_user_field', 'field_5f47eddc644ce'), +(53240, 8964, '_yoast_wpseo_content_score', '30'), +(54508, 2, 'range_field', '0'), +(54509, 2, '_range_field', 'field_5f47e967644b1'), +(54510, 2, 'text_field', ''), +(54511, 2, '_text_field', 'field_5f47e986644b2'), +(54512, 2, 'text_area_field', ''), +(54513, 2, '_text_area_field', 'field_5f47e993644b3'), +(54514, 2, 'button_group_field', 'button1'), +(54515, 2, '_button_group_field', 'field_5f47e99f644b4'), +(54516, 2, 'checkbox_field', ''), +(54517, 2, '_checkbox_field', 'field_5f47e9c5644b5'), +(54518, 2, 'radio_button_field', 'radiobutton1'), +(54519, 2, '_radio_button_field', 'field_5f47e9f3644b6'), +(54520, 2, 'select_field', 'select1'), +(54521, 2, '_select_field', 'field_5f47ea12644b7'), +(54522, 2, 'true_false_field', '0'), +(54523, 2, '_true_false_field', 'field_5f47ea28644b8'), +(54524, 2, 'file_field', ''), +(54525, 2, '_file_field', 'field_5f47ea3f644b9'), +(54526, 2, 'gallery_field', ''), +(54527, 2, '_gallery_field', 'field_5f47ea4a644ba'), +(54528, 2, 'image_field', ''), +(54529, 2, '_image_field', 'field_5f47ea53644bb'), +(54530, 2, 'oembed_field', ''), +(54531, 2, '_oembed_field', 'field_5f47ea5b644bc'), +(54532, 2, 'wysiwyg_editor_field', ''), +(54533, 2, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(54534, 2, 'color_picker_field', ''), +(54535, 2, '_color_picker_field', 'field_5f47ea75644be'), +(54536, 2, 'date_picker_field', ''), +(54537, 2, '_date_picker_field', 'field_5f47ea7f644bf'), +(54538, 2, 'date_time_picker_field', ''), +(54539, 2, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(54540, 2, 'google_map_field', ''), +(54541, 2, '_google_map_field', 'field_5f47ea9d644c1'), +(54542, 2, 'time_picker', ''), +(54543, 2, '_time_picker', 'field_5f47eaa7644c2'), +(54544, 2, 'flexible_content_field', ''), +(54545, 2, '_flexible_content_field', 'field_5f47eadf644c4'), +(54546, 2, 'repeater_field', ''), +(54547, 2, '_repeater_field', 'field_5f47eaf8644c6'), +(54548, 2, 'clone_field', ''), +(54549, 2, '_clone_field', 'field_5f47eb4b644c8'), +(54550, 2, 'link_field', ''), +(54551, 2, '_link_field', 'field_5f47eb54644c9'), +(54552, 2, 'page_link_field', ''), +(54553, 2, '_page_link_field', 'field_5f47eb5e644ca'), +(54554, 2, 'post_object_field', ''), +(54555, 2, '_post_object_field', 'field_5f47eb69644cb'), +(54556, 2, 'relationship_field', ''), +(54557, 2, '_relationship_field', 'field_5f47eb74644cc'), +(54558, 2, 'taxonomy_field', ''), +(54559, 2, '_taxonomy_field', 'field_5f47edce644cd'), +(54560, 2, 'user_field', ''), +(54561, 2, '_user_field', 'field_5f47eddc644ce'), +(54925, 9204, '_wp_attached_file', '2020/09/windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939.jpg'), +(54926, 9204, '__update', '1'), +(54946, 9204, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:1707;s:6:\"height\";i:2560;s:4:\"file\";s:64:\"2020/09/windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939.jpg\";s:5:\"sizes\";a:13:{s:6:\"medium\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:65:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-683x1024.jpg\";s:5:\"width\";i:683;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:65:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-768x1152.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1152;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:66:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-1024x1536.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:66:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-1366x2048.jpg\";s:5:\"width\";i:1366;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:66:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-1200x1800.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:1800;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-1-scaled-e1600819839939-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:34:\"windows-W1N58KDE8r0-unsplash-1.jpg\";}'), +(54947, 9208, '_edit_lock', '1601597226:1'), +(54950, 9210, '_wp_attached_file', '2020/09/windows-W1N58KDE8r0-unsplash-scaled-e1600819062167.jpg'), +(54951, 9210, '__update', '1'), +(54971, 9210, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:2560;s:6:\"height\";i:1708;s:4:\"file\";s:62:\"2020/09/windows-W1N58KDE8r0-unsplash-scaled-e1600819062167.jpg\";s:5:\"sizes\";a:14:{s:6:\"medium\";a:4:{s:4:\"file\";s:62:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-300x200.jpg\";s:5:\"width\";i:300;s:6:\"height\";i:200;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:63:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-1024x683.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:683;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:62:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:62:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-768x512.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:512;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-1536x1025.jpg\";s:5:\"width\";i:1536;s:6:\"height\";i:1025;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-2048x1366.jpg\";s:5:\"width\";i:2048;s:6:\"height\";i:1366;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:64:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-1980x1321.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:1321;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:4:{s:4:\"file\";s:62:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:62:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-600x400.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:400;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:62:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:62:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:62:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-600x400.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:400;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:62:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:63:\"windows-W1N58KDE8r0-unsplash-scaled-e1600819062167-1200x801.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:801;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:32:\"windows-W1N58KDE8r0-unsplash.jpg\";}'), +(54978, 9210, '_wp_attachment_backup_sizes', 'a:14:{s:9:\"full-orig\";a:3:{s:5:\"width\";i:1708;s:6:\"height\";i:2560;s:4:\"file\";s:39:\"windows-W1N58KDE8r0-unsplash-scaled.jpg\";}s:14:\"thumbnail-orig\";a:4:{s:4:\"file\";s:40:\"windows-W1N58KDE8r0-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"medium-orig\";a:4:{s:4:\"file\";s:40:\"windows-W1N58KDE8r0-unsplash-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:17:\"medium_large-orig\";a:4:{s:4:\"file\";s:41:\"windows-W1N58KDE8r0-unsplash-768x1151.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1151;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:10:\"large-orig\";a:4:{s:4:\"file\";s:41:\"windows-W1N58KDE8r0-unsplash-683x1024.jpg\";s:5:\"width\";i:683;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"1536x1536-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1025x1536.jpg\";s:5:\"width\";i:1025;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"2048x2048-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1366x2048.jpg\";s:5:\"width\";i:1366;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:28:\"twentytwenty-fullscreen-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1980x2969.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:2969;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:26:\"woocommerce_thumbnail-orig\";a:5:{s:4:\"file\";s:40:\"windows-W1N58KDE8r0-unsplash-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:23:\"woocommerce_single-orig\";a:4:{s:4:\"file\";s:40:\"windows-W1N58KDE8r0-unsplash-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:34:\"woocommerce_gallery_thumbnail-orig\";a:4:{s:4:\"file\";s:40:\"windows-W1N58KDE8r0-unsplash-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:17:\"shop_catalog-orig\";a:4:{s:4:\"file\";s:40:\"windows-W1N58KDE8r0-unsplash-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:16:\"shop_single-orig\";a:4:{s:4:\"file\";s:40:\"windows-W1N58KDE8r0-unsplash-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:19:\"shop_thumbnail-orig\";a:4:{s:4:\"file\";s:40:\"windows-W1N58KDE8r0-unsplash-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}'), +(54979, 9208, '__update', '1'), +(54993, 9208, '_edit_last', '1'), +(55007, 9208, 'range_field', '0'), +(55008, 9208, '_range_field', 'field_5f47e967644b1'), +(55009, 9208, 'text_field', ''), +(55010, 9208, '_text_field', 'field_5f47e986644b2'), +(55011, 9208, 'text_area_field', ''), +(55012, 9208, '_text_area_field', 'field_5f47e993644b3'), +(55013, 9208, 'button_group_field', 'button1'), +(55014, 9208, '_button_group_field', 'field_5f47e99f644b4'), +(55015, 9208, 'checkbox_field', ''), +(55016, 9208, '_checkbox_field', 'field_5f47e9c5644b5'), +(55017, 9208, 'radio_button_field', 'radiobutton1'), +(55018, 9208, '_radio_button_field', 'field_5f47e9f3644b6'), +(55019, 9208, 'select_field', 'select1'), +(55020, 9208, '_select_field', 'field_5f47ea12644b7'), +(55021, 9208, 'true_false_field', '0'), +(55022, 9208, '_true_false_field', 'field_5f47ea28644b8'), +(55023, 9208, 'file_field', ''), +(55024, 9208, '_file_field', 'field_5f47ea3f644b9'), +(55025, 9208, 'gallery_field', ''), +(55026, 9208, '_gallery_field', 'field_5f47ea4a644ba'), +(55027, 9208, 'image_field', ''), +(55028, 9208, '_image_field', 'field_5f47ea53644bb'), +(55029, 9208, 'oembed_field', ''), +(55030, 9208, '_oembed_field', 'field_5f47ea5b644bc'), +(55031, 9208, 'wysiwyg_editor_field', ''), +(55032, 9208, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(55033, 9208, 'color_picker_field', ''), +(55034, 9208, '_color_picker_field', 'field_5f47ea75644be'), +(55035, 9208, 'date_picker_field', ''), +(55036, 9208, '_date_picker_field', 'field_5f47ea7f644bf'), +(55037, 9208, 'date_time_picker_field', ''), +(55038, 9208, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(55039, 9208, 'google_map_field', ''), +(55040, 9208, '_google_map_field', 'field_5f47ea9d644c1'), +(55041, 9208, 'time_picker', ''), +(55042, 9208, '_time_picker', 'field_5f47eaa7644c2'), +(55043, 9208, 'flexible_content_field', ''), +(55044, 9208, '_flexible_content_field', 'field_5f47eadf644c4'), +(55045, 9208, 'repeater_field', ''), +(55046, 9208, '_repeater_field', 'field_5f47eaf8644c6'), +(55047, 9208, 'clone_field', ''), +(55048, 9208, '_clone_field', 'field_5f47eb4b644c8'), +(55049, 9208, 'link_field', ''), +(55050, 9208, '_link_field', 'field_5f47eb54644c9'), +(55051, 9208, 'page_link_field', ''), +(55052, 9208, '_page_link_field', 'field_5f47eb5e644ca'), +(55053, 9208, 'post_object_field', ''), +(55054, 9208, '_post_object_field', 'field_5f47eb69644cb'), +(55055, 9208, 'relationship_field', ''), +(55056, 9208, '_relationship_field', 'field_5f47eb74644cc'), +(55057, 9208, 'taxonomy_field', ''), +(55058, 9208, '_taxonomy_field', 'field_5f47edce644cd'), +(55059, 9208, 'user_field', ''), +(55060, 9208, '_user_field', 'field_5f47eddc644ce'), +(55061, 9208, '_yoast_wpseo_content_score', '30'), +(55062, 9219, '_edit_lock', '1600825221:1'), +(55065, 9219, '__update', '1'), +(55079, 9219, '_edit_last', '1'), +(55093, 9219, 'range_field', '0'), +(55094, 9219, '_range_field', 'field_5f47e967644b1'), +(55095, 9219, 'text_field', ''), +(55096, 9219, '_text_field', 'field_5f47e986644b2'), +(55097, 9219, 'text_area_field', ''), +(55098, 9219, '_text_area_field', 'field_5f47e993644b3'), +(55099, 9219, 'button_group_field', 'button1'), +(55100, 9219, '_button_group_field', 'field_5f47e99f644b4'), +(55101, 9219, 'checkbox_field', ''), +(55102, 9219, '_checkbox_field', 'field_5f47e9c5644b5'), +(55103, 9219, 'radio_button_field', 'radiobutton1'), +(55104, 9219, '_radio_button_field', 'field_5f47e9f3644b6'), +(55105, 9219, 'select_field', 'select1'), +(55106, 9219, '_select_field', 'field_5f47ea12644b7'), +(55107, 9219, 'true_false_field', '0'), +(55108, 9219, '_true_false_field', 'field_5f47ea28644b8'), +(55109, 9219, 'file_field', ''), +(55110, 9219, '_file_field', 'field_5f47ea3f644b9'), +(55111, 9219, 'gallery_field', ''), +(55112, 9219, '_gallery_field', 'field_5f47ea4a644ba'), +(55113, 9219, 'image_field', ''), +(55114, 9219, '_image_field', 'field_5f47ea53644bb'), +(55115, 9219, 'oembed_field', ''), +(55116, 9219, '_oembed_field', 'field_5f47ea5b644bc'), +(55117, 9219, 'wysiwyg_editor_field', ''), +(55118, 9219, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(55119, 9219, 'color_picker_field', ''), +(55120, 9219, '_color_picker_field', 'field_5f47ea75644be'), +(55121, 9219, 'date_picker_field', ''), +(55122, 9219, '_date_picker_field', 'field_5f47ea7f644bf'), +(55123, 9219, 'date_time_picker_field', ''), +(55124, 9219, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(55125, 9219, 'google_map_field', ''), +(55126, 9219, '_google_map_field', 'field_5f47ea9d644c1'), +(55127, 9219, 'time_picker', ''), +(55128, 9219, '_time_picker', 'field_5f47eaa7644c2'), +(55129, 9219, 'flexible_content_field', ''), +(55130, 9219, '_flexible_content_field', 'field_5f47eadf644c4'), +(55131, 9219, 'repeater_field', ''), +(55132, 9219, '_repeater_field', 'field_5f47eaf8644c6'), +(55133, 9219, 'clone_field', ''), +(55134, 9219, '_clone_field', 'field_5f47eb4b644c8'), +(55135, 9219, 'link_field', ''), +(55136, 9219, '_link_field', 'field_5f47eb54644c9'), +(55137, 9219, 'page_link_field', ''), +(55138, 9219, '_page_link_field', 'field_5f47eb5e644ca'), +(55139, 9219, 'post_object_field', ''), +(55140, 9219, '_post_object_field', 'field_5f47eb69644cb'), +(55141, 9219, 'relationship_field', ''), +(55142, 9219, '_relationship_field', 'field_5f47eb74644cc'), +(55143, 9219, 'taxonomy_field', ''), +(55144, 9219, '_taxonomy_field', 'field_5f47edce644cd'), +(55145, 9219, 'user_field', ''), +(55146, 9219, '_user_field', 'field_5f47eddc644ce'), +(55147, 9219, '_yoast_wpseo_content_score', '30'), +(55154, 9204, '_wp_attachment_backup_sizes', 'a:14:{s:9:\"full-orig\";a:3:{s:5:\"width\";i:1707;s:6:\"height\";i:2560;s:4:\"file\";s:41:\"windows-W1N58KDE8r0-unsplash-1-scaled.jpg\";}s:14:\"thumbnail-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"medium-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:17:\"medium_large-orig\";a:4:{s:4:\"file\";s:43:\"windows-W1N58KDE8r0-unsplash-1-768x1152.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1152;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:10:\"large-orig\";a:4:{s:4:\"file\";s:43:\"windows-W1N58KDE8r0-unsplash-1-683x1024.jpg\";s:5:\"width\";i:683;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"1536x1536-orig\";a:4:{s:4:\"file\";s:44:\"windows-W1N58KDE8r0-unsplash-1-1024x1536.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"2048x2048-orig\";a:4:{s:4:\"file\";s:44:\"windows-W1N58KDE8r0-unsplash-1-1366x2048.jpg\";s:5:\"width\";i:1366;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:19:\"post-thumbnail-orig\";a:4:{s:4:\"file\";s:44:\"windows-W1N58KDE8r0-unsplash-1-1200x1799.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:1799;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:26:\"woocommerce_thumbnail-orig\";a:5:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:23:\"woocommerce_single-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:34:\"woocommerce_gallery_thumbnail-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:17:\"shop_catalog-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:16:\"shop_single-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:19:\"shop_thumbnail-orig\";a:4:{s:4:\"file\";s:42:\"windows-W1N58KDE8r0-unsplash-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}'), +(56086, 9361, '_edit_lock', '1601340148:1'), +(56142, 9361, '__update', '1'), +(56156, 9361, '_edit_last', '1'), +(56158, 9361, '_yoast_wpseo_primary_category', '71'), +(56546, 9431, '_edit_lock', '1600986661:1'), +(56549, 9431, '__update', ''), +(56563, 9431, '_edit_last', '1'), +(56577, 9431, 'range_field', '0'), +(56578, 9431, '_range_field', 'field_5f47e967644b1'), +(56579, 9431, 'text_field', ''), +(56580, 9431, '_text_field', 'field_5f47e986644b2'), +(56581, 9431, 'text_area_field', ''), +(56582, 9431, '_text_area_field', 'field_5f47e993644b3'), +(56583, 9431, 'button_group_field', 'button1'), +(56584, 9431, '_button_group_field', 'field_5f47e99f644b4'), +(56585, 9431, 'checkbox_field', ''), +(56586, 9431, '_checkbox_field', 'field_5f47e9c5644b5'), +(56587, 9431, 'radio_button_field', 'radiobutton1'), +(56588, 9431, '_radio_button_field', 'field_5f47e9f3644b6'), +(56589, 9431, 'select_field', 'select1'), +(56590, 9431, '_select_field', 'field_5f47ea12644b7'), +(56591, 9431, 'true_false_field', '0'), +(56592, 9431, '_true_false_field', 'field_5f47ea28644b8'), +(56593, 9431, 'file_field', ''), +(56594, 9431, '_file_field', 'field_5f47ea3f644b9'), +(56595, 9431, 'gallery_field', ''), +(56596, 9431, '_gallery_field', 'field_5f47ea4a644ba'), +(56597, 9431, 'image_field', ''), +(56598, 9431, '_image_field', 'field_5f47ea53644bb'), +(56599, 9431, 'oembed_field', ''), +(56600, 9431, '_oembed_field', 'field_5f47ea5b644bc'), +(56601, 9431, 'wysiwyg_editor_field', ''), +(56602, 9431, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(56603, 9431, 'color_picker_field', ''), +(56604, 9431, '_color_picker_field', 'field_5f47ea75644be'), +(56605, 9431, 'date_picker_field', ''), +(56606, 9431, '_date_picker_field', 'field_5f47ea7f644bf'), +(56607, 9431, 'date_time_picker_field', ''), +(56608, 9431, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(56609, 9431, 'google_map_field', ''), +(56610, 9431, '_google_map_field', 'field_5f47ea9d644c1'), +(56611, 9431, 'time_picker', ''), +(56612, 9431, '_time_picker', 'field_5f47eaa7644c2'), +(56613, 9431, 'flexible_content_field', ''), +(56614, 9431, '_flexible_content_field', 'field_5f47eadf644c4'), +(56615, 9431, 'repeater_field', ''), +(56616, 9431, '_repeater_field', 'field_5f47eaf8644c6'), +(56617, 9431, 'clone_field', ''), +(56618, 9431, '_clone_field', 'field_5f47eb4b644c8'), +(56619, 9431, 'link_field', ''), +(56620, 9431, '_link_field', 'field_5f47eb54644c9'), +(56621, 9431, 'page_link_field', ''), +(56622, 9431, '_page_link_field', 'field_5f47eb5e644ca'), +(56623, 9431, 'post_object_field', ''), +(56624, 9431, '_post_object_field', 'field_5f47eb69644cb'), +(56625, 9431, 'relationship_field', ''), +(56626, 9431, '_relationship_field', 'field_5f47eb74644cc'), +(56627, 9431, 'taxonomy_field', ''), +(56628, 9431, '_taxonomy_field', 'field_5f47edce644cd'), +(56629, 9431, 'user_field', ''), +(56630, 9431, '_user_field', 'field_5f47eddc644ce'), +(56631, 9431, '_yoast_wpseo_content_score', '30'), +(56632, 9437, '_edit_lock', '1600986670:1'), +(56635, 9439, '_wp_attached_file', '2020/09/karsten-winegeart-9FZ3wIqubzQ-unsplash-scaled.jpg'), +(56636, 9439, '__update', '1'), +(56656, 9439, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:1710;s:6:\"height\";i:2560;s:4:\"file\";s:57:\"2020/09/karsten-winegeart-9FZ3wIqubzQ-unsplash-scaled.jpg\";s:5:\"sizes\";a:14:{s:6:\"medium\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:51:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-684x1024.jpg\";s:5:\"width\";i:684;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:51:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-768x1150.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:52:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-1026x1536.jpg\";s:5:\"width\";i:1026;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:52:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-1368x2048.jpg\";s:5:\"width\";i:1368;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:52:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-1200x1797.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:1797;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:52:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-1980x2964.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:2964;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:50:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-600x898.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:898;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-600x898.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:898;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-9FZ3wIqubzQ-unsplash-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:42:\"karsten-winegeart-9FZ3wIqubzQ-unsplash.jpg\";}'), +(56683, 9437, '__update', ''), +(56697, 9437, '_edit_last', '1'), +(56698, 9437, 'range_field', '0'), +(56699, 9437, '_range_field', 'field_5f47e967644b1'), +(56700, 9437, 'text_field', ''), +(56701, 9437, '_text_field', 'field_5f47e986644b2'), +(56702, 9437, 'text_area_field', ''), +(56703, 9437, '_text_area_field', 'field_5f47e993644b3'), +(56704, 9437, 'button_group_field', 'button1'), +(56705, 9437, '_button_group_field', 'field_5f47e99f644b4'), +(56706, 9437, 'checkbox_field', ''), +(56707, 9437, '_checkbox_field', 'field_5f47e9c5644b5'), +(56708, 9437, 'radio_button_field', 'radiobutton1'), +(56709, 9437, '_radio_button_field', 'field_5f47e9f3644b6'), +(56710, 9437, 'select_field', 'select1'), +(56711, 9437, '_select_field', 'field_5f47ea12644b7'), +(56712, 9437, 'true_false_field', '0'), +(56713, 9437, '_true_false_field', 'field_5f47ea28644b8'), +(56714, 9437, 'file_field', ''), +(56715, 9437, '_file_field', 'field_5f47ea3f644b9'), +(56716, 9437, 'gallery_field', ''), +(56717, 9437, '_gallery_field', 'field_5f47ea4a644ba'), +(56718, 9437, 'image_field', ''), +(56719, 9437, '_image_field', 'field_5f47ea53644bb'), +(56720, 9437, 'oembed_field', ''), +(56721, 9437, '_oembed_field', 'field_5f47ea5b644bc'), +(56722, 9437, 'wysiwyg_editor_field', ''), +(56723, 9437, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(56724, 9437, 'color_picker_field', ''), +(56725, 9437, '_color_picker_field', 'field_5f47ea75644be'), +(56726, 9437, 'date_picker_field', ''), +(56727, 9437, '_date_picker_field', 'field_5f47ea7f644bf'), +(56728, 9437, 'date_time_picker_field', ''), +(56729, 9437, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(56730, 9437, 'google_map_field', ''), +(56731, 9437, '_google_map_field', 'field_5f47ea9d644c1'), +(56732, 9437, 'time_picker', ''), +(56733, 9437, '_time_picker', 'field_5f47eaa7644c2'), +(56734, 9437, 'flexible_content_field', ''), +(56735, 9437, '_flexible_content_field', 'field_5f47eadf644c4'), +(56736, 9437, 'repeater_field', ''), +(56737, 9437, '_repeater_field', 'field_5f47eaf8644c6'), +(56738, 9437, 'clone_field', ''), +(56739, 9437, '_clone_field', 'field_5f47eb4b644c8'), +(56740, 9437, 'link_field', ''), +(56741, 9437, '_link_field', 'field_5f47eb54644c9'), +(56742, 9437, 'page_link_field', ''), +(56743, 9437, '_page_link_field', 'field_5f47eb5e644ca'), +(56744, 9437, 'post_object_field', ''), +(56745, 9437, '_post_object_field', 'field_5f47eb69644cb'), +(56746, 9437, 'relationship_field', ''), +(56747, 9437, '_relationship_field', 'field_5f47eb74644cc'), +(56748, 9437, 'taxonomy_field', ''), +(56749, 9437, '_taxonomy_field', 'field_5f47edce644cd'), +(56750, 9437, 'user_field', ''), +(56751, 9437, '_user_field', 'field_5f47eddc644ce'), +(56752, 9437, '_yoast_wpseo_content_score', '30'), +(56779, 9431, '_wp_trash_meta_status', 'publish'), +(56780, 9431, '_wp_trash_meta_time', '1600986804'), +(56781, 9431, '_wp_desired_post_slug', 'image-1-full-size'), +(56795, 9437, '_wp_trash_meta_status', 'publish'), +(56796, 9437, '_wp_trash_meta_time', '1600986804'), +(56797, 9437, '_wp_desired_post_slug', 'image-1-medium-size'), +(57873, 9620, '_edit_lock', '1601075274:1'), +(57898, 9620, '__update', '1'), +(57912, 9620, '_edit_last', '1'), +(57926, 9620, 'range_field', '0'), +(57927, 9620, '_range_field', 'field_5f47e967644b1'), +(57928, 9620, 'text_field', ''), +(57929, 9620, '_text_field', 'field_5f47e986644b2'), +(57930, 9620, 'text_area_field', ''), +(57931, 9620, '_text_area_field', 'field_5f47e993644b3'), +(57932, 9620, 'button_group_field', 'button1'), +(57933, 9620, '_button_group_field', 'field_5f47e99f644b4'), +(57934, 9620, 'checkbox_field', ''), +(57935, 9620, '_checkbox_field', 'field_5f47e9c5644b5'), +(57936, 9620, 'radio_button_field', 'radiobutton1'), +(57937, 9620, '_radio_button_field', 'field_5f47e9f3644b6'), +(57938, 9620, 'select_field', 'select1'), +(57939, 9620, '_select_field', 'field_5f47ea12644b7'), +(57940, 9620, 'true_false_field', '0'), +(57941, 9620, '_true_false_field', 'field_5f47ea28644b8'), +(57942, 9620, 'file_field', ''), +(57943, 9620, '_file_field', 'field_5f47ea3f644b9'), +(57944, 9620, 'gallery_field', ''), +(57945, 9620, '_gallery_field', 'field_5f47ea4a644ba'), +(57946, 9620, 'image_field', '9722'), +(57947, 9620, '_image_field', 'field_5f47ea53644bb'), +(57948, 9620, 'oembed_field', ''), +(57949, 9620, '_oembed_field', 'field_5f47ea5b644bc'), +(57950, 9620, 'wysiwyg_editor_field', ''), +(57951, 9620, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(57952, 9620, 'color_picker_field', ''), +(57953, 9620, '_color_picker_field', 'field_5f47ea75644be'), +(57954, 9620, 'date_picker_field', ''), +(57955, 9620, '_date_picker_field', 'field_5f47ea7f644bf'), +(57956, 9620, 'date_time_picker_field', ''), +(57957, 9620, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(57958, 9620, 'google_map_field', ''), +(57959, 9620, '_google_map_field', 'field_5f47ea9d644c1'), +(57960, 9620, 'time_picker', ''), +(57961, 9620, '_time_picker', 'field_5f47eaa7644c2'), +(57962, 9620, 'flexible_content_field', ''), +(57963, 9620, '_flexible_content_field', 'field_5f47eadf644c4'), +(57964, 9620, 'repeater_field', ''), +(57965, 9620, '_repeater_field', 'field_5f47eaf8644c6'), +(57966, 9620, 'clone_field', ''), +(57967, 9620, '_clone_field', 'field_5f47eb4b644c8'), +(57968, 9620, 'link_field', ''), +(57969, 9620, '_link_field', 'field_5f47eb54644c9'), +(57970, 9620, 'page_link_field', ''), +(57971, 9620, '_page_link_field', 'field_5f47eb5e644ca'), +(57972, 9620, 'post_object_field', ''), +(57973, 9620, '_post_object_field', 'field_5f47eb69644cb'), +(57974, 9620, 'relationship_field', ''), +(57975, 9620, '_relationship_field', 'field_5f47eb74644cc'), +(57976, 9620, 'taxonomy_field', ''), +(57977, 9620, '_taxonomy_field', 'field_5f47edce644cd'), +(57978, 9620, 'user_field', ''), +(57979, 9620, '_user_field', 'field_5f47eddc644ce'), +(57980, 9620, '_yoast_wpseo_content_score', '30'), +(58007, 9634, '_edit_lock', '1601073662:1'), +(58008, 9634, '__update', '1'), +(58022, 9634, '_edit_last', '1'), +(58036, 9634, 'range_field', '0'), +(58037, 9634, '_range_field', 'field_5f47e967644b1'), +(58038, 9634, 'text_field', ''), +(58039, 9634, '_text_field', 'field_5f47e986644b2'), +(58040, 9634, 'text_area_field', ''), +(58041, 9634, '_text_area_field', 'field_5f47e993644b3'), +(58042, 9634, 'button_group_field', 'button1'), +(58043, 9634, '_button_group_field', 'field_5f47e99f644b4'), +(58044, 9634, 'checkbox_field', ''), +(58045, 9634, '_checkbox_field', 'field_5f47e9c5644b5'), +(58046, 9634, 'radio_button_field', 'radiobutton1'), +(58047, 9634, '_radio_button_field', 'field_5f47e9f3644b6'), +(58048, 9634, 'select_field', 'select1'), +(58049, 9634, '_select_field', 'field_5f47ea12644b7'), +(58050, 9634, 'true_false_field', '0'), +(58051, 9634, '_true_false_field', 'field_5f47ea28644b8'), +(58052, 9634, 'file_field', ''), +(58053, 9634, '_file_field', 'field_5f47ea3f644b9'), +(58054, 9634, 'gallery_field', ''), +(58055, 9634, '_gallery_field', 'field_5f47ea4a644ba'), +(58056, 9634, 'image_field', ''), +(58057, 9634, '_image_field', 'field_5f47ea53644bb'), +(58058, 9634, 'oembed_field', ''), +(58059, 9634, '_oembed_field', 'field_5f47ea5b644bc'), +(58060, 9634, 'wysiwyg_editor_field', ''), +(58061, 9634, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(58062, 9634, 'color_picker_field', ''), +(58063, 9634, '_color_picker_field', 'field_5f47ea75644be'), +(58064, 9634, 'date_picker_field', ''), +(58065, 9634, '_date_picker_field', 'field_5f47ea7f644bf'), +(58066, 9634, 'date_time_picker_field', ''), +(58067, 9634, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(58068, 9634, 'google_map_field', ''), +(58069, 9634, '_google_map_field', 'field_5f47ea9d644c1'), +(58070, 9634, 'time_picker', ''), +(58071, 9634, '_time_picker', 'field_5f47eaa7644c2'), +(58072, 9634, 'flexible_content_field', ''), +(58073, 9634, '_flexible_content_field', 'field_5f47eadf644c4'), +(58074, 9634, 'repeater_field', ''), +(58075, 9634, '_repeater_field', 'field_5f47eaf8644c6'), +(58076, 9634, 'clone_field', ''), +(58077, 9634, '_clone_field', 'field_5f47eb4b644c8'), +(58078, 9634, 'link_field', ''), +(58079, 9634, '_link_field', 'field_5f47eb54644c9'), +(58080, 9634, 'page_link_field', ''), +(58081, 9634, '_page_link_field', 'field_5f47eb5e644ca'), +(58082, 9634, 'post_object_field', ''), +(58083, 9634, '_post_object_field', 'field_5f47eb69644cb'), +(58084, 9634, 'relationship_field', ''), +(58085, 9634, '_relationship_field', 'field_5f47eb74644cc'), +(58086, 9634, 'taxonomy_field', ''), +(58087, 9634, '_taxonomy_field', 'field_5f47edce644cd'), +(58088, 9634, 'user_field', ''), +(58089, 9634, '_user_field', 'field_5f47eddc644ce'), +(58090, 9634, '_yoast_wpseo_content_score', '30'), +(58158, 9646, 'range_field', '0'), +(58159, 9646, 'text_field', ''), +(58160, 9646, 'text_area_field', ''), +(58161, 9646, 'button_group_field', 'button1'), +(58162, 9646, 'checkbox_field', ''), +(58163, 9646, 'radio_button_field', 'radiobutton1'), +(58164, 9646, 'select_field', 'select1'), +(58165, 9646, 'true_false_field', '0'), +(58166, 9646, 'file_field', ''), +(58167, 9646, 'gallery_field', ''), +(58168, 9646, 'image_field', ''), +(58169, 9646, 'oembed_field', ''), +(58170, 9646, 'wysiwyg_editor_field', ''), +(58171, 9646, 'color_picker_field', ''), +(58172, 9646, 'date_picker_field', ''), +(58173, 9646, 'date_time_picker_field', ''), +(58174, 9646, 'google_map_field', ''), +(58175, 9646, 'time_picker', ''), +(58176, 9646, 'flexible_content_field', ''), +(58177, 9646, 'repeater_field', ''), +(58178, 9646, 'clone_field', ''), +(58179, 9646, 'link_field', ''), +(58180, 9646, 'page_link_field', ''), +(58181, 9646, 'post_object_field', ''), +(58182, 9646, 'relationship_field', ''), +(58183, 9646, 'taxonomy_field', ''), +(58184, 9646, 'user_field', ''), +(58185, 9646, '_edit_lock', '1601073659:1'), +(58186, 9646, '__update', '1'), +(58200, 9646, '_edit_last', '1'), +(58214, 9646, '_range_field', 'field_5f47e967644b1'), +(58215, 9646, '_text_field', 'field_5f47e986644b2'), +(58216, 9646, '_text_area_field', 'field_5f47e993644b3'), +(58217, 9646, '_button_group_field', 'field_5f47e99f644b4'), +(58218, 9646, '_checkbox_field', 'field_5f47e9c5644b5'), +(58219, 9646, '_radio_button_field', 'field_5f47e9f3644b6'), +(58220, 9646, '_select_field', 'field_5f47ea12644b7'), +(58221, 9646, '_true_false_field', 'field_5f47ea28644b8'), +(58222, 9646, '_file_field', 'field_5f47ea3f644b9'), +(58223, 9646, '_gallery_field', 'field_5f47ea4a644ba'), +(58224, 9646, '_image_field', 'field_5f47ea53644bb'), +(58225, 9646, '_oembed_field', 'field_5f47ea5b644bc'), +(58226, 9646, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(58227, 9646, '_color_picker_field', 'field_5f47ea75644be'), +(58228, 9646, '_date_picker_field', 'field_5f47ea7f644bf'), +(58229, 9646, '_date_time_picker_field', 'field_5f47ea8b644c0'); +INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES +(58230, 9646, '_google_map_field', 'field_5f47ea9d644c1'), +(58231, 9646, '_time_picker', 'field_5f47eaa7644c2'), +(58232, 9646, '_flexible_content_field', 'field_5f47eadf644c4'), +(58233, 9646, '_repeater_field', 'field_5f47eaf8644c6'), +(58234, 9646, '_clone_field', 'field_5f47eb4b644c8'), +(58235, 9646, '_link_field', 'field_5f47eb54644c9'), +(58236, 9646, '_page_link_field', 'field_5f47eb5e644ca'), +(58237, 9646, '_post_object_field', 'field_5f47eb69644cb'), +(58238, 9646, '_relationship_field', 'field_5f47eb74644cc'), +(58239, 9646, '_taxonomy_field', 'field_5f47edce644cd'), +(58240, 9646, '_user_field', 'field_5f47eddc644ce'), +(58241, 9646, '_yoast_wpseo_content_score', '30'), +(58680, 9620, '_wp_page_template', 'default'), +(58694, 9634, '_wp_page_template', 'default'), +(58708, 9646, '_wp_page_template', 'default'), +(58728, 9722, '_wp_attached_file', '2020/09/imagename-300x163-1-scaled.jpg'), +(58729, 9722, '__update', '1'), +(58749, 9722, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:1989;s:6:\"height\";i:2560;s:4:\"file\";s:38:\"2020/09/imagename-300x163-1-scaled.jpg\";s:5:\"sizes\";a:14:{s:6:\"medium\";a:4:{s:4:\"file\";s:31:\"imagename-300x163-1-233x300.jpg\";s:5:\"width\";i:233;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:32:\"imagename-300x163-1-796x1024.jpg\";s:5:\"width\";i:796;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:31:\"imagename-300x163-1-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:31:\"imagename-300x163-1-768x988.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:988;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:33:\"imagename-300x163-1-1193x1536.jpg\";s:5:\"width\";i:1193;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:33:\"imagename-300x163-1-1591x2048.jpg\";s:5:\"width\";i:1591;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:33:\"imagename-300x163-1-1200x1544.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:1544;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:33:\"imagename-300x163-1-1980x2548.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:2548;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:31:\"imagename-300x163-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:31:\"imagename-300x163-1-600x772.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:772;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:31:\"imagename-300x163-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:31:\"imagename-300x163-1-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:31:\"imagename-300x163-1-600x772.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:772;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:31:\"imagename-300x163-1-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:23:\"imagename-300x163-1.jpg\";}'), +(59392, 9818, '_edit_lock', '1601330398:1'), +(59417, 9818, '__update', '1'), +(59431, 9818, '_edit_last', '1'), +(59432, 9818, 'range_field', '0'), +(59433, 9818, '_range_field', 'field_5f47e967644b1'), +(59434, 9818, 'text_field', ''), +(59435, 9818, '_text_field', 'field_5f47e986644b2'), +(59436, 9818, 'text_area_field', ''), +(59437, 9818, '_text_area_field', 'field_5f47e993644b3'), +(59438, 9818, 'button_group_field', 'button1'), +(59439, 9818, '_button_group_field', 'field_5f47e99f644b4'), +(59440, 9818, 'checkbox_field', ''), +(59441, 9818, '_checkbox_field', 'field_5f47e9c5644b5'), +(59442, 9818, 'radio_button_field', 'radiobutton1'), +(59443, 9818, '_radio_button_field', 'field_5f47e9f3644b6'), +(59444, 9818, 'select_field', 'select1'), +(59445, 9818, '_select_field', 'field_5f47ea12644b7'), +(59446, 9818, 'true_false_field', '0'), +(59447, 9818, '_true_false_field', 'field_5f47ea28644b8'), +(59448, 9818, 'file_field', ''), +(59449, 9818, '_file_field', 'field_5f47ea3f644b9'), +(59450, 9818, 'gallery_field', ''), +(59451, 9818, '_gallery_field', 'field_5f47ea4a644ba'), +(59452, 9818, 'image_field', ''), +(59453, 9818, '_image_field', 'field_5f47ea53644bb'), +(59454, 9818, 'oembed_field', ''), +(59455, 9818, '_oembed_field', 'field_5f47ea5b644bc'), +(59456, 9818, 'wysiwyg_editor_field', ''), +(59457, 9818, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(59458, 9818, 'color_picker_field', ''), +(59459, 9818, '_color_picker_field', 'field_5f47ea75644be'), +(59460, 9818, 'date_picker_field', ''), +(59461, 9818, '_date_picker_field', 'field_5f47ea7f644bf'), +(59462, 9818, 'date_time_picker_field', ''), +(59463, 9818, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(59464, 9818, 'google_map_field', ''), +(59465, 9818, '_google_map_field', 'field_5f47ea9d644c1'), +(59466, 9818, 'time_picker', ''), +(59467, 9818, '_time_picker', 'field_5f47eaa7644c2'), +(59468, 9818, 'flexible_content_field', ''), +(59469, 9818, '_flexible_content_field', 'field_5f47eadf644c4'), +(59470, 9818, 'repeater_field', ''), +(59471, 9818, '_repeater_field', 'field_5f47eaf8644c6'), +(59472, 9818, 'clone_field', ''), +(59473, 9818, '_clone_field', 'field_5f47eb4b644c8'), +(59474, 9818, 'link_field', ''), +(59475, 9818, '_link_field', 'field_5f47eb54644c9'), +(59476, 9818, 'page_link_field', ''), +(59477, 9818, '_page_link_field', 'field_5f47eb5e644ca'), +(59478, 9818, 'post_object_field', ''), +(59479, 9818, '_post_object_field', 'field_5f47eb69644cb'), +(59480, 9818, 'relationship_field', ''), +(59481, 9818, '_relationship_field', 'field_5f47eb74644cc'), +(59482, 9818, 'taxonomy_field', ''), +(59483, 9818, '_taxonomy_field', 'field_5f47edce644cd'), +(59484, 9818, 'user_field', ''), +(59485, 9818, '_user_field', 'field_5f47eddc644ce'), +(59486, 9818, '_yoast_wpseo_content_score', '30'), +(59493, 9827, '_wp_attached_file', '2020/09/5642fae96ade14100be5-scaled.jpg'), +(59494, 9827, '__update', '1'), +(59514, 9827, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:1706;s:6:\"height\";i:2560;s:4:\"file\";s:39:\"2020/09/5642fae96ade14100be5-scaled.jpg\";s:5:\"sizes\";a:14:{s:6:\"medium\";a:4:{s:4:\"file\";s:32:\"5642fae96ade14100be5-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:33:\"5642fae96ade14100be5-683x1024.jpg\";s:5:\"width\";i:683;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:32:\"5642fae96ade14100be5-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:33:\"5642fae96ade14100be5-768x1152.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1152;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:34:\"5642fae96ade14100be5-1024x1536.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:34:\"5642fae96ade14100be5-1365x2048.jpg\";s:5:\"width\";i:1365;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:34:\"5642fae96ade14100be5-1200x1800.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:1800;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:34:\"5642fae96ade14100be5-1980x2970.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:2970;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:32:\"5642fae96ade14100be5-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:32:\"5642fae96ade14100be5-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:32:\"5642fae96ade14100be5-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:32:\"5642fae96ade14100be5-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:32:\"5642fae96ade14100be5-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:32:\"5642fae96ade14100be5-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:24:\"5642fae96ade14100be5.jpg\";}'), +(61034, 10050, '_edit_lock', '1601340469:1'), +(61035, 10050, '_edit_last', '1'), +(61036, 10050, '_yoast_wpseo_primary_category', '23'), +(61247, 10081, '_edit_lock', '1601493540:1'), +(61249, 10081, '__update', ''), +(61263, 10081, '_edit_last', '1'), +(61278, 10081, '_yoast_wpseo_primary_category', '23'), +(61279, 10081, '_yoast_wpseo_content_score', '60'), +(61349, 10081, '_encloseme', '1'), +(61363, 10081, '_wp_trash_meta_status', 'publish'), +(61364, 10081, '_wp_trash_meta_time', '1601493539'), +(61365, 10081, '_wp_desired_post_slug', 'beforechangenode-test'), +(62836, 10311, '_edit_lock', '1601601002:1'), +(62837, 10311, '_edit_last', '1'), +(62838, 10311, '__update', '1'), +(62845, 10313, '__update', '1'), +(62852, 10315, '_edit_lock', '1601601418:1'), +(62855, 10315, '__update', '1'), +(62869, 10315, '_edit_last', '1'), +(62870, 10315, 'test_field', 'test field value'), +(62871, 10315, '_test_field', 'field_5f767e4432e14'), +(63552, 10424, '__update', '1'), +(63559, 10426, '__update', '1'), +(63566, 10428, '__update', '1'), +(63573, 10430, '__update', '1'), +(63622, 10439, '_wp_attached_file', '2020/10/sample.pdf'), +(63623, 10439, '__update', '1'), +(63656, 10439, '_wp_attachment_metadata', 'a:1:{s:5:\"sizes\";a:4:{s:4:\"full\";a:4:{s:4:\"file\";s:14:\"sample-pdf.jpg\";s:5:\"width\";i:1088;s:6:\"height\";i:1408;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:6:\"medium\";a:4:{s:4:\"file\";s:22:\"sample-pdf-232x300.jpg\";s:5:\"width\";i:232;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:23:\"sample-pdf-791x1024.jpg\";s:5:\"width\";i:791;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:22:\"sample-pdf-116x150.jpg\";s:5:\"width\";i:116;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}}}'), +(63657, 10445, '_wp_attached_file', '2020/10/sample.doc'), +(63658, 10445, '__update', '1'), +(63678, 10449, '_wp_attached_file', '2020/10/sample-mp4-file.mp4'), +(63679, 10449, '__update', '1'), +(63699, 10449, '_wp_attachment_metadata', 'a:10:{s:8:\"filesize\";i:10546620;s:9:\"mime_type\";s:9:\"video/mp4\";s:6:\"length\";i:126;s:16:\"length_formatted\";s:4:\"2:06\";s:5:\"width\";i:320;s:6:\"height\";i:240;s:10:\"fileformat\";s:3:\"mp4\";s:10:\"dataformat\";s:9:\"quicktime\";s:5:\"audio\";a:7:{s:10:\"dataformat\";s:3:\"mp4\";s:5:\"codec\";s:19:\"ISO/IEC 14496-3 AAC\";s:11:\"sample_rate\";d:48000;s:8:\"channels\";i:2;s:15:\"bits_per_sample\";i:16;s:8:\"lossless\";b:0;s:11:\"channelmode\";s:6:\"stereo\";}s:17:\"created_timestamp\";i:0;}'), +(63700, 10453, '_wp_attached_file', '2020/10/sample-mov-file.mov'), +(63701, 10453, '__update', '1'), +(63721, 10453, '_wp_attachment_metadata', 'a:12:{s:8:\"lossless\";b:0;s:8:\"filesize\";i:14461898;s:9:\"mime_type\";s:9:\"video/mp4\";s:6:\"length\";i:126;s:16:\"length_formatted\";s:4:\"2:06\";s:5:\"width\";i:320;s:6:\"height\";i:240;s:10:\"fileformat\";s:3:\"mp4\";s:10:\"dataformat\";s:9:\"quicktime\";s:5:\"codec\";s:21:\"Lavc58.80.100 libx264\";s:5:\"audio\";a:7:{s:10:\"dataformat\";s:3:\"mp4\";s:5:\"codec\";s:19:\"ISO/IEC 14496-3 AAC\";s:11:\"sample_rate\";d:44100;s:8:\"channels\";i:2;s:15:\"bits_per_sample\";i:16;s:8:\"lossless\";b:0;s:11:\"channelmode\";s:6:\"stereo\";}s:17:\"created_timestamp\";i:-2082844800;}'), +(63748, 7646, 'pdf', '10439'), +(63749, 7646, '_pdf', 'field_5f777f123694a'), +(63750, 7646, 'doc', '10445'), +(63751, 7646, '_doc', 'field_5f777f1a3694b'), +(63752, 7646, 'mp4', '10449'), +(63753, 7646, '_mp4', 'field_5f777f213694c'), +(63754, 7646, 'mov', '10453'), +(63755, 7646, '_mov', 'field_5f777f303694d'), +(63782, 10465, '_edit_lock', '1602123165:1'), +(63785, 10467, '_wp_attached_file', '2020/10/sampleinline-html.doc'), +(63786, 10467, '__update', '1'), +(63806, 10471, '_wp_attached_file', '2020/10/sample-avi-fileinline-html.avi'), +(63807, 10471, '__update', '1'), +(63827, 10471, '_wp_attachment_metadata', 'a:13:{s:8:\"lossless\";b:0;s:7:\"bitrate\";i:392689;s:12:\"bitrate_mode\";s:3:\"vbr\";s:8:\"filesize\";i:8324510;s:9:\"mime_type\";s:9:\"video/avi\";s:6:\"length\";i:126;s:16:\"length_formatted\";s:4:\"2:06\";s:5:\"width\";i:320;s:6:\"height\";i:240;s:10:\"fileformat\";s:3:\"avi\";s:10:\"dataformat\";s:3:\"avi\";s:5:\"codec\";s:29:\"Microsoft MPEG-4 (low-motion)\";s:5:\"audio\";a:11:{s:10:\"dataformat\";s:3:\"wav\";s:12:\"bitrate_mode\";s:3:\"cbr\";s:10:\"wformattag\";i:2;s:5:\"codec\";s:15:\"Microsoft ADPCM\";s:8:\"channels\";i:2;s:11:\"sample_rate\";i:44100;s:7:\"bitrate\";i:128000;s:15:\"bits_per_sample\";i:4;s:8:\"lossless\";b:0;s:11:\"channelmode\";s:6:\"stereo\";s:17:\"compression_ratio\";d:0.36281179138321995;}}'), +(63828, 10475, '_wp_attached_file', '2020/10/sample-mp4-fileinline-html.mp4'), +(63829, 10475, '__update', '1'), +(63849, 10475, '_wp_attachment_metadata', 'a:10:{s:8:\"filesize\";i:10546620;s:9:\"mime_type\";s:9:\"video/mp4\";s:6:\"length\";i:126;s:16:\"length_formatted\";s:4:\"2:06\";s:5:\"width\";i:320;s:6:\"height\";i:240;s:10:\"fileformat\";s:3:\"mp4\";s:10:\"dataformat\";s:9:\"quicktime\";s:5:\"audio\";a:7:{s:10:\"dataformat\";s:3:\"mp4\";s:5:\"codec\";s:19:\"ISO/IEC 14496-3 AAC\";s:11:\"sample_rate\";d:48000;s:8:\"channels\";i:2;s:15:\"bits_per_sample\";i:16;s:8:\"lossless\";b:0;s:11:\"channelmode\";s:6:\"stereo\";}s:17:\"created_timestamp\";i:0;}'), +(63850, 10479, '_wp_attached_file', '2020/10/sample-mov-fileinline-html.mov'), +(63851, 10479, '__update', '1'), +(63871, 10479, '_wp_attachment_metadata', 'a:12:{s:8:\"lossless\";b:0;s:8:\"filesize\";i:14461898;s:9:\"mime_type\";s:9:\"video/mp4\";s:6:\"length\";i:126;s:16:\"length_formatted\";s:4:\"2:06\";s:5:\"width\";i:320;s:6:\"height\";i:240;s:10:\"fileformat\";s:3:\"mp4\";s:10:\"dataformat\";s:9:\"quicktime\";s:5:\"codec\";s:21:\"Lavc58.80.100 libx264\";s:5:\"audio\";a:7:{s:10:\"dataformat\";s:3:\"mp4\";s:5:\"codec\";s:19:\"ISO/IEC 14496-3 AAC\";s:11:\"sample_rate\";d:44100;s:8:\"channels\";i:2;s:15:\"bits_per_sample\";i:16;s:8:\"lossless\";b:0;s:11:\"channelmode\";s:6:\"stereo\";}s:17:\"created_timestamp\";i:-2082844800;}'), +(64082, 10513, '_edit_lock', '1601929737:1'), +(64085, 10515, '_wp_attached_file', '2020/10/jessie-mccall-a9_8YKoqIYo-unsplash-scaled.jpg'), +(64086, 10515, '__update', '1'), +(64106, 10515, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:1707;s:6:\"height\";i:2560;s:4:\"file\";s:53:\"2020/10/jessie-mccall-a9_8YKoqIYo-unsplash-scaled.jpg\";s:5:\"sizes\";a:13:{s:6:\"medium\";a:4:{s:4:\"file\";s:46:\"jessie-mccall-a9_8YKoqIYo-unsplash-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:47:\"jessie-mccall-a9_8YKoqIYo-unsplash-683x1024.jpg\";s:5:\"width\";i:683;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:46:\"jessie-mccall-a9_8YKoqIYo-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:47:\"jessie-mccall-a9_8YKoqIYo-unsplash-768x1152.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1152;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:48:\"jessie-mccall-a9_8YKoqIYo-unsplash-1024x1536.jpg\";s:5:\"width\";i:1024;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:48:\"jessie-mccall-a9_8YKoqIYo-unsplash-1365x2048.jpg\";s:5:\"width\";i:1365;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:48:\"jessie-mccall-a9_8YKoqIYo-unsplash-1980x2970.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:2970;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:46:\"jessie-mccall-a9_8YKoqIYo-unsplash-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:46:\"jessie-mccall-a9_8YKoqIYo-unsplash-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:46:\"jessie-mccall-a9_8YKoqIYo-unsplash-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:46:\"jessie-mccall-a9_8YKoqIYo-unsplash-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:46:\"jessie-mccall-a9_8YKoqIYo-unsplash-600x900.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:900;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:46:\"jessie-mccall-a9_8YKoqIYo-unsplash-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:38:\"jessie-mccall-a9_8YKoqIYo-unsplash.jpg\";}'), +(64107, 10513, '__update', '1'), +(64121, 10513, '_edit_last', '1'), +(64135, 10513, 'range_field', '0'), +(64136, 10513, '_range_field', 'field_5f47e967644b1'), +(64137, 10513, 'text_field', ''), +(64138, 10513, '_text_field', 'field_5f47e986644b2'), +(64139, 10513, 'text_area_field', ''), +(64140, 10513, '_text_area_field', 'field_5f47e993644b3'), +(64141, 10513, 'button_group_field', 'button1'), +(64142, 10513, '_button_group_field', 'field_5f47e99f644b4'), +(64143, 10513, 'checkbox_field', ''), +(64144, 10513, '_checkbox_field', 'field_5f47e9c5644b5'), +(64145, 10513, 'radio_button_field', 'radiobutton1'), +(64146, 10513, '_radio_button_field', 'field_5f47e9f3644b6'), +(64147, 10513, 'select_field', 'select1'), +(64148, 10513, '_select_field', 'field_5f47ea12644b7'), +(64149, 10513, 'true_false_field', '0'), +(64150, 10513, '_true_false_field', 'field_5f47ea28644b8'), +(64151, 10513, 'file_field', ''), +(64152, 10513, '_file_field', 'field_5f47ea3f644b9'), +(64153, 10513, 'gallery_field', ''), +(64154, 10513, '_gallery_field', 'field_5f47ea4a644ba'), +(64155, 10513, 'image_field', ''), +(64156, 10513, '_image_field', 'field_5f47ea53644bb'), +(64157, 10513, 'oembed_field', ''), +(64158, 10513, '_oembed_field', 'field_5f47ea5b644bc'), +(64159, 10513, 'wysiwyg_editor_field', ''), +(64160, 10513, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(64161, 10513, 'color_picker_field', ''), +(64162, 10513, '_color_picker_field', 'field_5f47ea75644be'), +(64163, 10513, 'date_picker_field', ''), +(64164, 10513, '_date_picker_field', 'field_5f47ea7f644bf'), +(64165, 10513, 'date_time_picker_field', ''), +(64166, 10513, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(64167, 10513, 'google_map_field', ''), +(64168, 10513, '_google_map_field', 'field_5f47ea9d644c1'), +(64169, 10513, 'time_picker', ''), +(64170, 10513, '_time_picker', 'field_5f47eaa7644c2'), +(64171, 10513, 'flexible_content_field', ''), +(64172, 10513, '_flexible_content_field', 'field_5f47eadf644c4'), +(64173, 10513, 'repeater_field', ''), +(64174, 10513, '_repeater_field', 'field_5f47eaf8644c6'), +(64175, 10513, 'clone_field', ''), +(64176, 10513, '_clone_field', 'field_5f47eb4b644c8'), +(64177, 10513, 'link_field', ''), +(64178, 10513, '_link_field', 'field_5f47eb54644c9'), +(64179, 10513, 'page_link_field', ''), +(64180, 10513, '_page_link_field', 'field_5f47eb5e644ca'), +(64181, 10513, 'post_object_field', ''), +(64182, 10513, '_post_object_field', 'field_5f47eb69644cb'), +(64183, 10513, 'relationship_field', ''), +(64184, 10513, '_relationship_field', 'field_5f47eb74644cc'), +(64185, 10513, 'taxonomy_field', ''), +(64186, 10513, '_taxonomy_field', 'field_5f47edce644cd'), +(64187, 10513, 'user_field', ''), +(64188, 10513, '_user_field', 'field_5f47eddc644ce'), +(64189, 10513, 'pdf', ''), +(64190, 10513, '_pdf', 'field_5f777f123694a'), +(64191, 10513, 'doc', ''), +(64192, 10513, '_doc', 'field_5f777f1a3694b'), +(64193, 10513, 'mp4', ''), +(64194, 10513, '_mp4', 'field_5f777f213694c'), +(64195, 10513, 'mov', ''), +(64196, 10513, '_mov', 'field_5f777f303694d'), +(64197, 10513, '_yoast_wpseo_content_score', '30'), +(64561, 8964, 'pdf', ''), +(64562, 8964, '_pdf', 'field_5f777f123694a'), +(64563, 8964, 'doc', ''), +(64564, 8964, '_doc', 'field_5f777f1a3694b'), +(64565, 8964, 'mp4', ''), +(64566, 8964, '_mp4', 'field_5f777f213694c'), +(64567, 8964, 'mov', ''), +(64568, 8964, '_mov', 'field_5f777f303694d'), +(64886, 10621, '_wp_attached_file', '2020/10/mattmullenweg-interview.mp3'), +(64887, 10621, '__update', '1'), +(64920, 10621, '_wp_attachment_metadata', 'a:16:{s:10:\"dataformat\";s:3:\"mp3\";s:8:\"channels\";i:2;s:11:\"sample_rate\";i:11025;s:7:\"bitrate\";i:32000;s:11:\"channelmode\";s:12:\"joint stereo\";s:12:\"bitrate_mode\";s:3:\"cbr\";s:5:\"codec\";s:4:\"LAME\";s:7:\"encoder\";s:9:\"LAME3.96r\";s:8:\"lossless\";b:0;s:15:\"encoder_options\";s:19:\"--alt-preset cbr 32\";s:17:\"compression_ratio\";d:0.09070294784580499;s:10:\"fileformat\";s:3:\"mp3\";s:8:\"filesize\";i:1220230;s:9:\"mime_type\";s:10:\"audio/mpeg\";s:6:\"length\";i:305;s:16:\"length_formatted\";s:4:\"5:05\";}'), +(64921, 10627, '_wp_attached_file', '2020/10/giphy.mp4'), +(64922, 10627, '__update', '1'), +(64942, 10627, '_wp_attachment_metadata', 'a:10:{s:7:\"bitrate\";i:541231;s:8:\"filesize\";i:542847;s:9:\"mime_type\";s:15:\"video/quicktime\";s:6:\"length\";i:8;s:16:\"length_formatted\";s:4:\"0:08\";s:5:\"width\";i:480;s:6:\"height\";i:480;s:10:\"fileformat\";s:3:\"mp4\";s:10:\"dataformat\";s:9:\"quicktime\";s:17:\"created_timestamp\";i:-2082844800;}'), +(64971, 94, 'enclosure', 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/mattmullenweg-interview.mp3\n1220230\naudio/mpeg\n'), +(64972, 94, 'enclosure', 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/giphy.mp4\n542847\nvideo/mp4\n'), +(65326, 10465, '__update', '1'), +(65340, 10465, '_edit_last', '1'), +(65341, 10465, 'range_field', '0'), +(65342, 10465, '_range_field', 'field_5f47e967644b1'), +(65343, 10465, 'text_field', ''), +(65344, 10465, '_text_field', 'field_5f47e986644b2'), +(65345, 10465, 'text_area_field', ''), +(65346, 10465, '_text_area_field', 'field_5f47e993644b3'), +(65347, 10465, 'button_group_field', 'button1'), +(65348, 10465, '_button_group_field', 'field_5f47e99f644b4'), +(65349, 10465, 'checkbox_field', ''), +(65350, 10465, '_checkbox_field', 'field_5f47e9c5644b5'), +(65351, 10465, 'radio_button_field', 'radiobutton1'), +(65352, 10465, '_radio_button_field', 'field_5f47e9f3644b6'), +(65353, 10465, 'select_field', 'select1'), +(65354, 10465, '_select_field', 'field_5f47ea12644b7'), +(65355, 10465, 'true_false_field', '0'), +(65356, 10465, '_true_false_field', 'field_5f47ea28644b8'), +(65357, 10465, 'file_field', ''), +(65358, 10465, '_file_field', 'field_5f47ea3f644b9'), +(65359, 10465, 'gallery_field', ''), +(65360, 10465, '_gallery_field', 'field_5f47ea4a644ba'), +(65361, 10465, 'image_field', ''), +(65362, 10465, '_image_field', 'field_5f47ea53644bb'), +(65363, 10465, 'oembed_field', ''), +(65364, 10465, '_oembed_field', 'field_5f47ea5b644bc'), +(65365, 10465, 'wysiwyg_editor_field', ''), +(65366, 10465, '_wysiwyg_editor_field', 'field_5f47ea64644bd'), +(65367, 10465, 'color_picker_field', ''), +(65368, 10465, '_color_picker_field', 'field_5f47ea75644be'), +(65369, 10465, 'date_picker_field', ''), +(65370, 10465, '_date_picker_field', 'field_5f47ea7f644bf'), +(65371, 10465, 'date_time_picker_field', ''), +(65372, 10465, '_date_time_picker_field', 'field_5f47ea8b644c0'), +(65373, 10465, 'google_map_field', ''), +(65374, 10465, '_google_map_field', 'field_5f47ea9d644c1'), +(65375, 10465, 'time_picker', ''), +(65376, 10465, '_time_picker', 'field_5f47eaa7644c2'), +(65377, 10465, 'flexible_content_field', ''), +(65378, 10465, '_flexible_content_field', 'field_5f47eadf644c4'), +(65379, 10465, 'repeater_field', ''), +(65380, 10465, '_repeater_field', 'field_5f47eaf8644c6'), +(65381, 10465, 'clone_field', ''), +(65382, 10465, '_clone_field', 'field_5f47eb4b644c8'), +(65383, 10465, 'link_field', ''), +(65384, 10465, '_link_field', 'field_5f47eb54644c9'), +(65385, 10465, 'page_link_field', ''), +(65386, 10465, '_page_link_field', 'field_5f47eb5e644ca'), +(65387, 10465, 'post_object_field', ''), +(65388, 10465, '_post_object_field', 'field_5f47eb69644cb'), +(65389, 10465, 'relationship_field', ''), +(65390, 10465, '_relationship_field', 'field_5f47eb74644cc'), +(65391, 10465, 'taxonomy_field', ''), +(65392, 10465, '_taxonomy_field', 'field_5f47edce644cd'), +(65393, 10465, 'user_field', ''), +(65394, 10465, '_user_field', 'field_5f47eddc644ce'), +(65395, 10465, 'pdf', ''), +(65396, 10465, '_pdf', 'field_5f777f123694a'), +(65397, 10465, 'doc', ''), +(65398, 10465, '_doc', 'field_5f777f1a3694b'), +(65399, 10465, 'mp4', ''), +(65400, 10465, '_mp4', 'field_5f777f213694c'), +(65401, 10465, 'mov', ''), +(65402, 10465, '_mov', 'field_5f777f303694d'), +(65403, 10465, '_yoast_wpseo_content_score', '60'), +(65404, 10690, '_wp_attached_file', '2020/10/sample-mov-fileinline-html-1.mov'), +(65405, 10690, '__update', '1'), +(65425, 10690, '_wp_attachment_metadata', 'a:12:{s:8:\"lossless\";b:0;s:8:\"filesize\";i:14461898;s:9:\"mime_type\";s:9:\"video/mp4\";s:6:\"length\";i:126;s:16:\"length_formatted\";s:4:\"2:06\";s:5:\"width\";i:320;s:6:\"height\";i:240;s:10:\"fileformat\";s:3:\"mp4\";s:10:\"dataformat\";s:9:\"quicktime\";s:5:\"codec\";s:21:\"Lavc58.80.100 libx264\";s:5:\"audio\";a:7:{s:10:\"dataformat\";s:3:\"mp4\";s:5:\"codec\";s:19:\"ISO/IEC 14496-3 AAC\";s:11:\"sample_rate\";d:44100;s:8:\"channels\";i:2;s:15:\"bits_per_sample\";i:16;s:8:\"lossless\";b:0;s:11:\"channelmode\";s:6:\"stereo\";}s:17:\"created_timestamp\";i:-2082844800;}'), +(65491, 10705, '_wp_attached_file', '2020/10/BabyElephantWalk60.wav'), +(65492, 10705, '__update', '1'), +(65512, 10705, '_wp_attachment_metadata', 'a:16:{s:10:\"dataformat\";s:3:\"wav\";s:12:\"bitrate_mode\";s:3:\"cbr\";s:10:\"wformattag\";i:1;s:5:\"codec\";s:27:\"Pulse Code Modulation (PCM)\";s:8:\"channels\";i:1;s:11:\"sample_rate\";i:22050;s:7:\"bitrate\";i:352800;s:15:\"bits_per_sample\";i:16;s:8:\"lossless\";b:1;s:11:\"channelmode\";s:4:\"mono\";s:17:\"compression_ratio\";i:1;s:10:\"fileformat\";s:3:\"wav\";s:8:\"filesize\";i:2646044;s:9:\"mime_type\";s:9:\"audio/wav\";s:6:\"length\";i:60;s:16:\"length_formatted\";s:4:\"1:00\";}'), +(65552, 10715, '_wp_attached_file', '2020/10/Screen-Shot-2020-07-30-at-1.34.09-PM.png'), +(65553, 10715, '__update', '1'), +(65573, 10715, '_wp_attachment_metadata', 'a:5:{s:5:\"width\";i:1230;s:6:\"height\";i:204;s:4:\"file\";s:48:\"2020/10/Screen-Shot-2020-07-30-at-1.34.09-PM.png\";s:5:\"sizes\";a:11:{s:6:\"medium\";a:4:{s:4:\"file\";s:47:\"Screen-Shot-2020-07-30-at-1.34.09-PM-300x50.png\";s:5:\"width\";i:300;s:6:\"height\";i:50;s:9:\"mime-type\";s:9:\"image/png\";}s:5:\"large\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-07-30-at-1.34.09-PM-1024x170.png\";s:5:\"width\";i:1024;s:6:\"height\";i:170;s:9:\"mime-type\";s:9:\"image/png\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-07-30-at-1.34.09-PM-150x150.png\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:9:\"image/png\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-07-30-at-1.34.09-PM-768x127.png\";s:5:\"width\";i:768;s:6:\"height\";i:127;s:9:\"mime-type\";s:9:\"image/png\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:49:\"Screen-Shot-2020-07-30-at-1.34.09-PM-1200x199.png\";s:5:\"width\";i:1200;s:6:\"height\";i:199;s:9:\"mime-type\";s:9:\"image/png\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:48:\"Screen-Shot-2020-07-30-at-1.34.09-PM-450x204.png\";s:5:\"width\";i:450;s:6:\"height\";i:204;s:9:\"mime-type\";s:9:\"image/png\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-07-30-at-1.34.09-PM-600x100.png\";s:5:\"width\";i:600;s:6:\"height\";i:100;s:9:\"mime-type\";s:9:\"image/png\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-07-30-at-1.34.09-PM-100x100.png\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:9:\"image/png\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-07-30-at-1.34.09-PM-450x204.png\";s:5:\"width\";i:450;s:6:\"height\";i:204;s:9:\"mime-type\";s:9:\"image/png\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-07-30-at-1.34.09-PM-600x100.png\";s:5:\"width\";i:600;s:6:\"height\";i:100;s:9:\"mime-type\";s:9:\"image/png\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:48:\"Screen-Shot-2020-07-30-at-1.34.09-PM-100x100.png\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:9:\"image/png\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}}'), +(67012, 10927, '_wp_attached_file', '2020/10/karsten-winegeart-5zzY1WvIRRQ-unsplash-scaled.jpg'), +(67013, 10927, '__update', '1'), +(67033, 10927, '_wp_attachment_metadata', 'a:6:{s:5:\"width\";i:1710;s:6:\"height\";i:2560;s:4:\"file\";s:57:\"2020/10/karsten-winegeart-5zzY1WvIRRQ-unsplash-scaled.jpg\";s:5:\"sizes\";a:14:{s:6:\"medium\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-200x300.jpg\";s:5:\"width\";i:200;s:6:\"height\";i:300;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:5:\"large\";a:4:{s:4:\"file\";s:51:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-684x1024.jpg\";s:5:\"width\";i:684;s:6:\"height\";i:1024;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"thumbnail\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-150x150.jpg\";s:5:\"width\";i:150;s:6:\"height\";i:150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"medium_large\";a:4:{s:4:\"file\";s:51:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-768x1150.jpg\";s:5:\"width\";i:768;s:6:\"height\";i:1150;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"1536x1536\";a:4:{s:4:\"file\";s:52:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-1026x1536.jpg\";s:5:\"width\";i:1026;s:6:\"height\";i:1536;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:9:\"2048x2048\";a:4:{s:4:\"file\";s:52:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-1368x2048.jpg\";s:5:\"width\";i:1368;s:6:\"height\";i:2048;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"post-thumbnail\";a:4:{s:4:\"file\";s:52:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-1200x1797.jpg\";s:5:\"width\";i:1200;s:6:\"height\";i:1797;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:23:\"twentytwenty-fullscreen\";a:4:{s:4:\"file\";s:52:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-1980x2964.jpg\";s:5:\"width\";i:1980;s:6:\"height\";i:2964;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:21:\"woocommerce_thumbnail\";a:5:{s:4:\"file\";s:50:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";s:9:\"uncropped\";b:0;}s:18:\"woocommerce_single\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-600x898.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:898;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:29:\"woocommerce_gallery_thumbnail\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:12:\"shop_catalog\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-450x450.jpg\";s:5:\"width\";i:450;s:6:\"height\";i:450;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:11:\"shop_single\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-600x898.jpg\";s:5:\"width\";i:600;s:6:\"height\";i:898;s:9:\"mime-type\";s:10:\"image/jpeg\";}s:14:\"shop_thumbnail\";a:4:{s:4:\"file\";s:50:\"karsten-winegeart-5zzY1WvIRRQ-unsplash-100x100.jpg\";s:5:\"width\";i:100;s:6:\"height\";i:100;s:9:\"mime-type\";s:10:\"image/jpeg\";}}s:10:\"image_meta\";a:12:{s:8:\"aperture\";s:1:\"0\";s:6:\"credit\";s:0:\"\";s:6:\"camera\";s:0:\"\";s:7:\"caption\";s:0:\"\";s:17:\"created_timestamp\";s:1:\"0\";s:9:\"copyright\";s:0:\"\";s:12:\"focal_length\";s:1:\"0\";s:3:\"iso\";s:1:\"0\";s:13:\"shutter_speed\";s:1:\"0\";s:5:\"title\";s:0:\"\";s:11:\"orientation\";s:1:\"0\";s:8:\"keywords\";a:0:{}}s:14:\"original_image\";s:42:\"karsten-winegeart-5zzY1WvIRRQ-unsplash.jpg\";}'), +(67771, 11040, 'action_type', 'UPDATE'), +(67772, 11040, 'referenced_node_status', 'publish'), +(67773, 11040, 'referenced_node_id', '2'), +(67774, 11040, 'referenced_node_relay_id', 'cG9zdDoy'), +(67775, 11040, 'referenced_node_single_name', 'page'), +(67776, 11040, 'referenced_node_plural_name', 'pages'), +(67777, 11040, 'referenced_node_post_modified', '2020-10-09 23:32:01'), +(67778, 11041, 'action_type', 'UPDATE'), +(67779, 11041, 'referenced_node_status', 'publish'), +(67780, 11041, 'referenced_node_id', '1'), +(67781, 11041, 'referenced_node_relay_id', 'dXNlcjox'), +(67782, 11041, 'referenced_node_single_name', 'user'), +(67783, 11041, 'referenced_node_plural_name', 'users'), +(67785, 11042, 'action_type', 'UPDATE'), +(67786, 11042, 'referenced_node_status', 'publish'), +(67787, 11042, 'referenced_node_id', '1'), +(67788, 11042, 'referenced_node_relay_id', 'cG9zdDox'), +(67789, 11042, 'referenced_node_single_name', 'post'), +(67790, 11042, 'referenced_node_plural_name', 'posts'), +(67791, 11042, 'referenced_node_post_modified', '2020-10-09 23:32:01'), +(67792, 11043, 'action_type', 'UPDATE'), +(67793, 11043, 'referenced_node_status', 'publish'), +(67794, 11043, 'referenced_node_id', '1'), +(67795, 11043, 'referenced_node_relay_id', 'dXNlcjox'), +(67796, 11043, 'referenced_node_single_name', 'user'), +(67797, 11043, 'referenced_node_plural_name', 'users'), +(67799, 11044, 'action_type', 'UPDATE'), +(67800, 11044, 'referenced_node_status', 'publish'), +(67801, 11044, 'referenced_node_id', '1'), +(67802, 11044, 'referenced_node_relay_id', 'dXNlcjox'), +(67803, 11044, 'referenced_node_single_name', 'user'), +(67804, 11044, 'referenced_node_plural_name', 'users'), +(67805, 11045, 'action_type', 'UPDATE'), +(67806, 11045, 'referenced_node_status', 'publish'), +(67807, 11045, 'referenced_node_id', '2'), +(67808, 11045, 'referenced_node_relay_id', 'cG9zdDoy'), +(67809, 11045, 'referenced_node_single_name', 'page'), +(67810, 11045, 'referenced_node_plural_name', 'pages'), +(67811, 11045, 'referenced_node_post_modified', '2020-10-09 23:32:25'), +(67812, 11046, 'action_type', 'UPDATE'), +(67813, 11046, 'referenced_node_status', 'publish'), +(67814, 11046, 'referenced_node_id', '1'), +(67815, 11046, 'referenced_node_relay_id', 'dXNlcjox'), +(67816, 11046, 'referenced_node_single_name', 'user'), +(67817, 11046, 'referenced_node_plural_name', 'users'), +(67819, 11047, 'action_type', 'UPDATE'), +(67820, 11047, 'referenced_node_status', 'publish'), +(67821, 11047, 'referenced_node_id', '1'), +(67822, 11047, 'referenced_node_relay_id', 'cG9zdDox'), +(67823, 11047, 'referenced_node_single_name', 'post'), +(67824, 11047, 'referenced_node_plural_name', 'posts'), +(67825, 11047, 'referenced_node_post_modified', '2020-10-09 23:32:25'), +(67826, 11048, 'action_type', 'UPDATE'), +(67827, 11048, 'referenced_node_status', 'publish'), +(67828, 11048, 'referenced_node_id', '1'), +(67829, 11048, 'referenced_node_relay_id', 'dXNlcjox'), +(67830, 11048, 'referenced_node_single_name', 'user'), +(67831, 11048, 'referenced_node_plural_name', 'users'), +(67833, 11049, 'action_type', 'UPDATE'), +(67834, 11049, 'referenced_node_status', 'publish'), +(67835, 11049, 'referenced_node_id', '1'), +(67836, 11049, 'referenced_node_relay_id', 'dXNlcjox'), +(67837, 11049, 'referenced_node_single_name', 'user'), +(67838, 11049, 'referenced_node_plural_name', 'users'), +(67839, 11050, 'action_type', 'UPDATE'), +(67840, 11050, 'referenced_node_status', 'publish'), +(67841, 11050, 'referenced_node_id', '2'), +(67842, 11050, 'referenced_node_relay_id', 'cG9zdDoy'), +(67843, 11050, 'referenced_node_single_name', 'page'), +(67844, 11050, 'referenced_node_plural_name', 'pages'), +(67845, 11050, 'referenced_node_post_modified', '2020-10-09 23:33:39'), +(67846, 11051, 'action_type', 'UPDATE'), +(67847, 11051, 'referenced_node_status', 'publish'), +(67848, 11051, 'referenced_node_id', '1'), +(67849, 11051, 'referenced_node_relay_id', 'dXNlcjox'), +(67850, 11051, 'referenced_node_single_name', 'user'), +(67851, 11051, 'referenced_node_plural_name', 'users'), +(67853, 11052, 'action_type', 'UPDATE'), +(67854, 11052, 'referenced_node_status', 'publish'), +(67855, 11052, 'referenced_node_id', '1'), +(67856, 11052, 'referenced_node_relay_id', 'cG9zdDox'), +(67857, 11052, 'referenced_node_single_name', 'post'), +(67858, 11052, 'referenced_node_plural_name', 'posts'), +(67859, 11052, 'referenced_node_post_modified', '2020-10-09 23:33:39'), +(67860, 11053, 'action_type', 'UPDATE'), +(67861, 11053, 'referenced_node_status', 'publish'), +(67862, 11053, 'referenced_node_id', '1'), +(67863, 11053, 'referenced_node_relay_id', 'dXNlcjox'), +(67864, 11053, 'referenced_node_single_name', 'user'), +(67865, 11053, 'referenced_node_plural_name', 'users'), +(67867, 11054, 'action_type', 'UPDATE'), +(67868, 11054, 'referenced_node_status', 'publish'), +(67869, 11054, 'referenced_node_id', '1'), +(67870, 11054, 'referenced_node_relay_id', 'dXNlcjox'), +(67871, 11054, 'referenced_node_single_name', 'user'), +(67872, 11054, 'referenced_node_plural_name', 'users'), +(67873, 11055, 'action_type', 'UPDATE'), +(67874, 11055, 'referenced_node_status', 'publish'), +(67875, 11055, 'referenced_node_id', '2'), +(67876, 11055, 'referenced_node_relay_id', 'cG9zdDoy'), +(67877, 11055, 'referenced_node_single_name', 'page'), +(67878, 11055, 'referenced_node_plural_name', 'pages'), +(67879, 11055, 'referenced_node_post_modified', '2020-10-09 23:34:07'), +(67880, 11056, 'action_type', 'UPDATE'), +(67881, 11056, 'referenced_node_status', 'publish'), +(67882, 11056, 'referenced_node_id', '1'), +(67883, 11056, 'referenced_node_relay_id', 'dXNlcjox'), +(67884, 11056, 'referenced_node_single_name', 'user'), +(67885, 11056, 'referenced_node_plural_name', 'users'), +(67887, 11057, 'action_type', 'UPDATE'), +(67888, 11057, 'referenced_node_status', 'publish'), +(67889, 11057, 'referenced_node_id', '1'), +(67890, 11057, 'referenced_node_relay_id', 'cG9zdDox'), +(67891, 11057, 'referenced_node_single_name', 'post'), +(67892, 11057, 'referenced_node_plural_name', 'posts'), +(67893, 11057, 'referenced_node_post_modified', '2020-10-09 23:34:07'), +(67894, 11058, 'action_type', 'UPDATE'), +(67895, 11058, 'referenced_node_status', 'publish'), +(67896, 11058, 'referenced_node_id', '1'), +(67897, 11058, 'referenced_node_relay_id', 'dXNlcjox'), +(67898, 11058, 'referenced_node_single_name', 'user'), +(67899, 11058, 'referenced_node_plural_name', 'users'), +(67901, 11059, 'action_type', 'UPDATE'), +(67902, 11059, 'referenced_node_status', 'publish'), +(67903, 11059, 'referenced_node_id', '1'), +(67904, 11059, 'referenced_node_relay_id', 'dXNlcjox'), +(67905, 11059, 'referenced_node_single_name', 'user'), +(67906, 11059, 'referenced_node_plural_name', 'users'), +(67907, 11060, 'action_type', 'UPDATE'), +(67908, 11060, 'referenced_node_status', 'publish'), +(67909, 11060, 'referenced_node_id', '2'), +(67910, 11060, 'referenced_node_relay_id', 'cG9zdDoy'), +(67911, 11060, 'referenced_node_single_name', 'page'), +(67912, 11060, 'referenced_node_plural_name', 'pages'), +(67913, 11060, 'referenced_node_post_modified', '2020-10-10 00:52:20'), +(67914, 11061, 'action_type', 'UPDATE'), +(67915, 11061, 'referenced_node_status', 'publish'), +(67916, 11061, 'referenced_node_id', '1'), +(67917, 11061, 'referenced_node_relay_id', 'dXNlcjox'), +(67918, 11061, 'referenced_node_single_name', 'user'), +(67919, 11061, 'referenced_node_plural_name', 'users'), +(67921, 11062, 'action_type', 'UPDATE'), +(67922, 11062, 'referenced_node_status', 'publish'), +(67923, 11062, 'referenced_node_id', '1'), +(67924, 11062, 'referenced_node_relay_id', 'cG9zdDox'), +(67925, 11062, 'referenced_node_single_name', 'post'), +(67926, 11062, 'referenced_node_plural_name', 'posts'), +(67927, 11062, 'referenced_node_post_modified', '2020-10-10 00:52:20'), +(67928, 11063, 'action_type', 'UPDATE'), +(67929, 11063, 'referenced_node_status', 'publish'), +(67930, 11063, 'referenced_node_id', '1'), +(67931, 11063, 'referenced_node_relay_id', 'dXNlcjox'), +(67932, 11063, 'referenced_node_single_name', 'user'), +(67933, 11063, 'referenced_node_plural_name', 'users'), +(67935, 11064, 'action_type', 'UPDATE'), +(67936, 11064, 'referenced_node_status', 'publish'), +(67937, 11064, 'referenced_node_id', '1'), +(67938, 11064, 'referenced_node_relay_id', 'dXNlcjox'), +(67939, 11064, 'referenced_node_single_name', 'user'), +(67940, 11064, 'referenced_node_plural_name', 'users'), +(67941, 11065, 'action_type', 'UPDATE'), +(67942, 11065, 'referenced_node_status', 'publish'), +(67943, 11065, 'referenced_node_id', '2'), +(67944, 11065, 'referenced_node_relay_id', 'cG9zdDoy'), +(67945, 11065, 'referenced_node_single_name', 'page'), +(67946, 11065, 'referenced_node_plural_name', 'pages'), +(67947, 11065, 'referenced_node_post_modified', '2020-10-10 00:53:30'), +(67948, 11066, 'action_type', 'UPDATE'), +(67949, 11066, 'referenced_node_status', 'publish'), +(67950, 11066, 'referenced_node_id', '1'), +(67951, 11066, 'referenced_node_relay_id', 'dXNlcjox'), +(67952, 11066, 'referenced_node_single_name', 'user'), +(67953, 11066, 'referenced_node_plural_name', 'users'), +(67955, 11067, 'action_type', 'UPDATE'), +(67956, 11067, 'referenced_node_status', 'publish'), +(67957, 11067, 'referenced_node_id', '1'), +(67958, 11067, 'referenced_node_relay_id', 'cG9zdDox'), +(67959, 11067, 'referenced_node_single_name', 'post'), +(67960, 11067, 'referenced_node_plural_name', 'posts'), +(67961, 11067, 'referenced_node_post_modified', '2020-10-10 00:53:30'), +(67962, 11068, 'action_type', 'UPDATE'), +(67963, 11068, 'referenced_node_status', 'publish'), +(67964, 11068, 'referenced_node_id', '1'), +(67965, 11068, 'referenced_node_relay_id', 'dXNlcjox'), +(67966, 11068, 'referenced_node_single_name', 'user'), +(67967, 11068, 'referenced_node_plural_name', 'users'), +(67969, 11069, 'action_type', 'UPDATE'), +(67970, 11069, 'referenced_node_status', 'publish'), +(67971, 11069, 'referenced_node_id', '1'), +(67972, 11069, 'referenced_node_relay_id', 'dXNlcjox'), +(67973, 11069, 'referenced_node_single_name', 'user'), +(67974, 11069, 'referenced_node_plural_name', 'users'), +(67975, 11070, 'action_type', 'UPDATE'), +(67976, 11070, 'referenced_node_status', 'publish'), +(67977, 11070, 'referenced_node_id', '2'), +(67978, 11070, 'referenced_node_relay_id', 'cG9zdDoy'), +(67979, 11070, 'referenced_node_single_name', 'page'), +(67980, 11070, 'referenced_node_plural_name', 'pages'), +(67981, 11070, 'referenced_node_post_modified', '2020-10-10 00:53:57'), +(67982, 11071, 'action_type', 'UPDATE'), +(67983, 11071, 'referenced_node_status', 'publish'), +(67984, 11071, 'referenced_node_id', '1'), +(67985, 11071, 'referenced_node_relay_id', 'dXNlcjox'), +(67986, 11071, 'referenced_node_single_name', 'user'), +(67987, 11071, 'referenced_node_plural_name', 'users'), +(67989, 11072, 'action_type', 'UPDATE'), +(67990, 11072, 'referenced_node_status', 'publish'), +(67991, 11072, 'referenced_node_id', '1'), +(67992, 11072, 'referenced_node_relay_id', 'cG9zdDox'), +(67993, 11072, 'referenced_node_single_name', 'post'), +(67994, 11072, 'referenced_node_plural_name', 'posts'), +(67995, 11072, 'referenced_node_post_modified', '2020-10-10 00:53:58'), +(67996, 11073, 'action_type', 'UPDATE'), +(67997, 11073, 'referenced_node_status', 'publish'), +(67998, 11073, 'referenced_node_id', '1'), +(67999, 11073, 'referenced_node_relay_id', 'dXNlcjox'), +(68000, 11073, 'referenced_node_single_name', 'user'), +(68001, 11073, 'referenced_node_plural_name', 'users'), +(68003, 11074, 'action_type', 'UPDATE'), +(68004, 11074, 'referenced_node_status', 'publish'), +(68005, 11074, 'referenced_node_id', '1'), +(68006, 11074, 'referenced_node_relay_id', 'dXNlcjox'), +(68007, 11074, 'referenced_node_single_name', 'user'), +(68008, 11074, 'referenced_node_plural_name', 'users'), +(68009, 11075, 'action_type', 'UPDATE'), +(68010, 11075, 'referenced_node_status', 'publish'), +(68011, 11075, 'referenced_node_id', '2'), +(68012, 11075, 'referenced_node_relay_id', 'cG9zdDoy'), +(68013, 11075, 'referenced_node_single_name', 'page'), +(68014, 11075, 'referenced_node_plural_name', 'pages'), +(68015, 11075, 'referenced_node_post_modified', '2020-10-10 04:02:25'), +(68016, 11076, 'action_type', 'UPDATE'), +(68017, 11076, 'referenced_node_status', 'publish'), +(68018, 11076, 'referenced_node_id', '1'), +(68019, 11076, 'referenced_node_relay_id', 'dXNlcjox'), +(68020, 11076, 'referenced_node_single_name', 'user'), +(68021, 11076, 'referenced_node_plural_name', 'users'), +(68023, 11077, 'action_type', 'UPDATE'), +(68024, 11077, 'referenced_node_status', 'publish'), +(68025, 11077, 'referenced_node_id', '1'), +(68026, 11077, 'referenced_node_relay_id', 'cG9zdDox'), +(68027, 11077, 'referenced_node_single_name', 'post'), +(68028, 11077, 'referenced_node_plural_name', 'posts'), +(68029, 11077, 'referenced_node_post_modified', '2020-10-10 04:02:25'), +(68030, 11078, 'action_type', 'UPDATE'), +(68031, 11078, 'referenced_node_status', 'publish'), +(68032, 11078, 'referenced_node_id', '1'), +(68033, 11078, 'referenced_node_relay_id', 'dXNlcjox'), +(68034, 11078, 'referenced_node_single_name', 'user'), +(68035, 11078, 'referenced_node_plural_name', 'users'), +(68037, 11079, 'action_type', 'UPDATE'), +(68038, 11079, 'referenced_node_status', 'publish'), +(68039, 11079, 'referenced_node_id', '1'), +(68040, 11079, 'referenced_node_relay_id', 'dXNlcjox'), +(68041, 11079, 'referenced_node_single_name', 'user'), +(68042, 11079, 'referenced_node_plural_name', 'users'), +(68043, 11080, 'action_type', 'UPDATE'), +(68044, 11080, 'referenced_node_status', 'publish'), +(68045, 11080, 'referenced_node_id', '2'), +(68046, 11080, 'referenced_node_relay_id', 'cG9zdDoy'), +(68047, 11080, 'referenced_node_single_name', 'page'), +(68048, 11080, 'referenced_node_plural_name', 'pages'), +(68049, 11080, 'referenced_node_post_modified', '2020-10-10 04:37:54'), +(68050, 11081, 'action_type', 'UPDATE'), +(68051, 11081, 'referenced_node_status', 'publish'), +(68052, 11081, 'referenced_node_id', '1'), +(68053, 11081, 'referenced_node_relay_id', 'dXNlcjox'), +(68054, 11081, 'referenced_node_single_name', 'user'), +(68055, 11081, 'referenced_node_plural_name', 'users'), +(68057, 11082, 'action_type', 'UPDATE'), +(68058, 11082, 'referenced_node_status', 'publish'), +(68059, 11082, 'referenced_node_id', '1'), +(68060, 11082, 'referenced_node_relay_id', 'cG9zdDox'), +(68061, 11082, 'referenced_node_single_name', 'post'), +(68062, 11082, 'referenced_node_plural_name', 'posts'), +(68063, 11082, 'referenced_node_post_modified', '2020-10-10 04:37:54'), +(68064, 11083, 'action_type', 'UPDATE'), +(68065, 11083, 'referenced_node_status', 'publish'), +(68066, 11083, 'referenced_node_id', '1'), +(68067, 11083, 'referenced_node_relay_id', 'dXNlcjox'), +(68068, 11083, 'referenced_node_single_name', 'user'), +(68069, 11083, 'referenced_node_plural_name', 'users'), +(68071, 11084, 'action_type', 'UPDATE'), +(68072, 11084, 'referenced_node_status', 'publish'), +(68073, 11084, 'referenced_node_id', '1'), +(68074, 11084, 'referenced_node_relay_id', 'dXNlcjox'), +(68075, 11084, 'referenced_node_single_name', 'user'), +(68076, 11084, 'referenced_node_plural_name', 'users'), +(68077, 11085, 'action_type', 'UPDATE'), +(68078, 11085, 'referenced_node_status', 'publish'), +(68079, 11085, 'referenced_node_id', '2'), +(68080, 11085, 'referenced_node_relay_id', 'cG9zdDoy'), +(68081, 11085, 'referenced_node_single_name', 'page'), +(68082, 11085, 'referenced_node_plural_name', 'pages'), +(68083, 11085, 'referenced_node_post_modified', '2020-10-10 04:39:04'), +(68084, 11086, 'action_type', 'UPDATE'), +(68085, 11086, 'referenced_node_status', 'publish'), +(68086, 11086, 'referenced_node_id', '1'), +(68087, 11086, 'referenced_node_relay_id', 'dXNlcjox'), +(68088, 11086, 'referenced_node_single_name', 'user'), +(68089, 11086, 'referenced_node_plural_name', 'users'), +(68091, 11087, 'action_type', 'UPDATE'), +(68092, 11087, 'referenced_node_status', 'publish'), +(68093, 11087, 'referenced_node_id', '1'), +(68094, 11087, 'referenced_node_relay_id', 'cG9zdDox'), +(68095, 11087, 'referenced_node_single_name', 'post'), +(68096, 11087, 'referenced_node_plural_name', 'posts'), +(68097, 11087, 'referenced_node_post_modified', '2020-10-10 04:39:04'), +(68098, 11088, 'action_type', 'UPDATE'), +(68099, 11088, 'referenced_node_status', 'publish'), +(68100, 11088, 'referenced_node_id', '1'), +(68101, 11088, 'referenced_node_relay_id', 'dXNlcjox'), +(68102, 11088, 'referenced_node_single_name', 'user'), +(68103, 11088, 'referenced_node_plural_name', 'users'), +(68105, 11089, 'action_type', 'UPDATE'), +(68106, 11089, 'referenced_node_status', 'publish'), +(68107, 11089, 'referenced_node_id', '1'), +(68108, 11089, 'referenced_node_relay_id', 'dXNlcjox'), +(68109, 11089, 'referenced_node_single_name', 'user'), +(68110, 11089, 'referenced_node_plural_name', 'users'), +(68111, 11090, 'action_type', 'UPDATE'), +(68112, 11090, 'referenced_node_status', 'publish'), +(68113, 11090, 'referenced_node_id', '2'), +(68114, 11090, 'referenced_node_relay_id', 'cG9zdDoy'), +(68115, 11090, 'referenced_node_single_name', 'page'), +(68116, 11090, 'referenced_node_plural_name', 'pages'), +(68117, 11090, 'referenced_node_post_modified', '2020-10-10 04:39:34'), +(68118, 11091, 'action_type', 'UPDATE'), +(68119, 11091, 'referenced_node_status', 'publish'), +(68120, 11091, 'referenced_node_id', '1'); +INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES +(68121, 11091, 'referenced_node_relay_id', 'dXNlcjox'), +(68122, 11091, 'referenced_node_single_name', 'user'), +(68123, 11091, 'referenced_node_plural_name', 'users'), +(68125, 11092, 'action_type', 'UPDATE'), +(68126, 11092, 'referenced_node_status', 'publish'), +(68127, 11092, 'referenced_node_id', '1'), +(68128, 11092, 'referenced_node_relay_id', 'cG9zdDox'), +(68129, 11092, 'referenced_node_single_name', 'post'), +(68130, 11092, 'referenced_node_plural_name', 'posts'), +(68131, 11092, 'referenced_node_post_modified', '2020-10-10 04:39:34'), +(68132, 11093, 'action_type', 'UPDATE'), +(68133, 11093, 'referenced_node_status', 'publish'), +(68134, 11093, 'referenced_node_id', '1'), +(68135, 11093, 'referenced_node_relay_id', 'dXNlcjox'), +(68136, 11093, 'referenced_node_single_name', 'user'), +(68137, 11093, 'referenced_node_plural_name', 'users'), +(68139, 11094, 'action_type', 'UPDATE'), +(68140, 11094, 'referenced_node_status', 'publish'), +(68141, 11094, 'referenced_node_id', '1'), +(68142, 11094, 'referenced_node_relay_id', 'dXNlcjox'), +(68143, 11094, 'referenced_node_single_name', 'user'), +(68144, 11094, 'referenced_node_plural_name', 'users'), +(68145, 11095, 'action_type', 'UPDATE'), +(68146, 11095, 'referenced_node_status', 'publish'), +(68147, 11095, 'referenced_node_id', '2'), +(68148, 11095, 'referenced_node_relay_id', 'cG9zdDoy'), +(68149, 11095, 'referenced_node_single_name', 'page'), +(68150, 11095, 'referenced_node_plural_name', 'pages'), +(68151, 11095, 'referenced_node_post_modified', '2020-10-14 19:22:44'), +(68152, 11096, 'action_type', 'UPDATE'), +(68153, 11096, 'referenced_node_status', 'publish'), +(68154, 11096, 'referenced_node_id', '1'), +(68155, 11096, 'referenced_node_relay_id', 'dXNlcjox'), +(68156, 11096, 'referenced_node_single_name', 'user'), +(68157, 11096, 'referenced_node_plural_name', 'users'), +(68159, 11097, 'action_type', 'UPDATE'), +(68160, 11097, 'referenced_node_status', 'publish'), +(68161, 11097, 'referenced_node_id', '1'), +(68162, 11097, 'referenced_node_relay_id', 'cG9zdDox'), +(68163, 11097, 'referenced_node_single_name', 'post'), +(68164, 11097, 'referenced_node_plural_name', 'posts'), +(68165, 11097, 'referenced_node_post_modified', '2020-10-14 19:22:50'), +(68166, 11098, 'action_type', 'UPDATE'), +(68167, 11098, 'referenced_node_status', 'publish'), +(68168, 11098, 'referenced_node_id', '1'), +(68169, 11098, 'referenced_node_relay_id', 'dXNlcjox'), +(68170, 11098, 'referenced_node_single_name', 'user'), +(68171, 11098, 'referenced_node_plural_name', 'users'), +(68173, 11099, 'action_type', 'UPDATE'), +(68174, 11099, 'referenced_node_status', 'publish'), +(68175, 11099, 'referenced_node_id', '1'), +(68176, 11099, 'referenced_node_relay_id', 'dXNlcjox'), +(68177, 11099, 'referenced_node_single_name', 'user'), +(68178, 11099, 'referenced_node_plural_name', 'users'), +(68179, 11100, 'action_type', 'UPDATE'), +(68180, 11100, 'referenced_node_status', 'publish'), +(68181, 11100, 'referenced_node_id', '2'), +(68182, 11100, 'referenced_node_relay_id', 'cG9zdDoy'), +(68183, 11100, 'referenced_node_single_name', 'page'), +(68184, 11100, 'referenced_node_plural_name', 'pages'), +(68185, 11100, 'referenced_node_post_modified', '2020-10-14 19:57:10'), +(68186, 11101, 'action_type', 'UPDATE'), +(68187, 11101, 'referenced_node_status', 'publish'), +(68188, 11101, 'referenced_node_id', '1'), +(68189, 11101, 'referenced_node_relay_id', 'dXNlcjox'), +(68190, 11101, 'referenced_node_single_name', 'user'), +(68191, 11101, 'referenced_node_plural_name', 'users'), +(68193, 11102, 'action_type', 'UPDATE'), +(68194, 11102, 'referenced_node_status', 'publish'), +(68195, 11102, 'referenced_node_id', '1'), +(68196, 11102, 'referenced_node_relay_id', 'cG9zdDox'), +(68197, 11102, 'referenced_node_single_name', 'post'), +(68198, 11102, 'referenced_node_plural_name', 'posts'), +(68199, 11102, 'referenced_node_post_modified', '2020-10-14 19:57:11'), +(68200, 11103, 'action_type', 'UPDATE'), +(68201, 11103, 'referenced_node_status', 'publish'), +(68202, 11103, 'referenced_node_id', '1'), +(68203, 11103, 'referenced_node_relay_id', 'dXNlcjox'), +(68204, 11103, 'referenced_node_single_name', 'user'), +(68205, 11103, 'referenced_node_plural_name', 'users'), +(68207, 11104, 'action_type', 'UPDATE'), +(68208, 11104, 'referenced_node_status', 'publish'), +(68209, 11104, 'referenced_node_id', '1'), +(68210, 11104, 'referenced_node_relay_id', 'dXNlcjox'), +(68211, 11104, 'referenced_node_single_name', 'user'), +(68212, 11104, 'referenced_node_plural_name', 'users'), +(68213, 11105, 'action_type', 'UPDATE'), +(68214, 11105, 'referenced_node_status', 'publish'), +(68215, 11105, 'referenced_node_id', '2'), +(68216, 11105, 'referenced_node_relay_id', 'cG9zdDoy'), +(68217, 11105, 'referenced_node_single_name', 'page'), +(68218, 11105, 'referenced_node_plural_name', 'pages'), +(68219, 11105, 'referenced_node_post_modified', '2020-10-14 21:29:19'), +(68220, 11106, 'action_type', 'UPDATE'), +(68221, 11106, 'referenced_node_status', 'publish'), +(68222, 11106, 'referenced_node_id', '1'), +(68223, 11106, 'referenced_node_relay_id', 'dXNlcjox'), +(68224, 11106, 'referenced_node_single_name', 'user'), +(68225, 11106, 'referenced_node_plural_name', 'users'), +(68227, 11107, 'action_type', 'UPDATE'), +(68228, 11107, 'referenced_node_status', 'publish'), +(68229, 11107, 'referenced_node_id', '1'), +(68230, 11107, 'referenced_node_relay_id', 'cG9zdDox'), +(68231, 11107, 'referenced_node_single_name', 'post'), +(68232, 11107, 'referenced_node_plural_name', 'posts'), +(68233, 11107, 'referenced_node_post_modified', '2020-10-14 21:29:19'), +(68234, 11108, 'action_type', 'UPDATE'), +(68235, 11108, 'referenced_node_status', 'publish'), +(68236, 11108, 'referenced_node_id', '1'), +(68237, 11108, 'referenced_node_relay_id', 'dXNlcjox'), +(68238, 11108, 'referenced_node_single_name', 'user'), +(68239, 11108, 'referenced_node_plural_name', 'users'), +(68241, 11109, 'action_type', 'UPDATE'), +(68242, 11109, 'referenced_node_status', 'publish'), +(68243, 11109, 'referenced_node_id', '1'), +(68244, 11109, 'referenced_node_relay_id', 'dXNlcjox'), +(68245, 11109, 'referenced_node_single_name', 'user'), +(68246, 11109, 'referenced_node_plural_name', 'users'), +(68247, 11110, 'action_type', 'UPDATE'), +(68248, 11110, 'referenced_node_status', 'publish'), +(68249, 11110, 'referenced_node_id', '2'), +(68250, 11110, 'referenced_node_relay_id', 'cG9zdDoy'), +(68251, 11110, 'referenced_node_single_name', 'page'), +(68252, 11110, 'referenced_node_plural_name', 'pages'), +(68253, 11110, 'referenced_node_post_modified', '2020-10-14 21:29:57'), +(68254, 11111, 'action_type', 'UPDATE'), +(68255, 11111, 'referenced_node_status', 'publish'), +(68256, 11111, 'referenced_node_id', '1'), +(68257, 11111, 'referenced_node_relay_id', 'dXNlcjox'), +(68258, 11111, 'referenced_node_single_name', 'user'), +(68259, 11111, 'referenced_node_plural_name', 'users'), +(68261, 11112, 'action_type', 'UPDATE'), +(68262, 11112, 'referenced_node_status', 'publish'), +(68263, 11112, 'referenced_node_id', '1'), +(68264, 11112, 'referenced_node_relay_id', 'cG9zdDox'), +(68265, 11112, 'referenced_node_single_name', 'post'), +(68266, 11112, 'referenced_node_plural_name', 'posts'), +(68267, 11112, 'referenced_node_post_modified', '2020-10-14 21:29:58'), +(68268, 11113, 'action_type', 'UPDATE'), +(68269, 11113, 'referenced_node_status', 'publish'), +(68270, 11113, 'referenced_node_id', '1'), +(68271, 11113, 'referenced_node_relay_id', 'dXNlcjox'), +(68272, 11113, 'referenced_node_single_name', 'user'), +(68273, 11113, 'referenced_node_plural_name', 'users'), +(68275, 11114, 'action_type', 'UPDATE'), +(68276, 11114, 'referenced_node_status', 'publish'), +(68277, 11114, 'referenced_node_id', '1'), +(68278, 11114, 'referenced_node_relay_id', 'dXNlcjox'), +(68279, 11114, 'referenced_node_single_name', 'user'), +(68280, 11114, 'referenced_node_plural_name', 'users'), +(68281, 11115, 'action_type', 'UPDATE'), +(68282, 11115, 'referenced_node_status', 'publish'), +(68283, 11115, 'referenced_node_id', '2'), +(68284, 11115, 'referenced_node_relay_id', 'cG9zdDoy'), +(68285, 11115, 'referenced_node_single_name', 'page'), +(68286, 11115, 'referenced_node_plural_name', 'pages'), +(68287, 11115, 'referenced_node_post_modified', '2020-10-14 21:31:29'), +(68288, 11116, 'action_type', 'UPDATE'), +(68289, 11116, 'referenced_node_status', 'publish'), +(68290, 11116, 'referenced_node_id', '1'), +(68291, 11116, 'referenced_node_relay_id', 'dXNlcjox'), +(68292, 11116, 'referenced_node_single_name', 'user'), +(68293, 11116, 'referenced_node_plural_name', 'users'), +(68295, 11117, 'action_type', 'UPDATE'), +(68296, 11117, 'referenced_node_status', 'publish'), +(68297, 11117, 'referenced_node_id', '1'), +(68298, 11117, 'referenced_node_relay_id', 'cG9zdDox'), +(68299, 11117, 'referenced_node_single_name', 'post'), +(68300, 11117, 'referenced_node_plural_name', 'posts'), +(68301, 11117, 'referenced_node_post_modified', '2020-10-14 21:31:29'), +(68302, 11118, 'action_type', 'UPDATE'), +(68303, 11118, 'referenced_node_status', 'publish'), +(68304, 11118, 'referenced_node_id', '1'), +(68305, 11118, 'referenced_node_relay_id', 'dXNlcjox'), +(68306, 11118, 'referenced_node_single_name', 'user'), +(68307, 11118, 'referenced_node_plural_name', 'users'), +(68309, 11119, 'action_type', 'UPDATE'), +(68310, 11119, 'referenced_node_status', 'publish'), +(68311, 11119, 'referenced_node_id', '1'), +(68312, 11119, 'referenced_node_relay_id', 'dXNlcjox'), +(68313, 11119, 'referenced_node_single_name', 'user'), +(68314, 11119, 'referenced_node_plural_name', 'users'), +(68315, 11120, 'action_type', 'UPDATE'), +(68316, 11120, 'referenced_node_status', 'publish'), +(68317, 11120, 'referenced_node_id', '2'), +(68318, 11120, 'referenced_node_relay_id', 'cG9zdDoy'), +(68319, 11120, 'referenced_node_single_name', 'page'), +(68320, 11120, 'referenced_node_plural_name', 'pages'), +(68321, 11120, 'referenced_node_post_modified', '2020-10-14 21:32:34'), +(68322, 11121, 'action_type', 'UPDATE'), +(68323, 11121, 'referenced_node_status', 'publish'), +(68324, 11121, 'referenced_node_id', '1'), +(68325, 11121, 'referenced_node_relay_id', 'dXNlcjox'), +(68326, 11121, 'referenced_node_single_name', 'user'), +(68327, 11121, 'referenced_node_plural_name', 'users'), +(68329, 11122, 'action_type', 'UPDATE'), +(68330, 11122, 'referenced_node_status', 'publish'), +(68331, 11122, 'referenced_node_id', '1'), +(68332, 11122, 'referenced_node_relay_id', 'cG9zdDox'), +(68333, 11122, 'referenced_node_single_name', 'post'), +(68334, 11122, 'referenced_node_plural_name', 'posts'), +(68335, 11122, 'referenced_node_post_modified', '2020-10-14 21:32:34'), +(68336, 11123, 'action_type', 'UPDATE'), +(68337, 11123, 'referenced_node_status', 'publish'), +(68338, 11123, 'referenced_node_id', '1'), +(68339, 11123, 'referenced_node_relay_id', 'dXNlcjox'), +(68340, 11123, 'referenced_node_single_name', 'user'), +(68341, 11123, 'referenced_node_plural_name', 'users'), +(68343, 11124, 'action_type', 'UPDATE'), +(68344, 11124, 'referenced_node_status', 'publish'), +(68345, 11124, 'referenced_node_id', '1'), +(68346, 11124, 'referenced_node_relay_id', 'dXNlcjox'), +(68347, 11124, 'referenced_node_single_name', 'user'), +(68348, 11124, 'referenced_node_plural_name', 'users'), +(68349, 11125, 'action_type', 'UPDATE'), +(68350, 11125, 'referenced_node_status', 'publish'), +(68351, 11125, 'referenced_node_id', '2'), +(68352, 11125, 'referenced_node_relay_id', 'cG9zdDoy'), +(68353, 11125, 'referenced_node_single_name', 'page'), +(68354, 11125, 'referenced_node_plural_name', 'pages'), +(68355, 11125, 'referenced_node_post_modified', '2020-10-14 21:33:01'), +(68356, 11126, 'action_type', 'UPDATE'), +(68357, 11126, 'referenced_node_status', 'publish'), +(68358, 11126, 'referenced_node_id', '1'), +(68359, 11126, 'referenced_node_relay_id', 'dXNlcjox'), +(68360, 11126, 'referenced_node_single_name', 'user'), +(68361, 11126, 'referenced_node_plural_name', 'users'), +(68363, 11127, 'action_type', 'UPDATE'), +(68364, 11127, 'referenced_node_status', 'publish'), +(68365, 11127, 'referenced_node_id', '1'), +(68366, 11127, 'referenced_node_relay_id', 'cG9zdDox'), +(68367, 11127, 'referenced_node_single_name', 'post'), +(68368, 11127, 'referenced_node_plural_name', 'posts'), +(68369, 11127, 'referenced_node_post_modified', '2020-10-14 21:33:02'), +(68370, 11128, 'action_type', 'UPDATE'), +(68371, 11128, 'referenced_node_status', 'publish'), +(68372, 11128, 'referenced_node_id', '1'), +(68373, 11128, 'referenced_node_relay_id', 'dXNlcjox'), +(68374, 11128, 'referenced_node_single_name', 'user'), +(68375, 11128, 'referenced_node_plural_name', 'users'), +(68377, 11129, 'action_type', 'UPDATE'), +(68378, 11129, 'referenced_node_status', 'publish'), +(68379, 11129, 'referenced_node_id', '1'), +(68380, 11129, 'referenced_node_relay_id', 'dXNlcjox'), +(68381, 11129, 'referenced_node_single_name', 'user'), +(68382, 11129, 'referenced_node_plural_name', 'users'), +(68383, 11130, 'action_type', 'UPDATE'), +(68384, 11130, 'referenced_node_status', 'publish'), +(68385, 11130, 'referenced_node_id', '2'), +(68386, 11130, 'referenced_node_relay_id', 'cG9zdDoy'), +(68387, 11130, 'referenced_node_single_name', 'page'), +(68388, 11130, 'referenced_node_plural_name', 'pages'), +(68389, 11130, 'referenced_node_post_modified', '2020-10-14 22:23:14'), +(68390, 11131, 'action_type', 'UPDATE'), +(68391, 11131, 'referenced_node_status', 'publish'), +(68392, 11131, 'referenced_node_id', '1'), +(68393, 11131, 'referenced_node_relay_id', 'dXNlcjox'), +(68394, 11131, 'referenced_node_single_name', 'user'), +(68395, 11131, 'referenced_node_plural_name', 'users'), +(68397, 11132, 'action_type', 'UPDATE'), +(68398, 11132, 'referenced_node_status', 'publish'), +(68399, 11132, 'referenced_node_id', '1'), +(68400, 11132, 'referenced_node_relay_id', 'cG9zdDox'), +(68401, 11132, 'referenced_node_single_name', 'post'), +(68402, 11132, 'referenced_node_plural_name', 'posts'), +(68403, 11132, 'referenced_node_post_modified', '2020-10-14 22:23:15'), +(68404, 11133, 'action_type', 'UPDATE'), +(68405, 11133, 'referenced_node_status', 'publish'), +(68406, 11133, 'referenced_node_id', '1'), +(68407, 11133, 'referenced_node_relay_id', 'dXNlcjox'), +(68408, 11133, 'referenced_node_single_name', 'user'), +(68409, 11133, 'referenced_node_plural_name', 'users'), +(68411, 11134, 'action_type', 'UPDATE'), +(68412, 11134, 'referenced_node_status', 'publish'), +(68413, 11134, 'referenced_node_id', '1'), +(68414, 11134, 'referenced_node_relay_id', 'dXNlcjox'), +(68415, 11134, 'referenced_node_single_name', 'user'), +(68416, 11134, 'referenced_node_plural_name', 'users'), +(68417, 11135, 'action_type', 'UPDATE'), +(68418, 11135, 'referenced_node_status', 'publish'), +(68419, 11135, 'referenced_node_id', '2'), +(68420, 11135, 'referenced_node_relay_id', 'cG9zdDoy'), +(68421, 11135, 'referenced_node_single_name', 'page'), +(68422, 11135, 'referenced_node_plural_name', 'pages'), +(68423, 11135, 'referenced_node_post_modified', '2020-10-14 22:24:31'), +(68424, 11136, 'action_type', 'UPDATE'), +(68425, 11136, 'referenced_node_status', 'publish'), +(68426, 11136, 'referenced_node_id', '1'), +(68427, 11136, 'referenced_node_relay_id', 'dXNlcjox'), +(68428, 11136, 'referenced_node_single_name', 'user'), +(68429, 11136, 'referenced_node_plural_name', 'users'), +(68431, 11137, 'action_type', 'UPDATE'), +(68432, 11137, 'referenced_node_status', 'publish'), +(68433, 11137, 'referenced_node_id', '1'), +(68434, 11137, 'referenced_node_relay_id', 'cG9zdDox'), +(68435, 11137, 'referenced_node_single_name', 'post'), +(68436, 11137, 'referenced_node_plural_name', 'posts'), +(68437, 11137, 'referenced_node_post_modified', '2020-10-14 22:24:31'), +(68438, 11138, 'action_type', 'UPDATE'), +(68439, 11138, 'referenced_node_status', 'publish'), +(68440, 11138, 'referenced_node_id', '1'), +(68441, 11138, 'referenced_node_relay_id', 'dXNlcjox'), +(68442, 11138, 'referenced_node_single_name', 'user'), +(68443, 11138, 'referenced_node_plural_name', 'users'), +(68445, 11139, 'action_type', 'UPDATE'), +(68446, 11139, 'referenced_node_status', 'publish'), +(68447, 11139, 'referenced_node_id', '1'), +(68448, 11139, 'referenced_node_relay_id', 'dXNlcjox'), +(68449, 11139, 'referenced_node_single_name', 'user'), +(68450, 11139, 'referenced_node_plural_name', 'users'), +(68451, 11140, 'action_type', 'UPDATE'), +(68452, 11140, 'referenced_node_status', 'publish'), +(68453, 11140, 'referenced_node_id', '2'), +(68454, 11140, 'referenced_node_relay_id', 'cG9zdDoy'), +(68455, 11140, 'referenced_node_single_name', 'page'), +(68456, 11140, 'referenced_node_plural_name', 'pages'), +(68457, 11140, 'referenced_node_post_modified', '2020-10-14 22:25:03'), +(68458, 11141, 'action_type', 'UPDATE'), +(68459, 11141, 'referenced_node_status', 'publish'), +(68460, 11141, 'referenced_node_id', '1'), +(68461, 11141, 'referenced_node_relay_id', 'dXNlcjox'), +(68462, 11141, 'referenced_node_single_name', 'user'), +(68463, 11141, 'referenced_node_plural_name', 'users'), +(68465, 11142, 'action_type', 'UPDATE'), +(68466, 11142, 'referenced_node_status', 'publish'), +(68467, 11142, 'referenced_node_id', '1'), +(68468, 11142, 'referenced_node_relay_id', 'cG9zdDox'), +(68469, 11142, 'referenced_node_single_name', 'post'), +(68470, 11142, 'referenced_node_plural_name', 'posts'), +(68471, 11142, 'referenced_node_post_modified', '2020-10-14 22:25:03'), +(68472, 11143, 'action_type', 'UPDATE'), +(68473, 11143, 'referenced_node_status', 'publish'), +(68474, 11143, 'referenced_node_id', '1'), +(68475, 11143, 'referenced_node_relay_id', 'dXNlcjox'), +(68476, 11143, 'referenced_node_single_name', 'user'), +(68477, 11143, 'referenced_node_plural_name', 'users'), +(68479, 11144, 'action_type', 'UPDATE'), +(68480, 11144, 'referenced_node_status', 'publish'), +(68481, 11144, 'referenced_node_id', '1'), +(68482, 11144, 'referenced_node_relay_id', 'dXNlcjox'), +(68483, 11144, 'referenced_node_single_name', 'user'), +(68484, 11144, 'referenced_node_plural_name', 'users'), +(68485, 11145, 'action_type', 'UPDATE'), +(68486, 11145, 'referenced_node_status', 'publish'), +(68487, 11145, 'referenced_node_id', '2'), +(68488, 11145, 'referenced_node_relay_id', 'cG9zdDoy'), +(68489, 11145, 'referenced_node_single_name', 'page'), +(68490, 11145, 'referenced_node_plural_name', 'pages'), +(68491, 11145, 'referenced_node_post_modified', '2020-10-14 22:33:06'), +(68492, 11146, 'action_type', 'UPDATE'), +(68493, 11146, 'referenced_node_status', 'publish'), +(68494, 11146, 'referenced_node_id', '1'), +(68495, 11146, 'referenced_node_relay_id', 'dXNlcjox'), +(68496, 11146, 'referenced_node_single_name', 'user'), +(68497, 11146, 'referenced_node_plural_name', 'users'), +(68499, 11147, 'action_type', 'UPDATE'), +(68500, 11147, 'referenced_node_status', 'publish'), +(68501, 11147, 'referenced_node_id', '1'), +(68502, 11147, 'referenced_node_relay_id', 'cG9zdDox'), +(68503, 11147, 'referenced_node_single_name', 'post'), +(68504, 11147, 'referenced_node_plural_name', 'posts'), +(68505, 11147, 'referenced_node_post_modified', '2020-10-14 22:33:06'), +(68506, 11148, 'action_type', 'UPDATE'), +(68507, 11148, 'referenced_node_status', 'publish'), +(68508, 11148, 'referenced_node_id', '1'), +(68509, 11148, 'referenced_node_relay_id', 'dXNlcjox'), +(68510, 11148, 'referenced_node_single_name', 'user'), +(68511, 11148, 'referenced_node_plural_name', 'users'), +(68513, 11149, 'action_type', 'UPDATE'), +(68514, 11149, 'referenced_node_status', 'publish'), +(68515, 11149, 'referenced_node_id', '1'), +(68516, 11149, 'referenced_node_relay_id', 'dXNlcjox'), +(68517, 11149, 'referenced_node_single_name', 'user'), +(68518, 11149, 'referenced_node_plural_name', 'users'), +(68519, 11150, 'action_type', 'UPDATE'), +(68520, 11150, 'referenced_node_status', 'publish'), +(68521, 11150, 'referenced_node_id', '2'), +(68522, 11150, 'referenced_node_relay_id', 'cG9zdDoy'), +(68523, 11150, 'referenced_node_single_name', 'page'), +(68524, 11150, 'referenced_node_plural_name', 'pages'), +(68525, 11150, 'referenced_node_post_modified', '2020-10-14 22:34:18'), +(68526, 11151, 'action_type', 'UPDATE'), +(68527, 11151, 'referenced_node_status', 'publish'), +(68528, 11151, 'referenced_node_id', '1'), +(68529, 11151, 'referenced_node_relay_id', 'dXNlcjox'), +(68530, 11151, 'referenced_node_single_name', 'user'), +(68531, 11151, 'referenced_node_plural_name', 'users'), +(68533, 11152, 'action_type', 'UPDATE'), +(68534, 11152, 'referenced_node_status', 'publish'), +(68535, 11152, 'referenced_node_id', '1'), +(68536, 11152, 'referenced_node_relay_id', 'cG9zdDox'), +(68537, 11152, 'referenced_node_single_name', 'post'), +(68538, 11152, 'referenced_node_plural_name', 'posts'), +(68539, 11152, 'referenced_node_post_modified', '2020-10-14 22:34:18'), +(68540, 11153, 'action_type', 'UPDATE'), +(68541, 11153, 'referenced_node_status', 'publish'), +(68542, 11153, 'referenced_node_id', '1'), +(68543, 11153, 'referenced_node_relay_id', 'dXNlcjox'), +(68544, 11153, 'referenced_node_single_name', 'user'), +(68545, 11153, 'referenced_node_plural_name', 'users'), +(68547, 11154, 'action_type', 'UPDATE'), +(68548, 11154, 'referenced_node_status', 'publish'), +(68549, 11154, 'referenced_node_id', '1'), +(68550, 11154, 'referenced_node_relay_id', 'dXNlcjox'), +(68551, 11154, 'referenced_node_single_name', 'user'), +(68552, 11154, 'referenced_node_plural_name', 'users'), +(68553, 11155, 'action_type', 'UPDATE'), +(68554, 11155, 'referenced_node_status', 'publish'), +(68555, 11155, 'referenced_node_id', '2'), +(68556, 11155, 'referenced_node_relay_id', 'cG9zdDoy'), +(68557, 11155, 'referenced_node_single_name', 'page'), +(68558, 11155, 'referenced_node_plural_name', 'pages'), +(68559, 11155, 'referenced_node_post_modified', '2020-10-14 22:34:48'), +(68560, 11156, 'action_type', 'UPDATE'), +(68561, 11156, 'referenced_node_status', 'publish'), +(68562, 11156, 'referenced_node_id', '1'), +(68563, 11156, 'referenced_node_relay_id', 'dXNlcjox'), +(68564, 11156, 'referenced_node_single_name', 'user'), +(68565, 11156, 'referenced_node_plural_name', 'users'), +(68567, 11157, 'action_type', 'UPDATE'), +(68568, 11157, 'referenced_node_status', 'publish'), +(68569, 11157, 'referenced_node_id', '1'), +(68570, 11157, 'referenced_node_relay_id', 'cG9zdDox'), +(68571, 11157, 'referenced_node_single_name', 'post'), +(68572, 11157, 'referenced_node_plural_name', 'posts'), +(68573, 11157, 'referenced_node_post_modified', '2020-10-14 22:34:48'), +(68574, 11158, 'action_type', 'UPDATE'), +(68575, 11158, 'referenced_node_status', 'publish'), +(68576, 11158, 'referenced_node_id', '1'), +(68577, 11158, 'referenced_node_relay_id', 'dXNlcjox'), +(68578, 11158, 'referenced_node_single_name', 'user'), +(68579, 11158, 'referenced_node_plural_name', 'users'), +(68581, 11159, 'action_type', 'UPDATE'), +(68582, 11159, 'referenced_node_status', 'publish'), +(68583, 11159, 'referenced_node_id', '1'), +(68584, 11159, 'referenced_node_relay_id', 'dXNlcjox'), +(68585, 11159, 'referenced_node_single_name', 'user'), +(68586, 11159, 'referenced_node_plural_name', 'users'), +(68587, 11160, 'action_type', 'UPDATE'), +(68588, 11160, 'referenced_node_status', 'publish'), +(68589, 11160, 'referenced_node_id', '2'), +(68590, 11160, 'referenced_node_relay_id', 'cG9zdDoy'), +(68591, 11160, 'referenced_node_single_name', 'page'), +(68592, 11160, 'referenced_node_plural_name', 'pages'), +(68593, 11160, 'referenced_node_post_modified', '2020-10-14 23:15:40'), +(68594, 11161, 'action_type', 'UPDATE'), +(68595, 11161, 'referenced_node_status', 'publish'), +(68596, 11161, 'referenced_node_id', '1'), +(68597, 11161, 'referenced_node_relay_id', 'dXNlcjox'), +(68598, 11161, 'referenced_node_single_name', 'user'), +(68599, 11161, 'referenced_node_plural_name', 'users'), +(68601, 11162, 'action_type', 'UPDATE'), +(68602, 11162, 'referenced_node_status', 'publish'), +(68603, 11162, 'referenced_node_id', '1'), +(68604, 11162, 'referenced_node_relay_id', 'cG9zdDox'), +(68605, 11162, 'referenced_node_single_name', 'post'), +(68606, 11162, 'referenced_node_plural_name', 'posts'), +(68607, 11162, 'referenced_node_post_modified', '2020-10-14 23:15:41'), +(68608, 11163, 'action_type', 'UPDATE'), +(68609, 11163, 'referenced_node_status', 'publish'), +(68610, 11163, 'referenced_node_id', '1'), +(68611, 11163, 'referenced_node_relay_id', 'dXNlcjox'), +(68612, 11163, 'referenced_node_single_name', 'user'), +(68613, 11163, 'referenced_node_plural_name', 'users'), +(68615, 11164, 'action_type', 'UPDATE'), +(68616, 11164, 'referenced_node_status', 'publish'), +(68617, 11164, 'referenced_node_id', '1'), +(68618, 11164, 'referenced_node_relay_id', 'dXNlcjox'), +(68619, 11164, 'referenced_node_single_name', 'user'), +(68620, 11164, 'referenced_node_plural_name', 'users'), +(68621, 11165, 'action_type', 'UPDATE'), +(68622, 11165, 'referenced_node_status', 'publish'), +(68623, 11165, 'referenced_node_id', '2'), +(68624, 11165, 'referenced_node_relay_id', 'cG9zdDoy'), +(68625, 11165, 'referenced_node_single_name', 'page'), +(68626, 11165, 'referenced_node_plural_name', 'pages'), +(68627, 11165, 'referenced_node_post_modified', '2020-10-14 23:21:27'), +(68628, 11166, 'action_type', 'UPDATE'), +(68629, 11166, 'referenced_node_status', 'publish'), +(68630, 11166, 'referenced_node_id', '1'), +(68631, 11166, 'referenced_node_relay_id', 'dXNlcjox'), +(68632, 11166, 'referenced_node_single_name', 'user'), +(68633, 11166, 'referenced_node_plural_name', 'users'), +(68635, 11167, 'action_type', 'UPDATE'), +(68636, 11167, 'referenced_node_status', 'publish'), +(68637, 11167, 'referenced_node_id', '1'), +(68638, 11167, 'referenced_node_relay_id', 'cG9zdDox'), +(68639, 11167, 'referenced_node_single_name', 'post'), +(68640, 11167, 'referenced_node_plural_name', 'posts'), +(68641, 11167, 'referenced_node_post_modified', '2020-10-14 23:21:27'), +(68642, 11168, 'action_type', 'UPDATE'), +(68643, 11168, 'referenced_node_status', 'publish'), +(68644, 11168, 'referenced_node_id', '1'), +(68645, 11168, 'referenced_node_relay_id', 'dXNlcjox'), +(68646, 11168, 'referenced_node_single_name', 'user'), +(68647, 11168, 'referenced_node_plural_name', 'users'), +(68649, 11169, 'action_type', 'UPDATE'), +(68650, 11169, 'referenced_node_status', 'publish'), +(68651, 11169, 'referenced_node_id', '1'), +(68652, 11169, 'referenced_node_relay_id', 'dXNlcjox'), +(68653, 11169, 'referenced_node_single_name', 'user'), +(68654, 11169, 'referenced_node_plural_name', 'users'), +(68655, 11170, 'action_type', 'UPDATE'), +(68656, 11170, 'referenced_node_status', 'publish'), +(68657, 11170, 'referenced_node_id', '2'), +(68658, 11170, 'referenced_node_relay_id', 'cG9zdDoy'), +(68659, 11170, 'referenced_node_single_name', 'page'), +(68660, 11170, 'referenced_node_plural_name', 'pages'), +(68661, 11170, 'referenced_node_post_modified', '2020-10-14 23:23:17'), +(68662, 11171, 'action_type', 'UPDATE'), +(68663, 11171, 'referenced_node_status', 'publish'), +(68664, 11171, 'referenced_node_id', '1'), +(68665, 11171, 'referenced_node_relay_id', 'dXNlcjox'), +(68666, 11171, 'referenced_node_single_name', 'user'), +(68667, 11171, 'referenced_node_plural_name', 'users'), +(68669, 11172, 'action_type', 'UPDATE'), +(68670, 11172, 'referenced_node_status', 'publish'), +(68671, 11172, 'referenced_node_id', '1'), +(68672, 11172, 'referenced_node_relay_id', 'cG9zdDox'), +(68673, 11172, 'referenced_node_single_name', 'post'), +(68674, 11172, 'referenced_node_plural_name', 'posts'), +(68675, 11172, 'referenced_node_post_modified', '2020-10-14 23:23:18'), +(68676, 11173, 'action_type', 'UPDATE'), +(68677, 11173, 'referenced_node_status', 'publish'), +(68678, 11173, 'referenced_node_id', '1'), +(68679, 11173, 'referenced_node_relay_id', 'dXNlcjox'), +(68680, 11173, 'referenced_node_single_name', 'user'), +(68681, 11173, 'referenced_node_plural_name', 'users'), +(68683, 11174, 'action_type', 'UPDATE'), +(68684, 11174, 'referenced_node_status', 'publish'), +(68685, 11174, 'referenced_node_id', '1'), +(68686, 11174, 'referenced_node_relay_id', 'dXNlcjox'), +(68687, 11174, 'referenced_node_single_name', 'user'), +(68688, 11174, 'referenced_node_plural_name', 'users'), +(68689, 11175, 'action_type', 'UPDATE'), +(68690, 11175, 'referenced_node_status', 'publish'), +(68691, 11175, 'referenced_node_id', '2'), +(68692, 11175, 'referenced_node_relay_id', 'cG9zdDoy'), +(68693, 11175, 'referenced_node_single_name', 'page'), +(68694, 11175, 'referenced_node_plural_name', 'pages'), +(68695, 11175, 'referenced_node_post_modified', '2020-10-14 23:23:46'), +(68696, 11176, 'action_type', 'UPDATE'), +(68697, 11176, 'referenced_node_status', 'publish'), +(68698, 11176, 'referenced_node_id', '1'), +(68699, 11176, 'referenced_node_relay_id', 'dXNlcjox'), +(68700, 11176, 'referenced_node_single_name', 'user'), +(68701, 11176, 'referenced_node_plural_name', 'users'), +(68703, 11177, 'action_type', 'UPDATE'), +(68704, 11177, 'referenced_node_status', 'publish'), +(68705, 11177, 'referenced_node_id', '1'), +(68706, 11177, 'referenced_node_relay_id', 'cG9zdDox'), +(68707, 11177, 'referenced_node_single_name', 'post'), +(68708, 11177, 'referenced_node_plural_name', 'posts'), +(68709, 11177, 'referenced_node_post_modified', '2020-10-14 23:23:47'), +(68710, 11178, 'action_type', 'UPDATE'), +(68711, 11178, 'referenced_node_status', 'publish'), +(68712, 11178, 'referenced_node_id', '1'), +(68713, 11178, 'referenced_node_relay_id', 'dXNlcjox'), +(68714, 11178, 'referenced_node_single_name', 'user'), +(68715, 11178, 'referenced_node_plural_name', 'users'), +(68717, 11179, 'action_type', 'UPDATE'), +(68718, 11179, 'referenced_node_status', 'publish'), +(68719, 11179, 'referenced_node_id', '1'), +(68720, 11179, 'referenced_node_relay_id', 'dXNlcjox'), +(68721, 11179, 'referenced_node_single_name', 'user'), +(68722, 11179, 'referenced_node_plural_name', 'users'), +(68723, 11180, 'action_type', 'UPDATE'), +(68724, 11180, 'referenced_node_status', 'publish'), +(68725, 11180, 'referenced_node_id', '2'), +(68726, 11180, 'referenced_node_relay_id', 'cG9zdDoy'), +(68727, 11180, 'referenced_node_single_name', 'page'), +(68728, 11180, 'referenced_node_plural_name', 'pages'), +(68729, 11180, 'referenced_node_post_modified', '2020-10-15 00:42:51'), +(68730, 11181, 'action_type', 'UPDATE'), +(68731, 11181, 'referenced_node_status', 'publish'), +(68732, 11181, 'referenced_node_id', '1'), +(68733, 11181, 'referenced_node_relay_id', 'dXNlcjox'), +(68734, 11181, 'referenced_node_single_name', 'user'), +(68735, 11181, 'referenced_node_plural_name', 'users'), +(68737, 11182, 'action_type', 'UPDATE'), +(68738, 11182, 'referenced_node_status', 'publish'), +(68739, 11182, 'referenced_node_id', '1'), +(68740, 11182, 'referenced_node_relay_id', 'cG9zdDox'), +(68741, 11182, 'referenced_node_single_name', 'post'), +(68742, 11182, 'referenced_node_plural_name', 'posts'), +(68743, 11182, 'referenced_node_post_modified', '2020-10-15 00:42:52'), +(68744, 11183, 'action_type', 'UPDATE'), +(68745, 11183, 'referenced_node_status', 'publish'), +(68746, 11183, 'referenced_node_id', '1'), +(68747, 11183, 'referenced_node_relay_id', 'dXNlcjox'), +(68748, 11183, 'referenced_node_single_name', 'user'), +(68749, 11183, 'referenced_node_plural_name', 'users'), +(68751, 11184, 'action_type', 'UPDATE'), +(68752, 11184, 'referenced_node_status', 'publish'), +(68753, 11184, 'referenced_node_id', '1'), +(68754, 11184, 'referenced_node_relay_id', 'dXNlcjox'), +(68755, 11184, 'referenced_node_single_name', 'user'), +(68756, 11184, 'referenced_node_plural_name', 'users'), +(68757, 11185, 'action_type', 'UPDATE'), +(68758, 11185, 'referenced_node_status', 'publish'), +(68759, 11185, 'referenced_node_id', '2'), +(68760, 11185, 'referenced_node_relay_id', 'cG9zdDoy'), +(68761, 11185, 'referenced_node_single_name', 'page'), +(68762, 11185, 'referenced_node_plural_name', 'pages'), +(68763, 11185, 'referenced_node_post_modified', '2020-10-15 00:47:29'), +(68764, 11186, 'action_type', 'UPDATE'), +(68765, 11186, 'referenced_node_status', 'publish'), +(68766, 11186, 'referenced_node_id', '1'), +(68767, 11186, 'referenced_node_relay_id', 'dXNlcjox'), +(68768, 11186, 'referenced_node_single_name', 'user'), +(68769, 11186, 'referenced_node_plural_name', 'users'), +(68771, 11187, 'action_type', 'UPDATE'), +(68772, 11187, 'referenced_node_status', 'publish'), +(68773, 11187, 'referenced_node_id', '1'), +(68774, 11187, 'referenced_node_relay_id', 'cG9zdDox'), +(68775, 11187, 'referenced_node_single_name', 'post'), +(68776, 11187, 'referenced_node_plural_name', 'posts'), +(68777, 11187, 'referenced_node_post_modified', '2020-10-15 00:47:30'), +(68778, 11188, 'action_type', 'UPDATE'), +(68779, 11188, 'referenced_node_status', 'publish'), +(68780, 11188, 'referenced_node_id', '1'), +(68781, 11188, 'referenced_node_relay_id', 'dXNlcjox'), +(68782, 11188, 'referenced_node_single_name', 'user'), +(68783, 11188, 'referenced_node_plural_name', 'users'), +(68785, 11189, 'action_type', 'UPDATE'), +(68786, 11189, 'referenced_node_status', 'publish'), +(68787, 11189, 'referenced_node_id', '1'), +(68788, 11189, 'referenced_node_relay_id', 'dXNlcjox'), +(68789, 11189, 'referenced_node_single_name', 'user'), +(68790, 11189, 'referenced_node_plural_name', 'users'), +(68791, 11190, 'action_type', 'UPDATE'), +(68792, 11190, 'referenced_node_status', 'publish'), +(68793, 11190, 'referenced_node_id', '2'), +(68794, 11190, 'referenced_node_relay_id', 'cG9zdDoy'), +(68795, 11190, 'referenced_node_single_name', 'page'), +(68796, 11190, 'referenced_node_plural_name', 'pages'), +(68797, 11190, 'referenced_node_post_modified', '2020-10-15 00:48:07'), +(68798, 11191, 'action_type', 'UPDATE'), +(68799, 11191, 'referenced_node_status', 'publish'), +(68800, 11191, 'referenced_node_id', '1'), +(68801, 11191, 'referenced_node_relay_id', 'dXNlcjox'), +(68802, 11191, 'referenced_node_single_name', 'user'), +(68803, 11191, 'referenced_node_plural_name', 'users'), +(68805, 11192, 'action_type', 'UPDATE'), +(68806, 11192, 'referenced_node_status', 'publish'), +(68807, 11192, 'referenced_node_id', '1'), +(68808, 11192, 'referenced_node_relay_id', 'cG9zdDox'), +(68809, 11192, 'referenced_node_single_name', 'post'), +(68810, 11192, 'referenced_node_plural_name', 'posts'), +(68811, 11192, 'referenced_node_post_modified', '2020-10-15 00:48:07'), +(68812, 11193, 'action_type', 'UPDATE'), +(68813, 11193, 'referenced_node_status', 'publish'), +(68814, 11193, 'referenced_node_id', '1'), +(68815, 11193, 'referenced_node_relay_id', 'dXNlcjox'), +(68816, 11193, 'referenced_node_single_name', 'user'), +(68817, 11193, 'referenced_node_plural_name', 'users'), +(68819, 11194, 'action_type', 'UPDATE'), +(68820, 11194, 'referenced_node_status', 'publish'), +(68821, 11194, 'referenced_node_id', '1'), +(68822, 11194, 'referenced_node_relay_id', 'dXNlcjox'), +(68823, 11194, 'referenced_node_single_name', 'user'), +(68824, 11194, 'referenced_node_plural_name', 'users'), +(68825, 11195, 'action_type', 'UPDATE'), +(68826, 11195, 'referenced_node_status', 'publish'), +(68827, 11195, 'referenced_node_id', '2'), +(68828, 11195, 'referenced_node_relay_id', 'cG9zdDoy'), +(68829, 11195, 'referenced_node_single_name', 'page'), +(68830, 11195, 'referenced_node_plural_name', 'pages'), +(68831, 11195, 'referenced_node_post_modified', '2020-10-15 01:06:30'), +(68832, 11196, 'action_type', 'UPDATE'), +(68833, 11196, 'referenced_node_status', 'publish'), +(68834, 11196, 'referenced_node_id', '1'), +(68835, 11196, 'referenced_node_relay_id', 'dXNlcjox'), +(68836, 11196, 'referenced_node_single_name', 'user'), +(68837, 11196, 'referenced_node_plural_name', 'users'), +(68839, 11197, 'action_type', 'UPDATE'), +(68840, 11197, 'referenced_node_status', 'publish'), +(68841, 11197, 'referenced_node_id', '1'), +(68842, 11197, 'referenced_node_relay_id', 'cG9zdDox'), +(68843, 11197, 'referenced_node_single_name', 'post'), +(68844, 11197, 'referenced_node_plural_name', 'posts'), +(68845, 11197, 'referenced_node_post_modified', '2020-10-15 01:06:30'), +(68846, 11198, 'action_type', 'UPDATE'), +(68847, 11198, 'referenced_node_status', 'publish'), +(68848, 11198, 'referenced_node_id', '1'), +(68849, 11198, 'referenced_node_relay_id', 'dXNlcjox'), +(68850, 11198, 'referenced_node_single_name', 'user'), +(68851, 11198, 'referenced_node_plural_name', 'users'), +(68853, 11199, 'action_type', 'UPDATE'), +(68854, 11199, 'referenced_node_status', 'publish'), +(68855, 11199, 'referenced_node_id', '1'), +(68856, 11199, 'referenced_node_relay_id', 'dXNlcjox'), +(68857, 11199, 'referenced_node_single_name', 'user'), +(68858, 11199, 'referenced_node_plural_name', 'users'), +(68859, 11200, 'action_type', 'UPDATE'), +(68860, 11200, 'referenced_node_status', 'publish'), +(68861, 11200, 'referenced_node_id', '2'), +(68862, 11200, 'referenced_node_relay_id', 'cG9zdDoy'), +(68863, 11200, 'referenced_node_single_name', 'page'), +(68864, 11200, 'referenced_node_plural_name', 'pages'), +(68865, 11200, 'referenced_node_post_modified', '2020-10-15 01:07:16'), +(68866, 11201, 'action_type', 'UPDATE'), +(68867, 11201, 'referenced_node_status', 'publish'), +(68868, 11201, 'referenced_node_id', '1'), +(68869, 11201, 'referenced_node_relay_id', 'dXNlcjox'), +(68870, 11201, 'referenced_node_single_name', 'user'), +(68871, 11201, 'referenced_node_plural_name', 'users'), +(68873, 11202, 'action_type', 'UPDATE'), +(68874, 11202, 'referenced_node_status', 'publish'), +(68875, 11202, 'referenced_node_id', '1'), +(68876, 11202, 'referenced_node_relay_id', 'cG9zdDox'), +(68877, 11202, 'referenced_node_single_name', 'post'), +(68878, 11202, 'referenced_node_plural_name', 'posts'), +(68879, 11202, 'referenced_node_post_modified', '2020-10-15 01:07:16'), +(68880, 11203, 'action_type', 'UPDATE'), +(68881, 11203, 'referenced_node_status', 'publish'), +(68882, 11203, 'referenced_node_id', '1'), +(68883, 11203, 'referenced_node_relay_id', 'dXNlcjox'), +(68884, 11203, 'referenced_node_single_name', 'user'), +(68885, 11203, 'referenced_node_plural_name', 'users'), +(68887, 11204, 'action_type', 'UPDATE'), +(68888, 11204, 'referenced_node_status', 'publish'), +(68889, 11204, 'referenced_node_id', '1'), +(68890, 11204, 'referenced_node_relay_id', 'dXNlcjox'), +(68891, 11204, 'referenced_node_single_name', 'user'), +(68892, 11204, 'referenced_node_plural_name', 'users'), +(68893, 11205, 'action_type', 'UPDATE'), +(68894, 11205, 'referenced_node_status', 'publish'), +(68895, 11205, 'referenced_node_id', '2'), +(68896, 11205, 'referenced_node_relay_id', 'cG9zdDoy'), +(68897, 11205, 'referenced_node_single_name', 'page'), +(68898, 11205, 'referenced_node_plural_name', 'pages'), +(68899, 11205, 'referenced_node_post_modified', '2020-10-15 01:09:30'), +(68900, 11206, 'action_type', 'UPDATE'), +(68901, 11206, 'referenced_node_status', 'publish'), +(68902, 11206, 'referenced_node_id', '1'), +(68903, 11206, 'referenced_node_relay_id', 'dXNlcjox'), +(68904, 11206, 'referenced_node_single_name', 'user'), +(68905, 11206, 'referenced_node_plural_name', 'users'), +(68907, 11207, 'action_type', 'UPDATE'), +(68908, 11207, 'referenced_node_status', 'publish'), +(68909, 11207, 'referenced_node_id', '1'), +(68910, 11207, 'referenced_node_relay_id', 'cG9zdDox'), +(68911, 11207, 'referenced_node_single_name', 'post'), +(68912, 11207, 'referenced_node_plural_name', 'posts'), +(68913, 11207, 'referenced_node_post_modified', '2020-10-15 01:09:30'), +(68914, 11208, 'action_type', 'UPDATE'), +(68915, 11208, 'referenced_node_status', 'publish'), +(68916, 11208, 'referenced_node_id', '1'), +(68917, 11208, 'referenced_node_relay_id', 'dXNlcjox'), +(68918, 11208, 'referenced_node_single_name', 'user'), +(68919, 11208, 'referenced_node_plural_name', 'users'), +(68921, 11209, 'action_type', 'UPDATE'), +(68922, 11209, 'referenced_node_status', 'publish'), +(68923, 11209, 'referenced_node_id', '1'), +(68924, 11209, 'referenced_node_relay_id', 'dXNlcjox'), +(68925, 11209, 'referenced_node_single_name', 'user'), +(68926, 11209, 'referenced_node_plural_name', 'users'), +(68927, 11210, 'action_type', 'UPDATE'), +(68928, 11210, 'referenced_node_status', 'publish'), +(68929, 11210, 'referenced_node_id', '2'), +(68930, 11210, 'referenced_node_relay_id', 'cG9zdDoy'), +(68931, 11210, 'referenced_node_single_name', 'page'), +(68932, 11210, 'referenced_node_plural_name', 'pages'), +(68933, 11210, 'referenced_node_post_modified', '2020-10-15 01:13:15'), +(68934, 11211, 'action_type', 'UPDATE'), +(68935, 11211, 'referenced_node_status', 'publish'), +(68936, 11211, 'referenced_node_id', '1'), +(68937, 11211, 'referenced_node_relay_id', 'dXNlcjox'), +(68938, 11211, 'referenced_node_single_name', 'user'), +(68939, 11211, 'referenced_node_plural_name', 'users'), +(68941, 11212, 'action_type', 'UPDATE'), +(68942, 11212, 'referenced_node_status', 'publish'), +(68943, 11212, 'referenced_node_id', '1'), +(68944, 11212, 'referenced_node_relay_id', 'cG9zdDox'), +(68945, 11212, 'referenced_node_single_name', 'post'), +(68946, 11212, 'referenced_node_plural_name', 'posts'), +(68947, 11212, 'referenced_node_post_modified', '2020-10-15 01:13:15'), +(68948, 11213, 'action_type', 'UPDATE'), +(68949, 11213, 'referenced_node_status', 'publish'), +(68950, 11213, 'referenced_node_id', '1'), +(68951, 11213, 'referenced_node_relay_id', 'dXNlcjox'), +(68952, 11213, 'referenced_node_single_name', 'user'), +(68953, 11213, 'referenced_node_plural_name', 'users'), +(68955, 11214, 'action_type', 'UPDATE'), +(68956, 11214, 'referenced_node_status', 'publish'), +(68957, 11214, 'referenced_node_id', '1'), +(68958, 11214, 'referenced_node_relay_id', 'dXNlcjox'), +(68959, 11214, 'referenced_node_single_name', 'user'), +(68960, 11214, 'referenced_node_plural_name', 'users'), +(68961, 11215, 'action_type', 'UPDATE'), +(68962, 11215, 'referenced_node_status', 'publish'), +(68963, 11215, 'referenced_node_id', '2'), +(68964, 11215, 'referenced_node_relay_id', 'cG9zdDoy'), +(68965, 11215, 'referenced_node_single_name', 'page'), +(68966, 11215, 'referenced_node_plural_name', 'pages'), +(68967, 11215, 'referenced_node_post_modified', '2020-10-15 01:16:41'), +(68968, 11216, 'action_type', 'UPDATE'), +(68969, 11216, 'referenced_node_status', 'publish'), +(68970, 11216, 'referenced_node_id', '1'), +(68971, 11216, 'referenced_node_relay_id', 'dXNlcjox'), +(68972, 11216, 'referenced_node_single_name', 'user'), +(68973, 11216, 'referenced_node_plural_name', 'users'), +(68975, 11217, 'action_type', 'UPDATE'), +(68976, 11217, 'referenced_node_status', 'publish'), +(68977, 11217, 'referenced_node_id', '1'), +(68978, 11217, 'referenced_node_relay_id', 'cG9zdDox'), +(68979, 11217, 'referenced_node_single_name', 'post'), +(68980, 11217, 'referenced_node_plural_name', 'posts'), +(68981, 11217, 'referenced_node_post_modified', '2020-10-15 01:16:42'), +(68982, 11218, 'action_type', 'UPDATE'), +(68983, 11218, 'referenced_node_status', 'publish'), +(68984, 11218, 'referenced_node_id', '1'), +(68985, 11218, 'referenced_node_relay_id', 'dXNlcjox'), +(68986, 11218, 'referenced_node_single_name', 'user'), +(68987, 11218, 'referenced_node_plural_name', 'users'), +(68989, 11219, 'action_type', 'UPDATE'), +(68990, 11219, 'referenced_node_status', 'publish'), +(68991, 11219, 'referenced_node_id', '1'), +(68992, 11219, 'referenced_node_relay_id', 'dXNlcjox'), +(68993, 11219, 'referenced_node_single_name', 'user'), +(68994, 11219, 'referenced_node_plural_name', 'users'), +(68995, 11220, 'action_type', 'UPDATE'), +(68996, 11220, 'referenced_node_status', 'publish'), +(68997, 11220, 'referenced_node_id', '2'), +(68998, 11220, 'referenced_node_relay_id', 'cG9zdDoy'), +(68999, 11220, 'referenced_node_single_name', 'page'), +(69000, 11220, 'referenced_node_plural_name', 'pages'), +(69001, 11220, 'referenced_node_post_modified', '2020-10-15 01:18:31'), +(69002, 11221, 'action_type', 'UPDATE'), +(69003, 11221, 'referenced_node_status', 'publish'), +(69004, 11221, 'referenced_node_id', '1'), +(69005, 11221, 'referenced_node_relay_id', 'dXNlcjox'), +(69006, 11221, 'referenced_node_single_name', 'user'), +(69007, 11221, 'referenced_node_plural_name', 'users'), +(69009, 11222, 'action_type', 'UPDATE'), +(69010, 11222, 'referenced_node_status', 'publish'), +(69011, 11222, 'referenced_node_id', '1'), +(69012, 11222, 'referenced_node_relay_id', 'cG9zdDox'), +(69013, 11222, 'referenced_node_single_name', 'post'), +(69014, 11222, 'referenced_node_plural_name', 'posts'), +(69015, 11222, 'referenced_node_post_modified', '2020-10-15 01:18:31'), +(69016, 11223, 'action_type', 'UPDATE'), +(69017, 11223, 'referenced_node_status', 'publish'), +(69018, 11223, 'referenced_node_id', '1'), +(69019, 11223, 'referenced_node_relay_id', 'dXNlcjox'), +(69020, 11223, 'referenced_node_single_name', 'user'), +(69021, 11223, 'referenced_node_plural_name', 'users'), +(69023, 11224, 'action_type', 'UPDATE'), +(69024, 11224, 'referenced_node_status', 'publish'), +(69025, 11224, 'referenced_node_id', '1'), +(69026, 11224, 'referenced_node_relay_id', 'dXNlcjox'), +(69027, 11224, 'referenced_node_single_name', 'user'), +(69028, 11224, 'referenced_node_plural_name', 'users'), +(69029, 11225, 'action_type', 'UPDATE'), +(69030, 11225, 'referenced_node_status', 'publish'), +(69031, 11225, 'referenced_node_id', '2'), +(69032, 11225, 'referenced_node_relay_id', 'cG9zdDoy'), +(69033, 11225, 'referenced_node_single_name', 'page'), +(69034, 11225, 'referenced_node_plural_name', 'pages'), +(69035, 11225, 'referenced_node_post_modified', '2020-10-15 01:20:24'), +(69036, 11226, 'action_type', 'UPDATE'), +(69037, 11226, 'referenced_node_status', 'publish'), +(69038, 11226, 'referenced_node_id', '1'), +(69039, 11226, 'referenced_node_relay_id', 'dXNlcjox'), +(69040, 11226, 'referenced_node_single_name', 'user'), +(69041, 11226, 'referenced_node_plural_name', 'users'), +(69043, 11227, 'action_type', 'UPDATE'), +(69044, 11227, 'referenced_node_status', 'publish'), +(69045, 11227, 'referenced_node_id', '1'), +(69046, 11227, 'referenced_node_relay_id', 'cG9zdDox'), +(69047, 11227, 'referenced_node_single_name', 'post'), +(69048, 11227, 'referenced_node_plural_name', 'posts'), +(69049, 11227, 'referenced_node_post_modified', '2020-10-15 01:20:24'), +(69050, 11228, 'action_type', 'UPDATE'), +(69051, 11228, 'referenced_node_status', 'publish'), +(69052, 11228, 'referenced_node_id', '1'), +(69053, 11228, 'referenced_node_relay_id', 'dXNlcjox'), +(69054, 11228, 'referenced_node_single_name', 'user'), +(69055, 11228, 'referenced_node_plural_name', 'users'), +(69057, 11229, 'action_type', 'UPDATE'), +(69058, 11229, 'referenced_node_status', 'publish'), +(69059, 11229, 'referenced_node_id', '1'), +(69060, 11229, 'referenced_node_relay_id', 'dXNlcjox'), +(69061, 11229, 'referenced_node_single_name', 'user'), +(69062, 11229, 'referenced_node_plural_name', 'users'), +(69063, 11230, 'action_type', 'UPDATE'), +(69064, 11230, 'referenced_node_status', 'publish'), +(69065, 11230, 'referenced_node_id', '2'), +(69066, 11230, 'referenced_node_relay_id', 'cG9zdDoy'), +(69067, 11230, 'referenced_node_single_name', 'page'), +(69068, 11230, 'referenced_node_plural_name', 'pages'), +(69069, 11230, 'referenced_node_post_modified', '2020-10-15 01:22:21'), +(69070, 11231, 'action_type', 'UPDATE'), +(69071, 11231, 'referenced_node_status', 'publish'), +(69072, 11231, 'referenced_node_id', '1'), +(69073, 11231, 'referenced_node_relay_id', 'dXNlcjox'), +(69074, 11231, 'referenced_node_single_name', 'user'), +(69075, 11231, 'referenced_node_plural_name', 'users'), +(69077, 11232, 'action_type', 'UPDATE'), +(69078, 11232, 'referenced_node_status', 'publish'), +(69079, 11232, 'referenced_node_id', '1'), +(69080, 11232, 'referenced_node_relay_id', 'cG9zdDox'), +(69081, 11232, 'referenced_node_single_name', 'post'), +(69082, 11232, 'referenced_node_plural_name', 'posts'), +(69083, 11232, 'referenced_node_post_modified', '2020-10-15 01:22:22'), +(69084, 11233, 'action_type', 'UPDATE'), +(69085, 11233, 'referenced_node_status', 'publish'), +(69086, 11233, 'referenced_node_id', '1'), +(69087, 11233, 'referenced_node_relay_id', 'dXNlcjox'), +(69088, 11233, 'referenced_node_single_name', 'user'), +(69089, 11233, 'referenced_node_plural_name', 'users'), +(69091, 11234, 'action_type', 'UPDATE'), +(69092, 11234, 'referenced_node_status', 'publish'), +(69093, 11234, 'referenced_node_id', '1'), +(69094, 11234, 'referenced_node_relay_id', 'dXNlcjox'), +(69095, 11234, 'referenced_node_single_name', 'user'), +(69096, 11234, 'referenced_node_plural_name', 'users'), +(69097, 11235, 'action_type', 'UPDATE'), +(69098, 11235, 'referenced_node_status', 'publish'), +(69099, 11235, 'referenced_node_id', '2'), +(69100, 11235, 'referenced_node_relay_id', 'cG9zdDoy'), +(69101, 11235, 'referenced_node_single_name', 'page'), +(69102, 11235, 'referenced_node_plural_name', 'pages'), +(69103, 11235, 'referenced_node_post_modified', '2020-10-15 01:34:55'), +(69104, 11236, 'action_type', 'UPDATE'), +(69105, 11236, 'referenced_node_status', 'publish'), +(69106, 11236, 'referenced_node_id', '1'), +(69107, 11236, 'referenced_node_relay_id', 'dXNlcjox'), +(69108, 11236, 'referenced_node_single_name', 'user'), +(69109, 11236, 'referenced_node_plural_name', 'users'), +(69111, 11237, 'action_type', 'UPDATE'), +(69112, 11237, 'referenced_node_status', 'publish'), +(69113, 11237, 'referenced_node_id', '1'), +(69114, 11237, 'referenced_node_relay_id', 'cG9zdDox'), +(69115, 11237, 'referenced_node_single_name', 'post'), +(69116, 11237, 'referenced_node_plural_name', 'posts'), +(69117, 11237, 'referenced_node_post_modified', '2020-10-15 01:34:55'), +(69118, 11238, 'action_type', 'UPDATE'), +(69119, 11238, 'referenced_node_status', 'publish'), +(69120, 11238, 'referenced_node_id', '1'), +(69121, 11238, 'referenced_node_relay_id', 'dXNlcjox'), +(69122, 11238, 'referenced_node_single_name', 'user'), +(69123, 11238, 'referenced_node_plural_name', 'users'), +(69125, 11239, 'action_type', 'UPDATE'), +(69126, 11239, 'referenced_node_status', 'publish'), +(69127, 11239, 'referenced_node_id', '1'), +(69128, 11239, 'referenced_node_relay_id', 'dXNlcjox'), +(69129, 11239, 'referenced_node_single_name', 'user'), +(69130, 11239, 'referenced_node_plural_name', 'users'), +(69131, 11240, 'action_type', 'UPDATE'), +(69132, 11240, 'referenced_node_status', 'publish'), +(69133, 11240, 'referenced_node_id', '2'), +(69134, 11240, 'referenced_node_relay_id', 'cG9zdDoy'), +(69135, 11240, 'referenced_node_single_name', 'page'), +(69136, 11240, 'referenced_node_plural_name', 'pages'), +(69137, 11240, 'referenced_node_post_modified', '2020-10-15 01:37:57'), +(69138, 11241, 'action_type', 'UPDATE'), +(69139, 11241, 'referenced_node_status', 'publish'), +(69140, 11241, 'referenced_node_id', '1'), +(69141, 11241, 'referenced_node_relay_id', 'dXNlcjox'), +(69142, 11241, 'referenced_node_single_name', 'user'), +(69143, 11241, 'referenced_node_plural_name', 'users'), +(69145, 11242, 'action_type', 'UPDATE'), +(69146, 11242, 'referenced_node_status', 'publish'), +(69147, 11242, 'referenced_node_id', '1'), +(69148, 11242, 'referenced_node_relay_id', 'cG9zdDox'), +(69149, 11242, 'referenced_node_single_name', 'post'), +(69150, 11242, 'referenced_node_plural_name', 'posts'), +(69151, 11242, 'referenced_node_post_modified', '2020-10-15 01:37:57'), +(69152, 11243, 'action_type', 'UPDATE'), +(69153, 11243, 'referenced_node_status', 'publish'), +(69154, 11243, 'referenced_node_id', '1'), +(69155, 11243, 'referenced_node_relay_id', 'dXNlcjox'), +(69156, 11243, 'referenced_node_single_name', 'user'), +(69157, 11243, 'referenced_node_plural_name', 'users'), +(69159, 11244, 'action_type', 'UPDATE'), +(69160, 11244, 'referenced_node_status', 'publish'), +(69161, 11244, 'referenced_node_id', '1'), +(69162, 11244, 'referenced_node_relay_id', 'dXNlcjox'), +(69163, 11244, 'referenced_node_single_name', 'user'), +(69164, 11244, 'referenced_node_plural_name', 'users'), +(69165, 11245, 'action_type', 'UPDATE'), +(69166, 11245, 'referenced_node_status', 'publish'), +(69167, 11245, 'referenced_node_id', '2'), +(69168, 11245, 'referenced_node_relay_id', 'cG9zdDoy'), +(69169, 11245, 'referenced_node_single_name', 'page'), +(69170, 11245, 'referenced_node_plural_name', 'pages'), +(69171, 11245, 'referenced_node_post_modified', '2020-10-15 01:39:02'), +(69172, 11246, 'action_type', 'UPDATE'), +(69173, 11246, 'referenced_node_status', 'publish'), +(69174, 11246, 'referenced_node_id', '1'), +(69175, 11246, 'referenced_node_relay_id', 'dXNlcjox'), +(69176, 11246, 'referenced_node_single_name', 'user'), +(69177, 11246, 'referenced_node_plural_name', 'users'), +(69179, 11247, 'action_type', 'UPDATE'), +(69180, 11247, 'referenced_node_status', 'publish'), +(69181, 11247, 'referenced_node_id', '1'); +INSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES +(69182, 11247, 'referenced_node_relay_id', 'cG9zdDox'), +(69183, 11247, 'referenced_node_single_name', 'post'), +(69184, 11247, 'referenced_node_plural_name', 'posts'), +(69185, 11247, 'referenced_node_post_modified', '2020-10-15 01:39:02'), +(69186, 11248, 'action_type', 'UPDATE'), +(69187, 11248, 'referenced_node_status', 'publish'), +(69188, 11248, 'referenced_node_id', '1'), +(69189, 11248, 'referenced_node_relay_id', 'dXNlcjox'), +(69190, 11248, 'referenced_node_single_name', 'user'), +(69191, 11248, 'referenced_node_plural_name', 'users'), +(69193, 11249, 'action_type', 'UPDATE'), +(69194, 11249, 'referenced_node_status', 'publish'), +(69195, 11249, 'referenced_node_id', '1'), +(69196, 11249, 'referenced_node_relay_id', 'dXNlcjox'), +(69197, 11249, 'referenced_node_single_name', 'user'), +(69198, 11249, 'referenced_node_plural_name', 'users'), +(69199, 11250, 'action_type', 'UPDATE'), +(69200, 11250, 'referenced_node_status', 'publish'), +(69201, 11250, 'referenced_node_id', '2'), +(69202, 11250, 'referenced_node_relay_id', 'cG9zdDoy'), +(69203, 11250, 'referenced_node_single_name', 'page'), +(69204, 11250, 'referenced_node_plural_name', 'pages'), +(69205, 11250, 'referenced_node_post_modified', '2020-10-15 01:39:34'), +(69206, 11251, 'action_type', 'UPDATE'), +(69207, 11251, 'referenced_node_status', 'publish'), +(69208, 11251, 'referenced_node_id', '1'), +(69209, 11251, 'referenced_node_relay_id', 'dXNlcjox'), +(69210, 11251, 'referenced_node_single_name', 'user'), +(69211, 11251, 'referenced_node_plural_name', 'users'), +(69213, 11252, 'action_type', 'UPDATE'), +(69214, 11252, 'referenced_node_status', 'publish'), +(69215, 11252, 'referenced_node_id', '1'), +(69216, 11252, 'referenced_node_relay_id', 'cG9zdDox'), +(69217, 11252, 'referenced_node_single_name', 'post'), +(69218, 11252, 'referenced_node_plural_name', 'posts'), +(69219, 11252, 'referenced_node_post_modified', '2020-10-15 01:39:34'), +(69220, 11253, 'action_type', 'UPDATE'), +(69221, 11253, 'referenced_node_status', 'publish'), +(69222, 11253, 'referenced_node_id', '1'), +(69223, 11253, 'referenced_node_relay_id', 'dXNlcjox'), +(69224, 11253, 'referenced_node_single_name', 'user'), +(69225, 11253, 'referenced_node_plural_name', 'users'), +(69227, 11254, 'action_type', 'UPDATE'), +(69228, 11254, 'referenced_node_status', 'publish'), +(69229, 11254, 'referenced_node_id', '1'), +(69230, 11254, 'referenced_node_relay_id', 'dXNlcjox'), +(69231, 11254, 'referenced_node_single_name', 'user'), +(69232, 11254, 'referenced_node_plural_name', 'users'), +(69233, 11255, 'action_type', 'UPDATE'), +(69234, 11255, 'referenced_node_status', 'publish'), +(69235, 11255, 'referenced_node_id', '2'), +(69236, 11255, 'referenced_node_relay_id', 'cG9zdDoy'), +(69237, 11255, 'referenced_node_single_name', 'page'), +(69238, 11255, 'referenced_node_plural_name', 'pages'), +(69239, 11255, 'referenced_node_post_modified', '2020-10-15 01:40:44'), +(69240, 11256, 'action_type', 'UPDATE'), +(69241, 11256, 'referenced_node_status', 'publish'), +(69242, 11256, 'referenced_node_id', '1'), +(69243, 11256, 'referenced_node_relay_id', 'dXNlcjox'), +(69244, 11256, 'referenced_node_single_name', 'user'), +(69245, 11256, 'referenced_node_plural_name', 'users'), +(69247, 11257, 'action_type', 'UPDATE'), +(69248, 11257, 'referenced_node_status', 'publish'), +(69249, 11257, 'referenced_node_id', '1'), +(69250, 11257, 'referenced_node_relay_id', 'cG9zdDox'), +(69251, 11257, 'referenced_node_single_name', 'post'), +(69252, 11257, 'referenced_node_plural_name', 'posts'), +(69253, 11257, 'referenced_node_post_modified', '2020-10-15 01:40:44'), +(69254, 11258, 'action_type', 'UPDATE'), +(69255, 11258, 'referenced_node_status', 'publish'), +(69256, 11258, 'referenced_node_id', '1'), +(69257, 11258, 'referenced_node_relay_id', 'dXNlcjox'), +(69258, 11258, 'referenced_node_single_name', 'user'), +(69259, 11258, 'referenced_node_plural_name', 'users'), +(69261, 11259, 'action_type', 'UPDATE'), +(69262, 11259, 'referenced_node_status', 'publish'), +(69263, 11259, 'referenced_node_id', '1'), +(69264, 11259, 'referenced_node_relay_id', 'dXNlcjox'), +(69265, 11259, 'referenced_node_single_name', 'user'), +(69266, 11259, 'referenced_node_plural_name', 'users'), +(69267, 11260, 'action_type', 'UPDATE'), +(69268, 11260, 'referenced_node_status', 'publish'), +(69269, 11260, 'referenced_node_id', '2'), +(69270, 11260, 'referenced_node_relay_id', 'cG9zdDoy'), +(69271, 11260, 'referenced_node_single_name', 'page'), +(69272, 11260, 'referenced_node_plural_name', 'pages'), +(69273, 11260, 'referenced_node_post_modified', '2020-10-15 01:41:13'), +(69274, 11261, 'action_type', 'UPDATE'), +(69275, 11261, 'referenced_node_status', 'publish'), +(69276, 11261, 'referenced_node_id', '1'), +(69277, 11261, 'referenced_node_relay_id', 'dXNlcjox'), +(69278, 11261, 'referenced_node_single_name', 'user'), +(69279, 11261, 'referenced_node_plural_name', 'users'), +(69281, 11262, 'action_type', 'UPDATE'), +(69282, 11262, 'referenced_node_status', 'publish'), +(69283, 11262, 'referenced_node_id', '1'), +(69284, 11262, 'referenced_node_relay_id', 'cG9zdDox'), +(69285, 11262, 'referenced_node_single_name', 'post'), +(69286, 11262, 'referenced_node_plural_name', 'posts'), +(69287, 11262, 'referenced_node_post_modified', '2020-10-15 01:41:13'), +(69288, 11263, 'action_type', 'UPDATE'), +(69289, 11263, 'referenced_node_status', 'publish'), +(69290, 11263, 'referenced_node_id', '1'), +(69291, 11263, 'referenced_node_relay_id', 'dXNlcjox'), +(69292, 11263, 'referenced_node_single_name', 'user'), +(69293, 11263, 'referenced_node_plural_name', 'users'), +(69295, 11264, 'action_type', 'UPDATE'), +(69296, 11264, 'referenced_node_status', 'publish'), +(69297, 11264, 'referenced_node_id', '1'), +(69298, 11264, 'referenced_node_relay_id', 'dXNlcjox'), +(69299, 11264, 'referenced_node_single_name', 'user'), +(69300, 11264, 'referenced_node_plural_name', 'users'), +(69301, 11265, 'action_type', 'UPDATE'), +(69302, 11265, 'referenced_node_status', 'publish'), +(69303, 11265, 'referenced_node_id', '2'), +(69304, 11265, 'referenced_node_relay_id', 'cG9zdDoy'), +(69305, 11265, 'referenced_node_single_name', 'page'), +(69306, 11265, 'referenced_node_plural_name', 'pages'), +(69307, 11265, 'referenced_node_post_modified', '2020-10-15 13:57:05'), +(69308, 11266, 'action_type', 'UPDATE'), +(69309, 11266, 'referenced_node_status', 'publish'), +(69310, 11266, 'referenced_node_id', '1'), +(69311, 11266, 'referenced_node_relay_id', 'dXNlcjox'), +(69312, 11266, 'referenced_node_single_name', 'user'), +(69313, 11266, 'referenced_node_plural_name', 'users'), +(69315, 11267, 'action_type', 'UPDATE'), +(69316, 11267, 'referenced_node_status', 'publish'), +(69317, 11267, 'referenced_node_id', '1'), +(69318, 11267, 'referenced_node_relay_id', 'cG9zdDox'), +(69319, 11267, 'referenced_node_single_name', 'post'), +(69320, 11267, 'referenced_node_plural_name', 'posts'), +(69321, 11267, 'referenced_node_post_modified', '2020-10-15 13:57:06'), +(69322, 11268, 'action_type', 'UPDATE'), +(69323, 11268, 'referenced_node_status', 'publish'), +(69324, 11268, 'referenced_node_id', '1'), +(69325, 11268, 'referenced_node_relay_id', 'dXNlcjox'), +(69326, 11268, 'referenced_node_single_name', 'user'), +(69327, 11268, 'referenced_node_plural_name', 'users'), +(69329, 11269, 'action_type', 'UPDATE'), +(69330, 11269, 'referenced_node_status', 'publish'), +(69331, 11269, 'referenced_node_id', '1'), +(69332, 11269, 'referenced_node_relay_id', 'dXNlcjox'), +(69333, 11269, 'referenced_node_single_name', 'user'), +(69334, 11269, 'referenced_node_plural_name', 'users'), +(69335, 11270, 'action_type', 'UPDATE'), +(69336, 11270, 'referenced_node_status', 'publish'), +(69337, 11270, 'referenced_node_id', '2'), +(69338, 11270, 'referenced_node_relay_id', 'cG9zdDoy'), +(69339, 11270, 'referenced_node_single_name', 'page'), +(69340, 11270, 'referenced_node_plural_name', 'pages'), +(69341, 11270, 'referenced_node_post_modified', '2020-10-15 13:57:48'), +(69342, 11271, 'action_type', 'UPDATE'), +(69343, 11271, 'referenced_node_status', 'publish'), +(69344, 11271, 'referenced_node_id', '1'), +(69345, 11271, 'referenced_node_relay_id', 'dXNlcjox'), +(69346, 11271, 'referenced_node_single_name', 'user'), +(69347, 11271, 'referenced_node_plural_name', 'users'), +(69349, 11272, 'action_type', 'UPDATE'), +(69350, 11272, 'referenced_node_status', 'publish'), +(69351, 11272, 'referenced_node_id', '1'), +(69352, 11272, 'referenced_node_relay_id', 'cG9zdDox'), +(69353, 11272, 'referenced_node_single_name', 'post'), +(69354, 11272, 'referenced_node_plural_name', 'posts'), +(69355, 11272, 'referenced_node_post_modified', '2020-10-15 13:57:48'), +(69356, 11273, 'action_type', 'UPDATE'), +(69357, 11273, 'referenced_node_status', 'publish'), +(69358, 11273, 'referenced_node_id', '1'), +(69359, 11273, 'referenced_node_relay_id', 'dXNlcjox'), +(69360, 11273, 'referenced_node_single_name', 'user'), +(69361, 11273, 'referenced_node_plural_name', 'users'), +(69363, 11274, 'action_type', 'UPDATE'), +(69364, 11274, 'referenced_node_status', 'publish'), +(69365, 11274, 'referenced_node_id', '1'), +(69366, 11274, 'referenced_node_relay_id', 'dXNlcjox'), +(69367, 11274, 'referenced_node_single_name', 'user'), +(69368, 11274, 'referenced_node_plural_name', 'users'), +(69369, 11275, 'action_type', 'UPDATE'), +(69370, 11275, 'referenced_node_status', 'publish'), +(69371, 11275, 'referenced_node_id', '2'), +(69372, 11275, 'referenced_node_relay_id', 'cG9zdDoy'), +(69373, 11275, 'referenced_node_single_name', 'page'), +(69374, 11275, 'referenced_node_plural_name', 'pages'), +(69375, 11275, 'referenced_node_post_modified', '2020-10-15 13:58:28'), +(69376, 11276, 'action_type', 'UPDATE'), +(69377, 11276, 'referenced_node_status', 'publish'), +(69378, 11276, 'referenced_node_id', '1'), +(69379, 11276, 'referenced_node_relay_id', 'dXNlcjox'), +(69380, 11276, 'referenced_node_single_name', 'user'), +(69381, 11276, 'referenced_node_plural_name', 'users'), +(69383, 11277, 'action_type', 'UPDATE'), +(69384, 11277, 'referenced_node_status', 'publish'), +(69385, 11277, 'referenced_node_id', '1'), +(69386, 11277, 'referenced_node_relay_id', 'cG9zdDox'), +(69387, 11277, 'referenced_node_single_name', 'post'), +(69388, 11277, 'referenced_node_plural_name', 'posts'), +(69389, 11277, 'referenced_node_post_modified', '2020-10-15 13:58:28'), +(69390, 11278, 'action_type', 'UPDATE'), +(69391, 11278, 'referenced_node_status', 'publish'), +(69392, 11278, 'referenced_node_id', '1'), +(69393, 11278, 'referenced_node_relay_id', 'dXNlcjox'), +(69394, 11278, 'referenced_node_single_name', 'user'), +(69395, 11278, 'referenced_node_plural_name', 'users'), +(69397, 11279, 'action_type', 'UPDATE'), +(69398, 11279, 'referenced_node_status', 'publish'), +(69399, 11279, 'referenced_node_id', '1'), +(69400, 11279, 'referenced_node_relay_id', 'dXNlcjox'), +(69401, 11279, 'referenced_node_single_name', 'user'), +(69402, 11279, 'referenced_node_plural_name', 'users'), +(69403, 11280, 'action_type', 'UPDATE'), +(69404, 11280, 'referenced_node_status', 'publish'), +(69405, 11280, 'referenced_node_id', '2'), +(69406, 11280, 'referenced_node_relay_id', 'cG9zdDoy'), +(69407, 11280, 'referenced_node_single_name', 'page'), +(69408, 11280, 'referenced_node_plural_name', 'pages'), +(69409, 11280, 'referenced_node_post_modified', '2020-10-15 13:59:26'), +(69410, 11281, 'action_type', 'UPDATE'), +(69411, 11281, 'referenced_node_status', 'publish'), +(69412, 11281, 'referenced_node_id', '1'), +(69413, 11281, 'referenced_node_relay_id', 'dXNlcjox'), +(69414, 11281, 'referenced_node_single_name', 'user'), +(69415, 11281, 'referenced_node_plural_name', 'users'), +(69417, 11282, 'action_type', 'UPDATE'), +(69418, 11282, 'referenced_node_status', 'publish'), +(69419, 11282, 'referenced_node_id', '1'), +(69420, 11282, 'referenced_node_relay_id', 'cG9zdDox'), +(69421, 11282, 'referenced_node_single_name', 'post'), +(69422, 11282, 'referenced_node_plural_name', 'posts'), +(69423, 11282, 'referenced_node_post_modified', '2020-10-15 13:59:26'), +(69424, 11283, 'action_type', 'UPDATE'), +(69425, 11283, 'referenced_node_status', 'publish'), +(69426, 11283, 'referenced_node_id', '1'), +(69427, 11283, 'referenced_node_relay_id', 'dXNlcjox'), +(69428, 11283, 'referenced_node_single_name', 'user'), +(69429, 11283, 'referenced_node_plural_name', 'users'), +(69431, 11284, 'action_type', 'UPDATE'), +(69432, 11284, 'referenced_node_status', 'publish'), +(69433, 11284, 'referenced_node_id', '1'), +(69434, 11284, 'referenced_node_relay_id', 'dXNlcjox'), +(69435, 11284, 'referenced_node_single_name', 'user'), +(69436, 11284, 'referenced_node_plural_name', 'users'), +(69437, 11285, 'action_type', 'UPDATE'), +(69438, 11285, 'referenced_node_status', 'publish'), +(69439, 11285, 'referenced_node_id', '2'), +(69440, 11285, 'referenced_node_relay_id', 'cG9zdDoy'), +(69441, 11285, 'referenced_node_single_name', 'page'), +(69442, 11285, 'referenced_node_plural_name', 'pages'), +(69443, 11285, 'referenced_node_post_modified', '2020-10-15 13:59:50'), +(69444, 11286, 'action_type', 'UPDATE'), +(69445, 11286, 'referenced_node_status', 'publish'), +(69446, 11286, 'referenced_node_id', '1'), +(69447, 11286, 'referenced_node_relay_id', 'dXNlcjox'), +(69448, 11286, 'referenced_node_single_name', 'user'), +(69449, 11286, 'referenced_node_plural_name', 'users'), +(69451, 11287, 'action_type', 'UPDATE'), +(69452, 11287, 'referenced_node_status', 'publish'), +(69453, 11287, 'referenced_node_id', '1'), +(69454, 11287, 'referenced_node_relay_id', 'cG9zdDox'), +(69455, 11287, 'referenced_node_single_name', 'post'), +(69456, 11287, 'referenced_node_plural_name', 'posts'), +(69457, 11287, 'referenced_node_post_modified', '2020-10-15 13:59:51'), +(69458, 11288, 'action_type', 'UPDATE'), +(69459, 11288, 'referenced_node_status', 'publish'), +(69460, 11288, 'referenced_node_id', '1'), +(69461, 11288, 'referenced_node_relay_id', 'dXNlcjox'), +(69462, 11288, 'referenced_node_single_name', 'user'), +(69463, 11288, 'referenced_node_plural_name', 'users'), +(69465, 11289, 'action_type', 'UPDATE'), +(69466, 11289, 'referenced_node_status', 'publish'), +(69467, 11289, 'referenced_node_id', '1'), +(69468, 11289, 'referenced_node_relay_id', 'dXNlcjox'), +(69469, 11289, 'referenced_node_single_name', 'user'), +(69470, 11289, 'referenced_node_plural_name', 'users'), +(69471, 11290, 'action_type', 'UPDATE'), +(69472, 11290, 'referenced_node_status', 'publish'), +(69473, 11290, 'referenced_node_id', '2'), +(69474, 11290, 'referenced_node_relay_id', 'cG9zdDoy'), +(69475, 11290, 'referenced_node_single_name', 'page'), +(69476, 11290, 'referenced_node_plural_name', 'pages'), +(69477, 11290, 'referenced_node_post_modified', '2020-10-15 19:44:26'), +(69478, 11291, 'action_type', 'UPDATE'), +(69479, 11291, 'referenced_node_status', 'publish'), +(69480, 11291, 'referenced_node_id', '1'), +(69481, 11291, 'referenced_node_relay_id', 'dXNlcjox'), +(69482, 11291, 'referenced_node_single_name', 'user'), +(69483, 11291, 'referenced_node_plural_name', 'users'), +(69486, 11292, 'action_type', 'UPDATE'), +(69487, 11292, 'referenced_node_status', 'publish'), +(69488, 11292, 'referenced_node_id', '1'), +(69489, 11292, 'referenced_node_relay_id', 'cG9zdDox'), +(69490, 11292, 'referenced_node_single_name', 'post'), +(69491, 11292, 'referenced_node_plural_name', 'posts'), +(69492, 11292, 'referenced_node_post_modified', '2020-10-15 19:44:26'), +(69493, 11293, 'action_type', 'UPDATE'), +(69494, 11293, 'referenced_node_status', 'publish'), +(69495, 11293, 'referenced_node_id', '1'), +(69496, 11293, 'referenced_node_relay_id', 'dXNlcjox'), +(69497, 11293, 'referenced_node_single_name', 'user'), +(69498, 11293, 'referenced_node_plural_name', 'users'), +(69500, 11294, 'action_type', 'UPDATE'), +(69501, 11294, 'referenced_node_status', 'publish'), +(69502, 11294, 'referenced_node_id', '1'), +(69503, 11294, 'referenced_node_relay_id', 'dXNlcjox'), +(69504, 11294, 'referenced_node_single_name', 'user'), +(69505, 11294, 'referenced_node_plural_name', 'users'), +(69506, 11295, 'action_type', 'UPDATE'), +(69507, 11295, 'referenced_node_status', 'publish'), +(69508, 11295, 'referenced_node_id', '2'), +(69509, 11295, 'referenced_node_relay_id', 'cG9zdDoy'), +(69510, 11295, 'referenced_node_single_name', 'page'), +(69511, 11295, 'referenced_node_plural_name', 'pages'), +(69512, 11295, 'referenced_node_post_modified', '2020-10-15 19:45:24'), +(69513, 11296, 'action_type', 'UPDATE'), +(69514, 11296, 'referenced_node_status', 'publish'), +(69515, 11296, 'referenced_node_id', '1'), +(69516, 11296, 'referenced_node_relay_id', 'dXNlcjox'), +(69517, 11296, 'referenced_node_single_name', 'user'), +(69518, 11296, 'referenced_node_plural_name', 'users'), +(69520, 11297, 'action_type', 'UPDATE'), +(69521, 11297, 'referenced_node_status', 'publish'), +(69522, 11297, 'referenced_node_id', '1'), +(69523, 11297, 'referenced_node_relay_id', 'cG9zdDox'), +(69524, 11297, 'referenced_node_single_name', 'post'), +(69525, 11297, 'referenced_node_plural_name', 'posts'), +(69526, 11297, 'referenced_node_post_modified', '2020-10-15 19:45:24'), +(69527, 11298, 'action_type', 'UPDATE'), +(69528, 11298, 'referenced_node_status', 'publish'), +(69529, 11298, 'referenced_node_id', '1'), +(69530, 11298, 'referenced_node_relay_id', 'dXNlcjox'), +(69531, 11298, 'referenced_node_single_name', 'user'), +(69532, 11298, 'referenced_node_plural_name', 'users'), +(69534, 11299, 'action_type', 'UPDATE'), +(69535, 11299, 'referenced_node_status', 'publish'), +(69536, 11299, 'referenced_node_id', '1'), +(69537, 11299, 'referenced_node_relay_id', 'dXNlcjox'), +(69538, 11299, 'referenced_node_single_name', 'user'), +(69539, 11299, 'referenced_node_plural_name', 'users'), +(69540, 11300, 'action_type', 'UPDATE'), +(69541, 11300, 'referenced_node_status', 'publish'), +(69542, 11300, 'referenced_node_id', '2'), +(69543, 11300, 'referenced_node_relay_id', 'cG9zdDoy'), +(69544, 11300, 'referenced_node_single_name', 'page'), +(69545, 11300, 'referenced_node_plural_name', 'pages'), +(69546, 11300, 'referenced_node_post_modified', '2020-10-15 19:45:48'), +(69547, 11301, 'action_type', 'UPDATE'), +(69548, 11301, 'referenced_node_status', 'publish'), +(69549, 11301, 'referenced_node_id', '1'), +(69550, 11301, 'referenced_node_relay_id', 'dXNlcjox'), +(69551, 11301, 'referenced_node_single_name', 'user'), +(69552, 11301, 'referenced_node_plural_name', 'users'), +(69555, 11302, 'action_type', 'UPDATE'), +(69556, 11302, 'referenced_node_status', 'publish'), +(69557, 11302, 'referenced_node_id', '1'), +(69558, 11302, 'referenced_node_relay_id', 'cG9zdDox'), +(69559, 11302, 'referenced_node_single_name', 'post'), +(69560, 11302, 'referenced_node_plural_name', 'posts'), +(69561, 11302, 'referenced_node_post_modified', '2020-10-15 19:45:48'), +(69562, 11303, 'action_type', 'UPDATE'), +(69563, 11303, 'referenced_node_status', 'publish'), +(69564, 11303, 'referenced_node_id', '1'), +(69565, 11303, 'referenced_node_relay_id', 'dXNlcjox'), +(69566, 11303, 'referenced_node_single_name', 'user'), +(69567, 11303, 'referenced_node_plural_name', 'users'), +(69569, 11304, 'action_type', 'UPDATE'), +(69570, 11304, 'referenced_node_status', 'publish'), +(69571, 11304, 'referenced_node_id', '1'), +(69572, 11304, 'referenced_node_relay_id', 'dXNlcjox'), +(69573, 11304, 'referenced_node_single_name', 'user'), +(69574, 11304, 'referenced_node_plural_name', 'users'), +(69575, 11305, 'action_type', 'UPDATE'), +(69576, 11305, 'referenced_node_status', 'publish'), +(69577, 11305, 'referenced_node_id', '2'), +(69578, 11305, 'referenced_node_relay_id', 'cG9zdDoy'), +(69579, 11305, 'referenced_node_single_name', 'page'), +(69580, 11305, 'referenced_node_plural_name', 'pages'), +(69581, 11305, 'referenced_node_post_modified', '2020-10-15 20:14:08'), +(69582, 11306, 'action_type', 'UPDATE'), +(69583, 11306, 'referenced_node_status', 'publish'), +(69584, 11306, 'referenced_node_id', '1'), +(69585, 11306, 'referenced_node_relay_id', 'dXNlcjox'), +(69586, 11306, 'referenced_node_single_name', 'user'), +(69587, 11306, 'referenced_node_plural_name', 'users'), +(69590, 11307, 'action_type', 'UPDATE'), +(69591, 11307, 'referenced_node_status', 'publish'), +(69592, 11307, 'referenced_node_id', '1'), +(69593, 11307, 'referenced_node_relay_id', 'cG9zdDox'), +(69594, 11307, 'referenced_node_single_name', 'post'), +(69595, 11307, 'referenced_node_plural_name', 'posts'), +(69596, 11307, 'referenced_node_post_modified', '2020-10-15 20:14:08'), +(69597, 11308, 'action_type', 'UPDATE'), +(69598, 11308, 'referenced_node_status', 'publish'), +(69599, 11308, 'referenced_node_id', '1'), +(69600, 11308, 'referenced_node_relay_id', 'dXNlcjox'), +(69601, 11308, 'referenced_node_single_name', 'user'), +(69602, 11308, 'referenced_node_plural_name', 'users'), +(69604, 11309, 'action_type', 'UPDATE'), +(69605, 11309, 'referenced_node_status', 'publish'), +(69606, 11309, 'referenced_node_id', '1'), +(69607, 11309, 'referenced_node_relay_id', 'dXNlcjox'), +(69608, 11309, 'referenced_node_single_name', 'user'), +(69609, 11309, 'referenced_node_plural_name', 'users'), +(69610, 11310, 'action_type', 'UPDATE'), +(69611, 11310, 'referenced_node_status', 'publish'), +(69612, 11310, 'referenced_node_id', '2'), +(69613, 11310, 'referenced_node_relay_id', 'cG9zdDoy'), +(69614, 11310, 'referenced_node_single_name', 'page'), +(69615, 11310, 'referenced_node_plural_name', 'pages'), +(69616, 11310, 'referenced_node_post_modified', '2020-10-15 20:15:04'), +(69617, 11311, 'action_type', 'UPDATE'), +(69618, 11311, 'referenced_node_status', 'publish'), +(69619, 11311, 'referenced_node_id', '1'), +(69620, 11311, 'referenced_node_relay_id', 'dXNlcjox'), +(69621, 11311, 'referenced_node_single_name', 'user'), +(69622, 11311, 'referenced_node_plural_name', 'users'), +(69625, 11312, 'action_type', 'UPDATE'), +(69626, 11312, 'referenced_node_status', 'publish'), +(69627, 11312, 'referenced_node_id', '1'), +(69628, 11312, 'referenced_node_relay_id', 'cG9zdDox'), +(69629, 11312, 'referenced_node_single_name', 'post'), +(69630, 11312, 'referenced_node_plural_name', 'posts'), +(69631, 11312, 'referenced_node_post_modified', '2020-10-15 20:15:04'), +(69632, 11313, 'action_type', 'UPDATE'), +(69633, 11313, 'referenced_node_status', 'publish'), +(69634, 11313, 'referenced_node_id', '1'), +(69635, 11313, 'referenced_node_relay_id', 'dXNlcjox'), +(69636, 11313, 'referenced_node_single_name', 'user'), +(69637, 11313, 'referenced_node_plural_name', 'users'), +(69639, 11314, 'action_type', 'UPDATE'), +(69640, 11314, 'referenced_node_status', 'publish'), +(69641, 11314, 'referenced_node_id', '1'), +(69642, 11314, 'referenced_node_relay_id', 'dXNlcjox'), +(69643, 11314, 'referenced_node_single_name', 'user'), +(69644, 11314, 'referenced_node_plural_name', 'users'), +(69645, 11315, 'action_type', 'UPDATE'), +(69646, 11315, 'referenced_node_status', 'publish'), +(69647, 11315, 'referenced_node_id', '2'), +(69648, 11315, 'referenced_node_relay_id', 'cG9zdDoy'), +(69649, 11315, 'referenced_node_single_name', 'page'), +(69650, 11315, 'referenced_node_plural_name', 'pages'), +(69651, 11315, 'referenced_node_post_modified', '2020-10-15 20:15:26'), +(69652, 11316, 'action_type', 'UPDATE'), +(69653, 11316, 'referenced_node_status', 'publish'), +(69654, 11316, 'referenced_node_id', '1'), +(69655, 11316, 'referenced_node_relay_id', 'dXNlcjox'), +(69656, 11316, 'referenced_node_single_name', 'user'), +(69657, 11316, 'referenced_node_plural_name', 'users'), +(69660, 11317, 'action_type', 'UPDATE'), +(69661, 11317, 'referenced_node_status', 'publish'), +(69662, 11317, 'referenced_node_id', '1'), +(69663, 11317, 'referenced_node_relay_id', 'cG9zdDox'), +(69664, 11317, 'referenced_node_single_name', 'post'), +(69665, 11317, 'referenced_node_plural_name', 'posts'), +(69666, 11317, 'referenced_node_post_modified', '2020-10-15 20:15:27'), +(69667, 11318, 'action_type', 'UPDATE'), +(69668, 11318, 'referenced_node_status', 'publish'), +(69669, 11318, 'referenced_node_id', '1'), +(69670, 11318, 'referenced_node_relay_id', 'dXNlcjox'), +(69671, 11318, 'referenced_node_single_name', 'user'), +(69672, 11318, 'referenced_node_plural_name', 'users'), +(69674, 11319, 'action_type', 'UPDATE'), +(69675, 11319, 'referenced_node_status', 'publish'), +(69676, 11319, 'referenced_node_id', '1'), +(69677, 11319, 'referenced_node_relay_id', 'dXNlcjox'), +(69678, 11319, 'referenced_node_single_name', 'user'), +(69679, 11319, 'referenced_node_plural_name', 'users'), +(69686, 11321, 'action_type', 'UPDATE'), +(69687, 11321, 'referenced_node_status', 'publish'), +(69688, 11321, 'referenced_node_id', '2'), +(69689, 11321, 'referenced_node_relay_id', 'cG9zdDoy'), +(69690, 11321, 'referenced_node_single_name', 'page'), +(69691, 11321, 'referenced_node_plural_name', 'pages'), +(69692, 11321, 'referenced_node_post_modified', '2020-10-15 21:35:44'), +(69693, 11322, 'action_type', 'UPDATE'), +(69694, 11322, 'referenced_node_status', 'publish'), +(69695, 11322, 'referenced_node_id', '1'), +(69696, 11322, 'referenced_node_relay_id', 'dXNlcjox'), +(69697, 11322, 'referenced_node_single_name', 'user'), +(69698, 11322, 'referenced_node_plural_name', 'users'), +(69701, 11323, 'action_type', 'UPDATE'), +(69702, 11323, 'referenced_node_status', 'publish'), +(69703, 11323, 'referenced_node_id', '1'), +(69704, 11323, 'referenced_node_relay_id', 'cG9zdDox'), +(69705, 11323, 'referenced_node_single_name', 'post'), +(69706, 11323, 'referenced_node_plural_name', 'posts'), +(69707, 11323, 'referenced_node_post_modified', '2020-10-15 21:35:45'), +(69708, 11324, 'action_type', 'UPDATE'), +(69709, 11324, 'referenced_node_status', 'publish'), +(69710, 11324, 'referenced_node_id', '1'), +(69711, 11324, 'referenced_node_relay_id', 'dXNlcjox'), +(69712, 11324, 'referenced_node_single_name', 'user'), +(69713, 11324, 'referenced_node_plural_name', 'users'), +(69715, 11325, 'action_type', 'UPDATE'), +(69716, 11325, 'referenced_node_status', 'publish'), +(69717, 11325, 'referenced_node_id', '1'), +(69718, 11325, 'referenced_node_relay_id', 'dXNlcjox'), +(69719, 11325, 'referenced_node_single_name', 'user'), +(69720, 11325, 'referenced_node_plural_name', 'users'), +(69721, 11326, 'action_type', 'UPDATE'), +(69722, 11326, 'referenced_node_status', 'publish'), +(69723, 11326, 'referenced_node_id', '2'), +(69724, 11326, 'referenced_node_relay_id', 'cG9zdDoy'), +(69725, 11326, 'referenced_node_single_name', 'page'), +(69726, 11326, 'referenced_node_plural_name', 'pages'), +(69727, 11326, 'referenced_node_post_modified', '2020-10-15 21:36:55'), +(69728, 11327, 'action_type', 'UPDATE'), +(69729, 11327, 'referenced_node_status', 'publish'), +(69730, 11327, 'referenced_node_id', '1'), +(69731, 11327, 'referenced_node_relay_id', 'dXNlcjox'), +(69732, 11327, 'referenced_node_single_name', 'user'), +(69733, 11327, 'referenced_node_plural_name', 'users'), +(69736, 11328, 'action_type', 'UPDATE'), +(69737, 11328, 'referenced_node_status', 'publish'), +(69738, 11328, 'referenced_node_id', '1'), +(69739, 11328, 'referenced_node_relay_id', 'cG9zdDox'), +(69740, 11328, 'referenced_node_single_name', 'post'), +(69741, 11328, 'referenced_node_plural_name', 'posts'), +(69742, 11328, 'referenced_node_post_modified', '2020-10-15 21:36:55'), +(69743, 11329, 'action_type', 'UPDATE'), +(69744, 11329, 'referenced_node_status', 'publish'), +(69745, 11329, 'referenced_node_id', '1'), +(69746, 11329, 'referenced_node_relay_id', 'dXNlcjox'), +(69747, 11329, 'referenced_node_single_name', 'user'), +(69748, 11329, 'referenced_node_plural_name', 'users'), +(69750, 11330, 'action_type', 'UPDATE'), +(69751, 11330, 'referenced_node_status', 'publish'), +(69752, 11330, 'referenced_node_id', '1'), +(69753, 11330, 'referenced_node_relay_id', 'dXNlcjox'), +(69754, 11330, 'referenced_node_single_name', 'user'), +(69755, 11330, 'referenced_node_plural_name', 'users'), +(69756, 11331, 'action_type', 'UPDATE'), +(69757, 11331, 'referenced_node_status', 'publish'), +(69758, 11331, 'referenced_node_id', '2'), +(69759, 11331, 'referenced_node_relay_id', 'cG9zdDoy'), +(69760, 11331, 'referenced_node_single_name', 'page'), +(69761, 11331, 'referenced_node_plural_name', 'pages'), +(69762, 11331, 'referenced_node_post_modified', '2020-10-15 21:37:24'), +(69763, 11332, 'action_type', 'UPDATE'), +(69764, 11332, 'referenced_node_status', 'publish'), +(69765, 11332, 'referenced_node_id', '1'), +(69766, 11332, 'referenced_node_relay_id', 'dXNlcjox'), +(69767, 11332, 'referenced_node_single_name', 'user'), +(69768, 11332, 'referenced_node_plural_name', 'users'), +(69771, 11333, 'action_type', 'UPDATE'), +(69772, 11333, 'referenced_node_status', 'publish'), +(69773, 11333, 'referenced_node_id', '1'), +(69774, 11333, 'referenced_node_relay_id', 'cG9zdDox'), +(69775, 11333, 'referenced_node_single_name', 'post'), +(69776, 11333, 'referenced_node_plural_name', 'posts'), +(69777, 11333, 'referenced_node_post_modified', '2020-10-15 21:37:24'), +(69778, 11334, 'action_type', 'UPDATE'), +(69779, 11334, 'referenced_node_status', 'publish'), +(69780, 11334, 'referenced_node_id', '1'), +(69781, 11334, 'referenced_node_relay_id', 'dXNlcjox'), +(69782, 11334, 'referenced_node_single_name', 'user'), +(69783, 11334, 'referenced_node_plural_name', 'users'), +(69785, 11335, 'action_type', 'UPDATE'), +(69786, 11335, 'referenced_node_status', 'publish'), +(69787, 11335, 'referenced_node_id', '1'), +(69788, 11335, 'referenced_node_relay_id', 'dXNlcjox'), +(69789, 11335, 'referenced_node_single_name', 'user'), +(69790, 11335, 'referenced_node_plural_name', 'users'), +(69791, 4, '__update', '1'), +(69792, 11336, 'action_type', 'UPDATE'), +(69793, 11336, 'referenced_node_status', 'publish'), +(69794, 11336, 'referenced_node_id', '2'), +(69795, 11336, 'referenced_node_relay_id', 'cG9zdDoy'), +(69796, 11336, 'referenced_node_single_name', 'page'), +(69797, 11336, 'referenced_node_plural_name', 'pages'), +(69798, 11336, 'referenced_node_post_modified', '2020-10-16 23:10:37'), +(69799, 11337, 'action_type', 'UPDATE'), +(69800, 11337, 'referenced_node_status', 'publish'), +(69801, 11337, 'referenced_node_id', '1'), +(69802, 11337, 'referenced_node_relay_id', 'dXNlcjox'), +(69803, 11337, 'referenced_node_single_name', 'user'), +(69804, 11337, 'referenced_node_plural_name', 'users'), +(69807, 11338, 'action_type', 'UPDATE'), +(69808, 11338, 'referenced_node_status', 'publish'), +(69809, 11338, 'referenced_node_id', '1'), +(69810, 11338, 'referenced_node_relay_id', 'cG9zdDox'), +(69811, 11338, 'referenced_node_single_name', 'post'), +(69812, 11338, 'referenced_node_plural_name', 'posts'), +(69813, 11338, 'referenced_node_post_modified', '2020-10-16 23:10:40'), +(69814, 11339, 'action_type', 'UPDATE'), +(69815, 11339, 'referenced_node_status', 'publish'), +(69816, 11339, 'referenced_node_id', '1'), +(69817, 11339, 'referenced_node_relay_id', 'dXNlcjox'), +(69818, 11339, 'referenced_node_single_name', 'user'), +(69819, 11339, 'referenced_node_plural_name', 'users'), +(69821, 11340, 'action_type', 'UPDATE'), +(69822, 11340, 'referenced_node_status', 'publish'), +(69823, 11340, 'referenced_node_id', '1'), +(69824, 11340, 'referenced_node_relay_id', 'dXNlcjox'), +(69825, 11340, 'referenced_node_single_name', 'user'), +(69826, 11340, 'referenced_node_plural_name', 'users'), +(69827, 11341, 'action_type', 'UPDATE'), +(69828, 11341, 'referenced_node_status', 'publish'), +(69829, 11341, 'referenced_node_id', '2'), +(69830, 11341, 'referenced_node_relay_id', 'cG9zdDoy'), +(69831, 11341, 'referenced_node_single_name', 'page'), +(69832, 11341, 'referenced_node_plural_name', 'pages'), +(69833, 11341, 'referenced_node_post_modified', '2020-10-16 23:13:09'), +(69834, 11342, 'action_type', 'UPDATE'), +(69835, 11342, 'referenced_node_status', 'publish'), +(69836, 11342, 'referenced_node_id', '1'), +(69837, 11342, 'referenced_node_relay_id', 'dXNlcjox'), +(69838, 11342, 'referenced_node_single_name', 'user'), +(69839, 11342, 'referenced_node_plural_name', 'users'), +(69841, 11343, 'action_type', 'UPDATE'), +(69842, 11343, 'referenced_node_status', 'publish'), +(69843, 11343, 'referenced_node_id', '1'), +(69844, 11343, 'referenced_node_relay_id', 'cG9zdDox'), +(69845, 11343, 'referenced_node_single_name', 'post'), +(69846, 11343, 'referenced_node_plural_name', 'posts'), +(69847, 11343, 'referenced_node_post_modified', '2020-10-16 23:13:10'), +(69848, 11344, 'action_type', 'UPDATE'), +(69849, 11344, 'referenced_node_status', 'publish'), +(69850, 11344, 'referenced_node_id', '1'), +(69851, 11344, 'referenced_node_relay_id', 'dXNlcjox'), +(69852, 11344, 'referenced_node_single_name', 'user'), +(69853, 11344, 'referenced_node_plural_name', 'users'), +(69855, 11345, 'action_type', 'UPDATE'), +(69856, 11345, 'referenced_node_status', 'publish'), +(69857, 11345, 'referenced_node_id', '1'), +(69858, 11345, 'referenced_node_relay_id', 'dXNlcjox'), +(69859, 11345, 'referenced_node_single_name', 'user'), +(69860, 11345, 'referenced_node_plural_name', 'users'), +(69861, 11346, 'action_type', 'UPDATE'), +(69862, 11346, 'referenced_node_status', 'publish'), +(69863, 11346, 'referenced_node_id', '2'), +(69864, 11346, 'referenced_node_relay_id', 'cG9zdDoy'), +(69865, 11346, 'referenced_node_single_name', 'page'), +(69866, 11346, 'referenced_node_plural_name', 'pages'), +(69867, 11346, 'referenced_node_post_modified', '2020-10-16 23:16:21'), +(69868, 11347, 'action_type', 'UPDATE'), +(69869, 11347, 'referenced_node_status', 'publish'), +(69870, 11347, 'referenced_node_id', '1'), +(69871, 11347, 'referenced_node_relay_id', 'dXNlcjox'), +(69872, 11347, 'referenced_node_single_name', 'user'), +(69873, 11347, 'referenced_node_plural_name', 'users'), +(69875, 11348, 'action_type', 'UPDATE'), +(69876, 11348, 'referenced_node_status', 'publish'), +(69877, 11348, 'referenced_node_id', '1'), +(69878, 11348, 'referenced_node_relay_id', 'cG9zdDox'), +(69879, 11348, 'referenced_node_single_name', 'post'), +(69880, 11348, 'referenced_node_plural_name', 'posts'), +(69881, 11348, 'referenced_node_post_modified', '2020-10-16 23:16:21'), +(69882, 11349, 'action_type', 'UPDATE'), +(69883, 11349, 'referenced_node_status', 'publish'), +(69884, 11349, 'referenced_node_id', '1'), +(69885, 11349, 'referenced_node_relay_id', 'dXNlcjox'), +(69886, 11349, 'referenced_node_single_name', 'user'), +(69887, 11349, 'referenced_node_plural_name', 'users'), +(69889, 11350, 'action_type', 'UPDATE'), +(69890, 11350, 'referenced_node_status', 'publish'), +(69891, 11350, 'referenced_node_id', '1'), +(69892, 11350, 'referenced_node_relay_id', 'dXNlcjox'), +(69893, 11350, 'referenced_node_single_name', 'user'), +(69894, 11350, 'referenced_node_plural_name', 'users'), +(69895, 11351, 'action_type', 'UPDATE'), +(69896, 11351, 'referenced_node_status', 'publish'), +(69897, 11351, 'referenced_node_id', '2'), +(69898, 11351, 'referenced_node_relay_id', 'cG9zdDoy'), +(69899, 11351, 'referenced_node_single_name', 'page'), +(69900, 11351, 'referenced_node_plural_name', 'pages'), +(69901, 11351, 'referenced_node_post_modified', '2020-10-16 23:17:37'), +(69902, 11352, 'action_type', 'UPDATE'), +(69903, 11352, 'referenced_node_status', 'publish'), +(69904, 11352, 'referenced_node_id', '1'), +(69905, 11352, 'referenced_node_relay_id', 'dXNlcjox'), +(69906, 11352, 'referenced_node_single_name', 'user'), +(69907, 11352, 'referenced_node_plural_name', 'users'), +(69909, 11353, 'action_type', 'UPDATE'), +(69910, 11353, 'referenced_node_status', 'publish'), +(69911, 11353, 'referenced_node_id', '1'), +(69912, 11353, 'referenced_node_relay_id', 'cG9zdDox'), +(69913, 11353, 'referenced_node_single_name', 'post'), +(69914, 11353, 'referenced_node_plural_name', 'posts'), +(69915, 11353, 'referenced_node_post_modified', '2020-10-16 23:17:37'), +(69916, 11354, 'action_type', 'UPDATE'), +(69917, 11354, 'referenced_node_status', 'publish'), +(69918, 11354, 'referenced_node_id', '1'), +(69919, 11354, 'referenced_node_relay_id', 'dXNlcjox'), +(69920, 11354, 'referenced_node_single_name', 'user'), +(69921, 11354, 'referenced_node_plural_name', 'users'), +(69923, 11355, 'action_type', 'UPDATE'), +(69924, 11355, 'referenced_node_status', 'publish'), +(69925, 11355, 'referenced_node_id', '1'), +(69926, 11355, 'referenced_node_relay_id', 'dXNlcjox'), +(69927, 11355, 'referenced_node_single_name', 'user'), +(69928, 11355, 'referenced_node_plural_name', 'users'), +(69929, 11356, 'action_type', 'UPDATE'), +(69930, 11356, 'referenced_node_status', 'publish'), +(69931, 11356, 'referenced_node_id', '2'), +(69932, 11356, 'referenced_node_relay_id', 'cG9zdDoy'), +(69933, 11356, 'referenced_node_single_name', 'page'), +(69934, 11356, 'referenced_node_plural_name', 'pages'), +(69935, 11356, 'referenced_node_post_modified', '2020-10-16 23:18:09'), +(69936, 11357, 'action_type', 'UPDATE'), +(69937, 11357, 'referenced_node_status', 'publish'), +(69938, 11357, 'referenced_node_id', '1'), +(69939, 11357, 'referenced_node_relay_id', 'dXNlcjox'), +(69940, 11357, 'referenced_node_single_name', 'user'), +(69941, 11357, 'referenced_node_plural_name', 'users'), +(69943, 11358, 'action_type', 'UPDATE'), +(69944, 11358, 'referenced_node_status', 'publish'), +(69945, 11358, 'referenced_node_id', '1'), +(69946, 11358, 'referenced_node_relay_id', 'cG9zdDox'), +(69947, 11358, 'referenced_node_single_name', 'post'), +(69948, 11358, 'referenced_node_plural_name', 'posts'), +(69949, 11358, 'referenced_node_post_modified', '2020-10-16 23:18:09'), +(69950, 11359, 'action_type', 'UPDATE'), +(69951, 11359, 'referenced_node_status', 'publish'), +(69952, 11359, 'referenced_node_id', '1'), +(69953, 11359, 'referenced_node_relay_id', 'dXNlcjox'), +(69954, 11359, 'referenced_node_single_name', 'user'), +(69955, 11359, 'referenced_node_plural_name', 'users'), +(69957, 11360, 'action_type', 'UPDATE'), +(69958, 11360, 'referenced_node_status', 'publish'), +(69959, 11360, 'referenced_node_id', '1'), +(69960, 11360, 'referenced_node_relay_id', 'dXNlcjox'), +(69961, 11360, 'referenced_node_single_name', 'user'), +(69962, 11360, 'referenced_node_plural_name', 'users'), +(69963, 11361, 'action_type', 'UPDATE'), +(69964, 11361, 'referenced_node_status', 'publish'), +(69965, 11361, 'referenced_node_id', '2'), +(69966, 11361, 'referenced_node_relay_id', 'cG9zdDoy'), +(69967, 11361, 'referenced_node_single_name', 'page'), +(69968, 11361, 'referenced_node_plural_name', 'pages'), +(69969, 11361, 'referenced_node_post_modified', '2020-10-16 23:22:03'), +(69970, 11362, 'action_type', 'UPDATE'), +(69971, 11362, 'referenced_node_status', 'publish'), +(69972, 11362, 'referenced_node_id', '1'), +(69973, 11362, 'referenced_node_relay_id', 'dXNlcjox'), +(69974, 11362, 'referenced_node_single_name', 'user'), +(69975, 11362, 'referenced_node_plural_name', 'users'), +(69977, 11363, 'action_type', 'UPDATE'), +(69978, 11363, 'referenced_node_status', 'publish'), +(69979, 11363, 'referenced_node_id', '1'), +(69980, 11363, 'referenced_node_relay_id', 'cG9zdDox'), +(69981, 11363, 'referenced_node_single_name', 'post'), +(69982, 11363, 'referenced_node_plural_name', 'posts'), +(69983, 11363, 'referenced_node_post_modified', '2020-10-16 23:22:03'), +(69984, 11364, 'action_type', 'UPDATE'), +(69985, 11364, 'referenced_node_status', 'publish'), +(69986, 11364, 'referenced_node_id', '1'), +(69987, 11364, 'referenced_node_relay_id', 'dXNlcjox'), +(69988, 11364, 'referenced_node_single_name', 'user'), +(69989, 11364, 'referenced_node_plural_name', 'users'), +(69991, 11365, 'action_type', 'UPDATE'), +(69992, 11365, 'referenced_node_status', 'publish'), +(69993, 11365, 'referenced_node_id', '1'), +(69994, 11365, 'referenced_node_relay_id', 'dXNlcjox'), +(69995, 11365, 'referenced_node_single_name', 'user'), +(69996, 11365, 'referenced_node_plural_name', 'users'), +(69997, 11366, 'action_type', 'UPDATE'), +(69998, 11366, 'referenced_node_status', 'publish'), +(69999, 11366, 'referenced_node_id', '2'), +(70000, 11366, 'referenced_node_relay_id', 'cG9zdDoy'), +(70001, 11366, 'referenced_node_single_name', 'page'), +(70002, 11366, 'referenced_node_plural_name', 'pages'), +(70003, 11366, 'referenced_node_post_modified', '2020-10-16 23:23:16'), +(70004, 11367, 'action_type', 'UPDATE'), +(70005, 11367, 'referenced_node_status', 'publish'), +(70006, 11367, 'referenced_node_id', '1'), +(70007, 11367, 'referenced_node_relay_id', 'dXNlcjox'), +(70008, 11367, 'referenced_node_single_name', 'user'), +(70009, 11367, 'referenced_node_plural_name', 'users'), +(70011, 11368, 'action_type', 'UPDATE'), +(70012, 11368, 'referenced_node_status', 'publish'), +(70013, 11368, 'referenced_node_id', '1'), +(70014, 11368, 'referenced_node_relay_id', 'cG9zdDox'), +(70015, 11368, 'referenced_node_single_name', 'post'), +(70016, 11368, 'referenced_node_plural_name', 'posts'), +(70017, 11368, 'referenced_node_post_modified', '2020-10-16 23:23:16'), +(70018, 11369, 'action_type', 'UPDATE'), +(70019, 11369, 'referenced_node_status', 'publish'), +(70020, 11369, 'referenced_node_id', '1'), +(70021, 11369, 'referenced_node_relay_id', 'dXNlcjox'), +(70022, 11369, 'referenced_node_single_name', 'user'), +(70023, 11369, 'referenced_node_plural_name', 'users'), +(70025, 11370, 'action_type', 'UPDATE'), +(70026, 11370, 'referenced_node_status', 'publish'), +(70027, 11370, 'referenced_node_id', '1'), +(70028, 11370, 'referenced_node_relay_id', 'dXNlcjox'), +(70029, 11370, 'referenced_node_single_name', 'user'), +(70030, 11370, 'referenced_node_plural_name', 'users'), +(70031, 11371, 'action_type', 'UPDATE'), +(70032, 11371, 'referenced_node_status', 'publish'), +(70033, 11371, 'referenced_node_id', '2'), +(70034, 11371, 'referenced_node_relay_id', 'cG9zdDoy'), +(70035, 11371, 'referenced_node_single_name', 'page'), +(70036, 11371, 'referenced_node_plural_name', 'pages'), +(70037, 11371, 'referenced_node_post_modified', '2020-10-16 23:23:47'), +(70038, 11372, 'action_type', 'UPDATE'), +(70039, 11372, 'referenced_node_status', 'publish'), +(70040, 11372, 'referenced_node_id', '1'), +(70041, 11372, 'referenced_node_relay_id', 'dXNlcjox'), +(70042, 11372, 'referenced_node_single_name', 'user'), +(70043, 11372, 'referenced_node_plural_name', 'users'), +(70045, 11373, 'action_type', 'UPDATE'), +(70046, 11373, 'referenced_node_status', 'publish'), +(70047, 11373, 'referenced_node_id', '1'), +(70048, 11373, 'referenced_node_relay_id', 'cG9zdDox'), +(70049, 11373, 'referenced_node_single_name', 'post'), +(70050, 11373, 'referenced_node_plural_name', 'posts'), +(70051, 11373, 'referenced_node_post_modified', '2020-10-16 23:23:47'), +(70052, 11374, 'action_type', 'UPDATE'), +(70053, 11374, 'referenced_node_status', 'publish'), +(70054, 11374, 'referenced_node_id', '1'), +(70055, 11374, 'referenced_node_relay_id', 'dXNlcjox'), +(70056, 11374, 'referenced_node_single_name', 'user'), +(70057, 11374, 'referenced_node_plural_name', 'users'), +(70059, 11375, 'action_type', 'UPDATE'), +(70060, 11375, 'referenced_node_status', 'publish'), +(70061, 11375, 'referenced_node_id', '1'), +(70062, 11375, 'referenced_node_relay_id', 'dXNlcjox'), +(70063, 11375, 'referenced_node_single_name', 'user'), +(70064, 11375, 'referenced_node_plural_name', 'users'), +(70065, 5, '__update', '1'), +(70066, 11375, '_wp_trash_meta_status', 'publish'), +(70067, 11375, '_wp_trash_meta_time', '1602944262'), +(70068, 11375, '_wp_desired_post_slug', 'tyler-1602890627-3'), +(70069, 11372, '_wp_trash_meta_status', 'publish'), +(70070, 11372, '_wp_trash_meta_time', '1602944262'), +(70071, 11372, '_wp_desired_post_slug', 'tyler-1602890627'), +(70072, 11374, '_wp_trash_meta_status', 'publish'), +(70073, 11374, '_wp_trash_meta_time', '1602944262'), +(70074, 11374, '_wp_desired_post_slug', 'tyler-1602890627-2'), +(70075, 11371, '_wp_trash_meta_status', 'publish'), +(70076, 11371, '_wp_trash_meta_time', '1602944262'), +(70077, 11371, '_wp_desired_post_slug', 'sample-page-1602890627'), +(70078, 11373, '_wp_trash_meta_status', 'publish'), +(70079, 11373, '_wp_trash_meta_time', '1602944262'), +(70080, 11373, '_wp_desired_post_slug', 'hello-world-1602890627'), +(70081, 11368, '_wp_trash_meta_status', 'publish'), +(70082, 11368, '_wp_trash_meta_time', '1602944262'), +(70083, 11368, '_wp_desired_post_slug', 'hello-world-delta-sync-1602890596'), +(70084, 11369, '_wp_trash_meta_status', 'publish'), +(70085, 11369, '_wp_trash_meta_time', '1602944262'), +(70086, 11369, '_wp_desired_post_slug', 'tyler-1602890596-2'), +(70087, 11370, '_wp_trash_meta_status', 'publish'), +(70088, 11370, '_wp_trash_meta_time', '1602944262'), +(70089, 11370, '_wp_desired_post_slug', 'tyler-1602890596-3'), +(70090, 11367, '_wp_trash_meta_status', 'publish'), +(70091, 11367, '_wp_trash_meta_time', '1602944262'), +(70092, 11367, '_wp_desired_post_slug', 'tyler-1602890596'), +(70093, 11366, '_wp_trash_meta_status', 'publish'), +(70094, 11366, '_wp_trash_meta_time', '1602944262'), +(70095, 11366, '_wp_desired_post_slug', 'sample-page-delta-sync-1602890596'), +(70096, 11365, '_wp_trash_meta_status', 'publish'), +(70097, 11365, '_wp_trash_meta_time', '1602944262'), +(70098, 11365, '_wp_desired_post_slug', 'tyler-1602890523-3'), +(70099, 11362, '_wp_trash_meta_status', 'publish'), +(70100, 11362, '_wp_trash_meta_time', '1602944262'), +(70101, 11362, '_wp_desired_post_slug', 'tyler-1602890523'), +(70102, 11363, '_wp_trash_meta_status', 'publish'), +(70103, 11363, '_wp_trash_meta_time', '1602944262'), +(70104, 11363, '_wp_desired_post_slug', 'hello-world-1602890523'), +(70105, 11364, '_wp_trash_meta_status', 'publish'), +(70106, 11364, '_wp_trash_meta_time', '1602944262'), +(70107, 11364, '_wp_desired_post_slug', 'tyler-1602890523-2'), +(70108, 11361, '_wp_trash_meta_status', 'publish'), +(70109, 11361, '_wp_trash_meta_time', '1602944262'), +(70110, 11361, '_wp_desired_post_slug', 'sample-page-1602890523'), +(70111, 11359, '_wp_trash_meta_status', 'publish'), +(70112, 11359, '_wp_trash_meta_time', '1602944262'), +(70113, 11359, '_wp_desired_post_slug', 'tyler-1602890289-2'), +(70114, 11358, '_wp_trash_meta_status', 'publish'), +(70115, 11358, '_wp_trash_meta_time', '1602944262'), +(70116, 11358, '_wp_desired_post_slug', 'hello-world-1602890289'), +(70117, 11360, '_wp_trash_meta_status', 'publish'), +(70118, 11360, '_wp_trash_meta_time', '1602944262'), +(70119, 11360, '_wp_desired_post_slug', 'tyler-1602890289-3'), +(70120, 11357, '_wp_trash_meta_status', 'publish'), +(70121, 11357, '_wp_trash_meta_time', '1602944262'), +(70122, 11357, '_wp_desired_post_slug', 'tyler-1602890289'), +(70123, 11356, '_wp_trash_meta_status', 'publish'), +(70124, 11356, '_wp_trash_meta_time', '1602944262'), +(70125, 11356, '_wp_desired_post_slug', 'sample-page-1602890289'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_posts` +-- + +CREATE TABLE `wp_posts` ( + `ID` bigint(20) UNSIGNED NOT NULL, + `post_author` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_content` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `post_title` text COLLATE utf8mb4_unicode_ci NOT NULL, + `post_excerpt` text COLLATE utf8mb4_unicode_ci NOT NULL, + `post_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'publish', + `comment_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'open', + `ping_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'open', + `post_password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `post_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `to_ping` text COLLATE utf8mb4_unicode_ci NOT NULL, + `pinged` text COLLATE utf8mb4_unicode_ci NOT NULL, + `post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `post_content_filtered` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `post_parent` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `guid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `menu_order` int(11) NOT NULL DEFAULT '0', + `post_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'post', + `post_mime_type` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `comment_count` bigint(20) NOT NULL DEFAULT '0' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_posts` +-- + +INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES +(1, 1, '2020-02-25 17:54:21', '2020-02-25 17:54:21', '\n

    Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

    \n', 'Hello world!', '', 'publish', 'open', 'open', '', 'hello-world', '', '', '2020-10-16 23:23:47', '2020-10-16 23:23:47', '', 0, 'https://devgatsbyint.wpengine.com/?p=1', 0, 'post', '', 1), +(2, 1, '2020-02-25 17:54:21', '2020-02-25 17:54:21', '\n

    This is an example page. It\'s different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:

    \n\n\n\n

    Hi there! I\'m a bike messenger by day, aspiring actor by night, and this is my website. I live in Los Angeles, have a great dog named Jack, and I like piña coladas. (And gettin\' caught in the rain.)

    \n\n\n\n

    ...or something like this:

    \n\n\n\n

    The XYZ Doohickey Company was founded in 1971, and has been providing quality doohickeys to the public ever since. Located in Gotham City, XYZ employs over 2,000 people and does all kinds of awesome things for the Gotham community.

    \n\n\n\n

    As a new WordPress user, you should go to your dashboard to delete this page and create new pages for your content. Have fun!

    \n', 'Sample Page', '', 'publish', 'closed', 'open', '', 'sample-page', '', '', '2020-10-16 23:23:47', '2020-10-16 23:23:47', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=2', 0, 'page', '', 0), +(3, 1, '2020-02-25 17:54:21', '2020-02-25 17:54:21', '

    Who we are

    Our website address is: https://devgatsbyint.wpengine.com.

    What personal data we collect and why we collect it

    Comments

    When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.

    An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

    Media

    If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download and extract any location data from images on the website.

    Contact forms

    Cookies

    If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year.

    If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.

    When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed.

    If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

    Embedded content from other websites

    Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.

    These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

    Analytics

    Who we share your data with

    How long we retain your data

    If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue.

    For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

    What rights you have over your data

    If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

    Where we send your data

    Visitor comments may be checked through an automated spam detection service.

    Your contact information

    Additional information

    How we protect your data

    What data breach procedures we have in place

    What third parties we receive data from

    What automated decision making and/or profiling we do with user data

    Industry regulatory disclosure requirements

    ', 'Privacy Policy', '', 'draft', 'closed', 'open', '', 'privacy-policy', '', '', '2020-02-25 17:54:21', '2020-02-25 17:54:21', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=3', 0, 'page', '', 0), +(16, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 'Activity', '', 'publish', 'closed', 'closed', '', 'activity', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/activity/', 0, 'page', '', 0), +(17, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 'Members', '', 'publish', 'closed', 'closed', '', 'members', '', '', '2020-07-22 00:43:10', '2020-07-22 00:43:10', '', 0, 'https://devgatsbyint.wpengine.com/members/', 0, 'page', '', 0), +(18, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '{{poster.name}} replied to one of your updates:\n\n
    "{{usermessage}}"
    \n\nGo to the discussion to reply or catch up on the conversation.', '[{{{site.name}}}] {{poster.name}} replied to one of your updates', '{{poster.name}} replied to one of your updates:\n\n\"{{usermessage}}\"\n\nGo to the discussion to reply or catch up on the conversation: {{{thread.url}}}', 'publish', 'closed', 'closed', '', 'site-name-poster-name-replied-to-one-of-your-updates', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=18', 0, 'bp-email', '', 0), +(19, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '{{poster.name}} replied to one of your comments:\n\n
    "{{usermessage}}"
    \n\nGo to the discussion to reply or catch up on the conversation.', '[{{{site.name}}}] {{poster.name}} replied to one of your comments', '{{poster.name}} replied to one of your comments:\n\n\"{{usermessage}}\"\n\nGo to the discussion to reply or catch up on the conversation: {{{thread.url}}}', 'publish', 'closed', 'closed', '', 'site-name-poster-name-replied-to-one-of-your-comments', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=19', 0, 'bp-email', '', 0), +(20, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '{{poster.name}} mentioned you in a status update:\n\n
    "{{usermessage}}"
    \n\nGo to the discussion to reply or catch up on the conversation.', '[{{{site.name}}}] {{poster.name}} mentioned you in a status update', '{{poster.name}} mentioned you in a status update:\n\n\"{{usermessage}}\"\n\nGo to the discussion to reply or catch up on the conversation: {{{mentioned.url}}}', 'publish', 'closed', 'closed', '', 'site-name-poster-name-mentioned-you-in-a-status-update', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=20', 0, 'bp-email', '', 0), +(21, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '{{poster.name}} mentioned you in the group \"{{group.name}}\":\n\n
    "{{usermessage}}"
    \n\nGo to the discussion to reply or catch up on the conversation.', '[{{{site.name}}}] {{poster.name}} mentioned you in an update', '{{poster.name}} mentioned you in the group \"{{group.name}}\":\n\n\"{{usermessage}}\"\n\nGo to the discussion to reply or catch up on the conversation: {{{mentioned.url}}}', 'publish', 'closed', 'closed', '', 'site-name-poster-name-mentioned-you-in-an-update', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=21', 0, 'bp-email', '', 0), +(22, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', 'Thanks for registering!\n\nTo complete the activation of your account, go to the following link and click on the Activate button:\n{{{activate.url}}}\n\nIf the \'Activation Key\' field is empty, copy and paste the following into the field - {{key}}', '[{{{site.name}}}] Activate your account', 'Thanks for registering!\n\nTo complete the activation of your account, go to the following link and click on the \'Activate\' button: {{{activate.url}}}\n\nIf the \'Activation Key\' field is empty, copy and paste the following into the field - {{key}}', 'publish', 'closed', 'closed', '', 'site-name-activate-your-account', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=22', 0, 'bp-email', '', 0), +(23, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '{{initiator.name}} wants to add you as a friend.\n\nTo accept this request and manage all of your pending requests, visit: {{{friend-requests.url}}}', '[{{{site.name}}}] New friendship request from {{initiator.name}}', '{{initiator.name}} wants to add you as a friend.\n\nTo accept this request and manage all of your pending requests, visit: {{{friend-requests.url}}}\n\nTo view {{initiator.name}}\'s profile, visit: {{{initiator.url}}}', 'publish', 'closed', 'closed', '', 'site-name-new-friendship-request-from-initiator-name', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=23', 0, 'bp-email', '', 0), +(24, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '{{friend.name}} accepted your friend request.', '[{{{site.name}}}] {{friend.name}} accepted your friendship request', '{{friend.name}} accepted your friend request.\n\nTo learn more about them, visit their profile: {{{friendship.url}}}', 'publish', 'closed', 'closed', '', 'site-name-friend-name-accepted-your-friendship-request', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=24', 0, 'bp-email', '', 0), +(25, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', 'Group details for the group "{{group.name}}" were updated:\n
    {{changed_text}}
    ', '[{{{site.name}}}] Group details updated', 'Group details for the group \"{{group.name}}\" were updated:\n\n{{changed_text}}\n\nTo view the group, visit: {{{group.url}}}', 'publish', 'closed', 'closed', '', 'site-name-group-details-updated', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=25', 0, 'bp-email', '', 0), +(26, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '{{inviter.name}} has invited you to join the group: "{{group.name}}".\n{{invite.message}}\nGo here to accept your invitation or visit the group to learn more.', '[{{{site.name}}}] You have an invitation to the group: \"{{group.name}}\"', '{{inviter.name}} has invited you to join the group: \"{{group.name}}\".\n\nTo accept your invitation, visit: {{{invites.url}}}\n\nTo learn more about the group, visit: {{{group.url}}}.\nTo view {{inviter.name}}\'s profile, visit: {{{inviter.url}}}', 'publish', 'closed', 'closed', '', 'site-name-you-have-an-invitation-to-the-group-group-name', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=26', 0, 'bp-email', '', 0), +(27, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', 'You have been promoted to {{promoted_to}} in the group "{{group.name}}".', '[{{{site.name}}}] You have been promoted in the group: \"{{group.name}}\"', 'You have been promoted to {{promoted_to}} in the group: \"{{group.name}}\".\n\nTo visit the group, go to: {{{group.url}}}', 'publish', 'closed', 'closed', '', 'site-name-you-have-been-promoted-in-the-group-group-name', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=27', 0, 'bp-email', '', 0), +(28, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '{{requesting-user.name}} wants to join the group "{{group.name}}".\n {{request.message}}\n As you are an administrator of this group, you must either accept or reject the membership request.\n\nGo here to manage this and all other pending requests.', '[{{{site.name}}}] Membership request for group: {{group.name}}', '{{requesting-user.name}} wants to join the group \"{{group.name}}\". As you are the administrator of this group, you must either accept or reject the membership request.\n\nTo manage this and all other pending requests, visit: {{{group-requests.url}}}\n\nTo view {{requesting-user.name}}\'s profile, visit: {{{profile.url}}}', 'publish', 'closed', 'closed', '', 'site-name-membership-request-for-group-group-name', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=28', 0, 'bp-email', '', 0), +(29, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', '{{sender.name}} sent you a new message: "{{usersubject}}"\n\n
    "{{usermessage}}"
    \n\nGo to the discussion to reply or catch up on the conversation.', '[{{{site.name}}}] New message from {{sender.name}}', '{{sender.name}} sent you a new message: \"{{usersubject}}\"\n\n\"{{usermessage}}\"\n\nGo to the discussion to reply or catch up on the conversation: {{{message.url}}}', 'publish', 'closed', 'closed', '', 'site-name-new-message-from-sender-name', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=29', 0, 'bp-email', '', 0), +(30, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', 'You recently changed the email address associated with your account on {{site.name}} to {{user.email}}. If this is correct, go here to confirm the change.\n\nOtherwise, you can safely ignore and delete this email if you have changed your mind, or if you think you have received this email in error.', '[{{{site.name}}}] Verify your new email address', 'You recently changed the email address associated with your account on {{site.name}} to {{user.email}}. If this is correct, go to the following link to confirm the change: {{{verify.url}}}\n\nOtherwise, you can safely ignore and delete this email if you have changed your mind, or if you think you have received this email in error.', 'publish', 'closed', 'closed', '', 'site-name-verify-your-new-email-address', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=30', 0, 'bp-email', '', 0), +(31, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', 'Your membership request for the group "{{group.name}}" has been accepted.', '[{{{site.name}}}] Membership request for group \"{{group.name}}\" accepted', 'Your membership request for the group \"{{group.name}}\" has been accepted.\n\nTo view the group, visit: {{{group.url}}}', 'publish', 'closed', 'closed', '', 'site-name-membership-request-for-group-group-name-accepted', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=31', 0, 'bp-email', '', 0), +(32, 1, '2020-02-25 19:27:33', '2020-02-25 19:27:33', 'Your membership request for the group "{{group.name}}" has been rejected.', '[{{{site.name}}}] Membership request for group \"{{group.name}}\" rejected', 'Your membership request for the group \"{{group.name}}\" has been rejected.\n\nTo request membership again, visit: {{{group.url}}}', 'publish', 'closed', 'closed', '', 'site-name-membership-request-for-group-group-name-rejected', '', '', '2020-02-25 19:27:33', '2020-02-25 19:27:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=bp-email&p=32', 0, 'bp-email', '', 0), +(72, 1, '2020-03-02 20:59:45', '2020-03-02 20:59:45', 'a:9:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:9:\"post_type\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:4:\"page\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";s:15:\"show_in_graphql\";i:1;s:18:\"graphql_field_name\";s:13:\"acfPageFields\";}', 'Page', 'page', 'publish', 'closed', 'closed', '', 'group_5e5d71e2746ef', '', '', '2020-10-02 19:30:07', '2020-10-02 19:30:07', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=acf-field-group&p=72', 0, 'acf-field-group', '', 0), +(74, 1, '2020-03-02 20:54:36', '2020-03-02 20:54:36', 'a:9:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:9:\"post_type\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:11:\"team_member\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";s:15:\"show_in_graphql\";i:1;s:18:\"graphql_field_name\";s:7:\"acfData\";}', 'team member', 'team-member', 'publish', 'closed', 'closed', '', 'group_5e5d724c5c8ba', '', '', '2020-03-03 00:35:34', '2020-03-03 00:35:34', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=acf-field-group&p=74', 0, 'acf-field-group', '', 0), +(75, 1, '2020-03-02 20:54:36', '2020-03-02 20:54:36', 'a:11:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";}', 'Name', 'name', 'publish', 'closed', 'closed', '', 'field_5e5d725460853', '', '', '2020-03-03 00:35:33', '2020-03-03 00:35:33', '', 74, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=75', 0, 'acf-field', '', 0), +(79, 1, '2018-10-23 09:31:58', '2018-10-23 19:31:58', '\n

    Welcome to image alignment! The best way to demonstrate the ebb and flow of the various image positioning options is to nestle them snuggly among an ocean of words. Grab a paddle and let’s get started.

    \n\n\n\n

    On the topic of alignment, it should be noted that users can choose from the options of NoneLeftRight, and Center. In addition, they also get the options of ThumbnailMediumLarge & Fullsize.

    \n\n\n\n
    \"\"
    \n\n\n\n

    The image above happens to be centered.

    \n\n\n\n
    \"\"
    \n\n\n\n

    The rest of this paragraph is filler for the sake of seeing the text wrap around the 150×150 image, which is left aligned.

    \n\n\n\n

    As you can see the should be some space above, below, and to the right of the image. The text should not be creeping on the image. Creeping is just not right. Images need breathing room too. Let them speak like you words. Let them do their jobs without any hassle from the text. In about one more sentence here, we’ll see that the text moves from the right of the image down below the image in seamless transition. Again, letting the do it’s thang. Mission accomplished!

    \n\n\n\n

    And now for a massively large image. It also has no alignment.

    \n\n\n\n
    \"\"
    \n\n\n\n

    The image above, though 1200px wide, should not overflow the content area. It should remain contained with no visible disruption to the flow of content.

    \n\n\n\n
    \"\"
    \n\n\n\n

    And now we’re going to shift things to the right align. Again, there should be plenty of room above, below, and to the left of the image. Just look at him there… Hey guy! Way to rock that right side. I don’t care what the left aligned image says, you look great. Don’t let anyone else tell you differently.

    \n\n\n\n

    In just a bit here, you should see the text start to wrap below the \nright aligned image and settle in nicely. There should still be plenty \nof room and everything should be sitting pretty. Yeah… Just like that. \nIt never felt so good to be right.

    \n\n\n\n

    The following image is wide (if the theme supports it, that is). If not, who knows what will happen!

    \n\n\n\n
    \"\"
    \n\n\n\n

    What\'s that? You wanted to see a full-width image block? Well then feast your eyes on the following.

    \n\n\n\n
    \"\"
    \n\n\n\n

    There\'s something missing! But don\'t worry, we\'ve got the cover image blocks... covered.

    \n\n\n\n
    \n

    This is a regular cover image.

    \n
    \n\n\n\n
    \n

    This is a wide cover image.

    \n
    \n\n\n\n
    \n

    This is a full-width cover image.

    \n
    \n\n\n\n

    And just when you thought we were done, we’re going to do them all over again with captions!

    \n\n\n\n
    \"\"
    Look at 580×300 getting some caption love.
    \n\n\n\n

    The image above happens to be centered. The caption also has a link in it, just to see if it does anything funky.

    \n\n\n\n
    \"\"
    Itty-bitty caption
    \n\n\n\n

    The rest of this paragraph is filler for the sake of seeing the text wrap around the 150×150 image, which is left aligned.

    \n\n\n\n

    As you can see the should be some space above, below, and to the right of the image. The text should not be creeping on the image. Creeping is just not right. Images need breathing room too. Let them speak like you words. Let them do their jobs without any hassle from the text. In about one more sentence here, we’ll see that the text moves from the right of the image down below the image in seamless transition. Again, letting the do it’s thang. Mission accomplished!

    \n\n\n\n

    And now for a massively large image. It also has no alignment.

    \n\n\n\n
    \"\"
    Massive image comment for your eyeballs.
    \n\n\n\n

    The image above, though 1200px wide, should not overflow the content area. It should remain contained with no visible disruption to the flow of content.

    \n\n\n\n
    \"\"
    Feels good to be right all the time.
    \n\n\n\n

    And now we’re going to shift things to the right align. Again, there should be plenty of room above, below, and to the left of the image. Just look at him there… Hey guy! Way to rock that right side. I don’t care what the left aligned image says, you look great. Don’t let anyone else tell you differently.

    \n\n\n\n

    In just a bit here, you should see the text start to wrap below the right aligned image and settle in nicely. There should still be plenty of room and everything should be sitting pretty. Yeah… Just like that. It never felt so good to be right.

    \n\n\n\n

    We\'re gonna take one more trip down cover image lane.

    \n\n\n\n
    \n

    The unicorn is a legendary creature that has been described since antiquity as a beast with a single large, pointed, spiraling horn projecting from it\'s forehead. In European folklore, the unicorn is often depicted as a white horse-like or goat-like animal with a long horn and clove hooves.

    In the Middle Ages and Renaissance, it was commonly described as an extremely wild woodland creature, a symbol of purity and grace, which could be captured only by a virgin.

    \n
    \n\n\n\n
    \n

    This wide cover image background is fixed.

    \n
    \n\n\n\n

    And that’s a wrap, yo! You survived the tumultuous waters of alignment. Image alignment achievement unlocked!

    \n', 'Gutenberg: Image Alignment', '', 'publish', 'open', 'open', '', 'gutenberg-image-alignment', '', '', '2020-09-17 15:32:16', '2020-09-17 15:32:16', '', 0, 'https://chrisrunnells.wordpress.com/?p=79', 0, 'post', '', 0), +(84, 1, '2020-03-02 20:54:37', '2020-03-02 20:54:37', 'a:11:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";}', 'Title', 'title', 'publish', 'closed', 'closed', '', 'field_5e5d726060854', '', '', '2020-03-03 00:35:33', '2020-03-03 00:35:33', '', 74, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=84', 1, 'acf-field', '', 0), +(89, 1, '2020-03-02 20:54:37', '2020-03-02 20:54:37', 'a:16:{s:4:\"type\";s:5:\"image\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:12:\"preview_size\";s:6:\"medium\";s:7:\"library\";s:3:\"all\";s:9:\"min_width\";s:0:\"\";s:10:\"min_height\";s:0:\"\";s:8:\"min_size\";s:0:\"\";s:9:\"max_width\";s:0:\"\";s:10:\"max_height\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'Portrait', 'portrait', 'publish', 'closed', 'closed', '', 'field_5e5d727560855', '', '', '2020-03-03 00:35:33', '2020-03-03 00:35:33', '', 74, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=89', 2, 'acf-field', '', 0), +(90, 1, '2018-10-23 09:38:23', '2018-10-23 19:38:23', '\n

    Archives Widget

    \n\n\n\n\n\n

    Categories

    \n\n\n\n\n\n

    Latest Posts

    \n\n\n\n\n\n

    Latest Comments

    \n\n\n\n\n\n

    YouTube Shortcode

    \n\n\n\n[youtube https://www.youtube.com/watch?v=ssfHW5lwFZg]\n', 'Gutenberg: Widget Blocks', '', 'publish', 'open', 'open', '', 'gutenberg-widget-blocks', '', '', '2020-09-17 15:32:13', '2020-09-17 15:32:13', '', 0, 'https://chrisrunnells.wordpress.com/?p=90', 0, 'post', '', 0), +(94, 1, '2018-10-23 15:33:34', '2018-10-24 01:33:34', '\n

    Paragraph Block

    \n\n\n\n

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris purus urna, vulputate at convallis hendrerit, mattis id mi. Nulla mauris justo, sodales vitae sodales nec, fermentum at elit. Proin condimentum risus sed venenatis mollis. Donec auctor euismod sodales. Donec sodales congue metus, sit amet tempor odio maximus in. Ut vestibulum nisl a maximus scelerisque. Donec aliquam eleifend metus, eget iaculis ante vestibulum id. Nulla facilisi. Nullam interdum sagittis accumsan. Phasellus egestas elementum enim nec condimentum. Sed mattis purus odio. Curabitur vehicula rutrum porttitor. Phasellus tempus dui id turpis fermentum, auctor dictum mauris mollis.

    \n\n\n\n

    Header 1

    \n\n\n\n

    Header 2

    \n\n\n\n

    Header 3

    \n\n\n\n

    Header 4

    \n\n\n\n
    Header 5
    \n\n\n\n
    Header 6
    \n\n\n\n

    Image Block

    \n\n\n\n
    \"\"
    A pretty unicorn
    \n\n\n\n\n\n\n\n

    List Block

    \n\n\n\n
    • List Item One
    • List Item Two
    • List Item Three
    \n\n\n\n
    1. List Item One
    2. List Item Two
    3. List Item Three
    \n\n\n\n

    Quote Block

    \n\n\n\n

    This is a quote block. It\'s aligned to the side at least in the default styles. Pretty darn amazing.

    Laurel Fulford
    \n\n\n\n

    Large Quote Block

    \n\n\n\n

    Use the force, Luke.

    Obi-Wan Kenobi
    \n\n\n\n

    Audio Block

    \n\n\n\n
    Tom Raftery interviews Matt Mullenweg and Donncha Ó Caoimh
    \n\n\n\n

    Cover Image Block

    \n\n\n\n
    \n

    This is a cover image block.

    \n
    \n\n\n\n

    File Block

    \n\n\n\n\n\n\n\n

    Video Block

    \n\n\n\n
    Now that\'s a fun animation!
    \n', 'Gutenberg: Common Blocks', '', 'publish', 'open', 'open', '', 'gutenberg-common-blocks', '', '', '2020-10-07 03:05:49', '2020-10-07 03:05:49', '', 0, 'https://chrisrunnells.wordpress.com/?p=94', 0, 'post', '', 0), +(95, 1, '2018-10-23 10:34:54', '2018-10-23 20:34:54', '', 'aperture-vintage-346923-unsplash', '', 'inherit', 'open', 'closed', '', 'aperture-vintage-346923-unsplash', '', '', '2018-10-23 10:34:54', '2018-10-23 20:34:54', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/aperture-vintage-346923-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(96, 1, '2018-10-23 10:35:00', '2018-10-23 20:35:00', '', 'brandon-siu-608784-unsplash', '', 'inherit', 'open', 'closed', '', 'brandon-siu-608784-unsplash', '', '', '2018-10-23 10:35:00', '2018-10-23 20:35:00', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/brandon-siu-608784-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(97, 1, '2018-10-23 10:35:04', '2018-10-23 20:35:04', '', 'casey-horner-512022-unsplash', '', 'inherit', 'open', 'closed', '', 'casey-horner-512022-unsplash', '', '', '2018-10-23 10:35:04', '2018-10-23 20:35:04', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/casey-horner-512022-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(98, 1, '2020-03-02 20:59:13', '2020-03-02 20:59:13', '\n

    Creator and maintainer of WPGraphQL (GraphQL for WordPress). Occasional conference speaker.

    \n', 'Jason Bahl', '', 'publish', 'open', 'open', '', 'jason-bahl', '', '', '2020-03-02 22:26:09', '2020-03-02 22:26:09', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=team_member&p=98', 0, 'team_member', '', 0), +(99, 1, '2020-03-02 20:58:44', '2020-03-02 20:58:44', '', 'avatar', '', 'inherit', 'open', 'closed', '', 'avatar', '', '', '2020-03-02 20:58:44', '2020-03-02 20:58:44', '', 98, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/03/avatar.jpg', 0, 'attachment', 'image/jpeg', 0), +(100, 1, '2018-10-23 10:35:13', '2018-10-23 20:35:13', '', 'federico-bottos-442265-unsplash', '', 'inherit', 'open', 'closed', '', 'federico-bottos-442265-unsplash', '', '', '2018-10-23 10:35:13', '2018-10-23 20:35:13', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/federico-bottos-442265-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(101, 1, '2018-10-23 10:35:17', '2018-10-23 20:35:17', '', 'jordan-steranka-504707-unsplash', '', 'inherit', 'open', 'closed', '', 'jordan-steranka-504707-unsplash', '', '', '2018-10-23 10:35:17', '2018-10-23 20:35:17', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/jordan-steranka-504707-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(102, 1, '2018-10-23 10:35:22', '2018-10-23 20:35:22', '', 'kristopher-roller-110203-unsplash', '', 'inherit', 'open', 'closed', '', 'kristopher-roller-110203-unsplash', '', '', '2018-10-23 10:35:22', '2018-10-23 20:35:22', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/kristopher-roller-110203-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(103, 1, '2018-10-23 10:35:26', '2018-10-23 20:35:26', '', 'zoltan-tasi-482489-unsplash', '', 'inherit', 'open', 'closed', '', 'zoltan-tasi-482489-unsplash', '', '', '2018-10-23 10:35:26', '2018-10-23 20:35:26', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/zoltan-tasi-482489-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(104, 1, '2018-10-23 15:24:00', '2018-10-24 01:24:00', '', 'WordPress-logotype-standard', '', 'inherit', 'open', 'closed', '', 'wordpress-logotype-standard', '', '', '2018-10-23 15:24:00', '2018-10-24 01:24:00', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/wordpress-logotype-standard.pdf', 0, 'attachment', 'application/pdf', 0); +INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES +(114, 1, '2018-10-24 10:49:42', '2018-10-24 20:49:42', '

    Headings

    \n

    Header one

    \n

    Header two

    \n

    Header three

    \n

    Header four

    \n
    Header five
    \n
    Header six
    \n

    Blockquotes

    \nSingle line blockquote:\n
    Stay hungry. Stay foolish.
    \nMulti line blockquote with a cite reference:\n
    People think focus means saying yes to the thing you\'ve got to focus on. But that\'s not what it means at all. It means saying no to the hundred other good ideas that there are. You have to pick carefully. I\'m actually as proud of the things we haven\'t done as the things I have done. Innovation is saying no to 1,000 things.
    \nSteve Jobs - Apple Worldwide Developers\' Conference, 1997\n
    Do. Or do not. There is no try.\n\nYoda
    \n

    Tables

    \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
    EmployeeSalary
    John Doe$1Because that\'s all Steve Jobs needed for a salary.
    Jane Doe$100KFor all the blogging she does.
    Fred Bloggs$100MPictures are worth a thousand words, right? So Jane x 1,000.
    Jane Bloggs$100BWith hair like that?! Enough said...
    \n

    Definition Lists

    \n
    \n
    Definition List Title
    \n
    Definition list division.
    \n
    Startup
    \n
    A startup company or startup is a company or temporary organization designed to search for a repeatable and scalable business model.
    \n
    #dowork
    \n
    Coined by Rob Dyrdek and his personal body guard Christopher \"Big Black\" Boykins, \"Do Work\" works as a self motivator, to motivating your friends.
    \n
    Do It Live
    \n
    I\'ll let Bill O\'Reilly will explain this one.
    \n
    \n

    Unordered Lists (Nested)

    \n
      \n
    • List item one\n
        \n
      • List item one\n
          \n
        • List item one
        • \n
        • List item two
        • \n
        • List item three
        • \n
        • List item four
        • \n
        \n
      • \n
      • List item two
      • \n
      • List item three
      • \n
      • List item four
      • \n
      \n
    • \n
    • List item two
    • \n
    • List item three
    • \n
    • List item four
    • \n
    \n

    Ordered List (Nested)

    \n
      \n
    1. List item one\n
        \n
      1. List item one\n
          \n
        1. List item one
        2. \n
        3. List item two
        4. \n
        5. List item three
        6. \n
        7. List item four
        8. \n
        \n
      2. \n
      3. List item two
      4. \n
      5. List item three
      6. \n
      7. List item four
      8. \n
      \n
    2. \n
    3. List item two
    4. \n
    5. List item three
    6. \n
    7. List item four
    8. \n
    \n

    HTML Tags

    \nThese supported tags come from the WordPress.com code FAQ.\n\nAddress Tag\n\n
    1 Infinite Loop\nCupertino, CA 95014\nUnited States
    Anchor Tag (aka. Link)\n\nThis is an example of a link.\n\nAbbreviation Tag\n\nThe abbreviation srsly stands for \"seriously\".\n\nAcronym Tag (deprecated in HTML5)\n\nThe acronym ftw stands for \"for the win\".\n\nBig Tag (deprecated in HTML5)\n\nThese tests are a big deal, but this tag is no longer supported in HTML5.\n\nCite Tag\n\n\"Code is poetry.\" --Automattic\n\nCode Tag\n\nYou will learn later on in these tests that word-wrap: break-word; will be your best friend.\n\nDelete Tag\n\nThis tag will let you strikeout text, but this tag is no longer supported in HTML5 (use the <strike> instead).\n\nEmphasize Tag\n\nThe emphasize tag should italicize text.\n\nInsert Tag\n\nThis tag should denote inserted text.\n\nKeyboard Tag\n\nThis scarcely known tag emulates keyboard text, which is usually styled like the <code> tag.\n\nPreformatted Tag\n\nThis tag styles large blocks of code.\n
    .post-title {\n	margin: 0 0 5px;\n	font-weight: bold;\n	font-size: 38px;\n	line-height: 1.2;\n	and here\'s a line of some really, really, really, really long text, just to see how the PRE tag handles it and to find out how it overflows;\n}
    \nQuote Tag\n\nDevelopers, developers, developers... --Steve Ballmer\n\nStrike Tag (deprecated in HTML5)\n\nThis tag shows strike-through text\n\nStrong Tag\n\nThis tag shows bold text.\n\nSubscript Tag\n\nGetting our science styling on with H2O, which should push the \"2\" down.\n\nSuperscript Tag\n\nStill sticking with science and Isaac Newton\'s E = MC2, which should lift the 2 up.\n\nTeletype Tag (deprecated in HTML5)\n\nThis rarely used tag emulates teletype text, which is usually styled like the <code> tag.\n\nVariable Tag\n\nThis allows you to denote variables.', 'Gutenberg: Classic Block', '', 'publish', 'open', 'open', '', 'gutenberg-classic-block', '', '', '2020-09-17 15:32:04', '2020-09-17 15:32:04', '', 0, 'https://chrisrunnells.wordpress.com/?p=114', 0, 'post', '', 0), +(116, 1, '2018-10-24 10:59:26', '2018-10-24 20:59:26', '\n

    Imgur Embed

    \n\n\n\n
    \nhttps://i.imgur.com/nlG3C7A.jpg\n
    \n\n\n\n

    Embed Embed

    \n\n\n\n
    \nhttps://google.com\n
    \n\n\n\n

    Twitter Embed

    \n\n\n\n
    \nhttps://twitter.com/wordpressdotcom\n
    \n\n\n\n

    YouTube Embed

    \n\n\n\n
    \nhttps://www.youtube.com/watch?v=xifhQyopjZM\n
    \n\n\n\n

    Facebook Embed

    \n\n\n\n
    \nhttps://www.facebook.com/WordPresscom/\n
    \n\n\n\n

    Instagram Embed

    \n\n\n\n
    \nhttps://www.instagram.com/rei/\n
    \n\n\n\n

    WordPress Embed

    \n\n\n\n
    \nhttps://automattic.design/\n
    \n\n\n\n

    Soundcloud Embed

    \n\n\n\n
    \nhttps://soundcloud.com/monstercat/rameses-b-something-real\n
    \n\n\n\n

    Spotify Embed

    \n\n\n\n
    \nhttps://open.spotify.com/album/3qg7pFyj6gbNVDtbi9aZHY\n
    \n\n\n\n

    Flickr Embed

    \n\n\n\n
    \nhttps://www.flickr.com/photos/tom_hall_nz/17004434418/in/gallery-134864050@N04-72157656707819872/\n
    \n\n\n\n

    Vimeo Embed

    \n\n\n\n
    \nhttps://vimeo.com/22439234\n
    \n', 'Gutenberg: Embed Blocks', '', 'publish', 'open', 'open', '', 'gutenberg-embed-blocks', '', '', '2020-09-17 15:31:56', '2020-09-17 15:31:56', '', 0, 'https://chrisrunnells.wordpress.com/?p=116', 0, 'post', '', 0), +(122, 1, '2018-10-24 11:24:22', '2018-10-24 21:24:22', '\n

    Code Block

    \n\n\n\n
    .codeblock {\n    right: 100% !important;\n    position: absolute;\n}
    \n\n\n\n

    Classic Block

    \n\n\n

    This is the classic block.

    \n

    It\'s using the regular editor.

    \n\n\n

    HTML Block

    \n\n\n\n

    \n My HTML block.\n

    \n\n\n\n

    Preformatted Block

    \n\n\n\n
    This is a preformatted block.
    It is the best block.
    Amazing.
    \n\n\n\n

    Pullquote Block

    \n\n\n\n

    This is a pullquote. It\'s pretty awesome.

    Laurel Fulford
    \n\n\n\n

    Table Block

    \n\n\n\n
    Header 1Header 2Header 3
    BobSmith36
    JaneDoe25
    SusanSmithers34
    \n\n\n\n

    Verse Block

    \n\n\n\n
    This is a verse.
    It apparently has no styles?
    Amazing.
    \n', 'Gutenberg: Formatting Blocks', '', 'publish', 'open', 'open', '', 'gutenberg-formatting-blocks', '', '', '2020-09-17 21:10:59', '2020-09-17 21:10:59', '', 0, 'https://chrisrunnells.wordpress.com/?p=122', 0, 'post', '', 0), +(125, 1, '2018-10-24 11:34:02', '2018-10-24 21:34:02', '\n

    Button Blocks

    \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n

    File Block

    \n\n\n\n\n\n\n\n

    Spacer Block

    \n\n\n\n
    \n\n\n\n

    Separator Block

    \n\n\n\n

    The following separators should be a short line, a long line, and some dots.

    \n\n\n\n
    \n\n\n\n
    \n\n\n\n
    \n', 'Gutenberg: Layout Element Blocks', '', 'publish', 'open', 'open', '', 'gutenberg-layout-element-blocks', '', '', '2020-09-17 21:01:10', '2020-09-17 21:01:10', '', 0, 'https://chrisrunnells.wordpress.com/?p=125', 0, 'post', '', 0), +(128, 1, '2018-10-24 11:54:34', '2018-10-24 21:54:34', '\n

    2 columns

    \n\n\n\n
    \n
    \n
    \"\"
    \n\n\n\n

    This is a 2-column layout, just trying some things out to see how it goes. Each column should have enough padding to breathe a little bit. Don\'t forget to consider how columns will look on smaller screens. #mobilefirst

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    \n
    \n
    \n\n\n\n
    \n\n\n\n

    3 columns

    \n\n\n\n
    \n
    \n
    \"\"
    \n\n\n\n

    This is a typical 3-column layout with images on top and some text below.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    You\'ll find this layout on web sites all over the internet.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Gutenberg makes this kind of layout easy to build. The future is now!

    \n
    \n
    \n\n\n\n
    \n\n\n\n
    \n
    \n
    \n
    \n

    second level columns

    \n
    \n\n\n\n
    \n
    \n
    \n

    third level columns

    \n
    \n\n\n\n
    \n
    \n
    \n

    fourth level columns

    \n
    \n\n\n\n
    \n
    \n
    \n
    \n\n\n\n

    \n
    \n
    \n\n\n\n

    \n
    \n\n\n\n
    \n

    first level block

    \n
    \n
    \n\n\n\n

    4 columns

    \n\n\n\n
    \n
    \n

    This is the first column, and it\'s amazing.

    \n
    \n\n\n\n
    \n

    This is the second column, and it\'s also amazing.

    \n
    \n\n\n\n
    \n

    The third column, as they say, is like a charm.

    \n
    \n\n\n\n
    \n

    This is the fourth column, and it\'s possibly the best.

    \n
    \n
    \n\n\n\n
    \n\n\n\n

    5 columns

    \n\n\n\n
    \n
    \n

    5 columns of text in the post, 5 columns of text. Take one down, move it around, 4 columns of text in the post.

    \n
    \n\n\n\n
    \n

    4 columns of text in the post, 4 columns of text. Take one down, move it around, 3 columns of text in the post.

    \n
    \n\n\n\n
    \n

    3 columns of text in the post, 3 columns of text. Take one down, move it around, 2 columns of text in the post.

    \n
    \n\n\n\n
    \n

    2 columns of text in the post, 2 columns of text. Take one down, move it around, 1 columns of text in the post.

    \n
    \n\n\n\n
    \n

    1 column of text in the post, 1 column of text. Take one down, move it around, no columns of text in the post.

    \n
    \n
    \n\n\n\n
    \n\n\n\n

    6 columns

    \n\n\n\n
    \n
    \n
    \"\"
    \n\n\n\n

    One column.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Two columns.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Three columns.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Four columns.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Five columns.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Six columns.

    \n
    \n
    \n\n\n\n
    \n
    \n
    \"\"
    \n\n\n\n

    One column.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Two columns.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Three columns.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Four columns.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Five columns.

    \n
    \n\n\n\n
    \n
    \"\"
    \n\n\n\n

    Six columns.

    \n
    \n
    \n\n\n\n

    \n', 'Gutenberg: Columns', '', 'publish', 'open', 'open', '', 'gutenberg-columns', '', '', '2020-09-17 17:35:43', '2020-09-17 17:35:43', '', 0, 'https://chrisrunnells.wordpress.com/?p=128', 0, 'post', '', 0), +(155, 1, '2020-03-02 21:00:47', '2020-03-02 21:00:47', 'a:7:{s:4:\"type\";s:4:\"link\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";}', 'twitter link', 'twitterlink', 'publish', 'closed', 'closed', '', 'field_5e5d73f3f4d05', '', '', '2020-03-03 00:35:33', '2020-03-03 00:35:33', '', 74, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=155', 3, 'acf-field', '', 0), +(162, 1, '2020-03-02 21:01:08', '2020-03-02 21:01:08', 'a:7:{s:4:\"type\";s:4:\"link\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";}', 'web site', 'web_site', 'publish', 'closed', 'closed', '', 'field_5e5d740688701', '', '', '2020-03-03 00:35:34', '2020-03-03 00:35:34', '', 74, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=162', 4, 'acf-field', '', 0), +(172, 1, '2020-03-02 22:17:12', '2020-03-02 22:17:12', '', 'WPGraphQL', '', 'publish', 'closed', 'closed', '', 'wpgraphql', '', '', '2020-03-02 22:24:24', '2020-03-02 22:24:24', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=project&p=172', 0, 'project', '', 0), +(181, 1, '2020-03-02 22:18:59', '2020-03-02 22:18:59', 'a:9:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:9:\"post_type\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:7:\"project\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";s:15:\"show_in_graphql\";i:1;s:18:\"graphql_field_name\";s:10:\"acfProject\";}', 'projects', 'projects', 'publish', 'closed', 'closed', '', 'group_5e5d8616df60a', '', '', '2020-03-03 00:35:33', '2020-03-03 00:35:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=acf-field-group&p=181', 0, 'acf-field-group', '', 0), +(182, 1, '2020-03-02 22:18:59', '2020-03-02 22:18:59', 'a:7:{s:4:\"type\";s:4:\"link\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";}', 'project url', 'project_url', 'publish', 'closed', 'closed', '', 'field_5e5d8628dde4a', '', '', '2020-03-03 00:35:32', '2020-03-03 00:35:32', '', 181, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=182', 0, 'acf-field', '', 0), +(188, 1, '2020-03-02 22:19:00', '2020-03-02 22:19:00', 'a:16:{s:4:\"type\";s:5:\"image\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:12:\"preview_size\";s:6:\"medium\";s:7:\"library\";s:3:\"all\";s:9:\"min_width\";s:0:\"\";s:10:\"min_height\";s:0:\"\";s:8:\"min_size\";s:0:\"\";s:9:\"max_width\";s:0:\"\";s:10:\"max_height\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'image', 'image', 'publish', 'closed', 'closed', '', 'field_5e5d8631dde4b', '', '', '2020-03-03 00:35:33', '2020-03-03 00:35:33', '', 181, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=188', 1, 'acf-field', '', 0), +(195, 1, '2020-03-02 22:24:12', '2020-03-02 22:24:12', '', '1024x1024-300x300', '', 'inherit', 'open', 'closed', '', '1024x1024-300x300', '', '', '2020-03-02 22:24:12', '2020-03-02 22:24:12', '', 172, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/03/1024x1024-300x300-1.png', 0, 'attachment', 'image/png', 0), +(229, 1, '2020-03-02 22:25:02', '2020-03-02 22:25:02', 'a:13:{s:4:\"type\";s:12:\"relationship\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:9:\"post_type\";a:1:{i:0;s:7:\"project\";}s:8:\"taxonomy\";s:0:\"\";s:7:\"filters\";a:3:{i:0;s:6:\"search\";i:1;s:9:\"post_type\";i:2;s:8:\"taxonomy\";}s:8:\"elements\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:13:\"return_format\";s:6:\"object\";}', 'projects', 'projects', 'publish', 'closed', 'closed', '', 'field_5e5d87b185982', '', '', '2020-03-03 00:35:34', '2020-03-03 00:35:34', '', 74, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=229', 5, 'acf-field', '', 0), +(284, 1, '2020-03-02 22:32:48', '2020-03-02 22:32:48', '', 'Screen Shot 2020-02-18 at 7.04.39 AM', '', 'inherit', 'open', 'closed', '', 'screen-shot-2020-02-18-at-7-04-39-am', '', '', '2020-03-02 22:32:48', '2020-03-02 22:32:48', '', 17, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/03/Screen-Shot-2020-02-18-at-7.04.39-AM.png', 0, 'attachment', 'image/png', 0), +(316, 1, '2020-03-02 22:33:09', '2020-03-02 22:33:09', '', 'Screen Shot 2020-02-27 at 7.40.56 PM', '', 'inherit', 'open', 'closed', '', 'screen-shot-2020-02-27-at-7-40-56-pm', '', '', '2020-03-02 22:33:09', '2020-03-02 22:33:09', '', 17, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/03/Screen-Shot-2020-02-27-at-7.40.56-PM.png', 0, 'attachment', 'image/png', 0), +(362, 1, '2020-03-02 22:48:26', '2020-03-02 22:48:26', '', '84-1000x1000', '', 'inherit', 'open', 'closed', '', '84-1000x1000', '', '', '2020-03-02 22:48:26', '2020-03-02 22:48:26', '', 17, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/03/84-1000x1000-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(564, 1, '2020-03-06 01:06:19', '2020-03-06 01:06:19', ' ', '', '', 'publish', 'closed', 'closed', '', '564', '', '', '2020-06-30 23:55:12', '2020-06-30 23:55:12', '', 0, 'https://devgatsbyint.wpengine.com/?p=564', 1, 'nav_menu_item', '', 0), +(565, 1, '2020-03-06 01:06:19', '2020-03-06 01:06:19', ' ', '', '', 'publish', 'closed', 'closed', '', '565', '', '', '2020-06-30 23:55:12', '2020-06-30 23:55:12', '', 0, 'https://devgatsbyint.wpengine.com/?p=565', 2, 'nav_menu_item', '', 0), +(566, 1, '2020-03-06 01:06:19', '2020-03-06 01:06:19', ' ', '', '', 'publish', 'closed', 'closed', '', '566', '', '', '2020-06-30 23:55:12', '2020-06-30 23:55:12', '', 0, 'https://devgatsbyint.wpengine.com/?p=566', 3, 'nav_menu_item', '', 0), +(567, 1, '2020-03-06 01:06:19', '2020-03-06 01:06:19', '', 'test custom link', '', 'publish', 'closed', 'closed', '', 'test-custom-link', '', '', '2020-06-30 23:55:12', '2020-06-30 23:55:12', '', 0, 'https://devgatsbyint.wpengine.com/?p=567', 4, 'nav_menu_item', '', 0), +(586, 1, '2020-03-06 01:14:07', '2020-03-06 01:14:07', '', 'Child page', '', 'publish', 'closed', 'closed', '', 'child-page', '', '', '2020-03-06 01:14:10', '2020-03-06 01:14:10', '', 2, 'https://devgatsbyint.wpengine.com/?page_id=586', 0, 'page', '', 0), +(711, 2, '2020-03-06 01:52:42', '2020-03-06 01:52:42', '\n

    With some A+ content

    \n', 'Test user\'s first post', '', 'draft', 'open', 'open', '', 'test-users-first-post', '', '', '2020-03-06 02:10:32', '2020-03-06 02:10:32', '', 0, 'https://devgatsbyint.wpengine.com/?p=711', 0, 'post', '', 0), +(1035, 1, '2020-03-19 00:41:37', '2020-03-19 00:41:37', '\n

    1

    \n', '1', '', 'publish', 'closed', 'closed', '', '1', '', '', '2020-03-19 00:41:38', '2020-03-19 00:41:38', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1035', 0, 'type_limit_test', '', 0), +(1046, 1, '2020-03-19 00:41:45', '2020-03-19 00:41:45', '\n

    2

    \n', '2', '', 'publish', 'closed', 'closed', '', '2', '', '', '2020-03-19 00:41:46', '2020-03-19 00:41:46', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1046', 0, 'type_limit_test', '', 0), +(1057, 1, '2020-03-19 00:41:53', '2020-03-19 00:41:53', '\n

    1

    \n', '1', '', 'publish', 'closed', 'closed', '', '1', '', '', '2020-03-19 00:41:53', '2020-03-19 00:41:53', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_0_test&p=1057', 0, 'type_limit_0_test', '', 0), +(1068, 1, '2020-03-19 00:42:00', '2020-03-19 00:42:00', '\n

    2

    \n', '2', '', 'publish', 'closed', 'closed', '', '2', '', '', '2020-03-19 00:42:00', '2020-03-19 00:42:00', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_0_test&p=1068', 0, 'type_limit_0_test', '', 0), +(1079, 1, '2020-03-19 00:42:08', '2020-03-19 00:42:08', '\n

    3

    \n', '3', '', 'publish', 'closed', 'closed', '', '3', '', '', '2020-03-19 00:42:08', '2020-03-19 00:42:08', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1079', 0, 'type_limit_test', '', 0), +(1090, 1, '2020-03-19 00:42:15', '2020-03-19 00:42:15', '\n

    4

    \n', '4', '', 'publish', 'closed', 'closed', '', '4', '', '', '2020-03-19 00:42:16', '2020-03-19 00:42:16', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1090', 0, 'type_limit_test', '', 0), +(1101, 1, '2020-03-19 00:42:21', '2020-03-19 00:42:21', '\n

    5

    \n', '5', '', 'publish', 'closed', 'closed', '', '5', '', '', '2020-03-19 00:42:22', '2020-03-19 00:42:22', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1101', 0, 'type_limit_test', '', 0), +(1112, 1, '2020-03-19 00:42:28', '2020-03-19 00:42:28', '\n

    6

    \n', '6', '', 'publish', 'closed', 'closed', '', '6', '', '', '2020-03-19 00:42:28', '2020-03-19 00:42:28', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1112', 0, 'type_limit_test', '', 0), +(1123, 1, '2020-03-19 00:42:36', '2020-03-19 00:42:36', '\n

    7

    \n', '7', '', 'publish', 'closed', 'closed', '', '7', '', '', '2020-03-19 00:42:37', '2020-03-19 00:42:37', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1123', 0, 'type_limit_test', '', 0), +(1134, 1, '2020-03-19 00:42:44', '2020-03-19 00:42:44', '\n

    8

    \n', '8', '', 'publish', 'closed', 'closed', '', '8', '', '', '2020-03-19 00:42:44', '2020-03-19 00:42:44', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1134', 0, 'type_limit_test', '', 0), +(1145, 1, '2020-03-19 00:42:50', '2020-03-19 00:42:50', '\n

    9

    \n', '9', '', 'publish', 'closed', 'closed', '', '9', '', '', '2020-03-19 00:42:51', '2020-03-19 00:42:51', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1145', 0, 'type_limit_test', '', 0), +(1156, 1, '2020-03-19 00:42:59', '2020-03-19 00:42:59', '\n

    10

    \n', '10', '', 'publish', 'closed', 'closed', '', '10', '', '', '2020-03-19 00:42:59', '2020-03-19 00:42:59', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1156', 0, 'type_limit_test', '', 0), +(1167, 1, '2020-03-19 00:43:05', '2020-03-19 00:43:05', '\n

    11

    \n', '11', '', 'publish', 'closed', 'closed', '', '11', '', '', '2020-03-19 00:43:06', '2020-03-19 00:43:06', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=type_limit_test&p=1167', 0, 'type_limit_test', '', 0), +(1258, 1, '2020-03-19 01:31:37', '2020-03-19 01:31:37', '', 'polylang_mo_18', '', 'private', 'closed', 'closed', '', 'polylang_mo_18', '', '', '2020-03-19 01:31:37', '2020-03-19 01:31:37', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=polylang_mo&p=1258', 0, 'polylang_mo', '', 0), +(1270, 1, '2020-03-19 01:38:33', '2020-03-19 01:38:33', '', 'polylang_mo_21', '', 'private', 'closed', 'closed', '', 'polylang_mo_21', '', '', '2020-03-19 01:38:33', '2020-03-19 01:38:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=polylang_mo&p=1270', 0, 'polylang_mo', '', 0), +(1276, 1, '2020-03-19 01:41:08', '2020-03-19 01:41:08', '', 'French home page', '', 'publish', 'closed', 'closed', '', 'french-home-page', '', '', '2020-03-19 01:41:10', '2020-03-19 01:41:10', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=1276', 0, 'page', '', 0), +(1311, 1, '2020-03-19 01:49:30', '2020-03-19 01:49:30', '\n

    french content

    \n', 'French page', '', 'publish', 'closed', 'closed', '', 'french-page', '', '', '2020-03-19 03:11:51', '2020-03-19 03:11:51', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=translation_filter_t&p=1311', 0, 'translation_filter_t', '', 0), +(1335, 1, '2020-03-19 01:53:47', '2020-03-19 01:53:47', '\n

    english content

    \n', 'English page', '', 'publish', 'closed', 'closed', '', 'english-page', '', '', '2020-03-19 03:10:49', '2020-03-19 03:10:49', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=translation_filter_t&p=1335', 0, 'translation_filter_t', '', 0), +(7627, 1, '2020-08-21 01:33:24', '2020-08-21 01:33:24', '', 'Screen Shot 2020-08-11 at 3.10.03 PM', '', 'inherit', 'open', 'closed', '', 'screen-shot-2020-08-11-at-3-10-03-pm', '', '', '2020-08-21 01:33:24', '2020-08-21 01:33:24', '', 0, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/Screen-Shot-2020-08-11-at-3.10.03-PM.png', 0, 'attachment', 'image/png', 0), +(7646, 1, '2020-08-27 17:11:05', '2020-08-27 17:11:05', '', 'ACF Field Test', '', 'publish', 'closed', 'closed', '', 'acf-field-test', '', '', '2020-10-02 19:40:10', '2020-10-02 19:40:10', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=7646', 0, 'page', '', 0), +(7650, 1, '2020-08-27 17:31:36', '2020-08-27 17:31:36', 'a:12:{s:4:\"type\";s:5:\"range\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:4:\"step\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";}', 'Range field', 'range_field', 'publish', 'closed', 'closed', '', 'field_5f47e967644b1', '', '', '2020-08-27 17:31:36', '2020-08-27 17:31:36', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7650', 0, 'acf-field', '', 0), +(7652, 1, '2020-08-27 17:31:36', '2020-08-27 17:31:36', 'a:11:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";}', 'Text Field', 'text_field', 'publish', 'closed', 'closed', '', 'field_5f47e986644b2', '', '', '2020-08-27 17:31:36', '2020-08-27 17:31:36', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7652', 1, 'acf-field', '', 0), +(7654, 1, '2020-08-27 17:31:36', '2020-08-27 17:31:36', 'a:11:{s:4:\"type\";s:8:\"textarea\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";s:4:\"rows\";s:0:\"\";s:9:\"new_lines\";s:0:\"\";}', 'Text Area Field', 'text_area_field', 'publish', 'closed', 'closed', '', 'field_5f47e993644b3', '', '', '2020-08-27 17:31:36', '2020-08-27 17:31:36', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7654', 2, 'acf-field', '', 0), +(7656, 1, '2020-08-27 17:31:36', '2020-08-27 17:31:36', 'a:11:{s:4:\"type\";s:12:\"button_group\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:7:\"choices\";a:2:{s:7:\"button1\";s:10:\"Button One\";s:7:\"button2\";s:10:\"Button Two\";}s:10:\"allow_null\";i:0;s:13:\"default_value\";s:0:\"\";s:6:\"layout\";s:10:\"horizontal\";s:13:\"return_format\";s:5:\"value\";}', 'Button Group Field', 'button_group_field', 'publish', 'closed', 'closed', '', 'field_5f47e99f644b4', '', '', '2020-08-27 17:31:36', '2020-08-27 17:31:36', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7656', 3, 'acf-field', '', 0), +(7658, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:13:{s:4:\"type\";s:8:\"checkbox\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:7:\"choices\";a:2:{s:9:\"checkbox1\";s:12:\"Checkbox One\";s:9:\"checkbox2\";s:12:\"Checkbox Two\";}s:12:\"allow_custom\";i:0;s:13:\"default_value\";a:0:{}s:6:\"layout\";s:8:\"vertical\";s:6:\"toggle\";i:0;s:13:\"return_format\";s:5:\"value\";s:11:\"save_custom\";i:0;}', 'Checkbox Field', 'checkbox_field', 'publish', 'closed', 'closed', '', 'field_5f47e9c5644b5', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7658', 4, 'acf-field', '', 0), +(7660, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:13:{s:4:\"type\";s:5:\"radio\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:7:\"choices\";a:2:{s:12:\"radiobutton1\";s:16:\"Radio Button One\";s:12:\"radiobutton2\";s:16:\"Radio Button Two\";}s:10:\"allow_null\";i:0;s:12:\"other_choice\";i:0;s:13:\"default_value\";s:0:\"\";s:6:\"layout\";s:8:\"vertical\";s:13:\"return_format\";s:5:\"value\";s:17:\"save_other_choice\";i:0;}', 'Radio Button Field', 'radio_button_field', 'publish', 'closed', 'closed', '', 'field_5f47e9f3644b6', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7660', 5, 'acf-field', '', 0), +(7662, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:14:{s:4:\"type\";s:6:\"select\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:7:\"choices\";a:2:{s:7:\"select1\";s:10:\"Select One\";s:7:\"select2\";s:10:\"Select Two\";}s:13:\"default_value\";a:0:{}s:10:\"allow_null\";i:0;s:8:\"multiple\";i:0;s:2:\"ui\";i:0;s:13:\"return_format\";s:5:\"value\";s:4:\"ajax\";i:0;s:11:\"placeholder\";s:0:\"\";}', 'Select Field', 'select_field', 'publish', 'closed', 'closed', '', 'field_5f47ea12644b7', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7662', 6, 'acf-field', '', 0), +(7664, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:11:{s:4:\"type\";s:10:\"true_false\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:7:\"message\";s:9:\"Is it so?\";s:13:\"default_value\";i:0;s:2:\"ui\";i:0;s:10:\"ui_on_text\";s:0:\"\";s:11:\"ui_off_text\";s:0:\"\";}', 'True False Field', 'true_false_field', 'publish', 'closed', 'closed', '', 'field_5f47ea28644b8', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7664', 7, 'acf-field', '', 0), +(7666, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:11:{s:4:\"type\";s:4:\"file\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:7:\"library\";s:3:\"all\";s:8:\"min_size\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'File Field', 'file_field', 'publish', 'closed', 'closed', '', 'field_5f47ea3f644b9', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7666', 8, 'acf-field', '', 0); +INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES +(7668, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:19:{s:4:\"type\";s:7:\"gallery\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:12:\"preview_size\";s:6:\"medium\";s:6:\"insert\";s:6:\"append\";s:7:\"library\";s:3:\"all\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:9:\"min_width\";s:0:\"\";s:10:\"min_height\";s:0:\"\";s:8:\"min_size\";s:0:\"\";s:9:\"max_width\";s:0:\"\";s:10:\"max_height\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'Gallery Field', 'gallery_field', 'publish', 'closed', 'closed', '', 'field_5f47ea4a644ba', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7668', 9, 'acf-field', '', 0), +(7670, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:16:{s:4:\"type\";s:5:\"image\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:12:\"preview_size\";s:6:\"medium\";s:7:\"library\";s:3:\"all\";s:9:\"min_width\";s:0:\"\";s:10:\"min_height\";s:0:\"\";s:8:\"min_size\";s:0:\"\";s:9:\"max_width\";s:0:\"\";s:10:\"max_height\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'Image Field', 'image_field', 'publish', 'closed', 'closed', '', 'field_5f47ea53644bb', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7670', 10, 'acf-field', '', 0), +(7672, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:8:{s:4:\"type\";s:6:\"oembed\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:5:\"width\";s:0:\"\";s:6:\"height\";s:0:\"\";}', 'oEmbed Field', 'oembed_field', 'publish', 'closed', 'closed', '', 'field_5f47ea5b644bc', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7672', 11, 'acf-field', '', 0), +(7674, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:11:{s:4:\"type\";s:7:\"wysiwyg\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:4:\"tabs\";s:3:\"all\";s:7:\"toolbar\";s:4:\"full\";s:12:\"media_upload\";i:1;s:5:\"delay\";i:0;}', 'Wysiwyg Editor Field', 'wysiwyg_editor_field', 'publish', 'closed', 'closed', '', 'field_5f47ea64644bd', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7674', 12, 'acf-field', '', 0), +(7676, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:7:{s:4:\"type\";s:12:\"color_picker\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";}', 'Color Picker Field', 'color_picker_field', 'publish', 'closed', 'closed', '', 'field_5f47ea75644be', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7676', 13, 'acf-field', '', 0), +(7678, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:9:{s:4:\"type\";s:11:\"date_picker\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:14:\"display_format\";s:5:\"d/m/Y\";s:13:\"return_format\";s:5:\"d/m/Y\";s:9:\"first_day\";i:1;}', 'Date Picker Field', 'date_picker_field', 'publish', 'closed', 'closed', '', 'field_5f47ea7f644bf', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7678', 14, 'acf-field', '', 0), +(7680, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:9:{s:4:\"type\";s:16:\"date_time_picker\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:14:\"display_format\";s:11:\"d/m/Y g:i a\";s:13:\"return_format\";s:11:\"d/m/Y g:i a\";s:9:\"first_day\";i:1;}', 'Date Time Picker Field', 'date_time_picker_field', 'publish', 'closed', 'closed', '', 'field_5f47ea8b644c0', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7680', 15, 'acf-field', '', 0), +(7682, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:10:{s:4:\"type\";s:10:\"google_map\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:10:\"center_lat\";s:0:\"\";s:10:\"center_lng\";s:0:\"\";s:4:\"zoom\";s:0:\"\";s:6:\"height\";s:0:\"\";}', 'Google Map Field', 'google_map_field', 'publish', 'closed', 'closed', '', 'field_5f47ea9d644c1', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7682', 16, 'acf-field', '', 0), +(7684, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:8:{s:4:\"type\";s:11:\"time_picker\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:14:\"display_format\";s:5:\"g:i a\";s:13:\"return_format\";s:5:\"g:i a\";}', 'Time Picker', 'time_picker', 'publish', 'closed', 'closed', '', 'field_5f47eaa7644c2', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7684', 17, 'acf-field', '', 0), +(7686, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:10:{s:4:\"type\";s:16:\"flexible_content\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:7:\"layouts\";a:1:{s:20:\"layout_5f47eae56d672\";a:6:{s:3:\"key\";s:20:\"layout_5f47eae56d672\";s:5:\"label\";s:13:\"flex layout 1\";s:4:\"name\";s:13:\"flex_layout_1\";s:7:\"display\";s:5:\"block\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";}}s:12:\"button_label\";s:7:\"Add Row\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";}', 'Flexible Content Field', 'flexible_content_field', 'publish', 'closed', 'closed', '', 'field_5f47eadf644c4', '', '', '2020-08-27 22:08:35', '2020-08-27 22:08:35', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7686', 18, 'acf-field', '', 0), +(7688, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:8:{s:4:\"type\";s:5:\"group\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:6:\"layout\";s:5:\"block\";s:10:\"sub_fields\";a:0:{}}', 'Group Field', 'group_field', 'publish', 'closed', 'closed', '', 'field_5f47eae9644c5', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7688', 19, 'acf-field', '', 0), +(7690, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:11:{s:4:\"type\";s:8:\"repeater\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:9:\"collapsed\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:6:\"layout\";s:5:\"table\";s:12:\"button_label\";s:0:\"\";}', 'Repeater Field', 'repeater_field', 'publish', 'closed', 'closed', '', 'field_5f47eaf8644c6', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7690', 20, 'acf-field', '', 0), +(7692, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:10:{s:4:\"type\";s:5:\"clone\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:5:\"clone\";a:1:{i:0;s:19:\"field_5f47eaf8644c6\";}s:7:\"display\";s:5:\"group\";s:6:\"layout\";s:5:\"block\";s:12:\"prefix_label\";i:0;s:11:\"prefix_name\";i:0;}', 'Clone Field', 'clone_field', 'publish', 'closed', 'closed', '', 'field_5f47eb4b644c8', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7692', 21, 'acf-field', '', 0), +(7694, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:7:{s:4:\"type\";s:4:\"link\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";}', 'Link Field', 'link_field', 'publish', 'closed', 'closed', '', 'field_5f47eb54644c9', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7694', 22, 'acf-field', '', 0), +(7696, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:11:{s:4:\"type\";s:9:\"page_link\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:9:\"post_type\";s:0:\"\";s:8:\"taxonomy\";s:0:\"\";s:10:\"allow_null\";i:0;s:14:\"allow_archives\";i:1;s:8:\"multiple\";i:0;}', 'Page Link Field', 'page_link_field', 'publish', 'closed', 'closed', '', 'field_5f47eb5e644ca', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7696', 23, 'acf-field', '', 0), +(7698, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:12:{s:4:\"type\";s:11:\"post_object\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:9:\"post_type\";s:0:\"\";s:8:\"taxonomy\";s:0:\"\";s:10:\"allow_null\";i:0;s:8:\"multiple\";i:0;s:13:\"return_format\";s:6:\"object\";s:2:\"ui\";i:1;}', 'Post Object Field', 'post_object_field', 'publish', 'closed', 'closed', '', 'field_5f47eb69644cb', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7698', 24, 'acf-field', '', 0), +(7700, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:13:{s:4:\"type\";s:12:\"relationship\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:9:\"post_type\";s:0:\"\";s:8:\"taxonomy\";s:0:\"\";s:7:\"filters\";a:3:{i:0;s:6:\"search\";i:1;s:9:\"post_type\";i:2;s:8:\"taxonomy\";}s:8:\"elements\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:13:\"return_format\";s:6:\"object\";}', 'Relationship Field', 'relationship_field', 'publish', 'closed', 'closed', '', 'field_5f47eb74644cc', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7700', 25, 'acf-field', '', 0), +(7702, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:14:{s:4:\"type\";s:8:\"taxonomy\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:8:\"taxonomy\";s:8:\"category\";s:10:\"field_type\";s:8:\"checkbox\";s:8:\"add_term\";i:1;s:10:\"save_terms\";i:0;s:10:\"load_terms\";i:0;s:13:\"return_format\";s:2:\"id\";s:8:\"multiple\";i:0;s:10:\"allow_null\";i:0;}', 'Taxonomy Field', 'taxonomy_field', 'publish', 'closed', 'closed', '', 'field_5f47edce644cd', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7702', 26, 'acf-field', '', 0), +(7704, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:10:{s:4:\"type\";s:4:\"user\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:4:\"role\";s:0:\"\";s:10:\"allow_null\";i:0;s:8:\"multiple\";i:0;s:13:\"return_format\";s:5:\"array\";}', 'User Field', 'user_field', 'publish', 'closed', 'closed', '', 'field_5f47eddc644ce', '', '', '2020-08-27 17:31:37', '2020-08-27 17:31:37', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7704', 27, 'acf-field', '', 0), +(7706, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:9:{s:4:\"type\";s:9:\"accordion\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:4:\"open\";i:0;s:12:\"multi_expand\";i:0;s:8:\"endpoint\";i:0;}', 'Accordion', 'accordion', 'publish', 'closed', 'closed', '', 'field_5f47eab6644c3', '', '', '2020-10-02 19:30:07', '2020-10-02 19:30:07', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7706', 32, 'acf-field', '', 0), +(7708, 1, '2020-08-27 17:31:37', '2020-08-27 17:31:37', 'a:8:{s:4:\"type\";s:3:\"tab\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:9:\"placement\";s:3:\"top\";s:8:\"endpoint\";i:0;}', 'Tab Field', 'tab_field', 'publish', 'closed', 'closed', '', 'field_5f47eb36644c7', '', '', '2020-10-02 19:30:07', '2020-10-02 19:30:07', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7708', 33, 'acf-field', '', 0), +(7740, 1, '2020-08-27 18:23:58', '2020-08-27 18:23:58', '', 'file-sample_1MB', '', 'inherit', 'open', 'closed', '', 'file-sample_1mb', '', '', '2020-08-27 18:23:58', '2020-08-27 18:23:58', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/file-sample_1MB.doc', 0, 'attachment', 'application/msword', 0), +(7744, 1, '2020-08-27 18:29:21', '2020-08-27 18:29:21', '', '101-2621x1747', '', 'inherit', 'open', 'closed', '', '101-2621x1747', '', '', '2020-08-27 18:29:21', '2020-08-27 18:29:21', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/101-2621x1747-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(7748, 1, '2020-08-27 18:29:27', '2020-08-27 18:29:27', '', '1002-4312x2868', '', 'inherit', 'open', 'closed', '', '1002-4312x2868', '', '', '2020-08-27 18:29:27', '2020-08-27 18:29:27', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/1002-4312x2868-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(7752, 1, '2020-08-27 18:29:33', '2020-08-27 18:29:33', '', '1003-1181x1772', '', 'inherit', 'open', 'closed', '', '1003-1181x1772', '', '', '2020-08-27 18:29:33', '2020-08-27 18:29:33', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/1003-1181x1772-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(7756, 1, '2020-08-27 18:29:35', '2020-08-27 18:29:35', '', '1001-5616x3744', '', 'inherit', 'open', 'closed', '', '1001-5616x3744', '', '', '2020-08-27 18:29:35', '2020-08-27 18:29:35', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/1001-5616x3744-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(7760, 1, '2020-08-27 18:29:44', '2020-08-27 18:29:44', '', '10-2500x1667', '', 'inherit', 'open', 'closed', '', '10-2500x1667', '', '', '2020-08-27 18:29:44', '2020-08-27 18:29:44', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/10-2500x1667-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(7764, 1, '2020-08-27 18:30:33', '2020-08-27 18:30:33', '', '1004-5616x3744', '', 'inherit', 'open', 'closed', '', '1004-5616x3744', '', '', '2020-08-27 18:30:33', '2020-08-27 18:30:33', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/1004-5616x3744-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(7772, 1, '2020-08-27 18:34:17', '2020-08-27 18:34:17', '', '1008-5616x3744', '', 'inherit', 'open', 'closed', '', '1008-5616x3744', '', '', '2020-08-27 18:34:17', '2020-08-27 18:34:17', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/08/1008-5616x3744-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(7800, 1, '2020-08-27 21:55:44', '2020-08-27 21:55:44', 'a:12:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"parent_layout\";s:20:\"layout_5f47eae56d672\";s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";}', 'flex title', 'flex_title', 'publish', 'closed', 'closed', '', 'field_5f482998401a3', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 7686, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7800', 0, 'acf-field', '', 0), +(7803, 1, '2020-08-27 21:55:44', '2020-08-27 21:55:44', 'a:17:{s:4:\"type\";s:5:\"image\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"parent_layout\";s:20:\"layout_5f47eae56d672\";s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:12:\"preview_size\";s:6:\"medium\";s:7:\"library\";s:3:\"all\";s:9:\"min_width\";s:0:\"\";s:10:\"min_height\";s:0:\"\";s:8:\"min_size\";s:0:\"\";s:9:\"max_width\";s:0:\"\";s:10:\"max_height\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'flex image', 'flex_image', 'publish', 'closed', 'closed', '', 'field_5f48299d401a4', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 7686, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7803', 1, 'acf-field', '', 0), +(7805, 1, '2020-08-27 21:55:44', '2020-08-27 21:55:44', 'a:12:{s:4:\"type\";s:8:\"repeater\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"parent_layout\";s:20:\"layout_5f47eae56d672\";s:15:\"show_in_graphql\";i:1;s:9:\"collapsed\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:6:\"layout\";s:5:\"table\";s:12:\"button_label\";s:0:\"\";}', 'flex repeater', 'flex_repeater', 'publish', 'closed', 'closed', '', 'field_5f4829a6401a5', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 7686, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7805', 2, 'acf-field', '', 0), +(7807, 1, '2020-08-27 21:55:44', '2020-08-27 21:55:44', 'a:11:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";}', 'flex repeater title', 'flex_repeater_title', 'publish', 'closed', 'closed', '', 'field_5f4829b1401a6', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 7805, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7807', 0, 'acf-field', '', 0), +(7809, 1, '2020-08-27 21:55:44', '2020-08-27 21:55:44', 'a:13:{s:4:\"type\";s:12:\"relationship\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:9:\"post_type\";s:0:\"\";s:8:\"taxonomy\";s:0:\"\";s:7:\"filters\";a:3:{i:0;s:6:\"search\";i:1;s:9:\"post_type\";i:2;s:8:\"taxonomy\";}s:8:\"elements\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:13:\"return_format\";s:6:\"object\";}', 'flex repeater relationship', 'flex_repeater_relationship', 'publish', 'closed', 'closed', '', 'field_5f4829c7401a7', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 7805, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7809', 1, 'acf-field', '', 0), +(7811, 1, '2020-08-27 21:55:44', '2020-08-27 21:55:44', 'a:14:{s:4:\"type\";s:12:\"relationship\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"parent_layout\";s:20:\"layout_5f47eae56d672\";s:15:\"show_in_graphql\";i:1;s:9:\"post_type\";s:0:\"\";s:8:\"taxonomy\";s:0:\"\";s:7:\"filters\";a:3:{i:0;s:6:\"search\";i:1;s:9:\"post_type\";i:2;s:8:\"taxonomy\";}s:8:\"elements\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:13:\"return_format\";s:6:\"object\";}', 'flex relationship', 'flex_relationship', 'publish', 'closed', 'closed', '', 'field_5f4829dc401a8', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 7686, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7811', 3, 'acf-field', '', 0), +(7813, 1, '2020-08-27 21:55:44', '2020-08-27 21:55:44', 'a:10:{s:4:\"type\";s:16:\"flexible_content\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:7:\"layouts\";a:2:{s:20:\"layout_5f4829f48a2ed\";a:6:{s:3:\"key\";s:20:\"layout_5f4829f48a2ed\";s:5:\"label\";s:26:\"repeater flex title layout\";s:4:\"name\";s:26:\"repeater_flex_title_layout\";s:7:\"display\";s:5:\"block\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";}s:20:\"layout_5f482a17401ab\";a:6:{s:3:\"key\";s:20:\"layout_5f482a17401ab\";s:5:\"label\";s:33:\"Repeater flex relationship layout\";s:4:\"name\";s:33:\"repeater_flex_relationship_layout\";s:7:\"display\";s:5:\"block\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";}}s:12:\"button_label\";s:7:\"Add Row\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";}', 'repeater flex', 'repeater_flex', 'publish', 'closed', 'closed', '', 'field_5f4829ed401a9', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 7690, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7813', 0, 'acf-field', '', 0), +(7816, 1, '2020-08-27 21:55:44', '2020-08-27 21:55:44', 'a:12:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"parent_layout\";s:20:\"layout_5f4829f48a2ed\";s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";}', 'repeater flex title', 'repeater_flex_title', 'publish', 'closed', 'closed', '', 'field_5f482a05401aa', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 7813, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7816', 0, 'acf-field', '', 0), +(7818, 1, '2020-08-27 21:55:44', '2020-08-27 21:55:44', 'a:14:{s:4:\"type\";s:12:\"relationship\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:13:\"parent_layout\";s:20:\"layout_5f482a17401ab\";s:15:\"show_in_graphql\";i:1;s:9:\"post_type\";s:0:\"\";s:8:\"taxonomy\";s:0:\"\";s:7:\"filters\";a:3:{i:0;s:6:\"search\";i:1;s:9:\"post_type\";i:2;s:8:\"taxonomy\";}s:8:\"elements\";s:0:\"\";s:3:\"min\";s:0:\"\";s:3:\"max\";s:0:\"\";s:13:\"return_format\";s:6:\"object\";}', 'Repeater flex relationship', 'repeater_flex_relationship', 'publish', 'closed', 'closed', '', 'field_5f482a24401ac', '', '', '2020-08-27 21:55:44', '2020-08-27 21:55:44', '', 7813, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=7818', 0, 'acf-field', '', 0), +(7868, 1, '2020-08-27 23:36:34', '2020-08-27 23:36:34', '\n

    some content

    \n', 'Yoast SEO', '', 'publish', 'closed', 'closed', '', 'beautiful_slug', '', '', '2020-08-27 23:36:34', '2020-08-27 23:36:34', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=7868', 0, 'page', '', 0), +(7956, 1, '2020-09-17 15:26:07', '2020-09-17 15:26:07', '', 'Gutenberg Test', '', 'trash', 'closed', 'closed', '', '__trashed', '', '', '2020-09-17 15:26:07', '2020-09-17 15:26:07', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=7956', 0, 'page', '', 0), +(7961, 1, '2020-09-16 23:29:31', '2020-09-16 23:29:31', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', '97d51471f7360f20742f81dd9a3904ef', '', '', '2020-09-16 23:29:31', '2020-09-16 23:29:31', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/97d51471f7360f20742f81dd9a3904ef/', 0, 'oembed_cache', '', 0), +(7981, 1, '2018-10-23 10:35:07', '2018-10-23 20:35:07', '', 'daniel-leone-197357-unsplash', '', 'inherit', 'open', 'closed', '', 'daniel-leone-197357-unsplash', '', '', '2018-10-23 10:35:07', '2018-10-23 20:35:07', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/daniel-leone-197357-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(7985, 1, '2018-10-23 10:35:08', '2018-10-23 20:35:08', '', 'daniel-olah-495967-unsplash', '', 'inherit', 'open', 'closed', '', 'daniel-olah-495967-unsplash', '', '', '2018-10-23 10:35:08', '2018-10-23 20:35:08', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2018/10/daniel-olah-495967-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(8008, 1, '2020-09-16 23:30:38', '2020-09-16 23:30:38', '
    My dream car. Pagani Zonda
    ', '', '', 'publish', 'closed', 'closed', '', '24f34eb93912978bac579c87fb591102', '', '', '2020-09-16 23:30:38', '2020-09-16 23:30:38', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/24f34eb93912978bac579c87fb591102/', 0, 'oembed_cache', '', 0), +(8010, 1, '2020-09-16 23:30:38', '2020-09-16 23:30:38', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', 'f6abb0e0c18de769108bddf99ab66f35', '', '', '2020-09-16 23:30:38', '2020-09-16 23:30:38', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/f6abb0e0c18de769108bddf99ab66f35/', 0, 'oembed_cache', '', 0), +(8012, 1, '2020-09-16 23:30:39', '2020-09-16 23:30:39', 'Tweets by wordpressdotcom', '', '', 'publish', 'closed', 'closed', '', 'c0adb69381ea2dc75081f49420641f6a', '', '', '2020-09-16 23:30:39', '2020-09-16 23:30:39', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/c0adb69381ea2dc75081f49420641f6a/', 0, 'oembed_cache', '', 0), +(8014, 1, '2020-09-16 23:30:39', '2020-09-16 23:30:39', '', '', '', 'publish', 'closed', 'closed', '', 'f978386b1cda1bf7b1f8918e2b996815', '', '', '2020-09-16 23:30:39', '2020-09-16 23:30:39', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/f978386b1cda1bf7b1f8918e2b996815/', 0, 'oembed_cache', '', 0), +(8016, 1, '2020-09-16 23:30:40', '2020-09-16 23:30:40', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', 'a06fa1c80c1b4df7b3d05cbf4d798037', '', '', '2020-09-16 23:30:40', '2020-09-16 23:30:40', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/a06fa1c80c1b4df7b3d05cbf4d798037/', 0, 'oembed_cache', '', 0), +(8018, 1, '2020-09-16 23:30:40', '2020-09-16 23:30:40', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', '9dab016ba3dc6bedb3135111b973d088', '', '', '2020-09-16 23:30:40', '2020-09-16 23:30:40', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/9dab016ba3dc6bedb3135111b973d088/', 0, 'oembed_cache', '', 0), +(8020, 1, '2020-09-16 23:30:41', '2020-09-16 23:30:41', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', '88f6fbeebc867fc4e045e50c5891986f', '', '', '2020-09-16 23:30:41', '2020-09-16 23:30:41', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/88f6fbeebc867fc4e045e50c5891986f/', 0, 'oembed_cache', '', 0), +(8022, 1, '2020-09-16 23:30:41', '2020-09-16 23:30:41', '', '', '', 'publish', 'closed', 'closed', '', 'e88b08fb1989a33bdcd6381971a7fd96', '', '', '2020-09-16 23:30:41', '2020-09-16 23:30:41', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/e88b08fb1989a33bdcd6381971a7fd96/', 0, 'oembed_cache', '', 0), +(8024, 1, '2020-09-16 23:30:41', '2020-09-16 23:30:41', '', '', '', 'publish', 'closed', 'closed', '', '2689431d391b550d5e1ea5c308fab281', '', '', '2020-09-16 23:30:41', '2020-09-16 23:30:41', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/2689431d391b550d5e1ea5c308fab281/', 0, 'oembed_cache', '', 0), +(8026, 1, '2020-09-16 23:30:41', '2020-09-16 23:30:41', '\"star\"', '', '', 'publish', 'closed', 'closed', '', '93e4fb35ab2d8dcb607a948f5e9a0274', '', '', '2020-09-16 23:30:41', '2020-09-16 23:30:41', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/93e4fb35ab2d8dcb607a948f5e9a0274/', 0, 'oembed_cache', '', 0), +(8028, 1, '2020-09-16 23:30:42', '2020-09-16 23:30:42', '', '', '', 'publish', 'closed', 'closed', '', '8413e2f5a1ec2d352aa22e8807b649df', '', '', '2020-09-16 23:30:42', '2020-09-16 23:30:42', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/16/8413e2f5a1ec2d352aa22e8807b649df/', 0, 'oembed_cache', '', 0), +(8416, 1, '2020-09-17 21:13:24', '2020-09-17 21:13:24', '\n

    Imgur Embed

    \n\n\n\n
    \nhttps://i.imgur.com/nlG3C7A.jpg\n
    \n\n\n\n

    Embed Embed

    \n\n\n\n
    \nhttps://google.com\n
    \n\n\n\n

    Twitter Embed

    \n\n\n\n
    \nhttps://twitter.com/wordpressdotcom\n
    \n\n\n\n

    YouTube Embed

    \n\n\n\n
    \nhttps://www.youtube.com/watch?v=xifhQyopjZM\n
    \n\n\n\n

    Facebook Embed

    \n\n\n\n
    \nhttps://www.facebook.com/WordPresscom/\n
    \n\n\n\n

    Instagram Embed

    \n\n\n\n
    \nhttps://www.instagram.com/rei/\n
    \n\n\n\n

    WordPress Embed

    \n\n\n\n
    \nhttps://automattic.design/\n
    \n\n\n\n

    Soundcloud Embed

    \n\n\n\n
    \nhttps://soundcloud.com/monstercat/rameses-b-something-real\n
    \n\n\n\n

    Spotify Embed

    \n\n\n\n
    \nhttps://open.spotify.com/album/3qg7pFyj6gbNVDtbi9aZHY\n
    \n\n\n\n

    Flickr Embed

    \n\n\n\n
    \nhttps://www.flickr.com/photos/tom_hall_nz/17004434418/in/gallery-134864050@N04-72157656707819872/\n
    \n\n\n\n

    Vimeo Embed

    \n\n\n\n
    \nhttps://vimeo.com/22439234\n
    \n', 'Gutenberg: Embed Blocks', '', 'inherit', 'closed', 'closed', '', '116-autosave-v1', '', '', '2020-09-17 21:13:24', '2020-09-17 21:13:24', '', 116, 'https://devgatsbyint.wpengine.com/2020/09/17/116-autosave-v1/', 0, 'revision', '', 0), +(8418, 1, '2020-09-17 21:32:06', '2020-09-17 21:32:06', '\n

    Archives Widget

    \n\n\n\n\n\n

    Categories

    \n\n\n\n\n\n

    Latest Posts

    \n\n\n\n\n\n

    Latest Comments

    \n\n\n\n\n\n

    YouTube Shortcode

    \n\n\n\n[youtube https://www.youtube.com/watch?v=ssfHW5lwFZg]\n\n\n\n

    \n', 'Gutenberg: Widget Blocks', '', 'inherit', 'closed', 'closed', '', '90-autosave-v1', '', '', '2020-09-17 21:32:06', '2020-09-17 21:32:06', '', 90, 'https://devgatsbyint.wpengine.com/2020/09/17/90-autosave-v1/', 0, 'revision', '', 0), +(8449, 1, '2020-09-19 00:08:55', '2020-09-19 00:08:55', '', 'woocommerce-placeholder', '', 'inherit', 'open', 'closed', '', 'woocommerce-placeholder', '', '', '2020-09-19 00:08:55', '2020-09-19 00:08:55', '', 0, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/woocommerce-placeholder.png', 0, 'attachment', 'image/png', 0), +(8454, 1, '2020-09-19 00:09:31', '2020-09-19 00:09:31', '', 'Shop', '', 'publish', 'closed', 'closed', '', 'shop', '', '', '2020-09-19 00:09:31', '2020-09-19 00:09:31', '', 0, 'https://devgatsbyint.wpengine.com/shop/', 0, 'page', '', 0), +(8457, 1, '2020-09-19 00:09:31', '2020-09-19 00:09:31', '[woocommerce_cart]', 'Cart', '', 'publish', 'closed', 'closed', '', 'cart', '', '', '2020-09-19 00:09:31', '2020-09-19 00:09:31', '', 0, 'https://devgatsbyint.wpengine.com/cart/', 0, 'page', '', 0), +(8460, 1, '2020-09-19 00:09:32', '2020-09-19 00:09:32', '[woocommerce_checkout]', 'Checkout', '', 'publish', 'closed', 'closed', '', 'checkout', '', '', '2020-09-19 00:09:32', '2020-09-19 00:09:32', '', 0, 'https://devgatsbyint.wpengine.com/checkout/', 0, 'page', '', 0), +(8463, 1, '2020-09-19 00:09:32', '2020-09-19 00:09:32', '[woocommerce_my_account]', 'My account', '', 'publish', 'closed', 'closed', '', 'my-account', '', '', '2020-09-19 00:09:32', '2020-09-19 00:09:32', '', 0, 'https://devgatsbyint.wpengine.com/my-account/', 0, 'page', '', 0), +(8473, 1, '2020-09-19 00:11:56', '2020-09-19 00:11:56', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', 'ca0827aec775bf22417a51fce2355de1', '', '', '2020-09-19 00:11:56', '2020-09-19 00:11:56', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/19/ca0827aec775bf22417a51fce2355de1/', 0, 'oembed_cache', '', 0), +(8475, 1, '2020-09-19 00:12:05', '2020-09-19 00:12:05', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'V-Neck T-Shirt', 'This is a variable product.', 'publish', 'open', 'closed', '', 'v-neck-t-shirt', '', '', '2020-09-19 00:12:28', '2020-09-19 00:12:28', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-44/', 0, 'product', '', 0), +(8477, 1, '2020-09-19 00:12:05', '2020-09-19 00:12:05', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Hoodie', 'This is a variable product.', 'publish', 'open', 'closed', '', 'hoodie', '', '', '2020-09-19 00:12:29', '2020-09-19 00:12:29', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-45/', 0, 'product', '', 0), +(8479, 1, '2020-09-19 00:12:05', '2020-09-19 00:12:05', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Hoodie with Logo', 'This is a simple product.', 'publish', 'open', 'closed', '', 'hoodie-with-logo', '', '', '2020-09-19 00:12:15', '2020-09-19 00:12:15', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-46/', 0, 'product', '', 0), +(8481, 1, '2020-09-19 00:12:05', '2020-09-19 00:12:05', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'T-Shirt', 'This is a simple product.', 'publish', 'open', 'closed', '', 't-shirt', '', '', '2020-09-19 00:12:16', '2020-09-19 00:12:16', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-47/', 0, 'product', '', 0), +(8483, 1, '2020-09-19 00:12:06', '2020-09-19 00:12:06', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Beanie', 'This is a simple product.', 'publish', 'open', 'closed', '', 'beanie', '', '', '2020-09-19 00:12:16', '2020-09-19 00:12:16', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-48/', 0, 'product', '', 0), +(8485, 1, '2020-09-19 00:12:06', '2020-09-19 00:12:06', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Belt', 'This is a simple product.', 'publish', 'open', 'closed', '', 'belt', '', '', '2020-09-19 00:12:17', '2020-09-19 00:12:17', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-58/', 0, 'product', '', 0), +(8487, 1, '2020-09-19 00:12:06', '2020-09-19 00:12:06', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Cap', 'This is a simple product.', 'publish', 'open', 'closed', '', 'cap', '', '', '2020-09-19 00:12:18', '2020-09-19 00:12:18', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-60/', 0, 'product', '', 0), +(8489, 1, '2020-09-19 00:12:06', '2020-09-19 00:12:06', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Sunglasses', 'This is a simple product.', 'publish', 'open', 'closed', '', 'sunglasses', '', '', '2020-09-19 00:12:19', '2020-09-19 00:12:19', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-62/', 0, 'product', '', 0), +(8491, 1, '2020-09-19 00:12:06', '2020-09-19 00:12:06', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Hoodie with Pocket', 'This is a simple product.', 'publish', 'open', 'closed', '', 'hoodie-with-pocket', '', '', '2020-09-19 00:12:20', '2020-09-19 00:12:20', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-64/', 0, 'product', '', 0), +(8493, 1, '2020-09-19 00:12:06', '2020-09-19 00:12:06', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Hoodie with Zipper', 'This is a simple product.', 'publish', 'open', 'closed', '', 'hoodie-with-zipper', '', '', '2020-09-19 00:12:21', '2020-09-19 00:12:21', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-66/', 0, 'product', '', 0), +(8495, 1, '2020-09-19 00:12:06', '2020-09-19 00:12:06', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Long Sleeve Tee', 'This is a simple product.', 'publish', 'open', 'closed', '', 'long-sleeve-tee', '', '', '2020-09-19 00:12:22', '2020-09-19 00:12:22', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-68/', 0, 'product', '', 0), +(8497, 1, '2020-09-19 00:12:06', '2020-09-19 00:12:06', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Polo', 'This is a simple product.', 'publish', 'open', 'closed', '', 'polo', '', '', '2020-09-19 00:12:22', '2020-09-19 00:12:22', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-70/', 0, 'product', '', 0), +(8499, 1, '2020-09-19 00:12:07', '2020-09-19 00:12:07', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.', 'Album', 'This is a simple, virtual product.', 'publish', 'open', 'closed', '', 'album', '', '', '2020-09-19 00:12:23', '2020-09-19 00:12:23', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-73/', 0, 'product', '', 0), +(8501, 1, '2020-09-19 00:12:07', '2020-09-19 00:12:07', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sagittis orci ac odio dictum tincidunt. Donec ut metus leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed luctus, dui eu sagittis sodales, nulla nibh sagittis augue, vel porttitor diam enim non metus. Vestibulum aliquam augue neque. Phasellus tincidunt odio eget ullamcorper efficitur. Cras placerat ut turpis pellentesque vulputate. Nam sed consequat tortor. Curabitur finibus sapien dolor. Ut eleifend tellus nec erat pulvinar dignissim. Nam non arcu purus. Vivamus et massa massa.', 'Single', 'This is a simple, virtual product.', 'publish', 'open', 'closed', '', 'single', '', '', '2020-09-19 00:12:24', '2020-09-19 00:12:24', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-75/', 0, 'product', '', 0), +(8503, 1, '2020-09-19 00:12:07', '2020-09-19 00:12:07', '', 'V-Neck T-Shirt - Red', 'Color: Red', 'publish', 'closed', 'closed', '', 'v-neck-t-shirt-red', '', '', '2020-09-19 00:12:24', '2020-09-19 00:12:24', '', 8475, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-76/', 0, 'product_variation', '', 0), +(8505, 1, '2020-09-19 00:12:07', '2020-09-19 00:12:07', '', 'V-Neck T-Shirt - Green', 'Color: Green', 'publish', 'closed', 'closed', '', 'v-neck-t-shirt-green', '', '', '2020-09-19 00:12:24', '2020-09-19 00:12:24', '', 8475, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-77/', 0, 'product_variation', '', 0), +(8507, 1, '2020-09-19 00:12:07', '2020-09-19 00:12:07', '', 'V-Neck T-Shirt - Blue', 'Color: Blue', 'publish', 'closed', 'closed', '', 'v-neck-t-shirt-blue', '', '', '2020-09-19 00:12:25', '2020-09-19 00:12:25', '', 8475, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-78/', 0, 'product_variation', '', 0), +(8509, 1, '2020-09-19 00:12:07', '2020-09-19 00:12:07', '', 'Hoodie - Red, No', 'Color: Red, Logo: No', 'publish', 'closed', 'closed', '', 'hoodie-red-no', '', '', '2020-09-19 00:12:25', '2020-09-19 00:12:25', '', 8477, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-79/', 1, 'product_variation', '', 0), +(8511, 1, '2020-09-19 00:12:07', '2020-09-19 00:12:07', '', 'Hoodie - Green, No', 'Color: Green, Logo: No', 'publish', 'closed', 'closed', '', 'hoodie-green-no', '', '', '2020-09-19 00:12:25', '2020-09-19 00:12:25', '', 8477, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-80/', 2, 'product_variation', '', 0); +INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES +(8513, 1, '2020-09-19 00:12:07', '2020-09-19 00:12:07', '', 'Hoodie - Blue, No', 'Color: Blue, Logo: No', 'publish', 'closed', 'closed', '', 'hoodie-blue-no', '', '', '2020-09-19 00:12:25', '2020-09-19 00:12:25', '', 8477, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-81/', 3, 'product_variation', '', 0), +(8515, 1, '2020-09-19 00:12:08', '2020-09-19 00:12:08', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'T-Shirt with Logo', 'This is a simple product.', 'publish', 'open', 'closed', '', 't-shirt-with-logo', '', '', '2020-09-19 00:12:26', '2020-09-19 00:12:26', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-83/', 0, 'product', '', 0), +(8517, 1, '2020-09-19 00:12:08', '2020-09-19 00:12:08', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Beanie with Logo', 'This is a simple product.', 'publish', 'open', 'closed', '', 'beanie-with-logo', '', '', '2020-09-19 00:12:26', '2020-09-19 00:12:26', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-85/', 0, 'product', '', 0), +(8519, 1, '2020-09-19 00:12:08', '2020-09-19 00:12:08', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'Logo Collection', 'This is a grouped product.', 'publish', 'open', 'closed', '', 'logo-collection', '', '', '2020-09-19 00:12:27', '2020-09-19 00:12:27', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-87/', 0, 'product', '', 0), +(8521, 1, '2020-09-19 00:12:08', '2020-09-19 00:12:08', 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.', 'WordPress Pennant', 'This is an external product.', 'publish', 'open', 'closed', '', 'wordpress-pennant', '', '', '2020-09-19 03:40:28', '2020-09-19 03:40:28', '', 0, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-89/', 0, 'product', '', 0), +(8523, 1, '2020-09-19 00:12:08', '2020-09-19 00:12:08', '', 'Hoodie - Blue, Yes', 'Color: Blue, Logo: Yes', 'publish', 'closed', 'closed', '', 'hoodie-blue-yes', '', '', '2020-09-19 00:12:29', '2020-09-19 00:12:29', '', 8477, 'https://devgatsbyint.wpengine.com/product/import-placeholder-for-90/', 0, 'product_variation', '', 0), +(8525, 1, '2020-09-19 00:12:09', '2020-09-19 00:12:09', '', 'vneck-tee-2.jpg', '', 'inherit', 'open', 'closed', '', 'vneck-tee-2-jpg', '', '', '2020-09-19 00:12:09', '2020-09-19 00:12:09', '', 8475, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/vneck-tee-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8529, 1, '2020-09-19 00:12:10', '2020-09-19 00:12:10', '', 'vnech-tee-green-1.jpg', '', 'inherit', 'open', 'closed', '', 'vnech-tee-green-1-jpg', '', '', '2020-09-19 00:12:10', '2020-09-19 00:12:10', '', 8475, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/vnech-tee-green-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8533, 1, '2020-09-19 00:12:10', '2020-09-19 00:12:10', '', 'vnech-tee-blue-1.jpg', '', 'inherit', 'open', 'closed', '', 'vnech-tee-blue-1-jpg', '', '', '2020-09-19 00:12:10', '2020-09-19 00:12:10', '', 8475, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/vnech-tee-blue-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8537, 1, '2020-09-19 00:12:12', '2020-09-19 00:12:12', '', 'hoodie-2.jpg', '', 'inherit', 'open', 'closed', '', 'hoodie-2-jpg', '', '', '2020-09-19 00:12:12', '2020-09-19 00:12:12', '', 8477, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/hoodie-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8541, 1, '2020-09-19 00:12:12', '2020-09-19 00:12:12', '', 'hoodie-blue-1.jpg', '', 'inherit', 'open', 'closed', '', 'hoodie-blue-1-jpg', '', '', '2020-09-19 00:12:12', '2020-09-19 00:12:12', '', 8477, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/hoodie-blue-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8545, 1, '2020-09-19 00:12:13', '2020-09-19 00:12:13', '', 'hoodie-green-1.jpg', '', 'inherit', 'open', 'closed', '', 'hoodie-green-1-jpg', '', '', '2020-09-19 00:12:13', '2020-09-19 00:12:13', '', 8477, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/hoodie-green-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8549, 1, '2020-09-19 00:12:14', '2020-09-19 00:12:14', '', 'hoodie-with-logo-2.jpg', '', 'inherit', 'open', 'closed', '', 'hoodie-with-logo-2-jpg', '', '', '2020-09-19 00:12:14', '2020-09-19 00:12:14', '', 8477, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/hoodie-with-logo-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8553, 1, '2020-09-19 00:12:15', '2020-09-19 00:12:15', '', 'tshirt-2.jpg', '', 'inherit', 'open', 'closed', '', 'tshirt-2-jpg', '', '', '2020-09-19 00:12:15', '2020-09-19 00:12:15', '', 8481, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/tshirt-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8557, 1, '2020-09-19 00:12:16', '2020-09-19 00:12:16', '', 'beanie-2.jpg', '', 'inherit', 'open', 'closed', '', 'beanie-2-jpg', '', '', '2020-09-19 00:12:16', '2020-09-19 00:12:16', '', 8483, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/beanie-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8561, 1, '2020-09-19 00:12:17', '2020-09-19 00:12:17', '', 'belt-2.jpg', '', 'inherit', 'open', 'closed', '', 'belt-2-jpg', '', '', '2020-09-19 00:12:17', '2020-09-19 00:12:17', '', 8485, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/belt-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8565, 1, '2020-09-19 00:12:17', '2020-09-19 00:12:17', '', 'cap-2.jpg', '', 'inherit', 'open', 'closed', '', 'cap-2-jpg', '', '', '2020-09-19 00:12:17', '2020-09-19 00:12:17', '', 8487, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/cap-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8569, 1, '2020-09-19 00:12:18', '2020-09-19 00:12:18', '', 'sunglasses-2.jpg', '', 'inherit', 'open', 'closed', '', 'sunglasses-2-jpg', '', '', '2020-09-19 00:12:18', '2020-09-19 00:12:18', '', 8489, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/sunglasses-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8573, 1, '2020-09-19 00:12:19', '2020-09-19 00:12:19', '', 'hoodie-with-pocket-2.jpg', '', 'inherit', 'open', 'closed', '', 'hoodie-with-pocket-2-jpg', '', '', '2020-09-19 00:12:19', '2020-09-19 00:12:19', '', 8491, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/hoodie-with-pocket-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8577, 1, '2020-09-19 00:12:20', '2020-09-19 00:12:20', '', 'hoodie-with-zipper-2.jpg', '', 'inherit', 'open', 'closed', '', 'hoodie-with-zipper-2-jpg', '', '', '2020-09-19 00:12:20', '2020-09-19 00:12:20', '', 8493, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/hoodie-with-zipper-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8581, 1, '2020-09-19 00:12:21', '2020-09-19 00:12:21', '', 'long-sleeve-tee-2.jpg', '', 'inherit', 'open', 'closed', '', 'long-sleeve-tee-2-jpg', '', '', '2020-09-19 00:12:21', '2020-09-19 00:12:21', '', 8495, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/long-sleeve-tee-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8585, 1, '2020-09-19 00:12:22', '2020-09-19 00:12:22', '', 'polo-2.jpg', '', 'inherit', 'open', 'closed', '', 'polo-2-jpg', '', '', '2020-09-19 00:12:22', '2020-09-19 00:12:22', '', 8497, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/polo-2.jpg', 0, 'attachment', 'image/jpeg', 0), +(8589, 1, '2020-09-19 00:12:23', '2020-09-19 00:12:23', '', 'album-1.jpg', '', 'inherit', 'open', 'closed', '', 'album-1-jpg', '', '', '2020-09-19 00:12:23', '2020-09-19 00:12:23', '', 8499, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/album-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8593, 1, '2020-09-19 00:12:24', '2020-09-19 00:12:24', '', 'single-1.jpg', '', 'inherit', 'open', 'closed', '', 'single-1-jpg', '', '', '2020-09-19 00:12:24', '2020-09-19 00:12:24', '', 8501, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/single-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8597, 1, '2020-09-19 00:12:25', '2020-09-19 00:12:25', '', 't-shirt-with-logo-1.jpg', '', 'inherit', 'open', 'closed', '', 't-shirt-with-logo-1-jpg', '', '', '2020-09-19 00:12:25', '2020-09-19 00:12:25', '', 8515, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/t-shirt-with-logo-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8601, 1, '2020-09-19 00:12:26', '2020-09-19 00:12:26', '', 'beanie-with-logo-1.jpg', '', 'inherit', 'open', 'closed', '', 'beanie-with-logo-1-jpg', '', '', '2020-09-19 00:12:26', '2020-09-19 00:12:26', '', 8517, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/beanie-with-logo-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8605, 1, '2020-09-19 00:12:27', '2020-09-19 00:12:27', '', 'logo-1.jpg', '', 'inherit', 'open', 'closed', '', 'logo-1-jpg', '', '', '2020-09-19 00:12:27', '2020-09-19 00:12:27', '', 8519, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/logo-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8609, 1, '2020-09-19 00:12:28', '2020-09-19 00:12:28', '', 'pennant-1.jpg', '', 'inherit', 'open', 'closed', '', 'pennant-1-jpg', '', '', '2020-09-19 00:12:28', '2020-09-19 00:12:28', '', 8521, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/pennant-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(8644, 1, '2020-09-19 00:20:29', '2020-09-19 00:20:29', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', 'b8a04a8a90b07f7accf97caebc0dbb2c', '', '', '2020-09-19 00:20:29', '2020-09-19 00:20:29', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/19/b8a04a8a90b07f7accf97caebc0dbb2c/', 0, 'oembed_cache', '', 0), +(8964, 1, '2020-09-21 19:12:44', '2020-09-21 19:12:44', '\n
    \"\"
    \n\n\n\n
    \"\"
    \n', 'Inline gatsby-image Gutenberg test', '', 'publish', 'closed', 'closed', '', 'inline-gatsby-image-test', '', '', '2020-10-05 23:02:40', '2020-10-05 23:02:40', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=8964', 0, 'page', '', 0), +(9204, 1, '2020-09-22 23:55:21', '2020-09-22 23:55:21', '', 'windows-W1N58KDE8r0-unsplash (1)', '', 'inherit', 'open', 'closed', '', 'windows-w1n58kde8r0-unsplash-1', '', '', '2020-09-22 23:55:21', '2020-09-22 23:55:21', '', 0, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/windows-W1N58KDE8r0-unsplash-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(9208, 1, '2020-09-22 23:58:12', '2020-09-22 23:58:12', '\n
    \"\"
    \n', 'Edited inline html image test', '', 'publish', 'closed', 'closed', '', 'edited-inline-html-image-test', '', '', '2020-10-01 23:08:10', '2020-10-01 23:08:10', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=9208', 0, 'page', '', 0), +(9210, 1, '2020-09-22 23:56:39', '2020-09-22 23:56:39', '', 'windows-W1N58KDE8r0-unsplash', '', 'inherit', 'open', 'closed', '', 'windows-w1n58kde8r0-unsplash', '', '', '2020-09-22 23:56:39', '2020-09-22 23:56:39', '', 0, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/windows-W1N58KDE8r0-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(9219, 1, '2020-09-23 00:10:04', '2020-09-23 00:10:04', '\n
    \"\"
    \n', 'inline html image edited after this post was saved', '', 'publish', 'closed', 'closed', '', 'inline-html-image-edited-after-this-post-was-saved', '', '', '2020-09-23 00:10:05', '2020-09-23 00:10:05', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=9219', 0, 'page', '', 0), +(9361, 1, '2020-09-24 03:06:29', '2020-09-24 03:06:29', '', 'hierarchical category test', '', 'publish', 'open', 'open', '', 'hierarchical-category-test', '', '', '2020-09-24 03:06:29', '2020-09-24 03:06:29', '', 0, 'https://devgatsbyint.wpengine.com/?p=9361', 0, 'post', '', 0), +(9431, 1, '2020-09-24 22:17:30', '2020-09-24 22:17:30', '\n
    \"\"
    \n', 'image 1 full size', '', 'trash', 'closed', 'closed', '', 'image-1-full-size__trashed', '', '', '2020-09-24 22:33:24', '2020-09-24 22:33:24', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=9431', 0, 'page', '', 0), +(9437, 1, '2020-09-24 22:19:23', '2020-09-24 22:19:23', '\n
    \"\"
    \n', 'image 1 medium size', '', 'trash', 'closed', 'closed', '', 'image-1-medium-size__trashed', '', '', '2020-09-24 22:33:24', '2020-09-24 22:33:24', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=9437', 0, 'page', '', 0), +(9439, 1, '2020-09-24 22:18:43', '2020-09-24 22:18:43', '', 'karsten-winegeart-9FZ3wIqubzQ-unsplash', '', 'inherit', 'open', 'closed', '', 'karsten-winegeart-9fz3wiqubzq-unsplash', '', '', '2020-09-24 22:18:43', '2020-09-24 22:18:43', '', 0, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/karsten-winegeart-9FZ3wIqubzQ-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(9478, 1, '2020-09-24 22:48:02', '2020-09-24 22:48:02', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', 'beddf6e4ab6586dca05760a8869686ee', '', '', '2020-09-24 22:48:02', '2020-09-24 22:48:02', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/24/beddf6e4ab6586dca05760a8869686ee/', 0, 'oembed_cache', '', 0), +(9495, 1, '2020-09-24 23:00:17', '2020-09-24 23:00:17', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', '2c0585c137891181677b758aa42a1220', '', '', '2020-09-24 23:00:17', '2020-09-24 23:00:17', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/24/2c0585c137891181677b758aa42a1220/', 0, 'oembed_cache', '', 0), +(9502, 1, '2020-09-24 23:03:06', '2020-09-24 23:03:06', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', 'dc9157bc4ca3800fc93802718ec341b3', '', '', '2020-09-24 23:03:06', '2020-09-24 23:03:06', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/24/dc9157bc4ca3800fc93802718ec341b3/', 0, 'oembed_cache', '', 0), +(9514, 1, '2020-09-24 23:08:05', '2020-09-24 23:08:05', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', '71857b1db976b5b06f0819324203d8ba', '', '', '2020-09-24 23:08:05', '2020-09-24 23:08:05', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/24/71857b1db976b5b06f0819324203d8ba/', 0, 'oembed_cache', '', 0), +(9516, 1, '2020-09-24 23:09:22', '2020-09-24 23:09:22', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', 'b1018c53892bfd468da367046bf96869', '', '', '2020-09-24 23:09:22', '2020-09-24 23:09:22', '', 0, 'https://devgatsbyint.wpengine.com/2020/09/24/b1018c53892bfd468da367046bf96869/', 0, 'oembed_cache', '', 0), +(9620, 1, '2020-09-25 22:06:40', '2020-09-25 22:06:40', '\r\n
    \"\"
    \r\n', 'Image test 1', '', 'publish', 'closed', 'closed', '', 'image-test-1', '', '', '2020-09-25 22:45:59', '2020-09-25 22:45:59', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=9620', 0, 'page', '', 0), +(9634, 1, '2020-09-25 22:07:27', '2020-09-25 22:07:27', '\r\n
    \"\"
    \r\n', 'Image test 1 duplicate', '', 'publish', 'closed', 'closed', '', 'image-test-1-duplicate', '', '', '2020-09-25 22:43:13', '2020-09-25 22:43:13', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=9634', 0, 'page', '', 0), +(9646, 1, '2020-09-25 22:11:01', '2020-09-25 22:11:01', '\r\n
    \"\"
    \r\n', 'Image test 1 french', '', 'publish', 'closed', 'closed', '', 'image-test-1-french', '', '', '2020-09-25 22:43:21', '2020-09-25 22:43:21', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=9646', 0, 'page', '', 0), +(9722, 1, '2020-09-25 22:44:59', '2020-09-25 22:44:59', '', 'imagename-300x163-1', '', 'inherit', 'open', 'closed', '', 'imagename-300x163-1', '', '', '2020-09-25 22:45:59', '2020-09-25 22:45:59', '', 9620, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/09/imagename-300x163-1.jpg', 0, 'attachment', 'image/jpeg', 0), +(9818, 1, '2020-09-28 17:47:04', '2020-09-28 17:47:04', '\"\"', 'Relative image path', '', 'publish', 'closed', 'closed', '', 'relative-image-path', '', '', '2020-09-28 21:15:17', '2020-09-28 21:15:17', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=9818', 0, 'page', '', 0), +(9827, 1, '2020-09-28 17:56:31', '2020-09-28 17:56:31', '', '5642fae96ade14100be5', '', 'inherit', 'open', 'closed', '', '5642fae96ade14100be5', '', '', '2020-09-28 17:56:31', '2020-09-28 17:56:31', '', 0, 'https://makoto-acu.com/wp-content/uploads/2020/09/5642fae96ade14100be5.jpg', 0, 'attachment', 'image/jpeg', 0), +(10050, 1, '2020-09-29 00:49:18', '0000-00-00 00:00:00', '', 'Preview test 3', '', 'draft', 'open', 'open', '', '', '', '', '2020-09-29 00:49:18', '2020-09-29 00:49:18', '', 0, 'https://devgatsbyint.wpengine.com/?p=10050', 0, 'post', '', 0), +(10081, 1, '2020-09-30 17:44:08', '2020-09-30 17:44:08', 'This is text\n', 'beforeChangeNode test', '', 'trash', 'open', 'open', '', 'beforechangenode-test__trashed', '', '', '2020-09-30 19:19:00', '2020-09-30 19:19:00', '', 0, 'https://devgatsbyint.wpengine.com/?p=10081', 0, 'post', '', 0), +(10311, 1, '2020-10-02 01:11:39', '2020-10-02 01:11:39', 'a:9:{s:8:\"location\";a:1:{i:0;a:1:{i:0;a:3:{s:5:\"param\";s:9:\"post_type\";s:8:\"operator\";s:2:\"==\";s:5:\"value\";s:17:\"acfcustomposttype\";}}}s:8:\"position\";s:6:\"normal\";s:5:\"style\";s:7:\"default\";s:15:\"label_placement\";s:3:\"top\";s:21:\"instruction_placement\";s:5:\"label\";s:14:\"hide_on_screen\";s:0:\"\";s:11:\"description\";s:0:\"\";s:15:\"show_in_graphql\";i:1;s:18:\"graphql_field_name\";s:12:\"acfCPTFields\";}', 'CPT fields', 'cpt-fields', 'publish', 'closed', 'closed', '', 'group_5f767e2a066bf', '', '', '2020-10-02 01:11:39', '2020-10-02 01:11:39', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=acf-field-group&p=10311', 0, 'acf-field-group', '', 0), +(10313, 1, '2020-10-02 01:11:39', '2020-10-02 01:11:39', 'a:11:{s:4:\"type\";s:4:\"text\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"default_value\";s:0:\"\";s:11:\"placeholder\";s:0:\"\";s:7:\"prepend\";s:0:\"\";s:6:\"append\";s:0:\"\";s:9:\"maxlength\";s:0:\"\";}', 'test field', 'test_field', 'publish', 'closed', 'closed', '', 'field_5f767e4432e14', '', '', '2020-10-02 01:11:39', '2020-10-02 01:11:39', '', 10311, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=10313', 0, 'acf-field', '', 0), +(10315, 1, '2020-10-02 01:13:33', '2020-10-02 01:13:33', '', 'CPT acf test', '', 'publish', 'closed', 'closed', '', 'cpt-acf-test', '', '', '2020-10-02 01:13:33', '2020-10-02 01:13:33', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=acfcustomposttype&p=10315', 0, 'acfcustomposttype', '', 0), +(10416, 1, '2020-10-02 18:51:35', '2020-10-02 18:51:35', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', '45a39ab2eec95fc202de255fdbb3c888', '', '', '2020-10-02 18:51:35', '2020-10-02 18:51:35', '', 0, 'https://devgatsbyint.wpengine.com/2020/10/02/45a39ab2eec95fc202de255fdbb3c888/', 0, 'oembed_cache', '', 0), +(10418, 1, '2020-10-02 18:52:26', '2020-10-02 18:52:26', '{{unknown}}', '', '', 'publish', 'closed', 'closed', '', '6e566fb8ff1c4c0cf271ff8b87b2c474', '', '', '2020-10-02 18:52:26', '2020-10-02 18:52:26', '', 0, 'https://devgatsbyint.wpengine.com/2020/10/02/6e566fb8ff1c4c0cf271ff8b87b2c474/', 0, 'oembed_cache', '', 0), +(10424, 1, '2020-10-02 19:28:09', '2020-10-02 19:28:09', 'a:11:{s:4:\"type\";s:4:\"file\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:7:\"library\";s:3:\"all\";s:8:\"min_size\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'PDF', 'pdf', 'publish', 'closed', 'closed', '', 'field_5f777f123694a', '', '', '2020-10-02 19:30:06', '2020-10-02 19:30:06', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=10424', 28, 'acf-field', '', 0), +(10426, 1, '2020-10-02 19:28:09', '2020-10-02 19:28:09', 'a:11:{s:4:\"type\";s:4:\"file\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:7:\"library\";s:3:\"all\";s:8:\"min_size\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'Doc', 'doc', 'publish', 'closed', 'closed', '', 'field_5f777f1a3694b', '', '', '2020-10-02 19:30:06', '2020-10-02 19:30:06', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=10426', 29, 'acf-field', '', 0), +(10428, 1, '2020-10-02 19:28:10', '2020-10-02 19:28:10', 'a:11:{s:4:\"type\";s:4:\"file\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:7:\"library\";s:3:\"all\";s:8:\"min_size\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'Mp4', 'mp4', 'publish', 'closed', 'closed', '', 'field_5f777f213694c', '', '', '2020-10-02 19:30:06', '2020-10-02 19:30:06', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=10428', 30, 'acf-field', '', 0), +(10430, 1, '2020-10-02 19:28:10', '2020-10-02 19:28:10', 'a:11:{s:4:\"type\";s:4:\"file\";s:12:\"instructions\";s:0:\"\";s:8:\"required\";i:0;s:17:\"conditional_logic\";i:0;s:7:\"wrapper\";a:3:{s:5:\"width\";s:0:\"\";s:5:\"class\";s:0:\"\";s:2:\"id\";s:0:\"\";}s:15:\"show_in_graphql\";i:1;s:13:\"return_format\";s:5:\"array\";s:7:\"library\";s:3:\"all\";s:8:\"min_size\";s:0:\"\";s:8:\"max_size\";s:0:\"\";s:10:\"mime_types\";s:0:\"\";}', 'Mov', 'mov', 'publish', 'closed', 'closed', '', 'field_5f777f303694d', '', '', '2020-10-02 19:30:06', '2020-10-02 19:30:06', '', 72, 'https://devgatsbyint.wpengine.com/?post_type=acf-field&p=10430', 31, 'acf-field', '', 0), +(10439, 1, '2020-10-02 19:30:20', '2020-10-02 19:30:20', '', 'sample', '', 'inherit', 'open', 'closed', '', 'sample', '', '', '2020-10-02 19:30:20', '2020-10-02 19:30:20', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sample.pdf', 0, 'attachment', 'application/pdf', 0), +(10445, 1, '2020-10-02 19:30:27', '2020-10-02 19:30:27', '', 'sample', '', 'inherit', 'open', 'closed', '', 'sample-2', '', '', '2020-10-02 19:30:27', '2020-10-02 19:30:27', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sample.doc', 0, 'attachment', 'application/msword', 0), +(10449, 1, '2020-10-02 19:33:20', '2020-10-02 19:33:20', '', 'sample-mp4-file', '', 'inherit', 'open', 'closed', '', 'sample-mp4-file', '', '', '2020-10-02 19:33:20', '2020-10-02 19:33:20', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sample-mp4-file.mp4', 0, 'attachment', 'video/mp4', 0), +(10453, 1, '2020-10-02 19:34:57', '2020-10-02 19:34:57', '', 'sample-mov-file', '', 'inherit', 'open', 'closed', '', 'sample-mov-file', '', '', '2020-10-02 19:34:57', '2020-10-02 19:34:57', '', 7646, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sample-mov-file.mov', 0, 'attachment', 'video/quicktime', 0), +(10465, 1, '2020-10-07 01:51:03', '2020-10-07 01:51:03', '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
    \n\n\n

    background-image: url(https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sample-mov-fileinline-html.mov)

    \n\n\n
    \n', 'Inline html non-image media items', '', 'publish', 'closed', 'closed', '', 'inline-html-non-image-media-items', '', '', '2020-10-08 02:03:46', '2020-10-08 02:03:46', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=10465', 0, 'page', '', 0), +(10467, 1, '2020-10-02 19:45:08', '2020-10-02 19:45:08', '', 'sampleinline-html', '', 'inherit', 'open', 'closed', '', 'sampleinline-html', '', '', '2020-10-02 19:45:08', '2020-10-02 19:45:08', '', 10465, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sampleinline-html.doc', 0, 'attachment', 'application/msword', 0), +(10471, 1, '2020-10-02 19:50:13', '2020-10-02 19:50:13', '', 'sample-avi-fileinline-html', '', 'inherit', 'open', 'closed', '', 'sample-avi-fileinline-html', '', '', '2020-10-02 19:50:13', '2020-10-02 19:50:13', '', 10465, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sample-avi-fileinline-html.avi', 0, 'attachment', 'video/avi', 0), +(10475, 1, '2020-10-02 19:50:54', '2020-10-02 19:50:54', '', 'sample-mp4-fileinline-html', '', 'inherit', 'open', 'closed', '', 'sample-mp4-fileinline-html', '', '', '2020-10-02 19:50:54', '2020-10-02 19:50:54', '', 10465, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sample-mp4-fileinline-html.mp4', 0, 'attachment', 'video/mp4', 0), +(10479, 1, '2020-10-02 19:51:25', '2020-10-02 19:51:25', '', 'sample-mov-fileinline-html', '', 'inherit', 'open', 'closed', '', 'sample-mov-fileinline-html', '', '', '2020-10-02 19:51:25', '2020-10-02 19:51:25', '', 10465, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sample-mov-fileinline-html.mov', 0, 'attachment', 'video/quicktime', 0), +(10513, 1, '2020-10-05 18:25:03', '2020-10-05 18:25:03', '
    \"\"
    ', 'Inline image with http protocol', '', 'publish', 'closed', 'closed', '', 'inline-image-with-http-protocol', '', '', '2020-10-05 18:25:04', '2020-10-05 18:25:04', '', 0, 'https://devgatsbyint.wpengine.com/?page_id=10513', 0, 'page', '', 0), +(10515, 1, '2020-10-05 18:24:29', '2020-10-05 18:24:29', '', 'jessie-mccall-a9_8YKoqIYo-unsplash', '', 'inherit', 'open', 'closed', '', 'jessie-mccall-a9_8ykoqiyo-unsplash', '', '', '2020-10-05 18:24:29', '2020-10-05 18:24:29', '', 10513, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/jessie-mccall-a9_8YKoqIYo-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(10621, 1, '2020-10-06 00:47:03', '2020-10-06 00:47:03', '', 'mattmullenweg-interview', '', 'inherit', 'open', 'closed', '', 'mattmullenweg-interview', '', '', '2020-10-06 00:47:03', '2020-10-06 00:47:03', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/mattmullenweg-interview.mp3', 0, 'attachment', 'audio/mpeg', 0), +(10627, 1, '2020-10-06 00:47:43', '2020-10-06 00:47:43', '', 'giphy', '', 'inherit', 'open', 'closed', '', 'giphy', '', '', '2020-10-06 00:47:43', '2020-10-06 00:47:43', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/giphy.mp4', 0, 'attachment', 'video/mp4', 0), +(10690, 1, '2020-10-07 01:59:33', '2020-10-07 01:59:33', '', 'sample-mov-fileinline-html-1', '', 'inherit', 'open', 'closed', '', 'sample-mov-fileinline-html-1', '', '', '2020-10-07 01:59:33', '2020-10-07 01:59:33', '', 10465, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/sample-mov-fileinline-html-1.mov', 0, 'attachment', 'video/quicktime', 0), +(10705, 1, '2020-10-07 02:20:21', '2020-10-07 02:20:21', '', 'BabyElephantWalk60', '', 'inherit', 'open', 'closed', '', 'babyelephantwalk60', '', '', '2020-10-07 02:20:21', '2020-10-07 02:20:21', '', 10465, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/BabyElephantWalk60.wav', 0, 'attachment', 'audio/wav', 0), +(10715, 1, '2020-10-07 03:04:14', '2020-10-07 03:04:14', '', 'Screen-Shot-2020-07-30-at-1.34.09-PM', '', 'inherit', 'open', 'closed', '', 'screen-shot-2020-07-30-at-1-34-09-pm', '', '', '2020-10-07 03:04:14', '2020-10-07 03:04:14', '', 94, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/Screen-Shot-2020-07-30-at-1.34.09-PM.png', 0, 'attachment', 'image/png', 0), +(10927, 1, '2020-10-08 01:54:44', '2020-10-08 01:54:44', '', 'karsten-winegeart-5zzY1WvIRRQ-unsplash', '', 'inherit', 'open', 'closed', '', 'karsten-winegeart-5zzy1wvirrq-unsplash', '', '', '2020-10-08 01:54:44', '2020-10-08 01:54:44', '', 0, 'https://devgatsbyint.wpengine.com/wp-content/uploads/2020/10/karsten-winegeart-5zzY1WvIRRQ-unsplash.jpg', 0, 'attachment', 'image/jpeg', 0), +(11040, 3, '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602286321', '', '', '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602286321/', 0, 'action_monitor', '', 0), +(11041, 3, '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286321', '', '', '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286321/', 0, 'action_monitor', '', 0), +(11042, 3, '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602286321', '', '', '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602286321/', 0, 'action_monitor', '', 0), +(11043, 3, '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286321-2', '', '', '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286321-2/', 0, 'action_monitor', '', 0), +(11044, 3, '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286321-3', '', '', '2020-10-09 23:32:01', '2020-10-09 23:32:01', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286321-3/', 0, 'action_monitor', '', 0), +(11045, 3, '2020-10-09 23:32:25', '2020-10-09 23:32:25', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602286345', '', '', '2020-10-09 23:32:25', '2020-10-09 23:32:25', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602286345/', 0, 'action_monitor', '', 0), +(11046, 3, '2020-10-09 23:32:25', '2020-10-09 23:32:25', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286345', '', '', '2020-10-09 23:32:25', '2020-10-09 23:32:25', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286345/', 0, 'action_monitor', '', 0), +(11047, 3, '2020-10-09 23:32:25', '2020-10-09 23:32:25', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602286345', '', '', '2020-10-09 23:32:25', '2020-10-09 23:32:25', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602286345/', 0, 'action_monitor', '', 0), +(11048, 3, '2020-10-09 23:32:25', '2020-10-09 23:32:25', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286345-2', '', '', '2020-10-09 23:32:26', '2020-10-09 23:32:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286345-2/', 0, 'action_monitor', '', 0), +(11049, 3, '2020-10-09 23:32:26', '2020-10-09 23:32:26', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286346', '', '', '2020-10-09 23:32:26', '2020-10-09 23:32:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286346/', 0, 'action_monitor', '', 0), +(11050, 3, '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602286419', '', '', '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602286419/', 0, 'action_monitor', '', 0), +(11051, 3, '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286419', '', '', '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286419/', 0, 'action_monitor', '', 0), +(11052, 3, '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602286419', '', '', '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602286419/', 0, 'action_monitor', '', 0), +(11053, 3, '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286419-2', '', '', '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286419-2/', 0, 'action_monitor', '', 0), +(11054, 3, '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286419-3', '', '', '2020-10-09 23:33:39', '2020-10-09 23:33:39', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286419-3/', 0, 'action_monitor', '', 0), +(11055, 3, '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602286447', '', '', '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602286447/', 0, 'action_monitor', '', 0), +(11056, 3, '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286447', '', '', '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286447/', 0, 'action_monitor', '', 0), +(11057, 3, '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602286447', '', '', '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602286447/', 0, 'action_monitor', '', 0), +(11058, 3, '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286447-2', '', '', '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286447-2/', 0, 'action_monitor', '', 0), +(11059, 3, '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602286447-3', '', '', '2020-10-09 23:34:07', '2020-10-09 23:34:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602286447-3/', 0, 'action_monitor', '', 0), +(11060, 3, '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602291140', '', '', '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602291140/', 0, 'action_monitor', '', 0), +(11061, 3, '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602291140', '', '', '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602291140/', 0, 'action_monitor', '', 0), +(11062, 3, '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602291140', '', '', '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602291140/', 0, 'action_monitor', '', 0), +(11063, 3, '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602291140-2', '', '', '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602291140-2/', 0, 'action_monitor', '', 0), +(11064, 3, '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602291140-3', '', '', '2020-10-10 00:52:20', '2020-10-10 00:52:20', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602291140-3/', 0, 'action_monitor', '', 0), +(11065, 3, '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602291210', '', '', '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602291210/', 0, 'action_monitor', '', 0), +(11066, 3, '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602291210', '', '', '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602291210/', 0, 'action_monitor', '', 0), +(11067, 3, '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602291210', '', '', '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602291210/', 0, 'action_monitor', '', 0), +(11068, 3, '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602291210-2', '', '', '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602291210-2/', 0, 'action_monitor', '', 0), +(11069, 3, '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602291210-3', '', '', '2020-10-10 00:53:30', '2020-10-10 00:53:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602291210-3/', 0, 'action_monitor', '', 0), +(11070, 3, '2020-10-10 00:53:57', '2020-10-10 00:53:57', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602291237', '', '', '2020-10-10 00:53:58', '2020-10-10 00:53:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602291237/', 0, 'action_monitor', '', 0), +(11071, 3, '2020-10-10 00:53:58', '2020-10-10 00:53:58', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602291238', '', '', '2020-10-10 00:53:58', '2020-10-10 00:53:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602291238/', 0, 'action_monitor', '', 0), +(11072, 3, '2020-10-10 00:53:58', '2020-10-10 00:53:58', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602291238', '', '', '2020-10-10 00:53:58', '2020-10-10 00:53:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602291238/', 0, 'action_monitor', '', 0), +(11073, 3, '2020-10-10 00:53:58', '2020-10-10 00:53:58', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602291238-2', '', '', '2020-10-10 00:53:58', '2020-10-10 00:53:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602291238-2/', 0, 'action_monitor', '', 0), +(11074, 3, '2020-10-10 00:53:58', '2020-10-10 00:53:58', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602291238-3', '', '', '2020-10-10 00:53:58', '2020-10-10 00:53:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602291238-3/', 0, 'action_monitor', '', 0), +(11075, 3, '2020-10-10 04:02:25', '2020-10-10 04:02:25', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602302545', '', '', '2020-10-10 04:02:25', '2020-10-10 04:02:25', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602302545/', 0, 'action_monitor', '', 0), +(11076, 3, '2020-10-10 04:02:25', '2020-10-10 04:02:25', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602302545', '', '', '2020-10-10 04:02:25', '2020-10-10 04:02:25', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602302545/', 0, 'action_monitor', '', 0), +(11077, 3, '2020-10-10 04:02:26', '2020-10-10 04:02:26', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602302546', '', '', '2020-10-10 04:02:26', '2020-10-10 04:02:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602302546/', 0, 'action_monitor', '', 0), +(11078, 3, '2020-10-10 04:02:26', '2020-10-10 04:02:26', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602302546', '', '', '2020-10-10 04:02:26', '2020-10-10 04:02:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602302546/', 0, 'action_monitor', '', 0), +(11079, 3, '2020-10-10 04:02:26', '2020-10-10 04:02:26', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602302546-2', '', '', '2020-10-10 04:02:26', '2020-10-10 04:02:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602302546-2/', 0, 'action_monitor', '', 0), +(11080, 3, '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602304674', '', '', '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602304674/', 0, 'action_monitor', '', 0), +(11081, 3, '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602304674', '', '', '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602304674/', 0, 'action_monitor', '', 0), +(11082, 3, '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602304674', '', '', '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602304674/', 0, 'action_monitor', '', 0), +(11083, 3, '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602304674-2', '', '', '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602304674-2/', 0, 'action_monitor', '', 0), +(11084, 3, '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602304674-3', '', '', '2020-10-10 04:37:54', '2020-10-10 04:37:54', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602304674-3/', 0, 'action_monitor', '', 0), +(11085, 3, '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602304744', '', '', '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602304744/', 0, 'action_monitor', '', 0), +(11086, 3, '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602304744', '', '', '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602304744/', 0, 'action_monitor', '', 0), +(11087, 3, '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602304744', '', '', '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602304744/', 0, 'action_monitor', '', 0), +(11088, 3, '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602304744-2', '', '', '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602304744-2/', 0, 'action_monitor', '', 0), +(11089, 3, '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602304744-3', '', '', '2020-10-10 04:39:04', '2020-10-10 04:39:04', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602304744-3/', 0, 'action_monitor', '', 0), +(11090, 3, '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602304774', '', '', '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602304774/', 0, 'action_monitor', '', 0), +(11091, 3, '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602304774', '', '', '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602304774/', 0, 'action_monitor', '', 0), +(11092, 3, '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602304774', '', '', '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602304774/', 0, 'action_monitor', '', 0), +(11093, 3, '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602304774-2', '', '', '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602304774-2/', 0, 'action_monitor', '', 0), +(11094, 3, '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602304774-3', '', '', '2020-10-10 04:39:34', '2020-10-10 04:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602304774-3/', 0, 'action_monitor', '', 0); +INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES +(11095, 3, '2020-10-14 19:22:44', '2020-10-14 19:22:44', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602703364', '', '', '2020-10-14 19:22:44', '2020-10-14 19:22:44', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602703364/', 0, 'action_monitor', '', 0), +(11096, 3, '2020-10-14 19:22:50', '2020-10-14 19:22:50', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602703370', '', '', '2020-10-14 19:22:50', '2020-10-14 19:22:50', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602703370/', 0, 'action_monitor', '', 0), +(11097, 3, '2020-10-14 19:22:50', '2020-10-14 19:22:50', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602703370', '', '', '2020-10-14 19:22:50', '2020-10-14 19:22:50', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602703370/', 0, 'action_monitor', '', 0), +(11098, 3, '2020-10-14 19:22:50', '2020-10-14 19:22:50', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602703370-2', '', '', '2020-10-14 19:22:50', '2020-10-14 19:22:50', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602703370-2/', 0, 'action_monitor', '', 0), +(11099, 3, '2020-10-14 19:22:50', '2020-10-14 19:22:50', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602703370-3', '', '', '2020-10-14 19:22:50', '2020-10-14 19:22:50', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602703370-3/', 0, 'action_monitor', '', 0), +(11100, 3, '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602705431', '', '', '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602705431/', 0, 'action_monitor', '', 0), +(11101, 3, '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602705431', '', '', '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602705431/', 0, 'action_monitor', '', 0), +(11102, 3, '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602705431', '', '', '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602705431/', 0, 'action_monitor', '', 0), +(11103, 3, '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602705431-2', '', '', '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602705431-2/', 0, 'action_monitor', '', 0), +(11104, 3, '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602705431-3', '', '', '2020-10-14 19:57:11', '2020-10-14 19:57:11', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602705431-3/', 0, 'action_monitor', '', 0), +(11105, 3, '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602710959', '', '', '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602710959/', 0, 'action_monitor', '', 0), +(11106, 3, '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602710959', '', '', '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602710959/', 0, 'action_monitor', '', 0), +(11107, 3, '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602710959', '', '', '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602710959/', 0, 'action_monitor', '', 0), +(11108, 3, '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602710959-2', '', '', '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602710959-2/', 0, 'action_monitor', '', 0), +(11109, 3, '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602710959-3', '', '', '2020-10-14 21:29:19', '2020-10-14 21:29:19', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602710959-3/', 0, 'action_monitor', '', 0), +(11110, 3, '2020-10-14 21:29:57', '2020-10-14 21:29:57', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602710997', '', '', '2020-10-14 21:29:58', '2020-10-14 21:29:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602710997/', 0, 'action_monitor', '', 0), +(11111, 3, '2020-10-14 21:29:58', '2020-10-14 21:29:58', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602710998', '', '', '2020-10-14 21:29:58', '2020-10-14 21:29:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602710998/', 0, 'action_monitor', '', 0), +(11112, 3, '2020-10-14 21:29:58', '2020-10-14 21:29:58', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602710998', '', '', '2020-10-14 21:29:58', '2020-10-14 21:29:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602710998/', 0, 'action_monitor', '', 0), +(11113, 3, '2020-10-14 21:29:58', '2020-10-14 21:29:58', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602710998-2', '', '', '2020-10-14 21:29:58', '2020-10-14 21:29:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602710998-2/', 0, 'action_monitor', '', 0), +(11114, 3, '2020-10-14 21:29:58', '2020-10-14 21:29:58', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602710998-3', '', '', '2020-10-14 21:29:58', '2020-10-14 21:29:58', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602710998-3/', 0, 'action_monitor', '', 0), +(11115, 3, '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602711089', '', '', '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602711089/', 0, 'action_monitor', '', 0), +(11116, 3, '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602711089', '', '', '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602711089/', 0, 'action_monitor', '', 0), +(11117, 3, '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602711089', '', '', '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602711089/', 0, 'action_monitor', '', 0), +(11118, 3, '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602711089-2', '', '', '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602711089-2/', 0, 'action_monitor', '', 0), +(11119, 3, '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602711089-3', '', '', '2020-10-14 21:31:29', '2020-10-14 21:31:29', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602711089-3/', 0, 'action_monitor', '', 0), +(11120, 3, '2020-10-14 21:32:34', '2020-10-14 21:32:34', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602711154', '', '', '2020-10-14 21:32:34', '2020-10-14 21:32:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602711154/', 0, 'action_monitor', '', 0), +(11121, 3, '2020-10-14 21:32:34', '2020-10-14 21:32:34', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602711154', '', '', '2020-10-14 21:32:34', '2020-10-14 21:32:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602711154/', 0, 'action_monitor', '', 0), +(11122, 3, '2020-10-14 21:32:34', '2020-10-14 21:32:34', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602711154', '', '', '2020-10-14 21:32:34', '2020-10-14 21:32:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602711154/', 0, 'action_monitor', '', 0), +(11123, 3, '2020-10-14 21:32:34', '2020-10-14 21:32:34', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602711154-2', '', '', '2020-10-14 21:32:34', '2020-10-14 21:32:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602711154-2/', 0, 'action_monitor', '', 0), +(11124, 3, '2020-10-14 21:32:34', '2020-10-14 21:32:34', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602711154-3', '', '', '2020-10-14 21:32:35', '2020-10-14 21:32:35', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602711154-3/', 0, 'action_monitor', '', 0), +(11125, 3, '2020-10-14 21:33:01', '2020-10-14 21:33:01', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602711181', '', '', '2020-10-14 21:33:02', '2020-10-14 21:33:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602711181/', 0, 'action_monitor', '', 0), +(11126, 3, '2020-10-14 21:33:02', '2020-10-14 21:33:02', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602711182', '', '', '2020-10-14 21:33:02', '2020-10-14 21:33:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602711182/', 0, 'action_monitor', '', 0), +(11127, 3, '2020-10-14 21:33:02', '2020-10-14 21:33:02', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602711182', '', '', '2020-10-14 21:33:02', '2020-10-14 21:33:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602711182/', 0, 'action_monitor', '', 0), +(11128, 3, '2020-10-14 21:33:02', '2020-10-14 21:33:02', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602711182-2', '', '', '2020-10-14 21:33:02', '2020-10-14 21:33:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602711182-2/', 0, 'action_monitor', '', 0), +(11129, 3, '2020-10-14 21:33:02', '2020-10-14 21:33:02', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602711182-3', '', '', '2020-10-14 21:33:02', '2020-10-14 21:33:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602711182-3/', 0, 'action_monitor', '', 0), +(11130, 3, '2020-10-14 22:23:14', '2020-10-14 22:23:14', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602714194', '', '', '2020-10-14 22:23:14', '2020-10-14 22:23:14', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602714194/', 0, 'action_monitor', '', 0), +(11131, 3, '2020-10-14 22:23:15', '2020-10-14 22:23:15', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714195', '', '', '2020-10-14 22:23:15', '2020-10-14 22:23:15', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714195/', 0, 'action_monitor', '', 0), +(11132, 3, '2020-10-14 22:23:15', '2020-10-14 22:23:15', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602714195', '', '', '2020-10-14 22:23:15', '2020-10-14 22:23:15', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602714195/', 0, 'action_monitor', '', 0), +(11133, 3, '2020-10-14 22:23:15', '2020-10-14 22:23:15', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714195-2', '', '', '2020-10-14 22:23:15', '2020-10-14 22:23:15', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714195-2/', 0, 'action_monitor', '', 0), +(11134, 3, '2020-10-14 22:23:15', '2020-10-14 22:23:15', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714195-3', '', '', '2020-10-14 22:23:16', '2020-10-14 22:23:16', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714195-3/', 0, 'action_monitor', '', 0), +(11135, 3, '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602714271', '', '', '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602714271/', 0, 'action_monitor', '', 0), +(11136, 3, '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714271', '', '', '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714271/', 0, 'action_monitor', '', 0), +(11137, 3, '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602714271', '', '', '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602714271/', 0, 'action_monitor', '', 0), +(11138, 3, '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714271-2', '', '', '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714271-2/', 0, 'action_monitor', '', 0), +(11139, 3, '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714271-3', '', '', '2020-10-14 22:24:31', '2020-10-14 22:24:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714271-3/', 0, 'action_monitor', '', 0), +(11140, 3, '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602714303', '', '', '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602714303/', 0, 'action_monitor', '', 0), +(11141, 3, '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714303', '', '', '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714303/', 0, 'action_monitor', '', 0), +(11142, 3, '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602714303', '', '', '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602714303/', 0, 'action_monitor', '', 0), +(11143, 3, '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714303-2', '', '', '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714303-2/', 0, 'action_monitor', '', 0), +(11144, 3, '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714303-3', '', '', '2020-10-14 22:25:03', '2020-10-14 22:25:03', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714303-3/', 0, 'action_monitor', '', 0), +(11145, 3, '2020-10-14 22:33:06', '2020-10-14 22:33:06', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602714786', '', '', '2020-10-14 22:33:06', '2020-10-14 22:33:06', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602714786/', 0, 'action_monitor', '', 0), +(11146, 3, '2020-10-14 22:33:06', '2020-10-14 22:33:06', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714786', '', '', '2020-10-14 22:33:06', '2020-10-14 22:33:06', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714786/', 0, 'action_monitor', '', 0), +(11147, 3, '2020-10-14 22:33:06', '2020-10-14 22:33:06', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602714786', '', '', '2020-10-14 22:33:06', '2020-10-14 22:33:06', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602714786/', 0, 'action_monitor', '', 0), +(11148, 3, '2020-10-14 22:33:06', '2020-10-14 22:33:06', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714786-2', '', '', '2020-10-14 22:33:06', '2020-10-14 22:33:06', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714786-2/', 0, 'action_monitor', '', 0), +(11149, 3, '2020-10-14 22:33:07', '2020-10-14 22:33:07', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714787', '', '', '2020-10-14 22:33:07', '2020-10-14 22:33:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714787/', 0, 'action_monitor', '', 0), +(11150, 3, '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602714858', '', '', '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602714858/', 0, 'action_monitor', '', 0), +(11151, 3, '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714858', '', '', '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714858/', 0, 'action_monitor', '', 0), +(11152, 3, '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602714858', '', '', '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602714858/', 0, 'action_monitor', '', 0), +(11153, 3, '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714858-2', '', '', '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714858-2/', 0, 'action_monitor', '', 0), +(11154, 3, '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714858-3', '', '', '2020-10-14 22:34:18', '2020-10-14 22:34:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714858-3/', 0, 'action_monitor', '', 0), +(11155, 3, '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602714888', '', '', '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602714888/', 0, 'action_monitor', '', 0), +(11156, 3, '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714888', '', '', '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714888/', 0, 'action_monitor', '', 0), +(11157, 3, '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602714888', '', '', '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602714888/', 0, 'action_monitor', '', 0), +(11158, 3, '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714888-2', '', '', '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714888-2/', 0, 'action_monitor', '', 0), +(11159, 3, '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602714888-3', '', '', '2020-10-14 22:34:48', '2020-10-14 22:34:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602714888-3/', 0, 'action_monitor', '', 0), +(11160, 3, '2020-10-14 23:15:40', '2020-10-14 23:15:40', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602717340', '', '', '2020-10-14 23:15:40', '2020-10-14 23:15:40', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602717340/', 0, 'action_monitor', '', 0), +(11161, 3, '2020-10-14 23:15:41', '2020-10-14 23:15:41', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717341', '', '', '2020-10-14 23:15:41', '2020-10-14 23:15:41', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717341/', 0, 'action_monitor', '', 0), +(11162, 3, '2020-10-14 23:15:41', '2020-10-14 23:15:41', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602717341', '', '', '2020-10-14 23:15:41', '2020-10-14 23:15:41', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602717341/', 0, 'action_monitor', '', 0), +(11163, 3, '2020-10-14 23:15:41', '2020-10-14 23:15:41', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717341-2', '', '', '2020-10-14 23:15:41', '2020-10-14 23:15:41', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717341-2/', 0, 'action_monitor', '', 0), +(11164, 3, '2020-10-14 23:15:41', '2020-10-14 23:15:41', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717341-3', '', '', '2020-10-14 23:15:41', '2020-10-14 23:15:41', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717341-3/', 0, 'action_monitor', '', 0), +(11165, 3, '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602717687', '', '', '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602717687/', 0, 'action_monitor', '', 0), +(11166, 3, '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717687', '', '', '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717687/', 0, 'action_monitor', '', 0), +(11167, 3, '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602717687', '', '', '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602717687/', 0, 'action_monitor', '', 0), +(11168, 3, '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717687-2', '', '', '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717687-2/', 0, 'action_monitor', '', 0), +(11169, 3, '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717687-3', '', '', '2020-10-14 23:21:27', '2020-10-14 23:21:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717687-3/', 0, 'action_monitor', '', 0), +(11170, 3, '2020-10-14 23:23:17', '2020-10-14 23:23:17', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602717797', '', '', '2020-10-14 23:23:18', '2020-10-14 23:23:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602717797/', 0, 'action_monitor', '', 0), +(11171, 3, '2020-10-14 23:23:18', '2020-10-14 23:23:18', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717798', '', '', '2020-10-14 23:23:18', '2020-10-14 23:23:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717798/', 0, 'action_monitor', '', 0), +(11172, 3, '2020-10-14 23:23:18', '2020-10-14 23:23:18', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602717798', '', '', '2020-10-14 23:23:18', '2020-10-14 23:23:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602717798/', 0, 'action_monitor', '', 0), +(11173, 3, '2020-10-14 23:23:18', '2020-10-14 23:23:18', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717798-2', '', '', '2020-10-14 23:23:18', '2020-10-14 23:23:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717798-2/', 0, 'action_monitor', '', 0), +(11174, 3, '2020-10-14 23:23:18', '2020-10-14 23:23:18', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717798-3', '', '', '2020-10-14 23:23:18', '2020-10-14 23:23:18', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717798-3/', 0, 'action_monitor', '', 0), +(11175, 3, '2020-10-14 23:23:46', '2020-10-14 23:23:46', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602717826', '', '', '2020-10-14 23:23:46', '2020-10-14 23:23:46', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602717826/', 0, 'action_monitor', '', 0), +(11176, 3, '2020-10-14 23:23:47', '2020-10-14 23:23:47', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717827', '', '', '2020-10-14 23:23:47', '2020-10-14 23:23:47', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717827/', 0, 'action_monitor', '', 0), +(11177, 3, '2020-10-14 23:23:47', '2020-10-14 23:23:47', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602717827', '', '', '2020-10-14 23:23:47', '2020-10-14 23:23:47', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602717827/', 0, 'action_monitor', '', 0), +(11178, 3, '2020-10-14 23:23:47', '2020-10-14 23:23:47', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717827-2', '', '', '2020-10-14 23:23:47', '2020-10-14 23:23:47', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717827-2/', 0, 'action_monitor', '', 0), +(11179, 3, '2020-10-14 23:23:47', '2020-10-14 23:23:47', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602717827-3', '', '', '2020-10-14 23:23:47', '2020-10-14 23:23:47', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602717827-3/', 0, 'action_monitor', '', 0), +(11180, 3, '2020-10-15 00:42:51', '2020-10-15 00:42:51', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602722571', '', '', '2020-10-15 00:42:51', '2020-10-15 00:42:51', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602722571/', 0, 'action_monitor', '', 0), +(11181, 3, '2020-10-15 00:42:52', '2020-10-15 00:42:52', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602722572', '', '', '2020-10-15 00:42:52', '2020-10-15 00:42:52', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602722572/', 0, 'action_monitor', '', 0), +(11182, 3, '2020-10-15 00:42:52', '2020-10-15 00:42:52', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602722572', '', '', '2020-10-15 00:42:52', '2020-10-15 00:42:52', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602722572/', 0, 'action_monitor', '', 0), +(11183, 3, '2020-10-15 00:42:52', '2020-10-15 00:42:52', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602722572-2', '', '', '2020-10-15 00:42:52', '2020-10-15 00:42:52', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602722572-2/', 0, 'action_monitor', '', 0), +(11184, 3, '2020-10-15 00:42:52', '2020-10-15 00:42:52', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602722572-3', '', '', '2020-10-15 00:42:52', '2020-10-15 00:42:52', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602722572-3/', 0, 'action_monitor', '', 0), +(11185, 3, '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602722849', '', '', '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602722849/', 0, 'action_monitor', '', 0), +(11186, 3, '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602722850', '', '', '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602722850/', 0, 'action_monitor', '', 0), +(11187, 3, '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602722850', '', '', '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602722850/', 0, 'action_monitor', '', 0), +(11188, 3, '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602722850-2', '', '', '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602722850-2/', 0, 'action_monitor', '', 0), +(11189, 3, '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602722850-3', '', '', '2020-10-15 00:47:30', '2020-10-15 00:47:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602722850-3/', 0, 'action_monitor', '', 0), +(11190, 3, '2020-10-15 00:48:07', '2020-10-15 00:48:07', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602722887', '', '', '2020-10-15 00:48:07', '2020-10-15 00:48:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602722887/', 0, 'action_monitor', '', 0), +(11191, 3, '2020-10-15 00:48:07', '2020-10-15 00:48:07', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602722887', '', '', '2020-10-15 00:48:07', '2020-10-15 00:48:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602722887/', 0, 'action_monitor', '', 0), +(11192, 3, '2020-10-15 00:48:07', '2020-10-15 00:48:07', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602722887', '', '', '2020-10-15 00:48:08', '2020-10-15 00:48:08', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602722887/', 0, 'action_monitor', '', 0), +(11193, 3, '2020-10-15 00:48:08', '2020-10-15 00:48:08', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602722888', '', '', '2020-10-15 00:48:08', '2020-10-15 00:48:08', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602722888/', 0, 'action_monitor', '', 0), +(11194, 3, '2020-10-15 00:48:08', '2020-10-15 00:48:08', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602722888-2', '', '', '2020-10-15 00:48:08', '2020-10-15 00:48:08', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602722888-2/', 0, 'action_monitor', '', 0), +(11195, 3, '2020-10-15 01:06:30', '2020-10-15 01:06:30', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602723990', '', '', '2020-10-15 01:06:30', '2020-10-15 01:06:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602723990/', 0, 'action_monitor', '', 0), +(11196, 3, '2020-10-15 01:06:30', '2020-10-15 01:06:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602723990', '', '', '2020-10-15 01:06:30', '2020-10-15 01:06:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602723990/', 0, 'action_monitor', '', 0), +(11197, 3, '2020-10-15 01:06:30', '2020-10-15 01:06:30', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602723990', '', '', '2020-10-15 01:06:30', '2020-10-15 01:06:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602723990/', 0, 'action_monitor', '', 0), +(11198, 3, '2020-10-15 01:06:31', '2020-10-15 01:06:31', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602723991', '', '', '2020-10-15 01:06:31', '2020-10-15 01:06:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602723991/', 0, 'action_monitor', '', 0), +(11199, 3, '2020-10-15 01:06:31', '2020-10-15 01:06:31', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602723991-2', '', '', '2020-10-15 01:06:31', '2020-10-15 01:06:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602723991-2/', 0, 'action_monitor', '', 0), +(11200, 3, '2020-10-15 01:07:16', '2020-10-15 01:07:16', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602724036', '', '', '2020-10-15 01:07:16', '2020-10-15 01:07:16', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602724036/', 0, 'action_monitor', '', 0), +(11201, 3, '2020-10-15 01:07:16', '2020-10-15 01:07:16', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724036', '', '', '2020-10-15 01:07:16', '2020-10-15 01:07:16', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724036/', 0, 'action_monitor', '', 0), +(11202, 3, '2020-10-15 01:07:17', '2020-10-15 01:07:17', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602724037', '', '', '2020-10-15 01:07:17', '2020-10-15 01:07:17', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602724037/', 0, 'action_monitor', '', 0), +(11203, 3, '2020-10-15 01:07:17', '2020-10-15 01:07:17', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724037', '', '', '2020-10-15 01:07:17', '2020-10-15 01:07:17', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724037/', 0, 'action_monitor', '', 0), +(11204, 3, '2020-10-15 01:07:17', '2020-10-15 01:07:17', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724037-2', '', '', '2020-10-15 01:07:17', '2020-10-15 01:07:17', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724037-2/', 0, 'action_monitor', '', 0), +(11205, 3, '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602724170', '', '', '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602724170/', 0, 'action_monitor', '', 0), +(11206, 3, '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724170', '', '', '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724170/', 0, 'action_monitor', '', 0), +(11207, 3, '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602724170', '', '', '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602724170/', 0, 'action_monitor', '', 0), +(11208, 3, '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724170-2', '', '', '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724170-2/', 0, 'action_monitor', '', 0), +(11209, 3, '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724170-3', '', '', '2020-10-15 01:09:30', '2020-10-15 01:09:30', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724170-3/', 0, 'action_monitor', '', 0), +(11210, 3, '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602724395', '', '', '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602724395/', 0, 'action_monitor', '', 0), +(11211, 3, '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724395', '', '', '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724395/', 0, 'action_monitor', '', 0), +(11212, 3, '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602724395', '', '', '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602724395/', 0, 'action_monitor', '', 0), +(11213, 3, '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724395-2', '', '', '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724395-2/', 0, 'action_monitor', '', 0), +(11214, 3, '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724395-3', '', '', '2020-10-15 01:13:15', '2020-10-15 01:13:15', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724395-3/', 0, 'action_monitor', '', 0), +(11215, 3, '2020-10-15 01:16:41', '2020-10-15 01:16:41', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602724601', '', '', '2020-10-15 01:16:41', '2020-10-15 01:16:41', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602724601/', 0, 'action_monitor', '', 0), +(11216, 3, '2020-10-15 01:16:42', '2020-10-15 01:16:42', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724602', '', '', '2020-10-15 01:16:42', '2020-10-15 01:16:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724602/', 0, 'action_monitor', '', 0), +(11217, 3, '2020-10-15 01:16:42', '2020-10-15 01:16:42', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602724602', '', '', '2020-10-15 01:16:42', '2020-10-15 01:16:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602724602/', 0, 'action_monitor', '', 0), +(11218, 3, '2020-10-15 01:16:42', '2020-10-15 01:16:42', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724602-2', '', '', '2020-10-15 01:16:42', '2020-10-15 01:16:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724602-2/', 0, 'action_monitor', '', 0), +(11219, 3, '2020-10-15 01:16:42', '2020-10-15 01:16:42', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724602-3', '', '', '2020-10-15 01:16:42', '2020-10-15 01:16:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724602-3/', 0, 'action_monitor', '', 0), +(11220, 3, '2020-10-15 01:18:31', '2020-10-15 01:18:31', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602724711', '', '', '2020-10-15 01:18:31', '2020-10-15 01:18:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602724711/', 0, 'action_monitor', '', 0), +(11221, 3, '2020-10-15 01:18:31', '2020-10-15 01:18:31', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724711', '', '', '2020-10-15 01:18:31', '2020-10-15 01:18:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724711/', 0, 'action_monitor', '', 0), +(11222, 3, '2020-10-15 01:18:31', '2020-10-15 01:18:31', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602724711', '', '', '2020-10-15 01:18:31', '2020-10-15 01:18:31', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602724711/', 0, 'action_monitor', '', 0), +(11223, 3, '2020-10-15 01:18:32', '2020-10-15 01:18:32', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724712', '', '', '2020-10-15 01:18:32', '2020-10-15 01:18:32', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724712/', 0, 'action_monitor', '', 0), +(11224, 3, '2020-10-15 01:18:32', '2020-10-15 01:18:32', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724712-2', '', '', '2020-10-15 01:18:32', '2020-10-15 01:18:32', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724712-2/', 0, 'action_monitor', '', 0), +(11225, 3, '2020-10-15 01:20:24', '2020-10-15 01:20:24', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602724824', '', '', '2020-10-15 01:20:24', '2020-10-15 01:20:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602724824/', 0, 'action_monitor', '', 0), +(11226, 3, '2020-10-15 01:20:24', '2020-10-15 01:20:24', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724824', '', '', '2020-10-15 01:20:24', '2020-10-15 01:20:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724824/', 0, 'action_monitor', '', 0), +(11227, 3, '2020-10-15 01:20:24', '2020-10-15 01:20:24', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602724824', '', '', '2020-10-15 01:20:25', '2020-10-15 01:20:25', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602724824/', 0, 'action_monitor', '', 0), +(11228, 3, '2020-10-15 01:20:25', '2020-10-15 01:20:25', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724825', '', '', '2020-10-15 01:20:25', '2020-10-15 01:20:25', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724825/', 0, 'action_monitor', '', 0), +(11229, 3, '2020-10-15 01:20:25', '2020-10-15 01:20:25', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724825-2', '', '', '2020-10-15 01:20:25', '2020-10-15 01:20:25', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724825-2/', 0, 'action_monitor', '', 0), +(11230, 3, '2020-10-15 01:22:21', '2020-10-15 01:22:21', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602724941', '', '', '2020-10-15 01:22:21', '2020-10-15 01:22:21', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602724941/', 0, 'action_monitor', '', 0), +(11231, 3, '2020-10-15 01:22:22', '2020-10-15 01:22:22', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724942', '', '', '2020-10-15 01:22:22', '2020-10-15 01:22:22', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724942/', 0, 'action_monitor', '', 0), +(11232, 3, '2020-10-15 01:22:22', '2020-10-15 01:22:22', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602724942', '', '', '2020-10-15 01:22:22', '2020-10-15 01:22:22', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602724942/', 0, 'action_monitor', '', 0), +(11233, 3, '2020-10-15 01:22:22', '2020-10-15 01:22:22', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724942-2', '', '', '2020-10-15 01:22:22', '2020-10-15 01:22:22', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724942-2/', 0, 'action_monitor', '', 0), +(11234, 3, '2020-10-15 01:22:22', '2020-10-15 01:22:22', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602724942-3', '', '', '2020-10-15 01:22:22', '2020-10-15 01:22:22', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602724942-3/', 0, 'action_monitor', '', 0), +(11235, 3, '2020-10-15 01:34:55', '2020-10-15 01:34:55', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602725695', '', '', '2020-10-15 01:34:55', '2020-10-15 01:34:55', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602725695/', 0, 'action_monitor', '', 0), +(11236, 3, '2020-10-15 01:34:55', '2020-10-15 01:34:55', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725695', '', '', '2020-10-15 01:34:55', '2020-10-15 01:34:55', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725695/', 0, 'action_monitor', '', 0), +(11237, 3, '2020-10-15 01:34:55', '2020-10-15 01:34:55', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602725695', '', '', '2020-10-15 01:34:56', '2020-10-15 01:34:56', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602725695/', 0, 'action_monitor', '', 0), +(11238, 3, '2020-10-15 01:34:56', '2020-10-15 01:34:56', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725696', '', '', '2020-10-15 01:34:56', '2020-10-15 01:34:56', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725696/', 0, 'action_monitor', '', 0), +(11239, 3, '2020-10-15 01:34:56', '2020-10-15 01:34:56', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725696-2', '', '', '2020-10-15 01:34:56', '2020-10-15 01:34:56', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725696-2/', 0, 'action_monitor', '', 0), +(11240, 3, '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602725877', '', '', '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602725877/', 0, 'action_monitor', '', 0), +(11241, 3, '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725877', '', '', '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725877/', 0, 'action_monitor', '', 0), +(11242, 3, '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602725877', '', '', '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602725877/', 0, 'action_monitor', '', 0), +(11243, 3, '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725877-2', '', '', '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725877-2/', 0, 'action_monitor', '', 0), +(11244, 3, '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725877-3', '', '', '2020-10-15 01:37:57', '2020-10-15 01:37:57', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725877-3/', 0, 'action_monitor', '', 0), +(11245, 3, '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602725942', '', '', '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602725942/', 0, 'action_monitor', '', 0), +(11246, 3, '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725942', '', '', '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725942/', 0, 'action_monitor', '', 0), +(11247, 3, '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602725942', '', '', '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602725942/', 0, 'action_monitor', '', 0), +(11248, 3, '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725942-2', '', '', '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725942-2/', 0, 'action_monitor', '', 0), +(11249, 3, '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725942-3', '', '', '2020-10-15 01:39:02', '2020-10-15 01:39:02', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725942-3/', 0, 'action_monitor', '', 0), +(11250, 3, '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602725974', '', '', '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602725974/', 0, 'action_monitor', '', 0), +(11251, 3, '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725974', '', '', '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725974/', 0, 'action_monitor', '', 0), +(11252, 3, '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602725974', '', '', '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602725974/', 0, 'action_monitor', '', 0), +(11253, 3, '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725974-2', '', '', '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725974-2/', 0, 'action_monitor', '', 0), +(11254, 3, '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602725974-3', '', '', '2020-10-15 01:39:34', '2020-10-15 01:39:34', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602725974-3/', 0, 'action_monitor', '', 0), +(11255, 3, '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602726044', '', '', '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602726044/', 0, 'action_monitor', '', 0), +(11256, 3, '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602726044', '', '', '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602726044/', 0, 'action_monitor', '', 0), +(11257, 3, '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602726044', '', '', '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602726044/', 0, 'action_monitor', '', 0), +(11258, 3, '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602726044-2', '', '', '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602726044-2/', 0, 'action_monitor', '', 0), +(11259, 3, '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602726044-3', '', '', '2020-10-15 01:40:44', '2020-10-15 01:40:44', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602726044-3/', 0, 'action_monitor', '', 0), +(11260, 3, '2020-10-15 01:41:13', '2020-10-15 01:41:13', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602726073', '', '', '2020-10-15 01:41:13', '2020-10-15 01:41:13', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602726073/', 0, 'action_monitor', '', 0); +INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES +(11261, 3, '2020-10-15 01:41:13', '2020-10-15 01:41:13', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602726073', '', '', '2020-10-15 01:41:13', '2020-10-15 01:41:13', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602726073/', 0, 'action_monitor', '', 0), +(11262, 3, '2020-10-15 01:41:13', '2020-10-15 01:41:13', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602726073', '', '', '2020-10-15 01:41:13', '2020-10-15 01:41:13', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602726073/', 0, 'action_monitor', '', 0), +(11263, 3, '2020-10-15 01:41:13', '2020-10-15 01:41:13', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602726073-2', '', '', '2020-10-15 01:41:13', '2020-10-15 01:41:13', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602726073-2/', 0, 'action_monitor', '', 0), +(11264, 3, '2020-10-15 01:41:13', '2020-10-15 01:41:13', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602726073-3', '', '', '2020-10-15 01:41:14', '2020-10-15 01:41:14', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602726073-3/', 0, 'action_monitor', '', 0), +(11265, 3, '2020-10-15 13:57:05', '2020-10-15 13:57:05', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602770225', '', '', '2020-10-15 13:57:05', '2020-10-15 13:57:05', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602770225/', 0, 'action_monitor', '', 0), +(11266, 3, '2020-10-15 13:57:06', '2020-10-15 13:57:06', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770226', '', '', '2020-10-15 13:57:06', '2020-10-15 13:57:06', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770226/', 0, 'action_monitor', '', 0), +(11267, 3, '2020-10-15 13:57:06', '2020-10-15 13:57:06', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602770226', '', '', '2020-10-15 13:57:06', '2020-10-15 13:57:06', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602770226/', 0, 'action_monitor', '', 0), +(11268, 3, '2020-10-15 13:57:06', '2020-10-15 13:57:06', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770226-2', '', '', '2020-10-15 13:57:07', '2020-10-15 13:57:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770226-2/', 0, 'action_monitor', '', 0), +(11269, 3, '2020-10-15 13:57:07', '2020-10-15 13:57:07', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770227', '', '', '2020-10-15 13:57:07', '2020-10-15 13:57:07', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770227/', 0, 'action_monitor', '', 0), +(11270, 3, '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602770268', '', '', '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602770268/', 0, 'action_monitor', '', 0), +(11271, 3, '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770268', '', '', '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770268/', 0, 'action_monitor', '', 0), +(11272, 3, '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602770268', '', '', '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602770268/', 0, 'action_monitor', '', 0), +(11273, 3, '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770268-2', '', '', '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770268-2/', 0, 'action_monitor', '', 0), +(11274, 3, '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770268-3', '', '', '2020-10-15 13:57:48', '2020-10-15 13:57:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770268-3/', 0, 'action_monitor', '', 0), +(11275, 3, '2020-10-15 13:58:28', '2020-10-15 13:58:28', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602770308', '', '', '2020-10-15 13:58:28', '2020-10-15 13:58:28', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602770308/', 0, 'action_monitor', '', 0), +(11276, 3, '2020-10-15 13:58:28', '2020-10-15 13:58:28', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770308', '', '', '2020-10-15 13:58:28', '2020-10-15 13:58:28', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770308/', 0, 'action_monitor', '', 0), +(11277, 3, '2020-10-15 13:58:28', '2020-10-15 13:58:28', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602770308', '', '', '2020-10-15 13:58:28', '2020-10-15 13:58:28', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602770308/', 0, 'action_monitor', '', 0), +(11278, 3, '2020-10-15 13:58:28', '2020-10-15 13:58:28', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770308-2', '', '', '2020-10-15 13:58:28', '2020-10-15 13:58:28', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770308-2/', 0, 'action_monitor', '', 0), +(11279, 3, '2020-10-15 13:58:28', '2020-10-15 13:58:28', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770308-3', '', '', '2020-10-15 13:58:29', '2020-10-15 13:58:29', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770308-3/', 0, 'action_monitor', '', 0), +(11280, 3, '2020-10-15 13:59:26', '2020-10-15 13:59:26', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602770366', '', '', '2020-10-15 13:59:26', '2020-10-15 13:59:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602770366/', 0, 'action_monitor', '', 0), +(11281, 3, '2020-10-15 13:59:26', '2020-10-15 13:59:26', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770366', '', '', '2020-10-15 13:59:26', '2020-10-15 13:59:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770366/', 0, 'action_monitor', '', 0), +(11282, 3, '2020-10-15 13:59:26', '2020-10-15 13:59:26', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602770366', '', '', '2020-10-15 13:59:26', '2020-10-15 13:59:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602770366/', 0, 'action_monitor', '', 0), +(11283, 3, '2020-10-15 13:59:27', '2020-10-15 13:59:27', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770367', '', '', '2020-10-15 13:59:27', '2020-10-15 13:59:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770367/', 0, 'action_monitor', '', 0), +(11284, 3, '2020-10-15 13:59:27', '2020-10-15 13:59:27', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770367-2', '', '', '2020-10-15 13:59:27', '2020-10-15 13:59:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770367-2/', 0, 'action_monitor', '', 0), +(11285, 3, '2020-10-15 13:59:50', '2020-10-15 13:59:50', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602770390', '', '', '2020-10-15 13:59:50', '2020-10-15 13:59:50', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602770390/', 0, 'action_monitor', '', 0), +(11286, 3, '2020-10-15 13:59:50', '2020-10-15 13:59:50', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770390', '', '', '2020-10-15 13:59:50', '2020-10-15 13:59:50', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770390/', 0, 'action_monitor', '', 0), +(11287, 3, '2020-10-15 13:59:51', '2020-10-15 13:59:51', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602770391', '', '', '2020-10-15 13:59:51', '2020-10-15 13:59:51', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602770391/', 0, 'action_monitor', '', 0), +(11288, 3, '2020-10-15 13:59:51', '2020-10-15 13:59:51', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770391', '', '', '2020-10-15 13:59:51', '2020-10-15 13:59:51', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770391/', 0, 'action_monitor', '', 0), +(11289, 3, '2020-10-15 13:59:51', '2020-10-15 13:59:51', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602770391-2', '', '', '2020-10-15 13:59:51', '2020-10-15 13:59:51', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602770391-2/', 0, 'action_monitor', '', 0), +(11290, 3, '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602791066', '', '', '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602791066/', 0, 'action_monitor', '', 0), +(11291, 3, '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602791066', '', '', '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602791066/', 0, 'action_monitor', '', 0), +(11292, 3, '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602791066', '', '', '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602791066/', 0, 'action_monitor', '', 0), +(11293, 3, '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602791066-2', '', '', '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602791066-2/', 0, 'action_monitor', '', 0), +(11294, 3, '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602791066-3', '', '', '2020-10-15 19:44:26', '2020-10-15 19:44:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602791066-3/', 0, 'action_monitor', '', 0), +(11295, 3, '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602791124', '', '', '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602791124/', 0, 'action_monitor', '', 0), +(11296, 3, '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602791124', '', '', '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602791124/', 0, 'action_monitor', '', 0), +(11297, 3, '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602791124', '', '', '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602791124/', 0, 'action_monitor', '', 0), +(11298, 3, '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602791124-2', '', '', '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602791124-2/', 0, 'action_monitor', '', 0), +(11299, 3, '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602791124-3', '', '', '2020-10-15 19:45:24', '2020-10-15 19:45:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602791124-3/', 0, 'action_monitor', '', 0), +(11300, 3, '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602791148', '', '', '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602791148/', 0, 'action_monitor', '', 0), +(11301, 3, '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602791148', '', '', '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602791148/', 0, 'action_monitor', '', 0), +(11302, 3, '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602791148', '', '', '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602791148/', 0, 'action_monitor', '', 0), +(11303, 3, '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602791148-2', '', '', '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602791148-2/', 0, 'action_monitor', '', 0), +(11304, 3, '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602791148-3', '', '', '2020-10-15 19:45:48', '2020-10-15 19:45:48', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602791148-3/', 0, 'action_monitor', '', 0), +(11305, 3, '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602792848', '', '', '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602792848/', 0, 'action_monitor', '', 0), +(11306, 3, '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602792848', '', '', '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602792848/', 0, 'action_monitor', '', 0), +(11307, 3, '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602792848', '', '', '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602792848/', 0, 'action_monitor', '', 0), +(11308, 3, '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602792848-2', '', '', '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602792848-2/', 0, 'action_monitor', '', 0), +(11309, 3, '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602792848-3', '', '', '2020-10-15 20:14:08', '2020-10-15 20:14:08', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602792848-3/', 0, 'action_monitor', '', 0), +(11310, 3, '2020-10-15 20:15:04', '2020-10-15 20:15:04', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602792904', '', '', '2020-10-15 20:15:04', '2020-10-15 20:15:04', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602792904/', 0, 'action_monitor', '', 0), +(11311, 3, '2020-10-15 20:15:04', '2020-10-15 20:15:04', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602792904', '', '', '2020-10-15 20:15:04', '2020-10-15 20:15:04', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602792904/', 0, 'action_monitor', '', 0), +(11312, 3, '2020-10-15 20:15:04', '2020-10-15 20:15:04', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602792904', '', '', '2020-10-15 20:15:04', '2020-10-15 20:15:04', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602792904/', 0, 'action_monitor', '', 0), +(11313, 3, '2020-10-15 20:15:05', '2020-10-15 20:15:05', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602792905', '', '', '2020-10-15 20:15:05', '2020-10-15 20:15:05', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602792905/', 0, 'action_monitor', '', 0), +(11314, 3, '2020-10-15 20:15:05', '2020-10-15 20:15:05', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602792905-2', '', '', '2020-10-15 20:15:05', '2020-10-15 20:15:05', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602792905-2/', 0, 'action_monitor', '', 0), +(11315, 3, '2020-10-15 20:15:26', '2020-10-15 20:15:26', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602792926', '', '', '2020-10-15 20:15:26', '2020-10-15 20:15:26', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602792926/', 0, 'action_monitor', '', 0), +(11316, 3, '2020-10-15 20:15:26', '2020-10-15 20:15:26', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602792926', '', '', '2020-10-15 20:15:27', '2020-10-15 20:15:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602792926/', 0, 'action_monitor', '', 0), +(11317, 3, '2020-10-15 20:15:27', '2020-10-15 20:15:27', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602792927', '', '', '2020-10-15 20:15:27', '2020-10-15 20:15:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602792927/', 0, 'action_monitor', '', 0), +(11318, 3, '2020-10-15 20:15:27', '2020-10-15 20:15:27', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602792927', '', '', '2020-10-15 20:15:27', '2020-10-15 20:15:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602792927/', 0, 'action_monitor', '', 0), +(11319, 3, '2020-10-15 20:15:27', '2020-10-15 20:15:27', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602792927-2', '', '', '2020-10-15 20:15:27', '2020-10-15 20:15:27', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602792927-2/', 0, 'action_monitor', '', 0), +(11320, 1, '2020-10-15 20:59:11', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2020-10-15 20:59:11', '0000-00-00 00:00:00', '', 0, 'https://devgatsbyint.wpengine.com/?p=11320', 0, 'post', '', 0), +(11321, 3, '2020-10-15 21:35:44', '2020-10-15 21:35:44', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602797744', '', '', '2020-10-15 21:35:44', '2020-10-15 21:35:44', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602797744/', 0, 'action_monitor', '', 0), +(11322, 3, '2020-10-15 21:35:44', '2020-10-15 21:35:44', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602797744', '', '', '2020-10-15 21:35:44', '2020-10-15 21:35:44', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602797744/', 0, 'action_monitor', '', 0), +(11323, 3, '2020-10-15 21:35:45', '2020-10-15 21:35:45', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602797745', '', '', '2020-10-15 21:35:45', '2020-10-15 21:35:45', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602797745/', 0, 'action_monitor', '', 0), +(11324, 3, '2020-10-15 21:35:45', '2020-10-15 21:35:45', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602797745', '', '', '2020-10-15 21:35:45', '2020-10-15 21:35:45', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602797745/', 0, 'action_monitor', '', 0), +(11325, 3, '2020-10-15 21:35:45', '2020-10-15 21:35:45', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602797745-2', '', '', '2020-10-15 21:35:45', '2020-10-15 21:35:45', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602797745-2/', 0, 'action_monitor', '', 0), +(11326, 3, '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602797815', '', '', '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602797815/', 0, 'action_monitor', '', 0), +(11327, 3, '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602797815', '', '', '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602797815/', 0, 'action_monitor', '', 0), +(11328, 3, '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602797815', '', '', '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602797815/', 0, 'action_monitor', '', 0), +(11329, 3, '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602797815-2', '', '', '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602797815-2/', 0, 'action_monitor', '', 0), +(11330, 3, '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602797815-3', '', '', '2020-10-15 21:36:55', '2020-10-15 21:36:55', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602797815-3/', 0, 'action_monitor', '', 0), +(11331, 3, '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602797844', '', '', '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602797844/', 0, 'action_monitor', '', 0), +(11332, 3, '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602797844', '', '', '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602797844/', 0, 'action_monitor', '', 0), +(11333, 3, '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602797844', '', '', '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602797844/', 0, 'action_monitor', '', 0), +(11334, 3, '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602797844-2', '', '', '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602797844-2/', 0, 'action_monitor', '', 0), +(11335, 3, '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602797844-3', '', '', '2020-10-15 21:37:24', '2020-10-15 21:37:24', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602797844-3/', 0, 'action_monitor', '', 0), +(11336, 4, '2020-10-16 23:10:37', '2020-10-16 23:10:37', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602889837', '', '', '2020-10-16 23:10:37', '2020-10-16 23:10:37', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602889837/', 0, 'action_monitor', '', 0), +(11337, 4, '2020-10-16 23:10:40', '2020-10-16 23:10:40', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602889840', '', '', '2020-10-16 23:10:40', '2020-10-16 23:10:40', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602889840/', 0, 'action_monitor', '', 0), +(11338, 4, '2020-10-16 23:10:40', '2020-10-16 23:10:40', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602889840', '', '', '2020-10-16 23:10:40', '2020-10-16 23:10:40', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602889840/', 0, 'action_monitor', '', 0), +(11339, 4, '2020-10-16 23:10:40', '2020-10-16 23:10:40', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602889840-2', '', '', '2020-10-16 23:10:40', '2020-10-16 23:10:40', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602889840-2/', 0, 'action_monitor', '', 0), +(11340, 4, '2020-10-16 23:10:40', '2020-10-16 23:10:40', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602889840-3', '', '', '2020-10-16 23:10:40', '2020-10-16 23:10:40', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602889840-3/', 0, 'action_monitor', '', 0), +(11341, 4, '2020-10-16 23:13:09', '2020-10-16 23:13:09', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602889989', '', '', '2020-10-16 23:13:09', '2020-10-16 23:13:09', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602889989/', 0, 'action_monitor', '', 0), +(11342, 4, '2020-10-16 23:13:09', '2020-10-16 23:13:09', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602889989', '', '', '2020-10-16 23:13:10', '2020-10-16 23:13:10', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602889989/', 0, 'action_monitor', '', 0), +(11343, 4, '2020-10-16 23:13:10', '2020-10-16 23:13:10', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602889990', '', '', '2020-10-16 23:13:10', '2020-10-16 23:13:10', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602889990/', 0, 'action_monitor', '', 0), +(11344, 4, '2020-10-16 23:13:10', '2020-10-16 23:13:10', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602889990', '', '', '2020-10-16 23:13:10', '2020-10-16 23:13:10', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602889990/', 0, 'action_monitor', '', 0), +(11345, 4, '2020-10-16 23:13:10', '2020-10-16 23:13:10', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602889990-2', '', '', '2020-10-16 23:13:10', '2020-10-16 23:13:10', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602889990-2/', 0, 'action_monitor', '', 0), +(11346, 4, '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 'Sample Page', '', 'publish', 'closed', 'closed', '', 'sample-page-1602890181', '', '', '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602890181/', 0, 'action_monitor', '', 0), +(11347, 4, '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602890181', '', '', '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890181/', 0, 'action_monitor', '', 0), +(11348, 4, '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 'Hello world!', '', 'publish', 'closed', 'closed', '', 'hello-world-1602890181', '', '', '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602890181/', 0, 'action_monitor', '', 0), +(11349, 4, '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602890181-2', '', '', '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890181-2/', 0, 'action_monitor', '', 0), +(11350, 4, '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602890181-3', '', '', '2020-10-16 23:16:21', '2020-10-16 23:16:21', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890181-3/', 0, 'action_monitor', '', 0), +(11351, 4, '2020-10-16 23:17:37', '2020-10-16 23:17:37', '', 'Sample Page DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'sample-page-delta-sync-1602890257', '', '', '2020-10-16 23:17:37', '2020-10-16 23:17:37', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602890257/', 0, 'action_monitor', '', 0), +(11352, 4, '2020-10-16 23:17:37', '2020-10-16 23:17:37', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602890257', '', '', '2020-10-16 23:17:37', '2020-10-16 23:17:37', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890257/', 0, 'action_monitor', '', 0), +(11353, 4, '2020-10-16 23:17:37', '2020-10-16 23:17:37', '', 'Hello world! DELTA SYNC', '', 'publish', 'closed', 'closed', '', 'hello-world-delta-sync-1602890257', '', '', '2020-10-16 23:17:37', '2020-10-16 23:17:37', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602890257/', 0, 'action_monitor', '', 0), +(11354, 4, '2020-10-16 23:17:37', '2020-10-16 23:17:37', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602890257-2', '', '', '2020-10-16 23:17:38', '2020-10-16 23:17:38', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890257-2/', 0, 'action_monitor', '', 0), +(11355, 4, '2020-10-16 23:17:38', '2020-10-16 23:17:38', '', 'tyler', '', 'publish', 'closed', 'closed', '', 'tyler-1602890258', '', '', '2020-10-16 23:17:38', '2020-10-16 23:17:38', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890258/', 0, 'action_monitor', '', 0), +(11356, 4, '2020-10-16 23:18:09', '2020-10-16 23:18:09', '', 'Sample Page', '', 'trash', 'closed', 'closed', '', 'sample-page-1602890289__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602890289/', 0, 'action_monitor', '', 0), +(11357, 4, '2020-10-16 23:18:09', '2020-10-16 23:18:09', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890289__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890289/', 0, 'action_monitor', '', 0), +(11358, 4, '2020-10-16 23:18:09', '2020-10-16 23:18:09', '', 'Hello world!', '', 'trash', 'closed', 'closed', '', 'hello-world-1602890289__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602890289/', 0, 'action_monitor', '', 0), +(11359, 4, '2020-10-16 23:18:09', '2020-10-16 23:18:09', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890289-2__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890289-2/', 0, 'action_monitor', '', 0), +(11360, 4, '2020-10-16 23:18:09', '2020-10-16 23:18:09', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890289-3__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890289-3/', 0, 'action_monitor', '', 0), +(11361, 4, '2020-10-16 23:22:03', '2020-10-16 23:22:03', '', 'Sample Page', '', 'trash', 'closed', 'closed', '', 'sample-page-1602890523__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602890523/', 0, 'action_monitor', '', 0), +(11362, 4, '2020-10-16 23:22:03', '2020-10-16 23:22:03', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890523__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890523/', 0, 'action_monitor', '', 0), +(11363, 4, '2020-10-16 23:22:03', '2020-10-16 23:22:03', '', 'Hello world!', '', 'trash', 'closed', 'closed', '', 'hello-world-1602890523__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602890523/', 0, 'action_monitor', '', 0), +(11364, 4, '2020-10-16 23:22:03', '2020-10-16 23:22:03', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890523-2__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890523-2/', 0, 'action_monitor', '', 0), +(11365, 4, '2020-10-16 23:22:03', '2020-10-16 23:22:03', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890523-3__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890523-3/', 0, 'action_monitor', '', 0), +(11366, 4, '2020-10-16 23:23:16', '2020-10-16 23:23:16', '', 'Sample Page DELTA SYNC', '', 'trash', 'closed', 'closed', '', 'sample-page-delta-sync-1602890596__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-delta-sync-1602890596/', 0, 'action_monitor', '', 0), +(11367, 4, '2020-10-16 23:23:16', '2020-10-16 23:23:16', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890596__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890596/', 0, 'action_monitor', '', 0), +(11368, 4, '2020-10-16 23:23:16', '2020-10-16 23:23:16', '', 'Hello world! DELTA SYNC', '', 'trash', 'closed', 'closed', '', 'hello-world-delta-sync-1602890596__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-delta-sync-1602890596/', 0, 'action_monitor', '', 0), +(11369, 4, '2020-10-16 23:23:16', '2020-10-16 23:23:16', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890596-2__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890596-2/', 0, 'action_monitor', '', 0), +(11370, 4, '2020-10-16 23:23:16', '2020-10-16 23:23:16', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890596-3__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890596-3/', 0, 'action_monitor', '', 0), +(11371, 4, '2020-10-16 23:23:47', '2020-10-16 23:23:47', '', 'Sample Page', '', 'trash', 'closed', 'closed', '', 'sample-page-1602890627__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/sample-page-1602890627/', 0, 'action_monitor', '', 0), +(11372, 4, '2020-10-16 23:23:47', '2020-10-16 23:23:47', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890627__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890627/', 0, 'action_monitor', '', 0), +(11373, 4, '2020-10-16 23:23:47', '2020-10-16 23:23:47', '', 'Hello world!', '', 'trash', 'closed', 'closed', '', 'hello-world-1602890627__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/hello-world-1602890627/', 0, 'action_monitor', '', 0), +(11374, 4, '2020-10-16 23:23:47', '2020-10-16 23:23:47', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890627-2__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890627-2/', 0, 'action_monitor', '', 0), +(11375, 4, '2020-10-16 23:23:47', '2020-10-16 23:23:47', '', 'tyler', '', 'trash', 'closed', 'closed', '', 'tyler-1602890627-3__trashed', '', '', '2020-10-17 14:17:42', '2020-10-17 14:17:42', '', 0, 'https://devgatsbyint.wpengine.com/action_monitor/tyler-1602890627-3/', 0, 'action_monitor', '', 0), +(11376, 3, '2020-10-17 13:49:19', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2020-10-17 13:49:19', '0000-00-00 00:00:00', '', 0, 'https://devgatsbyint.wpengine.com/?p=11376', 0, 'post', '', 0), +(11377, 3, '2020-10-17 14:18:05', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'closed', 'closed', '', '', '', '', '2020-10-17 14:18:05', '0000-00-00 00:00:00', '', 0, 'https://devgatsbyint.wpengine.com/?post_type=action_monitor&p=11377', 0, 'action_monitor', '', 0); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_signups` +-- + +CREATE TABLE `wp_signups` ( + `signup_id` bigint(20) NOT NULL, + `domain` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `path` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `title` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `user_login` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `registered` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `activated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `active` tinyint(1) NOT NULL DEFAULT '0', + `activation_key` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `meta` longtext COLLATE utf8mb4_unicode_ci +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_termmeta` +-- + +CREATE TABLE `wp_termmeta` ( + `meta_id` bigint(20) UNSIGNED NOT NULL, + `term_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `meta_value` longtext COLLATE utf8mb4_unicode_ci +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_termmeta` +-- + +INSERT INTO `wp_termmeta` (`meta_id`, `term_id`, `meta_key`, `meta_value`) VALUES +(1, 56, 'product_count_product_cat', '0'), +(2, 57, 'order', '0'), +(3, 58, 'order', '0'), +(4, 59, 'order', '0'), +(5, 60, 'order', '0'), +(6, 61, 'order', '0'), +(7, 62, 'order', '0'), +(8, 58, 'product_count_product_cat', '5'), +(9, 57, 'product_count_product_cat', '14'), +(10, 63, 'order_pa_color', '0'), +(11, 64, 'order_pa_color', '0'), +(12, 65, 'order_pa_color', '0'), +(13, 66, 'order_pa_size', '0'), +(14, 67, 'order_pa_size', '0'), +(15, 68, 'order_pa_size', '0'), +(16, 59, 'product_count_product_cat', '3'), +(17, 69, 'order_pa_color', '0'), +(18, 60, 'product_count_product_cat', '5'), +(19, 70, 'order_pa_color', '0'), +(20, 61, 'product_count_product_cat', '2'), +(21, 62, 'product_count_product_cat', '1'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_terms` +-- + +CREATE TABLE `wp_terms` ( + `term_id` bigint(20) UNSIGNED NOT NULL, + `name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `slug` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `term_group` bigint(10) NOT NULL DEFAULT '0' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_terms` +-- + +INSERT INTO `wp_terms` (`term_id`, `name`, `slug`, `term_group`) VALUES +(1, 'Uncategorized', 'uncategorized', 0), +(2, 'activity-comment', 'activity-comment', 0), +(3, 'activity-comment-author', 'activity-comment-author', 0), +(4, 'activity-at-message', 'activity-at-message', 0), +(5, 'groups-at-message', 'groups-at-message', 0), +(6, 'core-user-registration', 'core-user-registration', 0), +(7, 'friends-request', 'friends-request', 0), +(8, 'friends-request-accepted', 'friends-request-accepted', 0), +(9, 'groups-details-updated', 'groups-details-updated', 0), +(10, 'groups-invitation', 'groups-invitation', 0), +(11, 'groups-member-promoted', 'groups-member-promoted', 0), +(12, 'groups-membership-request', 'groups-membership-request', 0), +(13, 'messages-unread', 'messages-unread', 0), +(14, 'settings-verify-email-change', 'settings-verify-email-change', 0), +(15, 'groups-membership-request-accepted', 'groups-membership-request-accepted', 0), +(16, 'groups-membership-request-rejected', 'groups-membership-request-rejected', 0), +(17, 'main menu', 'main-menu', 0), +(18, 'Français', 'fr', 0), +(19, 'Français', 'pll_fr', 0), +(20, 'pll_5e72cb79951df', 'pll_5e72cb79951df', 0), +(21, 'English', 'en', 0), +(22, 'English', 'pll_en', 0), +(23, 'Uncategorized', 'uncategorized-en', 0), +(25, 'pll_5e72cdb65e137', 'pll_5e72cdb65e137', 0), +(26, 'pll_5e72d0b16d5f9', 'pll_5e72d0b16d5f9', 0), +(27, '1', '1', 0), +(28, 'pll_5f3f144ebdc37', 'pll_5f3f144ebdc37', 0), +(29, '2', '2', 0), +(30, 'pll_5f3f145078690', 'pll_5f3f145078690', 0), +(31, '3', '3', 0), +(32, 'pll_5f3f1451a4f85', 'pll_5f3f1451a4f85', 0), +(33, 'Test Category', 'test-category', 0), +(34, 'pll_5f47fd1f997d3', 'pll_5f47fd1f997d3', 0), +(35, 'Gutenberg', 'gutenberg', 0), +(36, 'pll_5f629fe34d3e0', 'pll_5f629fe34d3e0', 0), +(37, 'Primary', 'primary', 0), +(38, 'Social Media', 'social-media', 0), +(39, 'alignments', 'alignments', 0), +(40, 'pll_5f629fe377c19', 'pll_5f629fe377c19', 0), +(41, 'widgets', 'widgets', 0), +(42, 'pll_5f629fe3a7113', 'pll_5f629fe3a7113', 0), +(43, 'simple', 'simple', 0), +(44, 'grouped', 'grouped', 0), +(45, 'variable', 'variable', 0), +(46, 'external', 'external', 0), +(47, 'exclude-from-search', 'exclude-from-search', 0), +(48, 'exclude-from-catalog', 'exclude-from-catalog', 0), +(49, 'featured', 'featured', 0), +(50, 'outofstock', 'outofstock', 0), +(51, 'rated-1', 'rated-1', 0), +(52, 'rated-2', 'rated-2', 0), +(53, 'rated-3', 'rated-3', 0), +(54, 'rated-4', 'rated-4', 0), +(55, 'rated-5', 'rated-5', 0), +(56, 'Uncategorized', 'uncategorized', 0), +(57, 'Clothing', 'clothing', 0), +(58, 'Tshirts', 'tshirts', 0), +(59, 'Hoodies', 'hoodies', 0), +(60, 'Accessories', 'accessories', 0), +(61, 'Music', 'music', 0), +(62, 'Decor', 'decor', 0), +(63, 'Blue', 'blue', 0), +(64, 'Green', 'green', 0), +(65, 'Red', 'red', 0), +(66, 'Large', 'large', 0), +(67, 'Medium', 'medium', 0), +(68, 'Small', 'small', 0), +(69, 'Gray', 'gray', 0), +(70, 'Yellow', 'yellow', 0), +(71, 'h1', 'h1', 0), +(72, 'h2', 'h2', 0), +(73, 'h3', 'h3', 0), +(74, 'h4', 'h4', 0), +(75, 'h5', 'h5', 0), +(76, 'pll_5f6e6af6763c5', 'pll_5f6e6af6763c5', 0); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_term_relationships` +-- + +CREATE TABLE `wp_term_relationships` ( + `object_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `term_taxonomy_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `term_order` int(11) NOT NULL DEFAULT '0' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_term_relationships` +-- + +INSERT INTO `wp_term_relationships` (`object_id`, `term_taxonomy_id`, `term_order`) VALUES +(1, 19, 0), +(1, 20, 0), +(1, 21, 0), +(1, 23, 0), +(2, 21, 0), +(3, 21, 0), +(16, 21, 0), +(17, 21, 0), +(17, 25, 0), +(18, 2, 0), +(19, 3, 0), +(20, 4, 0), +(21, 5, 0), +(22, 6, 0), +(23, 7, 0), +(23, 20, 0), +(23, 22, 0), +(24, 8, 0), +(25, 9, 0), +(26, 10, 0), +(27, 11, 0), +(27, 22, 0), +(27, 28, 0), +(28, 12, 0), +(29, 13, 0), +(29, 22, 0), +(29, 30, 0), +(30, 14, 0), +(31, 15, 0), +(31, 22, 0), +(31, 32, 0), +(32, 16, 0), +(33, 22, 0), +(33, 34, 0), +(35, 22, 0), +(35, 36, 0), +(39, 22, 0), +(39, 40, 0), +(41, 22, 0), +(41, 42, 0), +(79, 21, 0), +(79, 35, 0), +(79, 39, 0), +(90, 21, 0), +(90, 35, 0), +(90, 41, 0), +(94, 21, 0), +(94, 35, 0), +(95, 21, 0), +(96, 21, 0), +(97, 21, 0), +(99, 21, 0), +(100, 21, 0), +(101, 21, 0), +(102, 21, 0), +(103, 21, 0), +(104, 21, 0), +(114, 21, 0), +(114, 35, 0), +(116, 21, 0), +(116, 35, 0), +(122, 21, 0), +(122, 35, 0), +(125, 21, 0), +(125, 35, 0), +(128, 21, 0), +(128, 35, 0), +(195, 21, 0), +(284, 21, 0), +(316, 21, 0), +(362, 21, 0), +(564, 17, 0), +(565, 17, 0), +(566, 17, 0), +(567, 17, 0), +(586, 21, 0), +(711, 1, 0), +(711, 21, 0), +(1276, 18, 0), +(1276, 25, 0), +(1311, 18, 0), +(1311, 26, 0), +(1335, 21, 0), +(1335, 26, 0), +(7627, 21, 0), +(7646, 21, 0), +(7740, 21, 0), +(7744, 21, 0), +(7748, 21, 0), +(7752, 21, 0), +(7756, 21, 0), +(7760, 21, 0), +(7764, 21, 0), +(7772, 21, 0), +(7868, 21, 0), +(7956, 21, 0), +(7981, 21, 0), +(7985, 21, 0), +(8449, 21, 0), +(8475, 45, 0), +(8475, 49, 0), +(8475, 58, 0), +(8475, 63, 0), +(8475, 64, 0), +(8475, 65, 0), +(8475, 66, 0), +(8475, 67, 0), +(8475, 68, 0), +(8477, 45, 0), +(8477, 59, 0), +(8477, 63, 0), +(8477, 64, 0), +(8477, 65, 0), +(8479, 43, 0), +(8479, 59, 0), +(8479, 63, 0), +(8481, 43, 0), +(8481, 58, 0), +(8481, 69, 0), +(8483, 43, 0), +(8483, 60, 0), +(8483, 65, 0), +(8485, 43, 0), +(8485, 60, 0), +(8487, 43, 0), +(8487, 49, 0), +(8487, 60, 0), +(8487, 70, 0), +(8489, 43, 0), +(8489, 49, 0), +(8489, 60, 0), +(8491, 43, 0), +(8491, 47, 0), +(8491, 48, 0), +(8491, 49, 0), +(8491, 59, 0), +(8491, 69, 0), +(8493, 43, 0), +(8493, 49, 0), +(8493, 59, 0), +(8495, 43, 0), +(8495, 58, 0), +(8495, 64, 0), +(8497, 43, 0), +(8497, 58, 0), +(8497, 63, 0), +(8499, 43, 0), +(8499, 61, 0), +(8501, 43, 0), +(8501, 61, 0), +(8503, 56, 0), +(8505, 56, 0), +(8507, 56, 0), +(8509, 56, 0), +(8511, 56, 0), +(8513, 56, 0), +(8515, 43, 0), +(8515, 58, 0), +(8515, 69, 0), +(8517, 43, 0), +(8517, 60, 0), +(8517, 65, 0), +(8519, 44, 0), +(8519, 57, 0), +(8521, 43, 0), +(8521, 62, 0), +(8523, 56, 0), +(8523, 63, 0), +(8525, 21, 0), +(8529, 21, 0), +(8533, 21, 0), +(8537, 21, 0), +(8541, 21, 0), +(8545, 21, 0), +(8549, 21, 0), +(8553, 21, 0), +(8557, 21, 0), +(8561, 21, 0), +(8565, 21, 0), +(8569, 21, 0), +(8573, 21, 0), +(8577, 21, 0), +(8581, 21, 0), +(8585, 21, 0), +(8589, 21, 0), +(8593, 21, 0), +(8597, 21, 0), +(8601, 21, 0), +(8605, 21, 0), +(8609, 21, 0), +(8964, 21, 0), +(9204, 21, 0), +(9208, 21, 0), +(9210, 21, 0), +(9219, 21, 0), +(9361, 21, 0), +(9361, 71, 0), +(9361, 72, 0), +(9361, 73, 0), +(9361, 74, 0), +(9361, 75, 0), +(9431, 21, 0), +(9437, 21, 0), +(9439, 21, 0), +(9620, 21, 0), +(9620, 76, 0), +(9634, 21, 0), +(9646, 18, 0), +(9646, 76, 0), +(9722, 21, 0), +(9818, 21, 0), +(9827, 21, 0), +(10050, 21, 0), +(10050, 23, 0), +(10081, 21, 0), +(10081, 23, 0), +(10439, 21, 0), +(10445, 21, 0), +(10449, 21, 0), +(10453, 21, 0), +(10465, 21, 0), +(10467, 21, 0), +(10471, 21, 0), +(10475, 21, 0), +(10479, 21, 0), +(10513, 21, 0), +(10515, 21, 0), +(10621, 21, 0), +(10627, 21, 0), +(10690, 21, 0), +(10705, 21, 0), +(10715, 21, 0), +(10927, 21, 0), +(11320, 21, 0), +(11376, 21, 0); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_term_taxonomy` +-- + +CREATE TABLE `wp_term_taxonomy` ( + `term_taxonomy_id` bigint(20) UNSIGNED NOT NULL, + `term_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `taxonomy` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `description` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `parent` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `count` bigint(20) NOT NULL DEFAULT '0' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_term_taxonomy` +-- + +INSERT INTO `wp_term_taxonomy` (`term_taxonomy_id`, `term_id`, `taxonomy`, `description`, `parent`, `count`) VALUES +(1, 1, 'category', '', 0, 0), +(2, 2, 'bp-email-type', 'A member has replied to an activity update that the recipient posted.', 0, 1), +(3, 3, 'bp-email-type', 'A member has replied to a comment on an activity update that the recipient posted.', 0, 1), +(4, 4, 'bp-email-type', 'Recipient was mentioned in an activity update.', 0, 1), +(5, 5, 'bp-email-type', 'Recipient was mentioned in a group activity update.', 0, 1), +(6, 6, 'bp-email-type', 'Recipient has registered for an account.', 0, 1), +(7, 7, 'bp-email-type', 'A member has sent a friend request to the recipient.', 0, 1), +(8, 8, 'bp-email-type', 'Recipient has had a friend request accepted by a member.', 0, 1), +(9, 9, 'bp-email-type', 'A group\'s details were updated.', 0, 1), +(10, 10, 'bp-email-type', 'A member has sent a group invitation to the recipient.', 0, 1), +(11, 11, 'bp-email-type', 'Recipient\'s status within a group has changed.', 0, 1), +(12, 12, 'bp-email-type', 'A member has requested permission to join a group.', 0, 1), +(13, 13, 'bp-email-type', 'Recipient has received a private message.', 0, 1), +(14, 14, 'bp-email-type', 'Recipient has changed their email address.', 0, 1), +(15, 15, 'bp-email-type', 'Recipient had requested to join a group, which was accepted.', 0, 1), +(16, 16, 'bp-email-type', 'Recipient had requested to join a group, which was rejected.', 0, 1), +(17, 17, 'nav_menu', '', 0, 4), +(18, 18, 'language', 'a:3:{s:6:\"locale\";s:5:\"fr_CA\";s:3:\"rtl\";i:0;s:9:\"flag_code\";s:6:\"quebec\";}', 0, 3), +(19, 19, 'term_language', '', 0, 1), +(20, 20, 'term_translations', 'a:2:{s:2:\"fr\";i:1;s:2:\"en\";i:23;}', 0, 2), +(21, 21, 'language', 'a:3:{s:6:\"locale\";s:5:\"en_CA\";s:3:\"rtl\";i:0;s:9:\"flag_code\";s:2:\"ca\";}', 0, 85), +(22, 22, 'term_language', '', 0, 8), +(23, 23, 'category', '', 0, 1), +(25, 25, 'post_translations', 'a:2:{s:2:\"fr\";i:1276;s:2:\"en\";i:17;}', 0, 2), +(26, 26, 'post_translations', 'a:2:{s:2:\"en\";i:1335;s:2:\"fr\";i:1311;}', 0, 2), +(27, 27, 'post_tag', '', 0, 0), +(28, 28, 'term_translations', 'a:1:{s:2:\"en\";i:27;}', 0, 1), +(29, 29, 'post_tag', '', 0, 0), +(30, 30, 'term_translations', 'a:1:{s:2:\"en\";i:29;}', 0, 1), +(31, 31, 'post_tag', '', 0, 0), +(32, 32, 'term_translations', 'a:1:{s:2:\"en\";i:31;}', 0, 1), +(33, 33, 'category', '', 0, 0), +(34, 34, 'term_translations', 'a:1:{s:2:\"en\";i:33;}', 0, 1), +(35, 35, 'category', '', 0, 8), +(36, 36, 'term_translations', 'a:1:{s:2:\"en\";i:35;}', 0, 1), +(37, 37, 'nav_menu', '', 0, 0), +(38, 38, 'nav_menu', '', 0, 0), +(39, 39, 'post_tag', '', 0, 1), +(40, 40, 'term_translations', 'a:1:{s:2:\"en\";i:39;}', 0, 1), +(41, 41, 'post_tag', '', 0, 1), +(42, 42, 'term_translations', 'a:1:{s:2:\"en\";i:41;}', 0, 1), +(43, 43, 'product_type', '', 0, 15), +(44, 44, 'product_type', '', 0, 1), +(45, 45, 'product_type', '', 0, 2), +(46, 46, 'product_type', '', 0, 0), +(47, 47, 'product_visibility', '', 0, 1), +(48, 48, 'product_visibility', '', 0, 1), +(49, 49, 'product_visibility', '', 0, 5), +(50, 50, 'product_visibility', '', 0, 0), +(51, 51, 'product_visibility', '', 0, 0), +(52, 52, 'product_visibility', '', 0, 0), +(53, 53, 'product_visibility', '', 0, 0), +(54, 54, 'product_visibility', '', 0, 0), +(55, 55, 'product_visibility', '', 0, 0), +(56, 56, 'product_cat', '', 0, 0), +(57, 57, 'product_cat', '', 0, 1), +(58, 58, 'product_cat', '', 57, 5), +(59, 59, 'product_cat', '', 57, 4), +(60, 60, 'product_cat', '', 57, 5), +(61, 61, 'product_cat', '', 0, 2), +(62, 62, 'product_cat', '', 0, 1), +(63, 63, 'pa_color', '', 0, 4), +(64, 64, 'pa_color', '', 0, 3), +(65, 65, 'pa_color', '', 0, 4), +(66, 66, 'pa_size', '', 0, 1), +(67, 67, 'pa_size', '', 0, 1), +(68, 68, 'pa_size', '', 0, 1), +(69, 69, 'pa_color', '', 0, 3), +(70, 70, 'pa_color', '', 0, 1), +(71, 71, 'category', '', 0, 1), +(72, 72, 'category', '', 71, 1), +(73, 73, 'category', '', 72, 1), +(74, 74, 'category', '', 73, 1), +(75, 75, 'category', '', 74, 1), +(76, 76, 'post_translations', 'a:2:{s:2:\"fr\";i:9646;s:2:\"en\";i:9620;}', 0, 2); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_usermeta` +-- + +CREATE TABLE `wp_usermeta` ( + `umeta_id` bigint(20) UNSIGNED NOT NULL, + `user_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0', + `meta_key` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `meta_value` longtext COLLATE utf8mb4_unicode_ci +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_usermeta` +-- + +INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES +(1, 1, 'nickname', 'Tyler'), +(2, 1, 'first_name', 'Tyler'), +(3, 1, 'last_name', ''), +(4, 1, 'description', ''), +(5, 1, 'rich_editing', 'true'), +(6, 1, 'syntax_highlighting', 'true'), +(7, 1, 'comment_shortcuts', 'false'), +(8, 1, 'admin_color', 'fresh'), +(9, 1, 'use_ssl', '0'), +(10, 1, 'show_admin_bar_front', 'true'), +(11, 1, 'locale', ''), +(12, 1, 'wp_capabilities', 'a:1:{s:13:\"administrator\";b:1;}'), +(13, 1, 'wp_user_level', '10'), +(14, 1, 'dismissed_wp_pointers', ''), +(15, 1, 'show_welcome_panel', '0'), +(17, 1, 'wp_dashboard_quick_press_last_post_id', '11320'), +(18, 1, 'community-events-location', 'a:1:{s:2:\"ip\";s:12:\"184.66.228.0\";}'), +(20, 1, 'gatsby_user_is_public', '1'), +(21, 1, 'wp_user-settings', 'libraryContent=browse&editor=html&advImgDetails=show'), +(22, 1, 'wp_user-settings-time', '1601327533'), +(23, 1, 'closedpostboxes_acf-field-group', 'a:0:{}'), +(24, 1, 'metaboxhidden_acf-field-group', 'a:1:{i:0;s:7:\"slugdiv\";}'), +(26, 1, '_yoast_wpseo_profile_updated', '1585010487'), +(27, 1, 'wpseo_title', ''), +(28, 1, 'wpseo_metadesc', ''), +(29, 1, 'wpseo_noindex_author', ''), +(30, 1, 'wpseo_content_analysis_disable', ''), +(31, 1, 'wpseo_keyword_analysis_disable', ''), +(32, 1, 'facebook', ''), +(33, 1, 'instagram', ''), +(34, 1, 'linkedin', ''), +(35, 1, 'myspace', ''), +(36, 1, 'pinterest', ''), +(37, 1, 'soundcloud', ''), +(38, 1, 'tumblr', ''), +(39, 1, 'twitter', ''), +(40, 1, 'youtube', ''), +(41, 1, 'wikipedia', ''), +(42, 1, 'managenav-menuscolumnshidden', 'a:5:{i:0;s:11:\"link-target\";i:1;s:11:\"css-classes\";i:2;s:3:\"xfn\";i:3;s:11:\"description\";i:4;s:15:\"title-attribute\";}'), +(43, 1, 'metaboxhidden_nav-menus', 'a:4:{i:0;s:25:\"add-post-type-team_member\";i:1;s:21:\"add-post-type-project\";i:2;s:28:\"add-post-type-action_monitor\";i:3;s:12:\"add-post_tag\";}'), +(44, 2, 'nickname', 'Test user'), +(45, 2, 'first_name', 'Test'), +(46, 2, 'last_name', 'User'), +(47, 2, 'description', ''), +(48, 2, 'rich_editing', 'true'), +(49, 2, 'syntax_highlighting', 'true'), +(50, 2, 'comment_shortcuts', 'false'), +(51, 2, 'admin_color', 'fresh'), +(52, 2, 'use_ssl', '0'), +(53, 2, 'show_admin_bar_front', 'true'), +(54, 2, 'locale', ''), +(55, 2, 'wp_capabilities', 'a:1:{s:6:\"author\";b:1;}'), +(56, 2, 'wp_user_level', '2'), +(57, 2, '_yoast_wpseo_profile_updated', '1583459242'), +(58, 2, 'dismissed_wp_pointers', ''), +(59, 2, 'facebook', ''), +(60, 2, 'instagram', ''), +(61, 2, 'linkedin', ''), +(62, 2, 'myspace', ''), +(63, 2, 'pinterest', ''), +(64, 2, 'soundcloud', ''), +(65, 2, 'tumblr', ''), +(66, 2, 'twitter', ''), +(67, 2, 'youtube', ''), +(68, 2, 'wikipedia', ''), +(69, 1, 'pll_filter_content', ''), +(70, 1, 'pll_dismissed_notices', 'a:3:{i:0;s:8:\"lingotek\";i:1;s:6:\"review\";i:2;s:5:\"pllwc\";}'), +(71, 1, 'description_fr', ''), +(72, 1, 'session_tokens', 'a:2:{s:64:\"c4052d5a7a0fc49457b8cd85fa5d32164e6b51500c96a474dec7ed18c68eed1d\";a:4:{s:10:\"expiration\";i:1602888971;s:2:\"ip\";s:15:\"104.193.173.219\";s:2:\"ua\";s:120:\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.80 Safari/537.36\";s:5:\"login\";i:1602716171;}s:64:\"0d7464dc653a28e54bcc783fc84e09215300cd05c68c357458447a898db61f52\";a:4:{s:10:\"expiration\";i:1604098255;s:2:\"ip\";s:13:\"184.66.228.51\";s:2:\"ua\";s:120:\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.80 Safari/537.36\";s:5:\"login\";i:1602888655;}}'), +(74, 1, 'nav_menu_recently_edited', '17'), +(75, 1, 'closedpostboxes_dashboard', 'a:9:{i:0;s:21:\"dashboard_site_health\";i:1;s:19:\"dashboard_right_now\";i:2;s:18:\"dashboard_activity\";i:3;s:18:\"wpe_dify_news_feed\";i:4;s:36:\"woocommerce_dashboard_recent_reviews\";i:5;s:21:\"dashboard_quick_press\";i:6;s:17:\"dashboard_primary\";i:7;s:24:\"wpseo-dashboard-overview\";i:8;s:28:\"woocommerce_dashboard_status\";}'), +(76, 1, 'metaboxhidden_dashboard', 'a:0:{}'), +(77, 1, 'closedpostboxes_project', 'a:2:{i:0;s:10:\"wpseo_meta\";i:1;s:23:\"acf-group_5e5d8616df60a\";}'), +(78, 1, 'metaboxhidden_project', 'a:0:{}'), +(79, 1, 'meta-box-order_dashboard', 'a:4:{s:6:\"normal\";s:116:\"dashboard_site_health,dashboard_right_now,dashboard_activity,wpe_dify_news_feed,woocommerce_dashboard_recent_reviews\";s:4:\"side\";s:93:\"dashboard_quick_press,dashboard_primary,wpseo-dashboard-overview,woocommerce_dashboard_status\";s:7:\"column3\";s:0:\"\";s:7:\"column4\";s:0:\"\";}'), +(81, 1, 'WPE_LAST_LOGIN_TIME', '1602888655'), +(82, 1, 'WPE_LOGGED_REQUEST_IDS', 'a:0:{}'), +(84, 1, 'closedpostboxes_post', 'a:1:{i:0;s:10:\"wpseo_meta\";}'), +(85, 1, 'metaboxhidden_post', 'a:0:{}'), +(86, 1, '_woocommerce_tracks_anon_id', 'woo:Ifz0ZeNptc0w7s/8X96kHWHN'), +(87, 1, 'last_update', '1602890627'), +(88, 1, 'woocommerce_admin_activity_panel_inbox_last_read', '1600474257140'), +(89, 1, 'wp_woocommerce_product_import_mapping', 'a:51:{i:0;s:2:\"id\";i:1;s:4:\"type\";i:2;s:3:\"sku\";i:3;s:4:\"name\";i:4;s:9:\"published\";i:5;s:8:\"featured\";i:6;s:18:\"catalog_visibility\";i:7;s:17:\"short_description\";i:8;s:11:\"description\";i:9;s:17:\"date_on_sale_from\";i:10;s:15:\"date_on_sale_to\";i:11;s:10:\"tax_status\";i:12;s:9:\"tax_class\";i:13;s:12:\"stock_status\";i:14;s:14:\"stock_quantity\";i:15;s:10:\"backorders\";i:16;s:17:\"sold_individually\";i:17;s:0:\"\";i:18;s:0:\"\";i:19;s:0:\"\";i:20;s:0:\"\";i:21;s:15:\"reviews_allowed\";i:22;s:13:\"purchase_note\";i:23;s:10:\"sale_price\";i:24;s:13:\"regular_price\";i:25;s:12:\"category_ids\";i:26;s:7:\"tag_ids\";i:27;s:17:\"shipping_class_id\";i:28;s:6:\"images\";i:29;s:14:\"download_limit\";i:30;s:15:\"download_expiry\";i:31;s:9:\"parent_id\";i:32;s:16:\"grouped_products\";i:33;s:10:\"upsell_ids\";i:34;s:14:\"cross_sell_ids\";i:35;s:11:\"product_url\";i:36;s:11:\"button_text\";i:37;s:10:\"menu_order\";i:38;s:16:\"attributes:name1\";i:39;s:17:\"attributes:value1\";i:40;s:19:\"attributes:visible1\";i:41;s:20:\"attributes:taxonomy1\";i:42;s:16:\"attributes:name2\";i:43;s:17:\"attributes:value2\";i:44;s:19:\"attributes:visible2\";i:45;s:20:\"attributes:taxonomy2\";i:46;s:23:\"meta:_wpcom_is_markdown\";i:47;s:15:\"downloads:name1\";i:48;s:14:\"downloads:url1\";i:49;s:15:\"downloads:name2\";i:50;s:14:\"downloads:url2\";}'), +(90, 1, 'wp_product_import_error_log', 'a:0:{}'), +(91, 1, 'wc_last_active', '1602806400'), +(92, 1, '_order_count', '0'), +(103, 3, 'nickname', 'gatsbyinttests'), +(104, 3, 'first_name', ''), +(105, 3, 'last_name', ''), +(106, 3, 'description', ''), +(107, 3, 'rich_editing', 'true'), +(108, 3, 'syntax_highlighting', 'true'), +(109, 3, 'comment_shortcuts', 'false'), +(110, 3, 'admin_color', 'fresh'), +(111, 3, 'use_ssl', '0'), +(112, 3, 'show_admin_bar_front', 'true'), +(113, 3, 'locale', ''), +(114, 3, 'wp_capabilities', 'a:1:{s:13:\"administrator\";b:1;}'), +(115, 3, 'wp_user_level', '10'), +(116, 3, '_yoast_wpseo_profile_updated', '1602114042'), +(117, 3, 'dismissed_wp_pointers', ''), +(119, 3, 'wc_last_active', '1602892800'), +(121, 3, '_order_count', '0'), +(124, 1, 'wp_yoast_notifications', 'a:2:{i:0;a:2:{s:7:\"message\";s:372:\"New in Yoast SEO 14.9: We now have Hebrew keyphrase recognition and some great performance improvements! Read all about version 14.9 here\";s:7:\"options\";a:10:{s:4:\"type\";s:7:\"updated\";s:2:\"id\";s:20:\"wpseo-plugin-updated\";s:4:\"user\";O:7:\"WP_User\":8:{s:4:\"data\";O:8:\"stdClass\":10:{s:2:\"ID\";s:1:\"1\";s:10:\"user_login\";s:5:\"Tyler\";s:9:\"user_pass\";s:34:\"$P$BJd36otMOjuUJ16oDkeqeL.PI32zIQ0\";s:13:\"user_nicename\";s:5:\"tyler\";s:10:\"user_email\";s:18:\"tyler@gatsbyjs.com\";s:8:\"user_url\";s:0:\"\";s:15:\"user_registered\";s:19:\"2020-02-25 17:54:21\";s:19:\"user_activation_key\";s:0:\"\";s:11:\"user_status\";s:1:\"0\";s:12:\"display_name\";s:5:\"Tyler\";}s:2:\"ID\";i:1;s:4:\"caps\";a:1:{s:13:\"administrator\";b:1;}s:7:\"cap_key\";s:15:\"wp_capabilities\";s:5:\"roles\";a:1:{i:0;s:13:\"administrator\";}s:7:\"allcaps\";a:117:{s:13:\"switch_themes\";b:1;s:11:\"edit_themes\";b:1;s:16:\"activate_plugins\";b:1;s:12:\"edit_plugins\";b:1;s:10:\"edit_users\";b:1;s:10:\"edit_files\";b:1;s:14:\"manage_options\";b:1;s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:6:\"import\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:8:\"level_10\";b:1;s:7:\"level_9\";b:1;s:7:\"level_8\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;s:12:\"delete_users\";b:1;s:12:\"create_users\";b:1;s:17:\"unfiltered_upload\";b:1;s:14:\"edit_dashboard\";b:1;s:14:\"update_plugins\";b:1;s:14:\"delete_plugins\";b:1;s:15:\"install_plugins\";b:1;s:13:\"update_themes\";b:1;s:14:\"install_themes\";b:1;s:11:\"update_core\";b:1;s:10:\"list_users\";b:1;s:12:\"remove_users\";b:1;s:13:\"promote_users\";b:1;s:18:\"edit_theme_options\";b:1;s:13:\"delete_themes\";b:1;s:6:\"export\";b:1;s:12:\"manage_polls\";b:1;s:20:\"wpseo_manage_options\";b:1;s:18:\"manage_woocommerce\";b:1;s:24:\"view_woocommerce_reports\";b:1;s:12:\"edit_product\";b:1;s:12:\"read_product\";b:1;s:14:\"delete_product\";b:1;s:13:\"edit_products\";b:1;s:20:\"edit_others_products\";b:1;s:16:\"publish_products\";b:1;s:21:\"read_private_products\";b:1;s:15:\"delete_products\";b:1;s:23:\"delete_private_products\";b:1;s:25:\"delete_published_products\";b:1;s:22:\"delete_others_products\";b:1;s:21:\"edit_private_products\";b:1;s:23:\"edit_published_products\";b:1;s:20:\"manage_product_terms\";b:1;s:18:\"edit_product_terms\";b:1;s:20:\"delete_product_terms\";b:1;s:20:\"assign_product_terms\";b:1;s:15:\"edit_shop_order\";b:1;s:15:\"read_shop_order\";b:1;s:17:\"delete_shop_order\";b:1;s:16:\"edit_shop_orders\";b:1;s:23:\"edit_others_shop_orders\";b:1;s:19:\"publish_shop_orders\";b:1;s:24:\"read_private_shop_orders\";b:1;s:18:\"delete_shop_orders\";b:1;s:26:\"delete_private_shop_orders\";b:1;s:28:\"delete_published_shop_orders\";b:1;s:25:\"delete_others_shop_orders\";b:1;s:24:\"edit_private_shop_orders\";b:1;s:26:\"edit_published_shop_orders\";b:1;s:23:\"manage_shop_order_terms\";b:1;s:21:\"edit_shop_order_terms\";b:1;s:23:\"delete_shop_order_terms\";b:1;s:23:\"assign_shop_order_terms\";b:1;s:16:\"edit_shop_coupon\";b:1;s:16:\"read_shop_coupon\";b:1;s:18:\"delete_shop_coupon\";b:1;s:17:\"edit_shop_coupons\";b:1;s:24:\"edit_others_shop_coupons\";b:1;s:20:\"publish_shop_coupons\";b:1;s:25:\"read_private_shop_coupons\";b:1;s:19:\"delete_shop_coupons\";b:1;s:27:\"delete_private_shop_coupons\";b:1;s:29:\"delete_published_shop_coupons\";b:1;s:26:\"delete_others_shop_coupons\";b:1;s:25:\"edit_private_shop_coupons\";b:1;s:27:\"edit_published_shop_coupons\";b:1;s:24:\"manage_shop_coupon_terms\";b:1;s:22:\"edit_shop_coupon_terms\";b:1;s:24:\"delete_shop_coupon_terms\";b:1;s:24:\"assign_shop_coupon_terms\";b:1;s:13:\"administrator\";b:1;}s:6:\"filter\";N;s:16:\"\0WP_User\0site_id\";i:1;}s:5:\"nonce\";N;s:8:\"priority\";d:0.5;s:9:\"data_json\";a:1:{s:13:\"dismiss_value\";s:4:\"14.9\";}s:13:\"dismissal_key\";s:20:\"wpseo-plugin-updated\";s:12:\"capabilities\";a:1:{i:0;s:20:\"wpseo_manage_options\";}s:16:\"capability_check\";s:3:\"all\";s:14:\"yoast_branding\";b:0;}}i:1;a:2:{s:7:\"message\";s:430:\"Yoast SEO and WooCommerce can work together a lot better by adding a helper plugin. Please install Yoast WooCommerce SEO to make your life better. More information.\";s:7:\"options\";a:10:{s:4:\"type\";s:7:\"warning\";s:2:\"id\";s:44:\"wpseo-suggested-plugin-yoast-woocommerce-seo\";s:4:\"user\";r:7;s:5:\"nonce\";N;s:8:\"priority\";d:0.5;s:9:\"data_json\";a:0:{}s:13:\"dismissal_key\";N;s:12:\"capabilities\";a:1:{i:0;s:15:\"install_plugins\";}s:16:\"capability_check\";s:3:\"all\";s:14:\"yoast_branding\";b:0;}}}'), +(125, 4, 'nickname', 'devgatsbyint'), +(126, 4, 'first_name', ''), +(127, 4, 'last_name', ''), +(128, 4, 'description', ''), +(129, 4, 'rich_editing', 'true'), +(130, 4, 'syntax_highlighting', 'true'), +(131, 4, 'comment_shortcuts', 'false'), +(132, 4, 'admin_color', 'fresh'), +(133, 4, 'use_ssl', '0'), +(134, 4, 'show_admin_bar_front', 'true'), +(135, 4, 'locale', ''), +(136, 4, 'wp_capabilities', 'a:1:{s:13:\"administrator\";b:1;}'), +(137, 4, 'wp_user_level', '10'), +(138, 4, '_yoast_wpseo_profile_updated', '1602889341'), +(139, 4, 'dismissed_wp_pointers', ''), +(140, 4, 'facebook', ''), +(141, 4, 'instagram', ''), +(142, 4, 'linkedin', ''), +(143, 4, 'myspace', ''), +(144, 4, 'pinterest', ''), +(145, 4, 'soundcloud', ''), +(146, 4, 'tumblr', ''), +(147, 4, 'twitter', ''), +(148, 4, 'youtube', ''), +(149, 4, 'wikipedia', ''), +(150, 4, 'last_update', '1602889341'), +(151, 4, '_order_count', '0'), +(152, 4, 'wpseo_title', ''), +(153, 4, 'wpseo_metadesc', ''), +(154, 4, 'wpseo_noindex_author', ''), +(155, 4, 'wpseo_content_analysis_disable', ''), +(156, 4, 'wpseo_keyword_analysis_disable', ''), +(157, 4, 'description_fr', ''), +(158, 4, 'billing_first_name', ''), +(159, 4, 'billing_last_name', ''), +(160, 4, 'billing_company', ''), +(161, 4, 'billing_address_1', ''), +(162, 4, 'billing_address_2', ''), +(163, 4, 'billing_city', ''), +(164, 4, 'billing_postcode', ''), +(165, 4, 'billing_country', ''), +(166, 4, 'billing_state', ''), +(167, 4, 'billing_phone', ''), +(168, 4, 'billing_email', 'tyler+1@gatsbyjs.com'), +(169, 4, 'shipping_first_name', ''), +(170, 4, 'shipping_last_name', ''), +(171, 4, 'shipping_company', ''), +(172, 4, 'shipping_address_1', ''), +(173, 4, 'shipping_address_2', ''), +(174, 4, 'shipping_city', ''), +(175, 4, 'shipping_postcode', ''), +(176, 4, 'shipping_country', ''), +(177, 4, 'shipping_state', ''), +(178, 3, 'session_tokens', 'a:1:{s:64:\"940b018f2f19ffdca10ba560640ec32b58e43def7a0bb66c773fbfb3ebcb88b2\";a:4:{s:10:\"expiration\";i:1603115359;s:2:\"ip\";s:12:\"75.81.193.56\";s:2:\"ua\";s:76:\"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:81.0) Gecko/20100101 Firefox/81.0\";s:5:\"login\";i:1602942559;}}'), +(180, 3, '_woocommerce_tracks_anon_id', 'woo:qMq+fiWaz3IQE2+jf8vRnp2a'), +(181, 3, 'wp_dashboard_quick_press_last_post_id', '11376'), +(183, 3, 'community-events-location', 'a:1:{s:2:\"ip\";s:11:\"75.81.193.0\";}'), +(184, 5, 'nickname', 'admin'), +(185, 5, 'first_name', 'admin'), +(186, 5, 'last_name', ''), +(187, 5, 'description', ''), +(188, 5, 'rich_editing', 'true'), +(189, 5, 'syntax_highlighting', 'true'), +(190, 5, 'comment_shortcuts', 'false'), +(191, 5, 'admin_color', 'fresh'), +(192, 5, 'use_ssl', '0'), +(193, 5, 'show_admin_bar_front', 'true'), +(194, 5, 'locale', ''), +(195, 5, 'wp_capabilities', 'a:1:{s:13:\"administrator\";b:1;}'), +(196, 5, 'wp_user_level', '10'), +(197, 5, 'dismissed_wp_pointers', ''), +(198, 3, 'nav_menu_recently_edited', '17'), +(199, 3, 'managenav-menuscolumnshidden', 'a:5:{i:0;s:11:\"link-target\";i:1;s:11:\"css-classes\";i:2;s:3:\"xfn\";i:3;s:11:\"description\";i:4;s:15:\"title-attribute\";}'), +(200, 3, 'metaboxhidden_nav-menus', 'a:7:{i:0;s:25:\"add-post-type-team_member\";i:1;s:21:\"add-post-type-project\";i:2;s:29:\"add-post-type-type_limit_test\";i:3;s:31:\"add-post-type-type_limit_0_test\";i:4;s:34:\"add-post-type-translation_filter_t\";i:5;s:31:\"add-post-type-acfcustomposttype\";i:6;s:12:\"add-post_tag\";}'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_users` +-- + +CREATE TABLE `wp_users` ( + `ID` bigint(20) UNSIGNED NOT NULL, + `user_login` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_pass` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_nicename` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_url` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_registered` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `user_activation_key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `user_status` int(11) NOT NULL DEFAULT '0', + `display_name` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wp_users` +-- + +INSERT INTO `wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES +(1, 'Tyler', '$P$BJd36otMOjuUJ16oDkeqeL.PI32zIQ0', 'tyler', 'tyler@gatsbyjs.com', '', '2020-02-25 17:54:21', '', 0, 'Tyler'), +(2, 'Test user', '$P$BtyWoIKQUdlqQAcVTBEaMiXTUeWdJM1', 'test-user', 'tylerdbarnes@gmail.com', '', '2020-03-06 01:47:18', '1583459242:$P$BA48CzQQBYDx/UasbhBMi/Xo2EeNrh.', 0, 'Test User'), +(3, 'gatsbyinttests', '$P$Ber5ruCvHNivw4yUWqe.lgEkRQdPD21', 'gatsbyinttests', 'ty.ler@gatsbyjs.com', '', '2020-10-07 23:40:42', '', 0, 'gatsbyinttests'), +(4, 'devgatsbyint', '$P$BkAyzazsuGQN2Bp6C/xMwI72nxrcm/0', 'devgatsbyint', 'tyler+1@gatsbyjs.com', '', '2020-10-16 22:55:52', '', 0, 'devgatsbyint'), +(5, 'admin', '$P$B0U7yfuI1WZ5nwVCScDENkN2bVs/nv0', 'admin', 'admin@admin.com', '', '2020-10-17 13:57:12', '1602943033:$P$BU7D3WZELeXsVy3QqA3CGYDU0ktm5e0', 0, 'admin'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wp_wpsdb_alter_statements` +-- + +CREATE TABLE `wp_wpsdb_alter_statements` ( + `query` longtext NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- +-- Indexes for dumped tables +-- + +-- +-- Indexes for table `wp_actionscheduler_actions` +-- +ALTER TABLE `wp_actionscheduler_actions` + ADD PRIMARY KEY (`action_id`), + ADD KEY `hook` (`hook`), + ADD KEY `status` (`status`), + ADD KEY `scheduled_date_gmt` (`scheduled_date_gmt`), + ADD KEY `args` (`args`), + ADD KEY `group_id` (`group_id`), + ADD KEY `last_attempt_gmt` (`last_attempt_gmt`), + ADD KEY `claim_id` (`claim_id`); + +-- +-- Indexes for table `wp_actionscheduler_claims` +-- +ALTER TABLE `wp_actionscheduler_claims` + ADD PRIMARY KEY (`claim_id`), + ADD KEY `date_created_gmt` (`date_created_gmt`); + +-- +-- Indexes for table `wp_actionscheduler_groups` +-- +ALTER TABLE `wp_actionscheduler_groups` + ADD PRIMARY KEY (`group_id`), + ADD KEY `slug` (`slug`(191)); + +-- +-- Indexes for table `wp_actionscheduler_logs` +-- +ALTER TABLE `wp_actionscheduler_logs` + ADD PRIMARY KEY (`log_id`), + ADD KEY `action_id` (`action_id`), + ADD KEY `log_date_gmt` (`log_date_gmt`); + +-- +-- Indexes for table `wp_commentmeta` +-- +ALTER TABLE `wp_commentmeta` + ADD PRIMARY KEY (`meta_id`), + ADD KEY `comment_id` (`comment_id`), + ADD KEY `meta_key` (`meta_key`(191)); + +-- +-- Indexes for table `wp_comments` +-- +ALTER TABLE `wp_comments` + ADD PRIMARY KEY (`comment_ID`), + ADD KEY `comment_post_ID` (`comment_post_ID`), + ADD KEY `comment_approved_date_gmt` (`comment_approved`,`comment_date_gmt`), + ADD KEY `comment_date_gmt` (`comment_date_gmt`), + ADD KEY `comment_parent` (`comment_parent`), + ADD KEY `comment_author_email` (`comment_author_email`(10)), + ADD KEY `woo_idx_comment_type` (`comment_type`); + +-- +-- Indexes for table `wp_links` +-- +ALTER TABLE `wp_links` + ADD PRIMARY KEY (`link_id`), + ADD KEY `link_visible` (`link_visible`); + +-- +-- Indexes for table `wp_options` +-- +ALTER TABLE `wp_options` + ADD PRIMARY KEY (`option_id`), + ADD UNIQUE KEY `option_name` (`option_name`), + ADD KEY `autoload` (`autoload`); + +-- +-- Indexes for table `wp_postmeta` +-- +ALTER TABLE `wp_postmeta` + ADD PRIMARY KEY (`meta_id`), + ADD KEY `post_id` (`post_id`), + ADD KEY `meta_key` (`meta_key`(191)); + +-- +-- Indexes for table `wp_posts` +-- +ALTER TABLE `wp_posts` + ADD PRIMARY KEY (`ID`), + ADD KEY `post_name` (`post_name`(191)), + ADD KEY `type_status_date` (`post_type`,`post_status`,`post_date`,`ID`), + ADD KEY `post_parent` (`post_parent`), + ADD KEY `post_author` (`post_author`); + +-- +-- Indexes for table `wp_signups` +-- +ALTER TABLE `wp_signups` + ADD PRIMARY KEY (`signup_id`), + ADD KEY `activation_key` (`activation_key`), + ADD KEY `user_email` (`user_email`), + ADD KEY `user_login_email` (`user_login`,`user_email`), + ADD KEY `domain_path` (`domain`(140),`path`(51)); + +-- +-- Indexes for table `wp_termmeta` +-- +ALTER TABLE `wp_termmeta` + ADD PRIMARY KEY (`meta_id`), + ADD KEY `term_id` (`term_id`), + ADD KEY `meta_key` (`meta_key`(191)); + +-- +-- Indexes for table `wp_terms` +-- +ALTER TABLE `wp_terms` + ADD PRIMARY KEY (`term_id`), + ADD KEY `slug` (`slug`(191)), + ADD KEY `name` (`name`(191)); + +-- +-- Indexes for table `wp_term_relationships` +-- +ALTER TABLE `wp_term_relationships` + ADD PRIMARY KEY (`object_id`,`term_taxonomy_id`), + ADD KEY `term_taxonomy_id` (`term_taxonomy_id`); + +-- +-- Indexes for table `wp_term_taxonomy` +-- +ALTER TABLE `wp_term_taxonomy` + ADD PRIMARY KEY (`term_taxonomy_id`), + ADD UNIQUE KEY `term_id_taxonomy` (`term_id`,`taxonomy`), + ADD KEY `taxonomy` (`taxonomy`); + +-- +-- Indexes for table `wp_usermeta` +-- +ALTER TABLE `wp_usermeta` + ADD PRIMARY KEY (`umeta_id`), + ADD KEY `user_id` (`user_id`), + ADD KEY `meta_key` (`meta_key`(191)); + +-- +-- Indexes for table `wp_users` +-- +ALTER TABLE `wp_users` + ADD PRIMARY KEY (`ID`), + ADD KEY `user_login_key` (`user_login`), + ADD KEY `user_nicename` (`user_nicename`), + ADD KEY `user_email` (`user_email`); + +-- +-- AUTO_INCREMENT for dumped tables +-- + +-- +-- AUTO_INCREMENT for table `wp_actionscheduler_actions` +-- +ALTER TABLE `wp_actionscheduler_actions` + MODIFY `action_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8482; + +-- +-- AUTO_INCREMENT for table `wp_actionscheduler_claims` +-- +ALTER TABLE `wp_actionscheduler_claims` + MODIFY `claim_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4784; + +-- +-- AUTO_INCREMENT for table `wp_actionscheduler_groups` +-- +ALTER TABLE `wp_actionscheduler_groups` + MODIFY `group_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; + +-- +-- AUTO_INCREMENT for table `wp_actionscheduler_logs` +-- +ALTER TABLE `wp_actionscheduler_logs` + MODIFY `log_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=95; + +-- +-- AUTO_INCREMENT for table `wp_commentmeta` +-- +ALTER TABLE `wp_commentmeta` + MODIFY `meta_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `wp_comments` +-- +ALTER TABLE `wp_comments` + MODIFY `comment_ID` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2; + +-- +-- AUTO_INCREMENT for table `wp_links` +-- +ALTER TABLE `wp_links` + MODIFY `link_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `wp_options` +-- +ALTER TABLE `wp_options` + MODIFY `option_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5350; + +-- +-- AUTO_INCREMENT for table `wp_postmeta` +-- +ALTER TABLE `wp_postmeta` + MODIFY `meta_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=70126; + +-- +-- AUTO_INCREMENT for table `wp_posts` +-- +ALTER TABLE `wp_posts` + MODIFY `ID` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11378; + +-- +-- AUTO_INCREMENT for table `wp_signups` +-- +ALTER TABLE `wp_signups` + MODIFY `signup_id` bigint(20) NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `wp_termmeta` +-- +ALTER TABLE `wp_termmeta` + MODIFY `meta_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=22; + +-- +-- AUTO_INCREMENT for table `wp_terms` +-- +ALTER TABLE `wp_terms` + MODIFY `term_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=77; + +-- +-- AUTO_INCREMENT for table `wp_term_taxonomy` +-- +ALTER TABLE `wp_term_taxonomy` + MODIFY `term_taxonomy_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=77; + +-- +-- AUTO_INCREMENT for table `wp_usermeta` +-- +ALTER TABLE `wp_usermeta` + MODIFY `umeta_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=201; + +-- +-- AUTO_INCREMENT for table `wp_users` +-- +ALTER TABLE `wp_users` + MODIFY `ID` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6; +COMMIT; + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/packages/gatsby-source-wordpress/docker/wordpress/Dockerfile b/packages/gatsby-source-wordpress/docker/wordpress/Dockerfile new file mode 100644 index 0000000000000..888486d4bc3da --- /dev/null +++ b/packages/gatsby-source-wordpress/docker/wordpress/Dockerfile @@ -0,0 +1,42 @@ +FROM wordpress:5.6 + +ARG WP_CONTENT_DIR=/usr/src/wordpress/wp-content +ARG PLUGIN_DIR=${WP_CONTENT_DIR}/plugins +ARG UPLOADS_DIR=${WP_CONTENT_DIR}/uploads + +LABEL maintainer="rikki@gatsbyjs.com" + +# Set timezone, install XDebug, PHP Composer, WP-CLI +RUN echo 'date.timezone = "UTC"' > /usr/local/etc/php/conf.d/timezone.ini \ + && apt-get update && apt-get install unzip git -y && rm -rf /var/lib/apt/lists/* \ + && pecl install xdebug \ + && docker-php-ext-enable xdebug \ + && docker-php-ext-install pdo_mysql \ + && curl -Ls 'https://raw.githubusercontent.com/composer/getcomposer.org/fc4099e0ac116a1c8f61fffaf6693594dda79d16/web/installer' | php -- --quiet \ + && chmod +x composer.phar \ + && mv composer.phar /usr/local/bin/composer \ + && curl -O 'https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar' \ + && chmod +x wp-cli.phar \ + && mv wp-cli.phar /usr/local/bin/wp + + +RUN curl https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh -o /usr/local/bin/wait-for-it \ + && chmod +x /usr/local/bin/wait-for-it + +COPY start.sh /usr/local/bin/start.sh +RUN chmod +x /usr/local/bin/start.sh + +RUN curl -L https://storage.googleapis.com/gatsby-source-wordpress-files/gatsby-source-wordpress-test-uploads.zip > /tmp/archive.zip +RUN unzip -a -d ${WP_CONTENT_DIR} /tmp/archive.zip +RUN rm -rf ${WP_CONTENT_DIR}/__MACOSX && mv ${WP_CONTENT_DIR}/gatsby-source-wordpress-test-uploads/wp-content/uploads ${UPLOADS_DIR} +RUN rm /tmp/archive.zip + +COPY install-plugin.sh /usr/local/bin/install-plugin +RUN chmod +x /usr/local/bin/install-plugin + +COPY install-wp-graphql-plugins.sh /usr/local/bin/install-wp-graphql-plugins +RUN chmod +x /usr/local/bin/install-wp-graphql-plugins + +EXPOSE 8001 + +CMD ["wait-for-it", "-t", "40", "db:3306", "--", "/usr/local/bin/start.sh"] diff --git a/packages/gatsby-source-wordpress/docker/wordpress/install-plugin.sh b/packages/gatsby-source-wordpress/docker/wordpress/install-plugin.sh new file mode 100755 index 0000000000000..de6fb6355091b --- /dev/null +++ b/packages/gatsby-source-wordpress/docker/wordpress/install-plugin.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +PLUGIN=$1 +REPO=$2 +VERSION=$3 + +if [ -z "$PLUGIN" ] +then + echo "no plugin supplied" + exit; +fi + +if [ -z "$REPO" ] +then + echo "no repo supplied" + exit; +fi + +if [ -z "$VERSION" ] +then + echo "no version supplied" + exit; +fi + +mkdir -p /usr/src/wordpress/wp-content/plugins/${PLUGIN} \ + && curl -L https://github.com/${REPO}/archive/${VERSION}.tar.gz \ + | tar xvz -C /usr/src/wordpress/wp-content/plugins/${PLUGIN} --strip-components=1 diff --git a/packages/gatsby-source-wordpress/docker/wordpress/install-wp-graphql-plugins.sh b/packages/gatsby-source-wordpress/docker/wordpress/install-wp-graphql-plugins.sh new file mode 100755 index 0000000000000..0581e20b76c45 --- /dev/null +++ b/packages/gatsby-source-wordpress/docker/wordpress/install-wp-graphql-plugins.sh @@ -0,0 +1,20 @@ +#!/bin/bash +WP_CONTENT_DIR=/usr/src/wordpress/wp-content +PLUGIN_DIR=${WP_CONTENT_DIR}/plugins + +mkdir -p ${PLUGIN_DIR} && \ +# WP GraphQL from github release +git clone --depth 1 -b ${WPGRAPHQL_VERSION} https://github.com/wp-graphql/wp-graphql.git ${PLUGIN_DIR}/wp-graphql && \ + +# Install wp-gatsby using git, and apply a diff +git clone --depth 1 -b ${WPGATSBY_VERSION} https://github.com/gatsbyjs/wp-gatsby.git ${PLUGIN_DIR}/wp-gatsby && \ + +# WP GraphQL ACF from github release +install-plugin wp-graphql-acf wp-graphql/wp-graphql-acf ${WPGRAPHQL_ACF_VERSION} && \ + +# WP GraphQL CPTUI from github release +install-plugin wp-graphql-custom-post-type-ui wp-graphql/wp-graphql-custom-post-type-ui ${WPGRAPHQL_CPT_UI_VERSION} && \ + +git clone --depth 1 -b ${ACF_VERSION} https://github.com/wp-premium/advanced-custom-fields-pro.git ${PLUGIN_DIR}/advanced-custom-fields-pro && \ + +git clone --depth 1 https://github.com/WP-API/Basic-Auth.git ${PLUGIN_DIR}/basic-auth diff --git a/packages/gatsby-source-wordpress/docker/wordpress/start.sh b/packages/gatsby-source-wordpress/docker/wordpress/start.sh new file mode 100755 index 0000000000000..a9e40d9f041f8 --- /dev/null +++ b/packages/gatsby-source-wordpress/docker/wordpress/start.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -e + +install-wp-graphql-plugins + +# This seems goofy +echo "xdebug.max_nesting_level=-1" >> /usr/local/etc/php/php.ini-development +echo "xdebug.max_nesting_level=-1" >> /usr/local/etc/php/php.ini-production +echo "xdebug.max_nesting_level=-1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini + + +sed -i "s/Listen 80$/Listen 8001/g" /etc/apache2/ports.conf +sed -i "s/80>$/8001>/g" /etc/apache2/sites-available/000-default.conf +docker-entrypoint.sh apache2-foreground diff --git a/packages/gatsby-source-wordpress/docker/wp-cli/Dockerfile b/packages/gatsby-source-wordpress/docker/wp-cli/Dockerfile new file mode 100644 index 0000000000000..5c0a1ba815a8c --- /dev/null +++ b/packages/gatsby-source-wordpress/docker/wp-cli/Dockerfile @@ -0,0 +1,16 @@ +FROM wordpress:cli-php7.4 + +USER root +RUN apk add unzip git + +RUN mkdir -p /etc/X11/fs/.wp-cli/cache + +RUN curl https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh -o /usr/local/bin/wait-for-it \ + && chmod +x /usr/local/bin/wait-for-it + +COPY start.sh /usr/local/bin/wp-start +RUN chmod +x /usr/local/bin/wp-start + +USER xfs + +CMD ["wait-for-it", "-t", "60", "wordpress:8001", "--", "wp-start"] diff --git a/packages/gatsby-source-wordpress/docker/wp-cli/start.sh b/packages/gatsby-source-wordpress/docker/wp-cli/start.sh new file mode 100755 index 0000000000000..7c2e8d8517e9e --- /dev/null +++ b/packages/gatsby-source-wordpress/docker/wp-cli/start.sh @@ -0,0 +1,31 @@ +#!/bin/bash +set -e + +wp core install \ + --path="/var/www/html" \ + --url="http://localhost:8001" \ + --title="Gatsby & WordPress" \ + --admin_user=admin \ + --admin_password=secret \ + --admin_email=admin@admin.com + + +wp search-replace 'https://devgatsbyint.wpengine.com' 'http://localhost:8001' + +wp user update admin --user_pass="secret" +wp plugin install custom-post-type-ui --version=$CPT_UI_VERSION +# activate plugins +wp plugin activate wp-graphql custom-post-type-ui wp-graphql-custom-post-type-ui advanced-custom-fields-pro basic-auth + +wp plugin activate wp-graphql-acf + +wp plugin activate wp-gatsby + +# this seems to be needed now +wp core update-db + +wp cache flush + +# set path rewrite structure +wp rewrite structure '/%year%/%monthnum%/%day%/%postname%/' +wp rewrite flush diff --git a/packages/gatsby-source-wordpress/docker/wp-cli/wp-install.sh b/packages/gatsby-source-wordpress/docker/wp-cli/wp-install.sh new file mode 100755 index 0000000000000..7b58462fc1802 --- /dev/null +++ b/packages/gatsby-source-wordpress/docker/wp-cli/wp-install.sh @@ -0,0 +1,14 @@ +if ! $(wp core is-installed); then +echo "heyyyy" + wp core install \ + --path="/var/www/html" \ + --url="http://localhost:8001" \ + --title="Gatsby & WordPress" \ + --admin_user=admin \ + --admin_password=secret \ + --admin_email=foo@bar.com +else + echo "WordPress is already installed." +fi + +eval $1 diff --git a/packages/gatsby-source-wordpress/docs/assets/acf-gatsby-post-field-query.png b/packages/gatsby-source-wordpress/docs/assets/acf-gatsby-post-field-query.png new file mode 100644 index 0000000000000..34a259eec4dd4 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/acf-gatsby-post-field-query.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/acf-graphql-settings.png b/packages/gatsby-source-wordpress/docs/assets/acf-graphql-settings.png new file mode 100644 index 0000000000000..a497d67c4d3a1 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/acf-graphql-settings.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/acf-new-field-group.png b/packages/gatsby-source-wordpress/docs/assets/acf-new-field-group.png new file mode 100644 index 0000000000000..18925a1509820 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/acf-new-field-group.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/acf-new-post-with-field.png b/packages/gatsby-source-wordpress/docs/assets/acf-new-post-with-field.png new file mode 100644 index 0000000000000..3a40f01e5238d Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/acf-new-post-with-field.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/acf-wpgraphql-post-field-query.png b/packages/gatsby-source-wordpress/docs/assets/acf-wpgraphql-post-field-query.png new file mode 100644 index 0000000000000..7975ef1da8355 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/acf-wpgraphql-post-field-query.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-builds-webhook.png b/packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-builds-webhook.png new file mode 100644 index 0000000000000..3e7eaf4c8c920 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-builds-webhook.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-preview-frontend-url.png b/packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-preview-frontend-url.png new file mode 100644 index 0000000000000..dc783556ded82 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-preview-frontend-url.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-preview-webhook-url.png b/packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-preview-webhook-url.png new file mode 100644 index 0000000000000..c562f2d2fd293 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/gatsby-cloud-preview-webhook-url.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-data-fetching.png b/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-data-fetching.png new file mode 100644 index 0000000000000..b46ac71cc6241 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-data-fetching.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-graphiql-docs-search.gif b/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-graphiql-docs-search.gif new file mode 100644 index 0000000000000..7e456468a532e Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-graphiql-docs-search.gif differ diff --git a/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-graphiql-explorer.gif b/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-graphiql-explorer.gif new file mode 100644 index 0000000000000..2a9e2ce766012 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-graphiql-explorer.gif differ diff --git a/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-template-with-author.png b/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-template-with-author.png new file mode 100644 index 0000000000000..2072bfd7a7113 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-template-with-author.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-template-with-data.png b/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-template-with-data.png new file mode 100644 index 0000000000000..e515a0a5c1475 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-template-with-data.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-template.png b/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-template.png new file mode 100644 index 0000000000000..9992b67c7d411 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-template.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-test-field-gatsby.png b/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-test-field-gatsby.png new file mode 100644 index 0000000000000..af242a093c720 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-test-field-gatsby.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-test-field.png b/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-test-field.png new file mode 100644 index 0000000000000..2c95139677526 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/gatsby-source-wordpress-test-field.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/gatsby-wapuus.png b/packages/gatsby-source-wordpress/docs/assets/gatsby-wapuus.png new file mode 100644 index 0000000000000..7470a2d8111d7 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/gatsby-wapuus.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/menu-locations.png b/packages/gatsby-source-wordpress/docs/assets/menu-locations.png new file mode 100644 index 0000000000000..69266ad319831 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/menu-locations.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/wordpress-nav-menu-manager.png b/packages/gatsby-source-wordpress/docs/assets/wordpress-nav-menu-manager.png new file mode 100644 index 0000000000000..03039a2f24c0f Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/wordpress-nav-menu-manager.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/wordpress-query-menu-by-location.png b/packages/gatsby-source-wordpress/docs/assets/wordpress-query-menu-by-location.png new file mode 100644 index 0000000000000..b1448b27389e4 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/wordpress-query-menu-by-location.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/wordpress-query-menu-items-by-location.png b/packages/gatsby-source-wordpress/docs/assets/wordpress-query-menu-items-by-location.png new file mode 100644 index 0000000000000..dc6aa9def4547 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/wordpress-query-menu-items-by-location.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/wordpress-test-header-menu.png b/packages/gatsby-source-wordpress/docs/assets/wordpress-test-header-menu.png new file mode 100644 index 0000000000000..9b45d502f18d7 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/wordpress-test-header-menu.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/wp-gatsby-builds-webhook-settings.png b/packages/gatsby-source-wordpress/docs/assets/wp-gatsby-builds-webhook-settings.png new file mode 100644 index 0000000000000..5ffe697bc5564 Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/wp-gatsby-builds-webhook-settings.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/wp-gatsbyjs-preview-settings.png b/packages/gatsby-source-wordpress/docs/assets/wp-gatsbyjs-preview-settings.png new file mode 100644 index 0000000000000..636e6143d753c Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/wp-gatsbyjs-preview-settings.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/wpgatsby-enable-gatsby-menu-locations.png b/packages/gatsby-source-wordpress/docs/assets/wpgatsby-enable-gatsby-menu-locations.png new file mode 100644 index 0000000000000..d88db8d60102f Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/wpgatsby-enable-gatsby-menu-locations.png differ diff --git a/packages/gatsby-source-wordpress/docs/assets/wpgatsby-nav-menu-locations.png b/packages/gatsby-source-wordpress/docs/assets/wpgatsby-nav-menu-locations.png new file mode 100644 index 0000000000000..4c3acfa34805d Binary files /dev/null and b/packages/gatsby-source-wordpress/docs/assets/wpgatsby-nav-menu-locations.png differ diff --git a/packages/gatsby-source-wordpress/docs/community-and-support.md b/packages/gatsby-source-wordpress/docs/community-and-support.md new file mode 100644 index 0000000000000..f12ce16e9b53a --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/community-and-support.md @@ -0,0 +1,11 @@ +# Community & Support + +Fortunately there are very strong WPGraphQL and Gatsby communities! + +Check out this [GatsbyJS page](https://www.gatsbyjs.org/contributing/community/) or this [WPGraphQL page](https://www.wpgraphql.com/community-and-support/) on community for more information about each community. + +The WPGraphQL Slack is a great place to get help. Feel free to[ open an issue in this repo](https://github.com/gatsbyjs/gatsby/issues/new) as well (after you've searched for a previously existing issue). + +# That's all folks! :smile_cat: + +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/debugging-and-troubleshooting.md b/packages/gatsby-source-wordpress/docs/debugging-and-troubleshooting.md new file mode 100644 index 0000000000000..ed1b8dfdae051 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/debugging-and-troubleshooting.md @@ -0,0 +1,184 @@ +# Debugging and Troubleshooting + +- [Debugging and Troubleshooting](#debugging-and-troubleshooting) + - [Node sourcing](#node-sourcing) + - [Missing data in Gatsby](#missing-data-in-gatsby) + - [Node Sourcing GraphQL errors](#node-sourcing-graphql-errors) + - [WordPress 50\* errors](#wordpress-50-errors) + - [Node Sourcing Timeouts](#node-sourcing-timeouts) + - [Media File Download Errors](#media-file-download-errors) + - [Broken Preview templates](#broken-preview-templates) + - [Previews Don't Update](#previews-dont-update) + - [Preview debug mode](#preview-debug-mode) +- [Up Next :point_right:](#up-next-point_right) + +## Node sourcing + +### Missing data in Gatsby + +If some fields are returning null or an empty array when you think they should be returning data, a few things could be at play. To debug follow these steps: + +1. Make the same query in Gatsby and directly to WPGraphQL using a GraphQL client app like [GraphQL Playground](https://github.com/prisma-labs/graphql-playground). Do not use wp-graphiql to debug because it is authenticated and Gatsby will not be authenticated when sourcing data. Use a 3rd party GraphQL client outside of WordPress. + +For example if pages weren't returning titles for some reason and the following was your query in Gatsby: + +```js +{ + allWpPage { + nodes { + id + title + } + } +} +``` + +Take that query and make the query directly to your WP instance GraphQL API like so: + +```js +{ + pages { + nodes { + id + title + } + } +} +``` + +2. Does the returned data look the same in GraphQL playground as it did in Gatsby? + If it does but data should exist there is likely a bug in WPGraphQL or in a WPGraphQL extension you're using. Be sure to double check that these fields should actually be returning data and that that data isn't missing when you go to edit your post in WordPress. + +3. If the returned data does not look the same, enable this plugin option in Gatsby: + + ```js + { + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + writeQueriesToDisk: true, + }, + }, + }, + }, + ``` + +4. Run `gatsby develop` or `gatsby build` again. + +5. In your Gatsby project you will now have a directory at `your-app/WordPress/GraphQL/`. Within this directory you will find a directory for each node type that is sourced from WPGraphQL for your Gatsby site. + +6. Find the directory of the type that returns missing data. For our example we would look in `WordPress/GraphQL/Page/` + +7. Within this directory there will be 3 `.graphql` files. Open the file named `node-list-query.graphql` and copy the query contained within it. + +8. Paste this query into GraphQL Playground and add these query variables: + + ```json + { + "first": 100, + "after": null + } + ``` + +9. Execute the query + +10. Does the response also have missing data? + + #### If it does have missing data: + + this means you're experiencing a bug on the WPGraphQL side of things. Seek help in the [WPGraphQL Slack](https://wpgql-slack.herokuapp.com/) or open an issue in the [WPGraphQL Github repo](https://github.com/wp-graphql/wp-graphql), or the Github repo for the WPGraphQL extension that manages the fields you're having trouble with. + To help them debug you should narrow down exactly which combination of fields in the generated query you copied is causing issues. Comment out fields 1 by 1 until the problem goes away to determine which combination of fields isn't working. + + **Note:** A common cause of this problem is that you're using ACF and you've named multiple fields with the same name but in different field groups. Identify conflicting field names and rename them. + + #### If it does not have missing data: + + This means it's a `gatsby-source-wordpress` bug. Open an issue in the [Github repo](https://github.com/gatsbyjs/gatsby/issues/new). + +### Node Sourcing GraphQL errors + +If your build is erroring on a GraphQL error returned in the response from a GraphQL request, the terminal output will tell you which type this is. Returned GraphQL errors almost always indicate a bug on the WP side of things. To replicate the error outside of gatsby, enable the `debug.graphql.writeQueriesToDisk` plugin option: + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + writeQueriesToDisk: true, + }, + }, + }, +}, +``` + +Now run `gatsby develop` or `gatsby build` again. When the process exits on your GraphQL error, take note of which GraphQL type the error was for, then open this file: `your-site/WordPress/GraphQL/[TypeOfErroringQuery]/node-list-query.graphql`. + +Within this file will be the query made during node sourcing to fetch data from WPGraphQL into Gatsby. + +You can use this query to reproduce your error message and debug your error message outside of Gatsby. If you're stuck seek help in the [WPGraphQL Slack](https://wpgql-slack.herokuapp.com/) or open an issue in the [WPGraphQL Github repo](https://github.com/wp-graphql/wp-graphql), or the Github repo for the WPGraphQL extension that manages the fields you're having trouble with. + +### WordPress 50\* errors + +If you're running into these errors during node sourcing, the plugin may be trying to fetch more data from your WordPress instance than your WP server can handle. Try lowering the [`schema.perPage`](./plugin-options.md#schema.perpage-int) plugin option from it's default of 100 and re-run your build process. + +You can also try changing the [`schema.requestConcurrency`](./plugin-options.md#schema.requestconcurrency-int) option to limit the amount of GraphQL requests concurrent GraphQL requests made at any time when sourcing data from WPGraphQL. It's default is 15 concurrent requests. + +Another reason this can happen is that one of your GraphQL queries causes an unrecoverable error on your WordPress server. See the section on [debugging GraphQL errors](#graphql-errors) for debugging steps. + +### Node Sourcing Timeouts + +If you're running into timeouts during node sourcing, it is likely that your WordPress server is limiting the number of concurrent requests to a number lower than the number of different types that this source plugin is attempting to source from your WordPress server. You can either increase the number of concurrent connections your WordPress server can handle by tuning or replacing your server, or you can lower the plugin option [`schema.requestConcurrency`](./plugin-options.md#schema.requestconcurrency-int) to a lower number than the number of concurrent GraphQL requests your WordPress server can handle. + +To determine how many concurrent GraphQL requests your server can handle, enable verbose mode with the `verbose` plugin option: + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + verbose: true, + }, +}, +``` + +Then run your build again. You will see a long list of types that the source plugin is fetching from WordPress such as Page, Post, User, etc. + +Notice that each of these types is reporting on the right-side how many nodes is sourced from each. + +You will see that at the bottom of the list there are some types which aren't yet returning nodes. + +Count upwards from the last type that seems to be frozen to the top of the list. This is the number of concurrent GraphQL requests your server can handle. + +Note that `GATSBY_CONCURRENCT_DOWNLOAD` has been retired, now [`schema.requestConcurrency`](./plugin-options.md#schema.requestconcurrency-int) plugin option is used. + +## Media File Download Errors + +The main error that occurs while fetching media files is overwhelming the remote server due to too many concurrent requests. You can set the [`schema.requestConcurrency`](./plugin-options.md#schema.requestconcurrency-int) plugin option below it's default of `100`. You will need to experiment a bit to determine what the maximum number of concurrent requests for media files your server can handle is. + +## Broken Preview templates + +Since a Previewed post might have a lot less data attached to it than what you're testing with during development, you might get errors in previews when that data is missing. You can debug your previews by running Gatsby in preview mode locally. + +- Run Gatsby in refresh mode with `ENABLE_GATSBY_REFRESH_ENDPOINT=true gatsby develop` +- Install ngrok with `npm i -g ngrok` +- In a new terminal window run `ngrok http 8000` +- In your WP instances GatsbyJS settings, set your Preview instance URL to `https://your-ngrok-url.ngrok.io` and your preview refresh endpoint `https://your-ngrok-url.ngrok.io/__refresh` + +Now when you click preview in `wp-admin` it will use your local instance of Gatsby. You can inspect the preview template to see which Gatsby path is being loaded in the preview iframe and open it directly to do further debugging. + +You can proactively protect against broken Preview templates by using [optional chaining](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining) to prevent trying to access properties on `undefined`. + +## Previews Don't Update + +Check in your `wp-config.php` to determine wether or not post revisions are disabled. Look for `define( 'WP_POST_REVISIONS', FALSE );` and if you find it, remove it. This appears to be a WPGraphQL bug and we're working on fixing it. If you're interested in the status of that check https://github.com/wp-graphql/wp-graphql/issues/1408. +If post revisions are enabled on your site and previews are still not working, please open a [new issue](https://github.com/gatsbyjs/gatsby/issues/new). + +## Preview debug mode + +You can enable Preview debug mode to help you debug issues with the Gatsby Preview build process. Visit the [plugin options page](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/plugin-options.md#debugpreview-boolean) to see how to enable this debug option. This option will log addition info to the terminal output including the contents of the webhook body that was sent to the Gatsby process, a list of the Preview change events Gatsby receives, as well as the node Preview data that was sourced during the Preview. + +# Up Next :point_right: + +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/features/caching.md b/packages/gatsby-source-wordpress/docs/features/caching.md new file mode 100644 index 0000000000000..bf334f1f4d710 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/features/caching.md @@ -0,0 +1,38 @@ +# Build Caching :ballot_box: + +Due to our [WPGatsby](https://github.com/gatsbyjs/wp-gatsby) WordPress plugin which tracks data changes in WordPress, we can do very aggressive caching. + +On the first run of `gatsby develop` or `gatsby build` all public data is fetched from WordPress (minus any data exluded via [plugin options](../plugin-options.md#typetypenameexclude-boolean)). On subsequent builds only changed data is fetched from WordPress. +This allows [Previews](./preview.md), [Incremental Builds](#incremental-builds-triangular_ruler) and [Fast Builds](#fast-builds-running_woman) to work properly with this plugin! + +**Note:** If the remote schema changes between builds, the entire cache will be invalidated and the plugin will start over and re-fetch all data. This can happen when updating your `gatsby-node.js` , `gatsby-config.js` or when adding a new npm package to your project. + +# Incremental Builds :triangular_ruler: + +"Incremental builds" means that only changed data is pulled from WordPress and only pages using that data are rebuilt when content changes in WordPress. + +When you're using [Gatsby Cloud](https://www.gatsbyjs.com/), inc-builds will work by default! :zap: + +There are no other other services which can provide true incremental builds wether they claim they can or not. If your "inc-builds" take longer than 20 seconds, consider switching to [Gatsby Cloud](https://www.gatsbyjs.com/) :smile_cat: + +You can expect proper inc-build times to be between 4 - 12 seconds depending on your setup for most sites. For very large sites or sites which include other source plugins inc builds times may be longer. +We've seen that other CI services claiming to offer incremental builds usually result in 2+ minute build times and they are often slower than regular non-incremental builds on Gatsby Cloud. + +# Fast Builds :running_woman: + +While "Fast Builds" aren't as fast as Incremental builds, they are the default for this plugin and it's a significant improvement over previous versions of gatsby-source-wordpress (v3 or lower). +Without incremental builds Gatsby will still rebuild your whole site, but only changed data is fetched when making content updates in WordPress. + +You can expect to see massively faster build times than previous versions of `gatsby-source-wordpress` and `gatsby-source-graphql`. The actual cached build time will vary depending on the size and complexity of your Gatsby site/app and the power of your CI service, but it will be in the ballpark of 30 seconds to 2 minutes for a ~1000 page site (with proper caching set up in your CI service). + +Any CI/CD service will work to build your Gatsby site but [Gatsby Cloud](https://www.gatsbyjs.com/get-started/) is recommended for your build service. If you're looking to try out WP/Gatsby and want something free, Cloud has a generous free tier. It will build faster than Netlify and it can deploy to Netlify hosting for free. + +## Setting up Incremental/Fast Builds + +You can find our tutorial on setting up WPGatsby [here](../tutorials/configuring-wp-gatsby.md#setting-up-builds). Part-way down the page there are instructions you can follow on setting up Builds. If you're using Gatsby Cloud, setting up your Builds webhook will automatically enable Incremental Builds after your first successful uncached build has completed. + +## Will it Build + +See [Willit.build](https://willit.build/details/type/blog/source/wordpress/page-count/8192) for historical incremental, cached, and uncached build time benchmarking data! We have test data ranging from 512 pages to 8192 pages (and counting). + +:point_left: [Back to Features](./index.md) diff --git a/packages/gatsby-source-wordpress/docs/features/compatibility-api.md b/packages/gatsby-source-wordpress/docs/features/compatibility-api.md new file mode 100644 index 0000000000000..ade79cb200182 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/features/compatibility-api.md @@ -0,0 +1,9 @@ +# Compatibility API + +Because we have so many remote depencies (WordPress, WPGraphQL, and WPGatsby), we've baked a remote compatibility API into this plugin. + +Anytime the build or develop process starts, the source plugin will send the WPGatsby and WPGraphQL semver version ranges it supports to WPGatsby. WPGatsby will return wether or not the currently installed plugins are within the supported range. + +If your dependencies are out of the supported range, the build process will exit and provide a link to download the correct dependency versions. + +:point_left: [Back to Features](./index.md) diff --git a/packages/gatsby-source-wordpress/docs/features/gatsby-link.md b/packages/gatsby-source-wordpress/docs/features/gatsby-link.md new file mode 100644 index 0000000000000..fefbbe75ef638 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/features/gatsby-link.md @@ -0,0 +1,7 @@ +# Gatsby Link + +Anchor tag src's in html that are links to your WP instance are automatically rewritten to relative links (`https://yoursite.com/beautiful-page` becomes `/beautiful-page`). For this reason, it's recommended to use your WordPress page and post [uri's](https://github.com/TylerBarnes/using-gatsby-source-wordpress/blob/master/gatsby-node.js#L29) to create your [Gatsby page paths](https://github.com/TylerBarnes/using-gatsby-source-wordpress/blob/master/gatsby-node.js#L68). + +Anchor tags in html that are relative links automatically become `gatsby-link`'s so that navigation via html links are blazing fast. + +:point_left: [Back to Features](./index.md) diff --git a/packages/gatsby-source-wordpress/docs/features/graphql-wordpress-and-gatsby.md b/packages/gatsby-source-wordpress/docs/features/graphql-wordpress-and-gatsby.md new file mode 100644 index 0000000000000..b749d850ea5d4 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/features/graphql-wordpress-and-gatsby.md @@ -0,0 +1,229 @@ +# GraphQL, WordPress and Gatsby + +This document is intended to provide more information on how GraphQL to allow WordPress to be a +data source for Gatsby. + +On this page, you will learn more about: + +- How data flows from WordPress to Gatsby +- Differences between Gatsby's GraphQL API and WPGraphQL (GraphQL for WordPress) +- How WPGraphQL Extensions are Gatsby Extensions + +## How Gatsby uses the WPGraphQL Schema + +Schema Merging is the magic that makes this source plugin work! + +The WPGraphQL and Gatsby GraphQL schemas are automagically merged behind the scenes for you by using +GraphQL introspection and logic that understands WPGraphQL and Gatsby. + +When using Gatsby Source WordPress, Gatsby connects to your WordPress GraphQL endpoint, then uses +GraphQL Introspection queries to get a copy of your WordPress GraphQL Schema, then creates Types and +fields in Gatsby's GraphQL Schema that are very similar (but not identical) to the Types and Fields +in the WPGraphQL Schema. + +The source plugin then generates GraphQL queries to fetch data (posts, pages, authors, media, +taxonomy terms, etc) from WordPress, based on your WordPress GraphQL Schema. These queries are sent +to your WordPress site's WPGraphQL endpoint, and then Gatsby caches (stores copies of the data) by +creating Gatsby nodes from the returned data. Data is never fetched twice. If we will already have +data, for example on a connection field between an Author and a Post, we only pull the id of the +Post and link the field to the Post node on the Gatsby side. + +![WordPress data sourcing screenshot](../../docs/assets/gatsby-source-wordpress-data-fetching.png) + +Once data is copied from WordPress into Gatsby's Node layer, it can be accessed using GraphQL +Queries against Gatsby's GraphQL API, and there are no additional network requests back to your +WordPress site. + +## Gatsby's GraphQL API vs WPGraphQL + +When querying data in Gatsby, you query from Gatsby's GraphQL API which reads from it's node store +(cached copies of WordPress data) and does not make network requests back to WordPress directly. + +So, when using GraphQL queries to create pages or add data to pages in Gatsby, you query against +Gatsby's GraphQL API, and not WPGraphQL directly. + +Gatsby's Schema for WordPress data looks similar to the Schema exposed by WPGraphQL, but with some +differences. + +We'll cover some of these differences below. + +### Schema Prefix + +Gatsby Source WordPress prefixes Types from the WPGraphQL Schema with a `Wp` ([this can be changed](../plugin-options.md)). + +This means that a GraphQL Type such as `Post` in WPGraphQL will be `WpPost` in Gatsby. + +### Connection Names + +Connections (lists of nodes) in Gatsby are pluralized with the word `all`. So instead of root fields +`post` and `posts` (in WPGraphQL), Gatsby has root fields `wpPost` and `allWpPost`. + +A WPGraphQL Query for posts would look like: + +```graphql +{ + posts { + nodes { + id + title + } + } +} +``` + +But a similar query for posts in Gatsby might look like: + +```graphql +{ + allWpPost { + nodes { + id + title + } + } +} +``` + +### Children fields + +In WPGraphQL some hierarchial data, such as Pages, have a `children` field. In Gatsby, this is +exposed as `wpChildren` instead of `children`. + +### Filters & Inputs + +Another important thing to note about the difference between WPGraphQL and Gatsby's GraphQL API, is +the input arguments. + +WPGraphQL exposes input arguments that are sent to the WordPress server and can have an impact on +the results of a query. + +When using Gatsby's GraphQL API, you're interacting with Gatsby's node layer, not WordPress directly, +so inputs that can be provided to fields in a WPGraphQL Query are not the same as the inputs that can +be provided in a Gatsby GraphQL Query. + +For example, WPGraphQL provides a query for a single post that looks like the following: + +```graphql +{ + post(id: 123, idType: DATABASE_ID) { + id + title + content + } +} +``` + +But a similar query for a single post by database ID in Gatsby would look like: + +```graphql +{ + wpPost(databaseId: { eq: 1747 }) { + id + title + content + } +} +``` + +The differences in the WPGraphQL and Gatsby Schemas can be subtle, so it's advised to use tooling +such as GraphiQL to get familiar with both WPGraphQL and Gatsby's GraphQL Schemas. + +### Understanding WordPress Data in Gatsby's GraphQL Schema + +One of the best ways to explore the data that's available in Gatsby is to use GraphiQL. If you're +not yet familiar with GraphiQL, check out [this guide](https://www.gatsbyjs.com/docs/how-to/querying-data/running-queries-with-graphiql/). + +Typing `Wp` (or the custom prefix your Gatsby site has configured) into the Docs explorer in GraphiQL +is one way to quickly begin exploring what GraphQL Types Gatsby Source WordPress has created in Gatsby's GraphQL Schema: + +![GraphiQL Docs Search](../../docs/assets/gatsby-source-wordpress-graphiql-docs-search.gif) + +Also, using the GraphiQL Explorer to select fields is another good way to explore data that's made +available. + +![GraphiQL Explorer](../../docs/assets/gatsby-source-wordpress-graphiql-explorer.gif) + +## WPGraphQL Extensions are Gatsby Extensions + +Because of the way Gatsby Source WordPress uses WPGraphQL's Schema to fetch WordPress data and +customize Gatsby's Schema, it means that any WPGraphQL extension automatically works as a Gatsby +Source plugin. + +If you use [WPGraphQL for Advanced Custom Fields](https://github.com/wp-graphql/wp-graphql-acf), +[WPGraphQL for Yoast SEO](https://wordpress.org/plugins/add-wpgraphql-seo/) or just about any other +[WPGraphQL Extension](https://www.wpgraphql.com/extensions/), then the data exposed by these plugins +will automatically be available for use in Gatsby. + +To demonstrate this, we can register a new field to WPGraphQL with this PHP snippet (added to your +WordPress theme's functions.php or in a custom plugin). + +```php +add_action('graphql_register_types', function() { + register_graphql_field( 'Post', 'testGatsbyField', [ + 'type' => 'String', + 'description' => __( 'Test field for demonstration', 'your-textdomain' ), + 'resolve' => function() { + return 'gatsby test!'; + } + ]); +}); +``` + +This registers a field `testGatsbyField` to the WPGraphQL Schema, and always returns the value +`gatsby test!`. + +Using GraphiQL within the WordPress dashboard, we can verify this new field exists on the Post type, +by querying like so: + +```graphql +{ + posts { + nodes { + id + title + testGatsbyField + } + } +} +``` + +![GraphiQL Explorer](../../docs/assets/gatsby-source-wordpress-test-field.png) + +Now, we can also query this field from our Gatsby GraphQL API: + +```graphql +{ + allWpPost { + nodes { + id + title + testGatsbyField + } + } +} +``` + +![GraphiQL Explorer](../../docs/assets/gatsby-source-wordpress-test-field-gatsby.png) + +Pretty neat! + +#### Caveats + +Not all WPGraphQL Extensions are created equally. If a plugin exposes a scalar field on a Type, like +the example above, it will "just work" in Gatsby. + +However, if your plugin is exposing more data than Scalar fields, such as Nodes and Connections, it +should follow the principles of the [GraphQL Relay spec](https://www.wpgraphql.com/docs/wpgraphql-concepts/#relay-specification) in order to really play nicely with Gatsby +Source WordPress. + +Namely: + +- Nodes should be accessible via RootQueries. For example, if you have a connection from Type A to + Type B, and Type B is considered a Node, it should be able to be queried independently from the Root + of the Graph as well as in connection to Type A. +- Hierarchical data should, when possible, be returned as a flat list (parent and children in the + same level of the list) and should offer parentId / parentDatabaseId fields. + +--- + +:point_left: [Back to Features](./index.md) diff --git a/packages/gatsby-source-wordpress/docs/features/index.md b/packages/gatsby-source-wordpress/docs/features/index.md new file mode 100644 index 0000000000000..59527ee707613 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/features/index.md @@ -0,0 +1,21 @@ +# Features + +1. :zap: [Build Caching](./caching.md) +2. :eyes: [Preview](./preview.md) +3. :spider_web: [GraphQL Schema Merging and Data Fetching](graphql-wordpress-and-gatsby.md) +4. :camera: [Media/File processing & handling](./media-item-processing.md) +5. :computer: [Gatsby Link's in HTML](./gatsby-link.md) +6. :100: [Limit nodes during development](./limit-nodes-during-development.md) +7. :running_woman: [WP Compatibility](./compatibility-api.md) +8. :closed_lock_with_key: [Security](./security.md) + +# Up Next :point_right: + +- :electric_plug: [Plugin options](../plugin-options.md) +- :boat: [Migrating from other WP source plugins](../migrating-from-other-wp-source-plugins.md) +- :house: [Hosting WordPress](../hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](../themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](../usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](../debugging-and-troubleshooting.md) +- :national_park: [Community and Support](../community-and-support.md) +- :point_left: [Back to README.md](../../README.md) diff --git a/packages/gatsby-source-wordpress/docs/features/limit-nodes-during-development.md b/packages/gatsby-source-wordpress/docs/features/limit-nodes-during-development.md new file mode 100644 index 0000000000000..bbf0dfc96adb5 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/features/limit-nodes-during-development.md @@ -0,0 +1,34 @@ +# Limit nodes during development + +For very large sites it may take quite a while to start `gatsby develop` when you start working on a project. To mitigate this annoyance, we've added a plugin option to limit the number of nodes that will be pulled on any type. + +Lets say you have 1000 or even 10,000 posts. You can do the following to only fetch the latest 50! + +gatsby-config.js: + +```js +module.exports = { + plugins: [ + { + resolve: `gatsby-source-wordpress`, + options: { + url: process.env.WPGRAPHQL_URL, + type: { + Post: { + limit: + process.env.NODE_ENV === `development` + ? // Lets just pull 50 posts in development to make it easy on ourselves. + 50 + : // And all posts in production + null, + }, + }, + }, + }, + ], +} +``` + +Now when you run `gatsby develop` you can start working in 20 seconds instead of 20 minutes! + +:point_left: [Back to Features](./index.md) diff --git a/packages/gatsby-source-wordpress/docs/features/media-item-processing.md b/packages/gatsby-source-wordpress/docs/features/media-item-processing.md new file mode 100644 index 0000000000000..98c0ba46ed6e2 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/features/media-item-processing.md @@ -0,0 +1,94 @@ +# Image/File Processing & Handling + +## Only referenced media items are sourced + +Only media items that are referenced by at least 1 other node are sourced. For example if you have image `a.jpeg` and `b.jpeg` and in the `Hello World` post, you add `a.jpeg` as a featured image (or other field) but `b.jpeg` is not included anywhere, only `a.jpeg` will be sourced by Gatsby. +This means if you have 10,000 images in your WordPress instance, but only 1 of those images is used in your site, you will only need to wait for 1 image to download. It's a common scenario for admins to upload 5-10x more images than they use, and that is the reason this feature exists. Currently there is no way to pull all Media Items, but if you need this feature please open an issue (or search for an existing one and thumbs up it). + +## Gatsby Image in HTML fields + +Media items in html are automatically sourced and image tags are swapped with `gatsby-image`'s + +This can be turned off with the `html.useGatsbyImage` boolean plugin option. See [plugin options](../plugin-options.md#html.usegatsbyimage-boolean) for more information. + +Image tag URL's in html that return 404's are logged to the terminal output with a link to which post or page the broken image is attached. +This allows you to easily discover and fix broken images that were deleted from the media library. +By default 404's will fail the build to prevent deploying a broken site. You can disable this with the [`allow404Images`](../plugin-options.md#productionallow404images-boolean) option. + +### Requirements for images in html to be converted to Gatsby images + +Images in html `img` tags which are either relative paths or full paths to your WP instance will be recognized and sourced by Gatsby. + +For example, both of the following will be sourced: + +```html + + +``` + +Note that there's currently a hard requirement for both kinds of url's to include `/wp-content/uploads` in order to be picked up. If your media items are stored in another directory they will not become Gatsby iamges. + +## Preventing Image/File sourcing + +If you would prefer to let WordPress handle serving images for you, you can prevent Gatsby from fetching any images with the following plugin options: + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + url: process.env.WPGRAPHQL_URL, + html: { + createStaticFiles: false, + useGatsbyImage: false, + }, + type: { + MediaItem: { lazyNodes: true }, + }, + }, +} +``` + +Note that if you make a GraphQL request for any media item in Gatsby, it will still fetch that media item while resolving the GraphQL response data. +If you don't want this to happen you will have to make sure you don't query for those fields. + +:point_left: [Back to Features](./index.md) + +## Referencing static file public URL's + +If you want to use image/file url's directly instead of (or in addition) to using Gatsby Image, you can query for the `WpMediaItem.localFile.publicURL` field in GraphQL. +However, for this field to be available you'll need to first install and configure `gatsby-source-filesystem` and point it at atleast 1 local file. + +You can install it in your project with `npm install gatsby-source-filesystem` or `yarn add gatsby-source-filesystem`. Once you do that you can add it to your `gatsby-config.js` like this: + +```js +module.exports = { + plugins: [ + { + resolve: `gatsby-source-filesystem`, + options: { + name: `assets`, + path: `${__dirname}/content/assets`, // this needs to include a path with atleast 1 file + }, + }, + ], +} +``` + +Now when you run `gatsby develop`, you should be able to query for the public URL of any local file node in WP. +This is mostly useful for when you need a direct file link to a PDF or other asset that you want your users to be able to download. + +```graphql +query { + allWpPost { + nodes { + featuredImage { + node { + localFile { + publicURL + } + } + } + } + } +} +``` diff --git a/packages/gatsby-source-wordpress/docs/features/preview.md b/packages/gatsby-source-wordpress/docs/features/preview.md new file mode 100644 index 0000000000000..9b850b37a2500 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/features/preview.md @@ -0,0 +1,179 @@ +# Preview + +This plugin supports [Preview](https://www.gatsbyjs.com/preview/) and has been designed to replicate the normal WordPress admin preview experience as closely as possible. + +## How Preview works + +When configured properly by a developer, preview should function almost identically to how it does in regular WordPress. The admin updates content and presses "preview" and the preview template opens and displays the preview. + +## Setting up Preview + +You can find our tutorial on setting up WPGatsby [here](../tutorials/configuring-wp-gatsby.md#setting-up-preview). Part-way down the page there are instructions you can follow on setting up Preview. + +## Gutenberg and ACF + +Note that if you use these two together, you cannot preview ACF data. This is a core WordPress Gutenberg issue. Follow https://github.com/WordPress/gutenberg/issues/16006 for more information. If you use ACF and would like to preview data changes, use the Classic Editor plugin for now. + +## Template safety + +Be sure to guard against missing data in your templates using optional chaining so that missing data doesn't cause template errors. Trying to access properties on undefined will break your preview. For example, if you try to access `wpPost.acfFieldGroup.hero.content` but your Preview template receives `null` for `wpPost.acfFieldGroup`, your preview template will break. + +To guard against this you can use optional chaining by writing `wpPost?.acfFieldGroup?.hero?.content` instead. + +## Debugging Previews in React + +Since a Previewed post might have a lot less data attached to it than what you're testing with during development, you might get errors in previews when that data is missing. You can debug your previews by running Gatsby in preview mode locally. + +- Run Gatsby in refresh mode with `ENABLE_GATSBY_REFRESH_ENDPOINT=true gatsby develop` +- Install ngrok with `npm i -g ngrok` +- In a new terminal window run `ngrok http 8000` +- In your WP instance's GatsbyJS settings, set your Preview instance URL to `https://your-ngrok-url.ngrok.io` and your Preview webhook to `https://your-ngrok-url.ngrok.io/__refresh` + +Now when you click the preview button in `wp-admin` it will use your local instance of Gatsby. You can inspect the preview template to see which Gatsby page is being loaded in the preview iframe and open it directly to do further debugging. + +## Debugging the build process of Previews + +If you enable the plugin option `options.debug.preview` by setting it to `true`, you will see additional logging through the Preview build process with information such as the contents of the webhook body that was sent to Gatsby, the preview node data, and the list of preview actions that were pulled from WordPress. See the [plugin options](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/plugin-options.md#debugpreview) documentation for more info. + +## Common gatsby-node.js problems that break previews + +### 1. When querying for nodes, the previewed node is filtered out + +Make sure that when `process.env.NODE_ENV === "development"` you aren't filtering your `gatsby-node.js` node queries. For example, the following will break Previews: + +```js +exports.createPages = async ({ graphql }) => { + const graphqlResult = await graphql(/* GraphQL */ ` + query { + allWpPost(filter: { status: { eq: "publish" } }) { + edges { + node { + id + uri + } + } + } + } + `) +} +``` + +Filtering by a specific category can also break previews since adding categories to posts is not previewable in WordPress: + +```js +exports.createPages = async ({ graphql }) => { + const graphqlResult = await graphql(/* GraphQL */ ` + query { + allWpPost( + filter: { + categories: { nodes: { elemMatch: { name: { eq: "Blog" } } } } + } + ) { + edges { + node { + id + uri + } + } + } + } + `) +} +``` + +### 2. Not including the node id in pageContext + +It is currently a hard requirement that the node id is added to pageContext. + +```js +exports.createPages = async ({ graphql, actions }) => { + const graphqlResult = await graphql(/* GraphQL */ ` + query { + allWpPost { + edges { + node { + id + uri + } + } + } + } + `) + + graphqlResult.data.allWpPost.edges.map(({ node }) => { + actions.createPage({ + path: node.uri, + component: require.resolve(`./src/components/dog.js`), + context: { + id: node.id, // if this is not included, previews will not work. + }, + }) + }) +} +``` + +## Built in Preview plugin options preset + +In order to speed up previews, there are some built in default plugin options for when your Gatsby site is in Preview mode. This preset disables static asset transformations in html fields and limits the number of nodes initially fetched during a cold build. You can disable this preset by passing `null` to the preset option. Any options you've set yourself will override the preset options. + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + url: `https://your-site.com/graphql`, + presets: null + } +} +``` + +The preset (as found in src/models/gatsby-api.ts) is: + +```ts +{ + // this is an internal name + presetName: `PREVIEW_OPTIMIZATION`, + + // these are the conditions the preset will be added under + useIf: () => inDevelopPreview || inPreviewRunner, + + // these options will be merged into the global default options and your options will be merged into these options + options: { + html: { + useGatsbyImage: false, + createStaticFiles: false, + }, + type: { + __all: { + // all nodes are limited to 50 in cold builds + limit: 50, + }, + Comment: { + // all comments are excluded + limit: 0, + }, + // there's no limit to the following three types in cold builds + Menu: { + limit: null, + }, + MenuItem: { + limit: null, + }, + User: { + limit: null, + }, + }, + }, +} +``` + +## How Preview works behind the scenes + +When the WP "preview" button is pressed, a JWT is generated (with an expiry time of 1 hour) and POST'ed to the Gatsby Preview instance webhook. The Preview instance then uses this short-lived JWT to request a list of pending previews for all users. Gatsby starts processing each pending preview. At the same time, WordPress automatically opens the WP preview template which has been overridden by WPGatsby. Within the WP preview template you will see the admin bar at the top of the page as usual. The WordPress preview template displays a loader and waits for Gatsby to send back the preview status for the preview you're observing - it will receive a response when the preview has been processed on the Gatsby side. On the Gatsby side, it matches up the node being previewed with the Gatsby page that was created from it, once that page has been updated or created, it sends back the Gatsby page path for that page. WordPress then starts watching for the changed page to be deployed. Once it's deployed, the WordPress preview template loads the right Gatsby page in an iframe and removes the loader. In the case that there are errors on the Gatsby side, or no page is created for the node that's being previewed, Gatsby will send back an appropriate status and WPGatsby will display an error in the browser with instructions on how to resolve the issue. + +## Preview Security Considerations + +In order to support multiple users previewing simultaneously (and/or content updates happening at the same time as previews), WPGatsby needs to generate a user-agnostic JWT token and post that to Gatsby to pull all pending previews for any variety of users. This JWT can authenticate as any user. What this means is your Gatsby instance is being trusted at the same level as WP core code or WP plugins/themes. You should make sure that only trusted individuals or teams have code-level access to your WP server code/hosting and your Gatsby code/hosting. You should always use SSL for your WP host and your Gatsby Preview instance (on Gatsby Cloud this is taken care of for you). This JWT is only accessible when POST'ed to your Gatsby Preview instance during previews. The settings for where this JWT is POST'ed to can only be configured by administrators (via the WPGatsby settings page) or by anyone with code-level access to your WP instance. + +Additionally Gatsby Preview has no conception of user access roles. This means anyone with frontend, GraphiQL, or code level access to your Preview instance can see any currently existing Gatsby Previews that have been processed. + +:point_left: [Back to Features](./index.md) diff --git a/packages/gatsby-source-wordpress/docs/features/security.md b/packages/gatsby-source-wordpress/docs/features/security.md new file mode 100644 index 0000000000000..b6cc10b350547 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/features/security.md @@ -0,0 +1,10 @@ +# Security + +This plugin is built with your WP site security in mind. For that reason, we've intentionally left out any authentication options. The reason is that any data fetched by Gatsby should be considered public data. Any Gatsby site may potentially have a publically queryable GraphQL server running when Gatsby is running in Preview mode (either via self-hosted Preview or on Gatsby Cloud). If we were to source data from WordPress while authenticated, all of the data we sourced would be available in Gatsby, which means it could easily be leaked to anyone who happens upon your Preview instance. For this reason, auth options have been intentionally excluded. + +If you have a requirement where you need some private data in Gatsby, you should either + +1. If your private data requirements are related to specific user accounts and will require different data depending on who's logged in to your site, add client-side authentication and make live GraphQL requests to WPGraphQL in-browser (using [Apollo](https://www.apollographql.com/docs/react/) or similar). +2. Filter your data to be public in WPGraphQL. If you need some data during a Gatsby build, you need to consider it as public data. This means you need to make it public in WPGraphQL. Think very carefully before you do this, and make sure you understand the security implications before you change anything. To filter private data to make it public, visit the [WPGraphQL docs](https://www.wpgraphql.com/recipes/making-menus-and-menu-items-public/) to learn more. + +:point_left: [Back to Features](./index.md) diff --git a/packages/gatsby-source-wordpress/docs/getting-started.md b/packages/gatsby-source-wordpress/docs/getting-started.md new file mode 100644 index 0000000000000..fe6eee26bb105 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/getting-started.md @@ -0,0 +1,60 @@ +# Installation & Getting Started :baby_chick: + +If you've had previous experience with Gatsby or you like to move fast, you can use the quick start steps below to get up and running quickly. If you'd like to take a step back and learn more first, head over to our [tutorials](./tutorials/index.md) :footprints: + +## Quick start + +1. [Install Node, Gatsby, and gatsby-cli](https://www.gatsbyjs.org/docs/) +2. Install [a starter](https://github.com/gatsbyjs/gatsby-starter-wordpress-blog) `gatsby new my-wordpress-gatsby-site https://github.com/gatsbyjs/gatsby-starter-wordpress-blog` +3. Install and activate both of the following plugins in a live WordPress instance. + + - [WPGraphQL](https://wordpress.org/plugins/wp-graphql/) + - [WPGatsby](https://wordpress.org/plugins/wp-gatsby/) + +4. In the `gatsby-config.js` of the starter you just set up, update the plugin options for `gatsby-source-wordpress`. Change the `url` option so that it points to your WordPress instance GraphQL url. This should be the full url of your GraphQL endpoint. Eg `https://yoursite.com/graphql` +5. Run `gatsby develop` and experience the magic :star2: +6. Create your beautiful and accessible app :nail_care: +7. Build with [Gatsby Cloud](https://www.gatsbyjs.com/) & deploy to [Netlify](https://www.gatsbyjs.com/guides/netlify/) for a fast, wonderful, _and_ affordable CI/CD experience :boom: :rocket: + +### Hot tip + +For a fast, easy, and reliable WordPress local dev server, use [Local by Flywheel](https://localwp.com/). This will save you time setting up WordPress on your computer and you can easily push and pull to and from Flywheel/WPEngine hosting! + +## Required WordPress Dependencies + +In addition to WordPress, there are 2 other required plugins on the PHP side of things. If you're on the latest version of the source plugin and these plugins, everything will work great. If there is a version mismatch, you'll be notified and provided a download link for the correct versions in your terminal via our [compatibility API](./features/compatibility-api.md) when you run a build :smile: + +### WPGraphQL + +This plugin turns your WordPress instance into a GraphQL server. + +- [Source code](https://github.com/wp-graphql/wp-graphql) +- [Docs](https://docs.wpgraphql.com/) +- [Website](https://www.wpgraphql.com/) + +### WPGatsby + +This plugin modifies the WPGraphQL schema in Gatsby-specific ways and also keeps a record of when user actions happened. This allows us to do selective cache invalidation in Gatsby (to speed up builds) and add Preview support. + +- [Source code](https://github.com/gatsbyjs/wp-gatsby) + +### WordPress + +Please note that we only officially support the latest version of WordPress. However, WordPress is great at keeping backwards compatibility and older versions may work. + +- [Source code](https://wordpress.org/download/source/) +- [Docs](https://codex.wordpress.org/) +- [Website](https://wordpress.org) + +# Up Next :point_right: + +- :school: [Tutorials](./tutorials/index.md) +- :feet: [Features](./features/index.md) +- :electric_plug: [Plugin options](./plugin-options.md) +- :boat: [Migrating from other WP source plugins](./migrating-from-other-wp-source-plugins.md) +- :house: [Hosting WordPress](./hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](./themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](./usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/hosting.md b/packages/gatsby-source-wordpress/docs/hosting.md new file mode 100644 index 0000000000000..823882ea176b4 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/hosting.md @@ -0,0 +1,30 @@ +# Hosting WordPress :house: + +Any mid-to-high performance WordPress host will work great. You may also have success on low performance WordPress hosts for smaller or medium sized sites, but a better server is recommended. + +A great Gatsby/WordPress workflow is to use [Local by Flywheel](https://localwp.com/) for hosting your local WordPress server and then pushing from there to [Flywheel](https://getflywheel.com/) or [WPEngine](https://wpengine.com/) hosting for your live/staging WordPress servers. + +## Host IP rate limiting + +If you have a very large site (with a lot of images), you may need to ask your hosting provider to remove IP rate limiting for your IP addresses as this source plugin will try to fetch them as fast as it can to speed up your build times. + +## Server timeouts & Over-resourced server errors + +If your server becomes overwhelmed by the number of requests being made from Gatsby to WP during an uncached build, your build may fail with an error explaining that your server is overloaded. You can fix this one of 2 ways: + +### Solution 1: Get a better server (for faster build times) + +If you're getting errors about your server being overloaded, you can try renting and migrating to a server with more resources. This will cost more but will mean your builds are faster and more reliable. For many sites WPEngine will work well. If WPE doesn't work for you or you need more resources at a cheaper price you'll need to do some investigation to find a suitable hosting provider. Once you have a good server you may be able to speed up your build times by increasing the [GraphQL request concurrency (data requests)](./plugin-options.md#schemarequestconcurrency-int) and [media file request concurrency (requests for images, videos, pdf's, etc)](./plugin-options.md#typemediaitemlocalfilerequestconcurrency-number) settings from their defaults. + +### Solution 2: Tweak Gatsby concurrency settings to suit a less powerful server (for slower build times) + +By lowering the plugin options for request concurrency (the number of requests made at one time) you can fix over-resourced server errors. There's a setting for [GraphQL request concurrency (data requests)](./plugin-options.md#schemarequestconcurrency-int) as well as for [media file request concurrency (requests for images, videos, pdf's, etc)](./plugin-options.md#typemediaitemlocalfilerequestconcurrency-number). +Some servers may require these settings to be set as low as 1, 5 or 10. Try a few different settings to determine how many concurrent requests your server can handle. The higher this number can be set, the faster your uncached builds will become. + +# Up Next :point_right: + +- :athletic_shoe: [Themes, Starters, and Examples](./themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](./usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/migrating-from-other-wp-source-plugins.md b/packages/gatsby-source-wordpress/docs/migrating-from-other-wp-source-plugins.md new file mode 100644 index 0000000000000..03d81289f9eee --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/migrating-from-other-wp-source-plugins.md @@ -0,0 +1,72 @@ +# Migrating from Other WP Source Plugins :bird: + +From what we've seen migrating is a fairly painless process as the GraphQL schema structure is not too different from older Gatsby WordPress source plugins. + +## Migrating from `gatsby-source-wordpress@v3` + +**Note**: If you're using Gatsby Cloud and you have `gatsby-source-wordpress@v3` and `gatsby-source-wordpress` installed in the same site, only the experimental plugin will receive webhook updates when updating content. + +[Graphiql](https://www.gatsbyjs.org/docs/running-queries-with-graphiql/) is your best friend when migrating from the last major version of this plugin. Run `gatsby develop` and visit `http://localhost:8000/___graphiql` + +Any node list queries such as `allWordpressPage { nodes { title } }` will need to be updated to match the new WordPress types in the Gatsby schema. The new pattern for type names is `Wp` and then the capitalized type such as `Page`. So to replace the node list query above, you would write `allWpPage { nodes { title } }`. + +Since `v3` used the WP REST API and `v4` uses WPGraphQL, the data shape and available fields for each type will vary. For example `featured_image` in `v3` becomes `featuredImage` in `v4`. Many of the core WordPress data fields remain the same, but if you're using any custom data, or fields added by extensions to access additional data (like ACF fields), you will need to use Graphiql to determine what the new data shape will be. If you find you're missing data, you may need to install a [WPGraphQL extension](https://docs.wpgraphql.com/extensions/wpgraphql-advanced-custom-fields/) to add that data to the schema. In most cases you will find that you have access to more data than before! But commonly, the [WPGraphQL ACF extension](https://docs.wpgraphql.com/extensions/wpgraphql-advanced-custom-fields/) will need to be installed. + +If you have any custom code which you've added to make connections between nodes work in `v3`, you will get to delete that code (yay!) because WPGraphQL has excellent support built in for connection fields between nodes (for example `Page.author` or `User.pages`). + +## Migrating from `gatsby-source-graphql` + +You're in luck! :four_leaf_clover: This will likely be a very easy migration! + +`gatsby-source-graphql` works in a very similar way to this plugin. What that means is your GraphQL queries will be nearly identical. + +You will need to remove the `wp` root field which wraps around your `gatsby-source-graphql` queries. You will also need to modify the names of fields you're querying to get access to WordPress nodes. + +For example, if you're querying for a list of pages: + +```js +{ + wp { + pages { + nodes { + title + } + } + } +} +``` + +You can modify your query so that the root field is in this pattern: `allWp[fieldTypename]` and the `wp` wrapper is removed. + +So your query would change to look like this: + +``` +{ + allWpPage { + nodes { + title + } + } +} +``` + +### `gatsby-source-graphql` and inline fragments + +Any inline fragments will need to be updated since type names have changed. Use Gatsby's [Graphiql](https://www.gatsbyjs.org/docs/running-queries-with-graphiql/) at `http://localhost:8000/___graphiql` with `gatsby develop` running to determine how your inline fragment typenames should be modified. + +### `gatsby-source-graphql` and `gatsby-image` + +If you're using any plugins or additional schema customization code to enable the use of `gatsby-image`, you can delete that code and uninstall those plugins. `gatsby-source-wordpress@v4` handles that for you out of the box! + +### `gatsby-source-graphql` and WPGraphQL input arguments + +If you're using any WPGraphQL input arguments, you will need to rethink how you're accessing data. Input arguments are not currently supported as finding a good way to cache data with various input arguments is very tricky. We have some ideas on supporting this but for now it's not supported. + +# Up Next :point_right: + +- :house: [Hosting WordPress](./hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](./themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](./usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/plugin-options.md b/packages/gatsby-source-wordpress/docs/plugin-options.md new file mode 100644 index 0000000000000..d111568534647 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/plugin-options.md @@ -0,0 +1,1290 @@ +# Plugin Options + +[comment]: # "This file is automatically generated. Do not edit it directly. Instead, edit the Joi schema in ./plugin/src/steps/declare-plugin-options-schema.js" + +- [url (**required**)](#url-required) +- [verbose](#verbose) +- [debug](#debug) + - [debug.preview](#debugpreview) + - [debug.timeBuildSteps](#debugtimebuildsteps) + - [debug.disableCompatibilityCheck](#debugdisablecompatibilitycheck) + - [debug.throwRefetchErrors](#debugthrowrefetcherrors) + - [debug.graphql](#debuggraphql) + - [debug.graphql.showQueryVarsOnError](#debuggraphqlshowqueryvarsonerror) + - [debug.graphql.showQueryOnError](#debuggraphqlshowqueryonerror) + - [debug.graphql.copyQueryOnError](#debuggraphqlcopyqueryonerror) + - [debug.graphql.panicOnError](#debuggraphqlpaniconerror) + - [debug.graphql.onlyReportCriticalErrors](#debuggraphqlonlyreportcriticalerrors) + - [debug.graphql.copyNodeSourcingQueryAndExit](#debuggraphqlcopynodesourcingqueryandexit) + - [debug.graphql.writeQueriesToDisk](#debuggraphqlwritequeriestodisk) + - [debug.graphql.printIntrospectionDiff](#debuggraphqlprintintrospectiondiff) +- [production](#production) + - [production.hardCacheMediaFiles](#productionhardcachemediafiles) + - [production.allow404Images](#productionallow404images) +- [develop](#develop) + - [develop.nodeUpdateInterval](#developnodeupdateinterval) + - [develop.hardCacheMediaFiles](#develophardcachemediafiles) + - [develop.hardCacheData](#develophardcachedata) +- [auth](#auth) + - [auth.htaccess](#authhtaccess) + - [auth.htaccess.username](#authhtaccessusername) + - [auth.htaccess.password](#authhtaccesspassword) +- [schema](#schema) + - [schema.queryDepth](#schemaquerydepth) + - [schema.circularQueryLimit](#schemacircularquerylimit) + - [schema.typePrefix](#schematypeprefix) + - [schema.timeout](#schematimeout) + - [schema.perPage](#schemaperpage) + - [schema.requestConcurrency](#schemarequestconcurrency) + - [schema.previewRequestConcurrency](#schemapreviewrequestconcurrency) +- [excludeFieldNames](#excludefieldnames) +- [html](#html) + - [html.useGatsbyImage](#htmlusegatsbyimage) + - [html.imageMaxWidth](#htmlimagemaxwidth) + - [html.fallbackImageMaxWidth](#htmlfallbackimagemaxwidth) + - [html.imageQuality](#htmlimagequality) + - [html.createStaticFiles](#htmlcreatestaticfiles) +- [type](#type) + - [type.\_\_all](#type__all) + - [type.\_\_all.where](#type__allwhere) + - [type.\_\_all.exclude](#type__allexclude) + - [type.\_\_all.limit](#type__alllimit) + - [type.\_\_all.excludeFieldNames](#type__allexcludefieldnames) + - [type.\_\_all.nodeInterface](#type__allnodeinterface) + - [type.\_\_all.beforeChangeNode](#type__allbeforechangenode) + - [type.RootQuery](#typerootquery) + - [type.MediaItem](#typemediaitem) + - [type.MediaItem.lazyNodes](#typemediaitemlazynodes) + - [type.MediaItem.localFile](#typemediaitemlocalfile) + - [type.MediaItem.localFile.excludeByMimeTypes](#typemediaitemlocalfileexcludebymimetypes) + - [type.MediaItem.localFile.maxFileSizeBytes](#typemediaitemlocalfilemaxfilesizebytes) + - [type.MediaItem.localFile.requestConcurrency](#typemediaitemlocalfilerequestconcurrency) +- [presets](#presets) + - [presets[].presetName](#presetspresetname) + - [presets[].useIf](#presetsuseif) + - [presets[].options](#presetsoptions) + +## url (**required**) + +This is the only plugin option which is required for the plugin to work properly. + +This should be the full url of your GraphQL endpoint. + +**Field type**: `String` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + url: `https://yoursite.com/graphql`, + }, +} + +``` + +## verbose + +Enables verbose logging in the terminal. Set to `false` to turn it off. + +**Field type**: `Boolean` + +**Default value**: `true` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + verbose: true, + }, +} + +``` + +## debug + +An object which contains options related to debugging. See below for options. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + // Add your options here :) + }, + }, +} + +``` + +### debug.preview + +When set to true, this option will display additional information in the terminal output about the running preview process. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + preview: true, + }, + }, +} + +``` + +### debug.timeBuildSteps + +When set to true, this option will display how long each internal step took during the build process. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + timeBuildSteps: true, + }, + }, +} + +``` + +### debug.disableCompatibilityCheck + +This option disables the compatibility API check against the remote WPGraphQL and WPGatsby plugin versions. Note that it's highly recommended to not disable this setting. If you disable this setting you will receive no support until it's re-enabled. It's also highly likely that you'll run into major bugs without initially realizing that this was the cause. + +This option should only be used for debugging. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + disableCompatibilityCheck: true, + }, + }, +} + +``` + +### debug.throwRefetchErrors + +When this is set to true, errors thrown while updating data in gatsby develop will fail the build process instead of automatically attempting to recover. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + throwRefetchErrors: true, + }, + }, +} + +``` + +### debug.graphql + +An object which contains GraphQL debugging options. See below for options. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + // Add your options here :) + }, + }, + }, +} + +``` + +#### debug.graphql.showQueryVarsOnError + +When a GraphQL error is returned and the process exits, this plugin option determines wether or not to log out the query vars that were used in the query that returned GraphQL errors. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + showQueryVarsOnError: true, + }, + }, + }, +} + +``` + +#### debug.graphql.showQueryOnError + +If enabled, GraphQL queries will be printed to the terminal output when the query returned errors. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + showQueryOnError: true, + }, + }, + }, +} + +``` + +#### debug.graphql.copyQueryOnError + +If enabled, GraphQL queries will be copied to your OS clipboard (if supported) when the query returned errors. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + copyQueryOnError: true, + }, + }, + }, +} + +``` + +#### debug.graphql.panicOnError + +Determines wether or not to panic when any GraphQL error is returned. + +Default is false because sometimes non-critical errors are returned alongside valid data. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + panicOnError: false, + }, + }, + }, +} + +``` + +#### debug.graphql.onlyReportCriticalErrors + +Determines wether or not to log non-critical errors. A non-critical error is any error which is returned alongside valid data. In previous versions of WPGraphQL this was very noisy because trying to access an entity that was private returned errors. + +**Field type**: `Boolean` + +**Default value**: `true` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + onlyReportCriticalErrors: true, + }, + }, + }, +} + +``` + +#### debug.graphql.copyNodeSourcingQueryAndExit + +When a type name from the remote schema is entered here, the node sourcing query will be copied to the clipboard, and the process will exit. + +**Field type**: `String` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + copyNodeSourcingQueryAndExit: true, + }, + }, + }, +} + +``` + +#### debug.graphql.writeQueriesToDisk + +When true, all internal GraphQL queries generated during node sourcing will be written out to `./WordPress/GraphQL/[TypeName]/*.graphql` for every type that is sourced. This is very useful for debugging GraphQL errors. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + writeQueriesToDisk: true, + }, + }, + }, +} + +``` + +#### debug.graphql.printIntrospectionDiff + +When this is set to true it will print out the diff between types in the previous and new schema when the schema changes. This is enabled by default when debug.preview is enabled. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + debug: { + graphql: { + printIntrospectionDiff: true, + }, + }, + }, +} + +``` + +## production + +**Field type**: `Object` + +### production.hardCacheMediaFiles + +This option is experimental. When set to true, media files will be hard-cached outside the Gatsby cache at ./.wordpress-cache/path/to/media/file.jpeg. This is useful for preventing media files from being re-downloaded when the Gatsby cache automatically clears. When using this option, be sure to gitignore the wordpress-cache directory in the root of your project. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + production: { + hardCacheMediaFiles: true, + }, + }, +} + +``` + +### production.allow404Images + +This option allows images url's that return a 404 to not fail production builds. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + production: { + allow404Images: true, + }, + }, +} + +``` + +## develop + +Options related to the gatsby develop process. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + develop: { + // options related to `gatsby develop` + }, + }, +} + +``` + +### develop.nodeUpdateInterval + +Specifies in milliseconds how often Gatsby will ask WP if data has changed during development. If you want to see data update in near-realtime while you're developing, set this low. Your server may have trouble responding to too many requests over a long period of time and in that case, set this high. Setting it higher saves electricity too ⚡️🌲. + +**Field type**: `Number` + +**Default value**: `5000` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + develop: { + nodeUpdateInterval: 300, + }, + }, +} + +``` + +### develop.hardCacheMediaFiles + +This option is experimental. When set to true, media files will be hard-cached outside the Gatsby cache at `./.wordpress-cache/path/to/media/file.jpeg`. This is useful for preventing media files from being re-downloaded when the Gatsby cache automatically clears. When using this option, be sure to gitignore the wordpress-cache directory in the root of your project. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + develop: { + hardCacheMediaFiles: true, + }, + }, +} + +``` + +### develop.hardCacheData + +This option is experimental. When set to true, WordPress data will be hard-cached outside the Gatsby cache in `./.wordpress-cache/caches`. This is useful for preventing the need to re-fetch all data when the Gatsby cache automatically clears. This hard cache will automatically clear itself when your remote WPGraphQL schema changes, or when you change your plugin options. + +When using this option, be sure to gitignore the wordpress-cache directory in the root of your project. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + develop: { + hardCacheData: false, + }, + }, +} + +``` + +## auth + +Options related to authentication. See below for options. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + auth: { + // Add your options here :) + }, + }, +} + +``` + +### auth.htaccess + +Options related to htaccess authentication. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + auth: { + htaccess: { + // Add your options here :) + }, + }, + }, +} + +``` + +#### auth.htaccess.username + +The username for your .htpassword protected site. + +**Field type**: `String` + +**Default value**: `null` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + auth: { + htaccess: { + username: `admin`, + }, + }, + }, +} + +``` + +#### auth.htaccess.password + +The password for your .htpassword protected site. + +**Field type**: `String` + +**Default value**: `null` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + auth: { + htaccess: { + password: `1234strong_password`, + }, + }, + }, +} + +``` + +## schema + +Options related to fetching and ingesting the remote schema. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + schema: { + // Add your options here :) + }, + }, +} + +``` + +### schema.queryDepth + +The maximum field depth the remote schema will be queried to. + +**Field type**: `Number` + +**Default value**: `15` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + schema: { + queryDepth: 15, + }, + }, +} + +``` + +### schema.circularQueryLimit + +The maximum number times a type can appear as it's own descendant. + +**Field type**: `Number` + +**Default value**: `5` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + schema: { + circularQueryLimit: 5, + }, + }, +} + +``` + +### schema.typePrefix + +The prefix for all ingested types from the remote schema. For example Post becomes WpPost. + +**Field type**: `String` + +**Default value**: `Wp` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + schema: { + typePrefix: `Wp`, + }, + }, +} + +``` + +### schema.timeout + +The amount of time in ms before GraphQL requests will time out. + +**Field type**: `Number` + +**Default value**: `30000` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + schema: { + timeout: 30000, + }, + }, +} + +``` + +### schema.perPage + +The number of nodes to fetch per page during node sourcing. + +**Field type**: `Number` + +**Default value**: `100` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + schema: { + perPage: 100, + }, + }, +} + +``` + +### schema.requestConcurrency + +The number of concurrent GraphQL requests to make at any time during node sourcing. Try lowering this if your WordPress server crashes while sourcing data. + +**Field type**: `Number` + +**Default value**: `15` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + schema: { + requestConcurrency: 50, + }, + }, +} + +``` + +### schema.previewRequestConcurrency + +The number of concurrent GraphQL requests to make at any time during preview sourcing. Try lowering this if your WordPress server crashes during previews. Normally this wont be needed and only comes into effect when multiple users are previewing simultaneously. + +**Field type**: `Number` + +**Default value**: `5` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + schema: { + previewRequestConcurrency: 50, + }, + }, +} + +``` + +## excludeFieldNames + +A list of field names to globally exclude from the ingested schema. + +**Field type**: `Array` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + excludeFieldNames: [`viewer`], + }, +} + +``` + +## html + +Options related to html field processing. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + html: { + // Add your options here :) + }, + }, +} + +``` + +### html.useGatsbyImage + +Causes the source plugin to find/replace images in html with Gatsby images. + +**Field type**: `Boolean` + +**Default value**: `true` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + html: { + useGatsbyImage: true, + }, + }, +} + +``` + +### html.imageMaxWidth + +Adds a limit to the max width an image can be. If the image size selected in WP is smaller or the image file width is smaller than this those values will be used instead. + +**Field type**: `Number` + +**Default value**: `null` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + html: { + imageMaxWidth: 1024, + }, + }, +} + +``` + +### html.fallbackImageMaxWidth + +If a max width can't be inferred from html this value will be passed to Sharp. If the image is smaller than this, the image file's width will be used instead. + +**Field type**: `Number` + +**Default value**: `100` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + html: { + fallbackImageMaxWidth: 800, + }, + }, +} + +``` + +### html.imageQuality + +Determines the image quality that Sharp will use when generating inline html image thumbnails. + +**Field type**: `Number` + +**Default value**: `90` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + html: { + imageQuality: 90, + }, + }, +} + +``` + +### html.createStaticFiles + +When this is true, any url's which are wrapped in "", '', or () and which contain /wp-content/uploads will be transformed into static files and the url's will be rewritten. This adds support for video, audio, and anchor tags which point at WP media item uploads as well as inline-html css like background-image: url(). + +**Field type**: `Boolean` + +**Default value**: `true` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + html: { + createStaticFiles: true, + }, + }, +} + +``` + +## type + +Options related to specific types in the remote schema. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + // Add your options here :) + }, + }, +} + +``` + +### type.\_\_all + +A special type setting which is applied to all types in the ingested schema. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + __all: { + limit: 10, + }, + }, + }, +} + +``` + +#### type.\_\_all.where + +This string is passed as the WPGraphQL "where" arguments in the GraphQL queries that are made while initially sourcing all data from WPGraphQL into Gatsby during an uncached build. A common use-case for this is only fetching posts of a specific language. It's often used in conjunction with the beforeChangeNode type option as "where" only affects the initial data sync from WP to Gatsby while beforeChangeNode will also run when syncing individual updates from WP to Gatsby. + +**Field type**: `String` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + Page: { + where: `language: ${process.env.GATSBY_ACTIVE_LANGUAGE}`, + }, + }, + }, +} + +``` + +#### type.\_\_all.exclude + +Completely excludes a type from node sourcing and from the ingested schema. + +**Field type**: `Boolean` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + Page: { + exclude: true, + }, + }, + }, +} + +``` + +#### type.\_\_all.limit + +The maximum amount of objects of this type to fetch from WordPress. + +**Field type**: `Number` + +#### type.\_\_all.excludeFieldNames + +Excludes fields on a type by field name. + +**Field type**: `Array` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + Page: { + excludeFieldNames: [`dateGmt`, `parent`], + }, + }, + }, +} + +``` + +#### type.\_\_all.nodeInterface + +Determines wether or not this type will be treated as an interface comprised entirely of other Gatsby node types. + +**Field type**: `Boolean` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + Page: { + nodeInterface: true, + }, + }, + }, +} + +``` + +#### type.\_\_all.beforeChangeNode + +A function which is invoked before a node is created, updated, or deleted. This is a hook in point to modify the node or perform side-effects related to it. + +**Field type**: `Function` + +### type.RootQuery + +A special type which is applied to any non-node root fields that are ingested and stored under the root `wp` field. It accepts the same options as other types. + +**Field type**: `Object` + +**Default value**: `{ excludeFieldNames: ['viewer', 'node', 'schemaMd5'], },` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + RootQuery: { + excludeFieldNames: [`viewer`], + }, + }, +} + +``` + +### type.MediaItem + +**Field type**: `Object` + +#### type.MediaItem.lazyNodes + +Enables a different media item sourcing strategy. Instead of fetching Media Items that are referenced by other nodes, Media Items will be fetched in connection resolvers from other nodes. This may be desireable if you're not using all of the connected images in your WP instance. This is not currently recommended because it messes up cli output and can be slow due to query running concurrency. + +**Field type**: `Boolean` + +**Default value**: `false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + MediaItem: { + lazyNodes: true, + }, + }, + }, +} + +``` + +#### type.MediaItem.localFile + +Options related to File nodes that are attached to MediaItem nodes. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + MediaItem: { + localFile: { + // Add your options here :) + }, + }, + }, + }, +} + +``` + +##### type.MediaItem.localFile.excludeByMimeTypes + +Allows preventing the download of files associated with MediaItem nodes by their mime types. + +**Field type**: `Array` + +**Default value**: `[]` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + MediaItem: { + localFile: { + excludeByMimeTypes: [`video/mp4`], + }, + }, + }, + }, +} + +``` + +##### type.MediaItem.localFile.maxFileSizeBytes + +Allows preventing the download of files that are above a certain file size (in bytes). Default is 15mb. + +**Field type**: `Number` + +**Default value**: `15728640` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + MediaItem: { + localFile: { + maxFileSizeBytes: 10485760, // 10Mb + }, + }, + }, + }, +} + +``` + +##### type.MediaItem.localFile.requestConcurrency + +Amount of images to download concurrently. Try lowering this if wordpress server crashes on import. + +**Field type**: `Number` + +**Default value**: `100` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + type: { + MediaItem: { + localFile: { + requestConcurrency: 50, + }, + }, + }, + }, +} + +``` + +## presets + +An array of plugin options presets that are applied if the useIf function on each returns true. The default includes an optimization for when in Gatsby Preview mode. + +**Field type**: `Array` + +**Default value**: + +```js +;[ + { + presetName: `PREVIEW_OPTIMIZATION`, + useIf: (): boolean => + (process.env.NODE_ENV === `development` && + !!process.env.ENABLE_GATSBY_REFRESH_ENDPOINT) || + process.env.RUNNER_TYPE === `PREVIEW`, + options: { + html: { + useGatsbyImage: false, + createStaticFiles: false, + }, + type: { + __all: { + limit: 50, + }, + Comment: { + limit: 0, + }, + Menu: { + limit: null, + }, + MenuItem: { + limit: null, + }, + User: { + limit: null, + }, + }, + }, + }, +] +``` + +### presets[].presetName + +The name of the plugin options preset. + +**Field type**: `String` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + presets: [ + { + presetName: `DEVELOP`, + }, + ], + }, +} + +``` + +### presets[].useIf + +A function used to determine wether or not to apply this plugin options preset. It should return a boolean value. True will cause the preset to apply, false will disclude it. + +**Field type**: `Function` + +**Default value**: `() => false` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + presets: [ + { + useIf: () => process.env.NODE_ENV === `development`, + }, + ], + }, +} + +``` + +### presets[].options + +Any valid options except for `url` and `presets`. + +**Field type**: `Object` + +```js +{ + resolve: `gatsby-source-wordpress`, + options: { + presets: [ + { + name: `DEVELOP`, + useIf: () => process.env.NODE_ENV === `development`, + options: { + type: { + __all: { + limit: 1, + }, + }, + }, + }, + ], + }, +} + +``` + +# Up Next :point_right: + +- :boat: [Migrating from other WP source plugins](./migrating-from-other-wp-source-plugins.md) +- :house: [Hosting WordPress](./hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](./themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](./usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/problems-with-gatsby-source-graphql.md b/packages/gatsby-source-wordpress/docs/problems-with-gatsby-source-graphql.md new file mode 100644 index 0000000000000..7d5525cab1d3f --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/problems-with-gatsby-source-graphql.md @@ -0,0 +1,24 @@ +# Problems with `gatsby-source-graphql` :broken_heart: + +`gatsby-source-graphql` skips the Gatsby Node model altogether, and allows you to directly pull data from WPGraphQL. At first this seems really attractive as things just work, but as your site grows beyond a handful of pages, a few problems arise. + +- There's no way to use Gatsby Preview effectively as the Preview instance will have to run every query in your Gatsby site again. This means in many cases you would need to wait nearly the length of an entire uncached build for your preview to show up. +- There's no way to cache data. This means incremental builds can't work their magic, but it also means regular builds are very slow. Every content change in WordPress requires all the data to be refetched, making things very slow. +- Using `gatsby-image` is difficult and the images can't be cached and need to be constantly refetched during every build. +- Because the Gatsby node model is bypassed and queries are made directly to WPGraphQL, there's no simple way to build Gatsby plugins that transform data as it's sourced. Things like image replacement and link handling sometimes needed to be done client-side which added unnecessary bloat in the browser. + +All of the above issues are fixed by using this plugin! :smile_cat: + +# Up Next :point_right: + +- :runner: [Installation & Getting started](./getting-started.md) +- :school: [Tutorials](./tutorials/index.md) +- :feet: [Features](./features/index.md) +- :electric_plug: [Plugin options](./plugin-options.md) +- :boat: [Migrating from other WP source plugins](./migrating-from-other-wp-source-plugins.md) +- :house: [Hosting WordPress](./hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](./themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](./usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/problems-with-v3.md b/packages/gatsby-source-wordpress/docs/problems-with-v3.md new file mode 100644 index 0000000000000..e25186b2f9282 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/problems-with-v3.md @@ -0,0 +1,29 @@ +# Problems with Gatsby Source WordPress v3 :broken_heart: + +`gatsby-source-wordpress@v3`, the last major version of this plugin, utilized the [WP REST API](https://developer.wordpress.org/rest-api/) for sourcing WP data into Gatsby. This worked but was problematic for a few reasons. + +- The inflexibility and lack of an enforced schema for this API made proper node caching technically possible but functionally impossible. It also made it impossible to know beforehand the shape and type of data to expect which made it impossible to programmatically determine how to use the returned data. +- The REST API is largely untyped, and REST does not enforce typing even if it was. + - This means Gatsby needed to use [inference](https://www.gatsbyjs.org/docs/glossary/#inference) to automatically build GraphQL types for the data that was returned from WP. The big issue with this is: if all data of a type is removed from WP, your Gatsby site's GraphQL queries will break because no data means Gatsby can no longer can infer the data structure. This led to a lot of odd and counterintuitive issues and a poor developer/content creator experience. + - If we were to manually write out types for the entire core WP REST API so that we no longer needed to use inference, any custom WP REST plugins would not work and would require a lot of additional tedious and error prone work to support these plugins changing their data structure over time. +- REST does not have a popularly used standard way of implementing connections between nodes + - For example if you fetch 100 posts, you will also be fetching repeated data if each post includes data about the posts author including their name and email, etc. Perhaps all the posts had the same author and so we fetched 100x more data than we needed to. + - Even if WP REST API core implemented a standard way to retrieve connections to prevent overfetching connected data, any WP REST API extensions, community or otherwise, may or may not adhere to this standard, causing a large problem and stunting the ability for the community to easily extend the integration between WP and Gatsby. This would also mean a Gatsby plugin would need to be written for every single WP REST API extension, ballooning the amount of support needed for the WP/Gatsby integration to flourish. +- Being that the WP REST API is part of WordPress core, developments, bug fixes, and improvements to it move very slowly. There has been an open issue about broken media items for 4 years with no resolution in sight. This bug occasionally breaks Gatsby builds due to improperly missing media items. This leads to poor DX and cryptic error messages. Fixing this bug in a WP instance requires opening an SQL client and manually patching your DB each time this bug occurs. +- The WP REST API does not support many basic types of WP data such as menus, previews, plugins, themes. + +All of the above points are fixed by using this plugin and WPGraphQL :smile_cat: + +# Up Next :point_right: + +- :runner: [Installation & Getting started](./getting-started.md) +- :school: [Tutorials](./tutorials/index.md) +- :feet: [Features](./features/index.md) +- :electric_plug: [Plugin options](./plugin-options.md) +- :boat: [Migrating from other WP source plugins](./migrating-from-other-wp-source-plugins.md) +- :house: [Hosting WordPress](./hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](./themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](./usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/tests.md b/packages/gatsby-source-wordpress/docs/tests.md new file mode 100644 index 0000000000000..3541aef9aa366 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/tests.md @@ -0,0 +1,17 @@ +# Running Tests + +- `yarn test` will run the entire suite +- `yarn test-schema` will run the schema integration suite and the increment. +- `yarn test-schema-watch` will watch the first schema suite. +- `yarn test-schema-first` will run the first schema suite. you can pass jest arguments here +- `yarn test-schema-increment` will run the second schema suite +- `yarn test-build` will run the build integration suite +- `yarn test-build-watch` will watch the build integration suite +- `yarn test-update` will run `-u` for all schema and build integration suites. + +# Changing test suite WordPress plugin versions in docker + +1. Edit the versions as desired in `docker-compose.yml` in the `build.args` for `wordpress` service +2. Run `yarn docker-start -d` to detach, force re-build images and re-create containers, and ensure the plugins directory (volume) is renewed between builds +3. Run `yarn test-schema`. You should see a diff in the snapshots that demonstrates the change in schema with the changed plugin versions. +4. Run `yarn test-update` to update all test snapshots. diff --git a/packages/gatsby-source-wordpress/docs/themes-starters-examples.md b/packages/gatsby-source-wordpress/docs/themes-starters-examples.md new file mode 100644 index 0000000000000..e14ca5b404f30 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/themes-starters-examples.md @@ -0,0 +1,32 @@ +# Official Starters + +[gatsby-starter-wordpress-blog](https://github.com/gatsbyjs/gatsby-starter-wordpress-blog) + +# Community Starters + +[gatsby-starter-wordpress-twenty-twenty](https://github.com/henrikwirth/gatsby-starter-wordpress-twenty-twenty) + +[gatsby-starter-wordpress-blog](https://github.com/zeevosec/gatsby-starter-wordpress-blog) + +# Community Themes + +[GatsbyWPThemes](https://gatsbywpthemes.com/) + +[Gatsby WooCommerce Theme](https://gatsby-woocommerce-theme.netlify.app/) [[source]](https://github.com/imranhsayed/gatsby-woocommerce-themes) + +# Examples + +[Apollo GraphQL](https://github.com/apollographql/blog) [[source]](https://github.com/apollographql/blog) + +[Bluehost](https://www.bluehost.com/blog/) + +[Sitepoint](https://www.sitepoint.com/blog/) + +[Visit the Gatsby.com WordPress use cases page for more](https://www.gatsbyjs.com/use-cases/wordpress) + +# Up Next :point_right: + +- :medal_sports: [Usage with popular WPGraphQL extensions](./usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/tutorials/building-a-new-site-wordpress-and-gatsby.md b/packages/gatsby-source-wordpress/docs/tutorials/building-a-new-site-wordpress-and-gatsby.md new file mode 100644 index 0000000000000..ce91eeeef0138 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/tutorials/building-a-new-site-wordpress-and-gatsby.md @@ -0,0 +1,348 @@ +# Creating a new site from scratch + +## What this tutorial covers: + +In this tutorial, you will install the `gatsby-source-wordpress` plugin in order to pull blog and image data from a WordPress install into your Gatsby site and render that data. This [Gatsby + WordPress starter](https://github.com/henrikwirth/gatsby-starter-wordpress-twenty-twenty) shows you the source code for an example site similar to what you’re going to be building in this tutorial. + +## Creating a site with the `gatsby-source-wordpress` plugin + +Create a new Gatsby project and change directories into the new project you just created: + +```shell +gatsby new wordpress-tutorial-site +cd wordpress-tutorial-site +``` + +Install the `gatsby-source-wordpress` plugin. For extra reading on the plugin’s features and examples of GraphQL queries not included in this tutorial, see the [`gatsby-source-wordpress` plugin’s README file](https://www.gatsbyjs.org/packages/gatsby-source-wordpress). + +```shell +npm install gatsby-source-wordpress +``` + +Add the `gatsby-source-wordpress` plugin to `gatsby-config.js` using the following code, which you can also find in this [starter’s source code](https://github.com/henrikwirth/gatsby-starter-wordpress-twenty-twenty/blob/master/gatsby-config.js#L29). + +```js:title=gatsby-config.js +module.exports = { + siteMetadata: { + title: `Gatsby WordPress Tutorial`, + description: `An example to learn how to source data from WordPress.`, + author: `@gatsbyjs`, + }, + plugins: [ + /* + * Gatsby's data processing layer begins with “source” + * plugins. Here the site sources its data from WordPress. + */ + // highlight-start + { + resolve: `gatsby-source-wordpress`, + options: { + /* + * The full URL of the WordPress site's GraphQL API. + * Example : 'https://www.example-site.com/graphql' + */ + url: `https://wpgatsbydemo.wpengine.com/graphql`, + }, + }, + // highlight-end + /** + * The following plugins aren't required for gatsby-source-wordpress, + * but we need them so the default starter we installed above will keep working. + **/ + `gatsby-plugin-react-helmet`, + { + resolve: `gatsby-source-filesystem`, + options: { + name: `images`, + path: `${__dirname}/src/images`, + }, + }, + `gatsby-transformer-sharp`, + `gatsby-plugin-sharp`, + { + resolve: `gatsby-plugin-manifest`, + options: { + name: `gatsby-starter-default`, + short_name: `starter`, + start_url: `/`, + background_color: `#663399`, + theme_color: `#663399`, + display: `minimal-ui`, + icon: `src/images/gatsby-icon.png`, // This path is relative to the root of the site. + }, + }, + ], +} +``` + +## Creating GraphQL queries that pull data from WordPress + +Now you are ready to create a GraphQL query to pull in some data from the WordPress site. You will create a query that pulls in the title of the blog posts, date they were posted, and blogpost content. + +Run: + +```shell +gatsby develop +``` + +In your browser, open `http://localhost:8000` to see your site, and `http://localhost:8000/___graphql` to see Graphiql. You can use Graphiql to create your GraphQL queries. + +As an exercise, try re-creating the following queries in your GraphiQL explorer. + +Tip: If you've never used Graphiql before, try pressing `shift+space` to be given a list of available fields you can query for. Press up and down on your keyboard to select a field and press enter to write it to your query. Alternatively you can use the explorer pane to the left side of the page. If your explorer pane isn't open, you can open it by clicking "Explorer" at the top of the screen. + +This first query will pull in the blogpost content from WordPress: + +```graphql +query { + allWpPost { + nodes { + id + title + excerpt + slug + date(formatString: "MMMM DD, YYYY") + } + } +} +``` + +This next query will pull in a sorted list of the blog posts: + +```graphql +{ + allWpPost(sort: { fields: [date] }) { + nodes { + title + excerpt + slug + } + } +} +``` + +## Rendering the blog posts to `index.js` + +Now that you've created GraphQL queries that pull in the data you want, you'll use that second query to create a list of sorted blogpost titles on your site's homepage. Here's what your home page component in `src/pages/index.js` should look like: + +```jsx:title=src/pages/index.js +import React from "react" +import { graphql } from "gatsby" +import Layout from "../components/layout" +import SEO from "../components/seo" + +export default function Home({ data }) { + //highlight-line + return ( + + + {/* highlight-start */} +

    My WordPress Blog

    +

    Posts

    + {data.allWpPost.nodes.map(node => ( +
    +

    {node.title}

    +
    +
    + ))} + {/* highlight-end */} + + ) +} + +//highlight-start +export const pageQuery = graphql` + query { + allWpPost(sort: { fields: [date] }) { + nodes { + title + excerpt + slug + } + } + } +` +//highlight-end +``` + +Save these changes and look at `http://localhost:8000` to see your new homepage with a list of sorted blog posts! + +## Creating pages for each blog post and linking to them + +An index page with a post title and excerpt is great, but you should also build pages out for each of the blog posts, and link to them from your `index.js` file. + +To do this, you need to: + +1. Create pages for each blog post +2. Link up the title on the index page with the post page. + +If you haven't already, please read through [Part 7](https://www.gatsbyjs.org/tutorial/part-seven/) of the foundational tutorial, as it goes through the concept and examples of this process with Markdown instead of WordPress. + +### Creating pages for each blog post + +In Part 7 of the tutorial, the first step in creating pages is creating slugs for the markdown files. Since you are using WordPress and not Markdown files, you can grab the slugs that get returned from your API call to the WordPress source. You can skip creating slugs, since you already have them. + +Open up your `gatsby-node.js` file in the root of your project (it should be blank except for some comments) and add the following: + +```js:title=gatsby-node.js +const path = require(`path`) + +exports.createPages = ({ graphql, actions }) => { + const { createPage } = actions + return graphql(` + { + allWpPost(sort: { fields: [date] }) { + nodes { + title + excerpt + content + slug + } + } + } + `).then(result => { + console.log(JSON.stringify(result, null, 4)) + process.exit() + }) +} +``` + +Next, [stop and restart](https://www.gatsbyjs.org/tutorial/part-zero/#view-your-site-locally) the `gatsby develop` environment. As you watch the terminal you should see two Post objects log to the terminal. + +Excellent! As explained in Part 7 of the tutorial, this `createPages` export is one of the Gatsby "workhorses" and allows us to create your blog posts (or pages, or custom post types, etc.) from your WordPress install. + +Before you can create the blog posts, however, you need to specify a template to build the pages. + +In your `src` directory, create a directory called `templates` and in the newly created `templates` folder, create a filed named `blog-post.js`. In that new file, paste the following: + +```jsx:title=src/templates/blog-post.js +import React from "react" +import Layout from "../components/layout" +import { graphql } from "gatsby" + +export default function BlogPost({ data }) { + const post = data.allWpPost.nodes[0] + console.log(post) + return ( + +
    +

    {post.title}

    +
    +
    + + ) +} +export const query = graphql` + query($slug: String!) { + allWpPost(filter: { slug: { eq: $slug } }) { + nodes { + title + content + } + } + } +` +``` + +What is this file doing? After importing your dependencies, it constructs the layout of the post with JSX. It wraps everything in the `Layout` component, so the style is the same throughout the site. Then, it simply adds the post title and the post content. You can add anything you want and can query for here (e.g. feature image, post meta, custom fields, etc.). + +Below that, you can see the GraphQL query calling the specific post based on the `$slug`. This variable is passed to the `blog-post.js` template when the page is created in `gatsby-node.js`. To accomplish this, add the following code to the `gatsby-node.js` file: + +```js:title=gatsby-node.js +const path = require(`path`) + +exports.createPages = ({ graphql, actions }) => { + const { createPage } = actions + return graphql(` + { + allWpPost(sort: { fields: [date] }) { + nodes { + title + excerpt + content + slug + } + } + } + `).then(result => { + //highlight-start + result.data.allWpPost.nodes.forEach(node => { + createPage({ + path: node.slug, + component: path.resolve(`./src/templates/blog-post.js`), + context: { + // This is the $slug variable + // passed to blog-post.js + slug: node.slug, + }, + }) + }) + //highlight-end + }) +} +``` + +You will need to stop and start your environment again using `gatsby develop`. When you do, you will not see a change on the index page of the site, but if you navigate to a 404 page, like `http://localhost:8000/asdf`, you should see the two sample posts created and be able to click on them to go to the sample posts. + +But nobody likes to go to a 404 page to find a blog post! So, let's link these up from the home page. + +### Linking to posts from the homepage + +Since you already have your structure and query done for the `index.js` page, all you need to do is use the `Link` component to wrap your titles and you should be good to go. + +Open up `src/pages/index.js` again and add the following: + +```jsx:title=src/pages/index.js +import React from "react" +import { Link, graphql } from "gatsby" //highlight-line +import Layout from "../components/layout" +import SEO from "../components/seo" + +export default function Home({ data }) { + return ( + + +

    My WordPress Blog

    +

    Posts

    + {data.allWpPost.nodes.map(node => ( +
    + {/* highlight-start */} + +

    {node.title}

    + + {/* highlight-end */} +
    +
    + ))} + + ) +} + +export const pageQuery = graphql` + query { + allWpPost(sort: { fields: [date] }) { + nodes { + title + excerpt + slug + } + } + } +` +``` + +And that's it! When you wrap the title in the `Link` component and reference the slug of the post, Gatsby will add some magic to the link, preload it, and make the transition between pages incredibly fast + +### Wrapping up + +You can apply the same procedure to calling and creating pages, custom post types, custom fields, taxonomies, and all the fun and flexible content WordPress is known for. This can be as simple or as complex as you would like it to be, so explore and have fun with it! + +# Up Next :point_right: + +- :boat: [Migrating from other WP source plugins](../migrating-from-other-wp-source-plugins.md) +- :house: [Hosting WordPress](../hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](../themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](../usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](../debugging-and-troubleshooting.md) +- :national_park: [Community and Support](../community-and-support.md) +- :point_left: [Back to README.md](../../README.md) diff --git a/packages/gatsby-source-wordpress/docs/tutorials/configuring-wp-gatsby.md b/packages/gatsby-source-wordpress/docs/tutorials/configuring-wp-gatsby.md new file mode 100644 index 0000000000000..3153dee9db0d0 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/tutorials/configuring-wp-gatsby.md @@ -0,0 +1,74 @@ +# Configuring WPGatsby + +WPGatsby is a required plugin which modifies WPGraphQL and WordPress to work with Gatsby. It enables builds and previews. See [Installation](../getting-started.md#required-wordpress-dependencies) for more info about WPGatsby. + +1. [Setting up Builds](#setting-up-builds) +2. [Setting up Preview](#setting-up-preview) + +## Setting Up Builds + +Wether you're using a regular CI service like Netlify (I would encourage you to try the free tier of Gatsby Cloud if you are!), or you're using a supercharged CI service like Gatsby Cloud with Incremental Builds, you will set things up the same way. + +Navigate to your GatsbyJS WordPress settings by visiting this path in your WP instance `/wp-admin/options-general.php?page=gatsbyjs` or by hovering on "Settings" in the WordPress admin menu and clicking on "GatsbyJS". + +You should see the following "Builds Webhook" field at the top of the page: + +![WPGatsby Builds Webhook Screenshot](/docs/assets/wp-gatsby-builds-webhook-settings.png) + +Enter the Webhook that should be used, a POST request will be sent to the Webhook when content is updated in WordPress. + +If you're using [Gatsby Cloud](https://www.gatsbyjs.com/dashboard/sites), you can find this webhook by navigating to the "Site Settings" tab for your Gatsby instance and then navigating to "Webhook" in the left-side menu. + +Below your "Preview Webhook" you should see your "Builds Webhook". Copy this webhook and enter it into your WordPress settings. + +![Gatsby Cloud Builds Webhook Screenshot](/docs/assets/gatsby-cloud-builds-webhook.png) + +Now that your Builds webhook is set up, when content is updated in WordPress your content will update in 4 to 12 seconds if you're using Gatsby Cloud with Incremental Builds, and in 45 seconds to a few minutes (and beyond) if you're using other services! :rocket: + +## Setting Up Preview + +Once configured in the GatsbyJS settings page in wp-admin, Previews will work out of the box as long as your Gatsby pages have the corresponding node id as part of their pageContext. See [this starter's gatsby-node.js](https://github.com/gatsbyjs/gatsby/blob/master/starters/gatsby-starter-wordpress-blog/tree/master/gatsby-node.js) for an example of how to set up your Gatsby pages. See the [feature page on Preview](../features/preview.md) for more information about how Preview works, considerations you should keep in mind while writing Preview-ready templates, and how to debug Preview templates. + +### Connecting Preview + +To get started, set up a Preview instance on [Gatsby Cloud](https://www.gatsbyjs.com/) or set up your [self-hosted Preview instance](https://www.gatsbyjs.org/docs/running-a-gatsby-preview-server/). If you want to try out Preview but aren't sure wether you want to subscribe to Gatsby Cloud or self-host, you can start a free 2 week Gatsby Cloud trial with no credit card to help you make up your mind! + +#### WordPress Settings + +Navigate to your GatsbyJS WordPress settings by visiting this path in your WP instance `/wp-admin/options-general.php?page=gatsbyjs` or by hovering on "Settings" in the WordPress admin menu and clicking on "GatsbyJS". + +You will see 4 fields related to Gatsby Preview. "Enable Gatsby Preview?", "Preview Instance", "Preview Webhook", and "Preview JWT secret". + +If you don't see this settings page, or you don't see these 4 fields, make sure the latest version of [WPGatsby](https://github.com/gatsbyjs/wp-gatsby) is installed in your WordPress instance. + +![wp-gatsbyjs-preview-settings](/docs/assets/wp-gatsbyjs-preview-settings.png) + +#### 1. Check the "Enable Gatsby Preview?" Checkbox + +When this checkbox is checked, WPGatsby will override the functionality of the WordPress "preview" button in the page/post edit screen. Clicking "preview" will open the regular WordPress preview template, but the WP frontend will be replaced with your Gatsby Preview instance. + +#### 2. Fill the "Preview Instance" Field + +This field should be filled with the public frontend URL of your Gatsby Preview instance. + +To find your **Preview Instance URL**, navigate to the "Preview" tab in [Gatsby Cloud](https://www.gatsbyjs.com/dashboard/sites), wait for your first Preview build to complete, and then copy the frontend URL from above the build history list in the center of the page. + +![Gatsby Cloud Preview frontend URL Screenshot](/docs/assets/gatsby-cloud-preview-frontend-url.png) + +#### 3. Fill the "Preview Webhook" Field + +You can find your **Preview webhook** by navigating to "Site Settings" in Gatsby Cloud and then navigating to "Webhooks" via the left-side menu. + +![Gatsby Cloud Preview Webhook URL](/docs/assets/gatsby-cloud-preview-webhook-url.png) + +#### 4. Double check the "Preview JWT secret" field + +This field should be filled for you automatically with a cryptocraphically secure key when you install WPGatsby. If this field is empty, feel free to copy a salt from the [WordPress salts generator page](https://api.wordpress.org/secret-key/1.1/salt) and use that as your JWT secret key. + +This secret key is used to authenticate short-lived JWT tokens when you're viewing previews from WordPress so a very strong key should be used to prevent security issues. + +### Using your Preview + +Now that you've configured WPGatsby for your Preview instance, visit a page or post you'd like to preview, edit it, and press "preview" in the top right corner of the edit screen like you usually would in WordPress. You should see a new tab pop open with your Preview instance and previewed content visible! + +:point_left: [Back to Features](./index.md) diff --git a/packages/gatsby-source-wordpress/docs/tutorials/creating-a-new-site-from-a-starter.md b/packages/gatsby-source-wordpress/docs/tutorials/creating-a-new-site-from-a-starter.md new file mode 100644 index 0000000000000..fd8cfbe6fc52c --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/tutorials/creating-a-new-site-from-a-starter.md @@ -0,0 +1,129 @@ +# Creating a new site from a starter + +This is the recommended way to build new sites so that you start with good best practises and don't need to re-implement everything yourself. + +## Setting up WordPress + +If you don't have a WP site yet, we recommend creating a local WP instance using [Local by Flywheel](https://localwp.com/) but as long as you have a WP instance hosted somewhere you're good to get started. + +Log into your WP instance and navigate to `/wp-admin/plugin-install.php`. Once you're there, search for and install these two plugins: + +- [WPGraphQL](https://wordpress.org/plugins/wp-graphql/) +- [WPGatsby](https://wordpress.org/plugins/wp-gatsby/) + +We need WPGraphQL so that we have an efficient and flexible way for `gatsby-source-wordpress` to pull data into Gatsby. +WPGatsby is also required as it sets up a WP admin event log that Gatsby will use to pull content changes into Gatsby after our initial build. It also offers some additional features like [Gatsby Preview](../features/preview.md) and [webhooks](./configuring-wp-gatsby.md) to kick off builds on your build service when content changes in WP. + +## Setting up Gatsby + +First you'll need to ensure you have npm, Gatsby, and Nodejs installed on your computer. Follow the [GatsbyJS guide on setting up your development environment](https://www.gatsbyjs.com/docs/tutorial/part-zero/). + +## Setting up `gatsby-source-wordpress` + +You're super close to being able to run your new Gatsby/WP site now! + +1. In a terminal, `cd` (navigate) to the directory you want your Gatsby site to live in. +2. To create a new site using the official WP Gatsby starter, run `gatsby new my-wordpress-gatsby-site https://github.com/gatsbyjs/gatsby-starter-wordpress-blog`. That will fetch [this starter](https://github.com/gatsbyjs/gatsby-starter-wordpress-blog) and put it in a new directory called `my-wordpress-gatsby-site` and run `npm install`. + +Now that you have a local Gatsby site installed, open it in your favourite IDE or text editor and open up the `gatsby-config.js` file. +At the top of the `plugins` array you'll see the following code: + +```js + { + /** + * First up is the WordPress source plugin that connects Gatsby + * to your WordPress site. + * + * visit the plugin docs to learn more + * https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/README.md + * + */ + resolve: `gatsby-source-wordpress`, + options: { + // the only required plugin option for WordPress is the GraphQL url. + url: + process.env.WPGRAPHQL_URL || + `https://wpgatsbydemo.wpengine.com/graphql`, + }, + }, +``` + +As you can see, the `url` option is the only required option. You will want to replace this with the URL of the `/graphql` endpoint you added by installing WPGraphQL in your WP instance. Out of the box WPGraphQL will add the GraphQL endpoint at `http://[yoursite.com]/graphql`. + +```js + { + resolve: `gatsby-source-wordpress`, + options: { + url: `https://demo.wpgraphql.com/graphql`, + }, + }, +``` + +## Running the site + +Now that you have the source plugin configured you can check it out by `cd`ing into your site directory in a terminal and running `gatsby develop`. You should see the plugin output some lines in your terminal showing which types of data it's fetching from WPGraphQL. On the first build (`gatsby develop` or `gatsby build`) `gatsby-source-wordpress` will fetch all available public data from WPGraphQL. On subsequent builds, it will only fetch changed data to keep your builds quick. + +Open http://localhost:8000 in the browser to view your site. + +## Modifying the starter code + +For a guide on how different parts of the code work, check out this [gatsbyjs.com guide on using WordPress data](https://www.gatsbyjs.com/docs/how-to/sourcing-data/sourcing-from-wordpress/#using-wordpress-data). + +## Helpful plugin options for larger sites + +If you have a larger site you may find that the amount of time it takes for you to run `gatsby develop` is too long. Any time you add a new npm package, edit your `gatsby-config.js` or `gatsby-node.js` files, Gatsby will clear the cache and the source plugin will need to re-fetch all data. We can mitigate that with a couple options: + +### Limiting the amount of data fetched with the `options.type.[typename].limit` option + +```js + { + resolve: `gatsby-source-wordpress`, + options: { + url: `https://demo.wpgraphql.com/graphql`, + type: { + __all: { + limit: process.env.NODE_ENV === `development` ? 50 : null + } + } + }, + }, +``` + +This option will limit the total number of nodes fetched per-type. In this example we're using the special `__all` type which applies to all node types. If you wanted to change the limit based on a specific type you could do something like this: + +```js + { + resolve: `gatsby-source-wordpress`, + options: { + url: `https://demo.wpgraphql.com/graphql`, + type: { + Post: { + limit: 50 + }, + Page: { + limit: 50 + } + } + }, + }, +``` + +Note that `process.env.NODE_ENV === "development" ? 50 : null` will apply this limit only during development while `limit: 50` will apply a limit during development and in production builds. + +### Hard caching MediaItem local files in development using the `options.develop.hardCacheMediaFiles` option + +When the Gatsby cache is cleared all image files that the source plugin fetched from WordPress will be deleted. That means they will then need to be immediately re-downloaded when you run `gatsby develop` again. We can eliminate this problem in development with the `hardCacheMediaFiles` option: + +```js + { + resolve: `gatsby-source-wordpress`, + options: { + url: `https://demo.wpgraphql.com/graphql`, + develop: { + hardCacheMediaFiles: true, + } + }, + }, +``` + +Now you'll only ever need to fetch media item files 1 time on your local machine. diff --git a/packages/gatsby-source-wordpress/docs/tutorials/index.md b/packages/gatsby-source-wordpress/docs/tutorials/index.md new file mode 100644 index 0000000000000..9a2ead09183bb --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/tutorials/index.md @@ -0,0 +1,22 @@ +# Tutorials + +1. [Creating a new site using a starter (recommended)](./creating-a-new-site-from-a-starter.md) +2. [Creating a new site from scratch](./building-a-new-site-wordpress-and-gatsby.md) +3. [Configuring WPGatsby for Fast/Incremental Builds, and Preview](./configuring-wp-gatsby.md) +4. [Querying Data](./querying-data.md) +5. [Working with Nav Menus](./using-wordpress-menus.md) +6. [Using Advanced Custom Fields](./using-advanced-custom-fields.md) +7. [Using Self-Signed Certificates](./using-self-signed-certificates.md) +8. [Tranforming Node Data](./transforming-data.md) + +# Up Next :point_right: + +- :feet: [Features](../features/index.md) +- :electric_plug: [Plugin options](../plugin-options.md) +- :boat: [Migrating from other WP source plugins](../migrating-from-other-wp-source-plugins.md) +- :house: [Hosting WordPress](../hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](../themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](../usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](../debugging-and-troubleshooting.md) +- :national_park: [Community and Support](../community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/tutorials/querying-data.md b/packages/gatsby-source-wordpress/docs/tutorials/querying-data.md new file mode 100644 index 0000000000000..3ee19be078ed2 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/tutorials/querying-data.md @@ -0,0 +1,492 @@ +# Querying WordPress Data with Gatsby Source WordPress + +This tutorial assumes that you already have a [Gatsby site running](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/getting-started.md) +with Gatsby Source WordPress active and pointing at a WordPress site's GraphQL endpoint powered +by [WPGraphQL](https://wordpress.org/plugins/wp-graphql/). + +It would also be helpful to be familiar with our guide on [Gatsby, GraphQL and WordPress](../features/graphql-wordpress-and-gatsby.md). + +In this guide, you will learn: + +- How to query Gatsby's GraphQL API to use WordPress data to: + - Create Pages + - Add data to Pages + +## Querying Data in Gatsby + +Now that we have a basic understanding of how Gatsby gets data from WordPress using WPGraphQL and +creates a GraphQL Schema similar to the Schema provided by WPGraphQL, we can move onto using GraphQL +to fetch data and use that data in our Gatsby sites. + +The two most common ways to query WordPress data for a Gatsby site are: + +- Build pages +- Populate the pages with data + +Let's dive in! + +### Using GraphQL to Build Pages for your WordPress data + +In this section, we're going to explore using Gatsby's GraphQL API to query data that came from +WordPress, and use that data to create pages. + +#### Hook into createPages action + +In your site's `gatsby-node.js` add the following: + +```js +exports.createPages = async ({ actions, graphql, reporter }) => { + // code for the next steps will go in here. +} +``` + +This snippet hooks into Gatsby's `createPages` lifecycle and allows us to tell Gatsby what pages to +create. + +We know we want to create pages for all WordPress posts, so we will need to write a GraphQL Query +to get the posts. + +#### Query WordPress Posts + +We already learned about GraphiQL, so we can use that to build a GraphQL Query. + +The query we create should include minimal identifying information about the Posts we want to create +pages for. We don't want to query all the fields we want to display on the page in this query. We +will use a [page query](https://www.gatsbyjs.com/docs/how-to/querying-data/page-query/) to do that +later in this tutorial. + +Let's use the following query: + +```graphql +{ + allWpPost { + nodes { + id + uri + } + } +} +``` + +We can add this to our previous snippet, so it will become the following: + +```js +exports.createPages = async ({ actions, graphql, reporter }) => { + const result = graphql(` + { + allWpPost { + nodes { + id + uri + } + } + } + `) +} +``` + +Here, we're using the GraphQL function that's passed through `createPages` to query data from Gatsby's +GraphQL API. + +#### Create Pages from WordPress Posts + +Next, we'll want to use the data that's returned to create pages. + +Below the query we just added, add the following: + +```js +if (result.errors) { + reporter.error("There was an error fetching posts", result.errors) +} + +const { allWpPost } = result.data + +// Define the template to use +const template = require.resolve(`./src/templates/WpPost.js`) + +if (allWpPost.nodes.length) { + allWpPost.nodes.map(post => { + actions.createPage({ + // It's best practice to use the uri field from WPGraphQL nodes when + // building + path: post.uri, + component: template, + context: post, + }) + }) +} +``` + +This snippet checks if the results of our query returned any errors, and if so it uses Gatsby's +reporter to report an error, which would be output in the command line. + +The results of a GraphQL query come back under the "data" key, so the next line +`const { allWpPost } = result.data;` gets the posts out of the data. + +Next, we define a template that our page will use: + +```js +const template = require.resolve(`./src/templates/WpPost.js`) +``` + +You can make this path whatever path you like, just make sure you have a file with that name created. + +> NOTE: We'll take a look at building that template in the next section. + +Next, we iterate over all the posts that were returned from our GraphQL Query, and use the +`createPage` function to create pages. + +```js +if (allWpPost.nodes.length) { + allWpPost.nodes.map(post => { + actions.createPage({ + path: post.uri, + component: template, + context: post, + }) + }) +} +``` + +#### Using createPage function + +The `createPage` function needs the following information: + +- **path:** This is the path that the page will live at, relative to the domain. (ex: `/your-page/`). +- **component:** This is the component that will be used to build the page. +- **context:** This is contextual data that is passed to the component that's used to build the page. + +In our case, we pass the following data to the `createPage` function: + +- **path:** `post.uri` | The uri field of the Post is used as the path for Gatsby. This allows + WordPress internal links to work, even when Gatsby is used as the front-end. It also ensures the + paths are unique. +- **component:** `template` | Here we pass the file path to a template (Component) we defined (and + will be building later) +- **context:** `post` | We pass the post node (which includes the id and uri of the post). This + context is passed to the component used to build the page and can be used to make page queries and + populate the page with data. + +The full snippet should now look like the following: + +```js +exports.createPages = async ({ actions, graphql, reporter }) => { + const result = graphql(` + { + allWpPost { + nodes { + id + uri + } + } + } + `) + + if (result.errors) { + reporter.error("There was an error fetching posts", result.errors) + } + + const { allWpPost } = result.data + + // Define the template to use + const template = require.resolve(`./src/templates/WpPost.js`) + + if (allWpPost.nodes.length) { + allWpPost.nodes.map(post => { + actions.createPage({ + path: post.uri, + component: template, + context: post, + }) + }) + } +} +``` + +## Building the Page Template + +Now that we have a page being built at `/templates/WpPost.js`, let's take a look at how we can build +a specific page. + +The first thing we need, is a default component to export. Let's add that: + +```js +import React from "react" + +const WpPost = () => { + return

    My Template...

    +} + +export default WpPost +``` + +At this point, if we were to run `gatsby develop` or `gatsby build`, Gatsby would use our query that +we wrote to fetch all posts, iterate through them, and create pages for each of them using the WpPost +template. + +If we had a post with the WordPress uri of `hello-world`, then we should be able to visit +`http://localhost:8000/hello-world` and see our new template. + +![Initial template](../../docs/assets/gatsby-source-wordpress-template.png) + +Our template right now simply returns an `

    ` with the words "My Template...". + +We would be able to visit any of the uri's of the posts in WordPress and see the template. + +### Page Queries + +Of course, we don't actually want to have "My Template..." output, we want real data. + +This is where Gatsby's Page Queries come in. + +When the page is created, the context that is passed (in our case the post node, with the `id` and +`uri` fields) is made available to the template. + +This context can be used as variables within a page query to query a specific node and it's fields. + +Let's take a look. + +Add this import to the top of the file: + +```js +import { graphql } from "gatsby" +``` + +Then, below the component we created, add the following: + +```js +export const query = graphql` + query($id: String) { + wpPost(id: { eq: $id }) { + id + title + content + } + } +` +``` + +This query is asking for the `wpPost` where the id is equal to the ID that was passed through in +context. And in response we're asking for the `id`, `title` and `content` of the Post. + +So, for each post that used this template, a query will execute to get the Post matching the ID. + +We're asking for the data, but we're not using it yet. Let's adjust our component to use the data: + +```js +const WpPost = ({ + data: { + wpPost: { title, content, id }, + }, +}) => { + return ( +
    +

    {title}

    +
    +
    + ) +} +``` + +The data from the page query is passed to the component as `data.wpPost`. We're destructuring the +`title`, `content` and `id` from the response, then using it in our markup. + +At this point, we now should be able to visit the same uri and see the template with data: + +![Template with Data](../../docs/assets/gatsby-source-wordpress-template-with-data.png) + +### GraphQL Fragments + +Now that we're getting WordPress data into our Template, let's look at how we can use GraphQL Fragments +to break our pages into smaller Components. + +Let's say we wanted to have an Author bio on each of our posts. + +For this, we would want to query for the Post's author, in addition to whatever Post fields we needed. + +We might end up with a query like so: + +```graphql +query($id: String) { + wpPost(id: { eq: $id }) { + id + title + uri + content + author { + node { + id + name + description + } + } + } +} +``` + +What's happening here, though, is that we would have one big component responsible for the Post _and_ +the Author, when we could split these into their own components, one for the Post, and one for the +Author. + +Let's create a new component at `/components/AuthorBio.js` with the following: + +```javascript +import React from "react" +import { graphql } from "gatsby" + +export const AuthorFragment = graphql` + fragment AuthorBio on WpUser { + id + name + description + } +` + +const AuthorBio = ({ author: { id, name, description } }) => { + return ( +
    +

    {name}

    +
    +
    + ) +} + +export default AuthorBio +``` + +This gives us a component to render the Author Bio, and it declares the data that it needs with a +GraphQL Fragment. + +This allows the component that renders the data to be responsible for HTML needed to render the output, +and declaring the data that it needs from GraphQL, which allows components to have smaller +responsiblities. This can help greatly with building re-usable components and scaling applications. + +This AuthorBio component can now be used anywhere a WpUser is asked for. Here, we'll use it within +the Post component to show the Post's author. We'll change the WpPost Component like so: + +```js +import React from "react" +import { graphql } from "gatsby" +import AuthorBio from "../components/AuthorBio" + +const WpPost = ({ data }) => { + const { + wpPost: { title, content, id, author }, + } = data + return ( +
    +

    {title}

    +
    + +
    + ) +} + +export const query = graphql` + query($id: String) { + wpPost(id: { eq: $id }) { + id + title + content + author { + node { + ...AuthorBio + } + } + } + } +` + +export default WpPost +``` + +At the top, we import the AuthorBio component. Then, we ask for the `author` in our data +destructuring at the top of the component. + +Then, we add the `` to our Post Component. + +Last, we update our Query to ask for the Author, and reference the Fragment that was defined in our +AuthorBio component. Gatsby keeps track of all fragments, so we can reference our AuthorBio fragment +within our query for the WpPost and it will work! + +So now, we have a Post component that's responsible for asking for the data it needs, and an Author +Component that is responsible for asking for what it needs. + +And now we have a template that looks like the following: + +![Template with Data and Author](../../docs/assets/gatsby-source-wordpress-template-with-author.png) + +## Conditional Templates / Template Hierarchy + +At this point, we've used GraphQL to query WordPress Posts from Gatsby's GraphQL API, and used that +data to create pages. + +This was a simple example showing how to create pages for WordPress posts. But WordPress has +different types of content, such as Custom Post Types and Pages, Users, Taxonomy Terms and more. + +You can use the same technique to create pages for any type of content you want. + +One thing you can also do, is use a query such as `contentNodes` to get WordPress posts of _any_ +Post Type, and implement logic to use different templates based on the Type it is. + +For example, instead of this query which returns only Posts: + +```graphql +{ + allWpPost { + nodes { + id + uri + } + } +} +``` + +You could use this query: + +```graphql +{ + allWpContentNode { + nodes { + id + uri + __typename + } + } +} +``` + +And then use the `__typename` to determine the template to use, like so: + +```js +// at the top of the file +const fs = require("fs") + +if (allContent.nodes.length) { + allContent.nodes.map(node => { + // Set the default template to use if a specific one doesn't exist + let template = require.resolve(`./src/templates/WpContentNode.js`) + + // Try to find the template path for the specific Post Type + let templatePath = `./src/templates/${node.__typename}.js` + try { + if (fs.existsSync(templatePath)) { + template = require.resolve(templatePath) + } + } catch (err) { + console.error(err) + } + + if (node.uri.length) { + actions.createPage({ + path: node.uri, + component: template, + context: node, + }) + } + }) +} +``` + +This would allow for a fallback template to live at `/templates/WpContentNode.js` and be overridden +by adding a template for the specific post type at `/templates/{$typename}.js`. diff --git a/packages/gatsby-source-wordpress/docs/tutorials/transforming-data.md b/packages/gatsby-source-wordpress/docs/tutorials/transforming-data.md new file mode 100644 index 0000000000000..3422138f442f5 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/tutorials/transforming-data.md @@ -0,0 +1,106 @@ +# Transforming Data + +There are some cases where you may want to modify data as it's fetched from WPGraphQL but before it's stored in Gatsby. This source plugin does that quite a bit itself for html transformations and image processing. Because it's such a common need for implementing advanced use cases like automatic image optimization and building transformer plugins, we have a built in API for this (`options.type.[typename].beforeChangeNode`). This API is called before any node is created, updated, or deleted. + +## Modifying nodes when created or updated + +A good example on how to use this API is by referencing internal uses of it. In `src/models/gatsby-api.ts` you will see the following code: + +```js +const defaultPluginOptions = { + // ... + type: { + MediaItem: { + beforeChangeNode: async ({ remoteNode, actionType, typeSettings }) => { + // we fetch lazy nodes files in resolvers, no need to fetch them here. + if (typeSettings.lazyNodes) { + return { + remoteNode, + } + } + + if ( + actionType === `CREATE_ALL` || + actionType === `CREATE` || + actionType === `UPDATE` + ) { + const createdMediaItem = await createRemoteMediaItemNode({ + mediaItemNode: remoteNode, + parentName: `Node action ${actionType}`, + }) + + if (createdMediaItem) { + remoteNode.localFile = { + id: createdMediaItem.id, + } + + return { + remoteNode, + } + } + } + + return { + remoteNode, + } + }, + }, + }, +} +``` + +As you can see, `beforeChangeNode` allows us to either leave a node as-is, modify it, or perform some related side effects before returning. +The above code example fetches files from WPGraphQL and creates local Gatsby nodes on every `CREATE` or `UPDATE` action for the node being processed. After creating a local file node, we save the id of that node so that we can later link this node to the file node we created. + +## Performing side-effects before deleting a node + +A good example of why you might want to perform some side effects before a node is deleted can be seen in our internal usage of this API for Menu nodes: + +```js +export const menuBeforeChangeNode = async api => { + if (api.remoteNode && api.actionType === `DELETE`) { + const { + pluginOptions, + helpers: { getNodesByType, actions }, + } = api.helpers + + // get all existing MenuItem nodes + const allMenuItems = getNodesByType( + `${pluginOptions.schema.typePrefix}MenuItem` + ) + + // find the nodes that are children of the current menu + const allMenuItemsNodesWithThisMenuIdAsAParent = allMenuItems.filter( + menuItemNode => menuItemNode.menu.node.id === api.remoteNode.id + ) + + // delete each child menu item + allMenuItemsNodesWithThisMenuIdAsAParent?.forEach(menuItemNode => + actions.deleteNode({ + node: menuItemNode, + }) + ) + } +} +``` + +Here we're finding all child MenuItem's on the MenuItem being deleted and then deleting those items. We do this as a performance optimization. In WP if a Menu is deleted, the child MenuItem's are also deleted. Instead of sending an event for each item and needing Gatsby to fetch all of them, we know that when we receive an event to delete a Menu, we can safely delete its child MenuItem's. + +## Cancelling an update + +There may be cases where you want to cancel a node create/update/delete before it happens. You can do that by adding `cancelUpdate: true` to the object you return to this API. A common use-case for doing this is when you have a multi-lingual site split across multiple domains where each language has a separate Gatsby build process. + +```js +const beforeChangeNodePage = ({ remoteNode, actionType }) => { + if ( + [`CREATE`, `CREATE_ALL`, `UPDATE`].includes(actionType) && + remoteNode.language !== process.env.BUILD_LANGUAGE + ) { + return { + cancelUpdate: true, + } + } +} +``` + +Now each build will only receive updates for the language specified in the `BUILD_LANGUAGE` env variable and updates for nodes of other languages will be cancelled. diff --git a/packages/gatsby-source-wordpress/docs/tutorials/using-advanced-custom-fields.md b/packages/gatsby-source-wordpress/docs/tutorials/using-advanced-custom-fields.md new file mode 100644 index 0000000000000..2eaff7c5b2edd --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/tutorials/using-advanced-custom-fields.md @@ -0,0 +1,113 @@ +# Using Advanced Custom Fields with Gatsby + +This tutorial assumes that you already have a [Gatsby site running](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/getting-started.md) +with Gatsby Source WordPress active and pointing at a WordPress site's GraphQL endpoint powered +by [WPGraphQL](https://wordpress.org/plugins/wp-graphql/). + +It would also be helpful to be familiar with our guide on [Gatsby, GraphQL and WordPress](../features/graphql-wordpress-and-gatsby.md). + +In this guide, you will learn: + +- What is Advanced Custom Fields +- How to use Advanced Custom Fields with WPGraphQL +- How to use Advanced Custom Fields with Gatsby +- Example Usage + +## What is Advanced Custom Fields? + +[Advanced Custom Fields](https://www.advancedcustomfields.com/) is a WordPress plugin that allows +users to create robust forms for editing additional content in WordPress. + +## How to use Advanced Custom Fields with WPGraphQL + +While Advanced Custom Fields is not the only option available for creating custom fields for +WordPress, it's one of the most popular, and one that has an integration with WPGraphQL. + +In order to use Advanced Custom Fields with WPGraphQL, you need to install the free +[WPGraphQL for Advanced Custom Fields](https://github.com/wp-graphql/wp-graphql-acf) WordPress plugin. + +Once WPGraphQL and WPGraphQL for Advanced Custom Fields are active, you can configure your ACF Field +Groups to show in the WPGraphQL Schema. + +Refer to the [WPGraphQL for ACF docs](https://github.com/wp-graphql/wp-graphql-acf/blob/master/README.md) +for more information on the supported fields and configuration. + +## How to use Advanced Custom Fields with Gatsby + +Once you have your ACF Field Groups configured to show in GraphQL, you can start using them in Gatsby. + +Because WPGraphQL for ACF is an extension of WPGraphQL, it means the data exposed by it is also +available to Gatsby. + +## Example Usage + +Below, we will look at what it takes to configure an ACF Field Group to show in the GraphQL Schema, +then look at how to query the data in WPGraphQL and Gatsby. + +### Create the ACF Field Group + +ACF provides a user interface for configuring field groups and we'll use that in this example. + +First, we will create a new Field Group in our WordPress Dashboard, and add a field to it. + +For example sake, we're naming the Field Group "Test Post Fields" and adding a single Text field +with the name "text_field". And we set the "Location Rules" to be "Post Type is equal to Post". + +![ACF New Field Group](../../docs/assets/acf-new-field-group.png) + +Then, toward the bottom of the Settings are fields to configure whether the Field Group should be +exposed to GraphQL or not. + +![ACF Show in GraphQL](../../docs/assets/acf-graphql-settings.png) + +We've selected "Yes" for the "Show in GraphQL" setting. And for the "GraphQL Field Name" setting we +named it `testPostFields`. + +Publishing this field group adds the field group to the Post edit screen, and WPGraphQL for ACF adds +the Field Group to the `Post` type in the GraphQL Schema (inferred from the location rules). + +### Editing a Post + +We can now go edit a post and save data to the ACF field. + +Here, we can see the "Test Post Fields" field group on the Edit Post screen, and we've added the +value `Test field value...` to the "Text Field". + +![Editing a Post with ACF Field](../../docs/assets/acf-new-post-with-field.png) + +### Query ACF Field with WPGraphQL + +We can now confirm that the field is queryable using the GraphiQL IDE in the WordPress dashboard +and the following query (our created post ID is `2068`). + +```graphql +{ + post(id: 2068, idType: DATABASE_ID) { + id + title + testPostFields { + textField + } + } +} +``` + +![Query ACF Fields with WPGraphQL](../../docs/assets/acf-wpgraphql-post-field-query.png) + +### Query ACF Field in Gatsby + +Now, we can also query the field with Gatsby's GraphQL API with the following query: + +```graphql +{ + wpPost(databaseId: { eq: 2068 }) { + id + title + testPostFields { + textField + } + } +} +``` + +![Query ACF Fields with Gatsby](../../docs/assets/acf-gatsby-post-field-query.png) diff --git a/packages/gatsby-source-wordpress/docs/tutorials/using-self-signed-certificates.md b/packages/gatsby-source-wordpress/docs/tutorials/using-self-signed-certificates.md new file mode 100644 index 0000000000000..60225dda191d1 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/tutorials/using-self-signed-certificates.md @@ -0,0 +1,16 @@ +### Self-signed certificates + +When running locally, or in other situations that may involve self-signed certificates, you may run into the error: `The request failed with error code "DEPTH_ZERO_SELF_SIGNED_CERT"`. + +To solve this, you can disable Node.js' rejection of unauthorized certificates by adding the following to `.env.development`: + +```shell +NODE_TLS_REJECT_UNAUTHORIZED=0 +``` + +Please note that you need to add `dotenv`, as mentioned earlier, to expose environment variables in your gatsby-config.js or gatsby-node.js files. + +**CAUTION:** This should never be set in production. Always ensure that you disable `NODE_TLS_REJECT_UNAUTHORIZED` in development with `gatsby develop` only. + +[dotenv]: https://github.com/motdotla/dotenv +[envvars]: https://www.gatsbyjs.org/docs/environment-variables diff --git a/packages/gatsby-source-wordpress/docs/tutorials/using-wordpress-menus.md b/packages/gatsby-source-wordpress/docs/tutorials/using-wordpress-menus.md new file mode 100644 index 0000000000000..256d8db8ac98e --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/tutorials/using-wordpress-menus.md @@ -0,0 +1,229 @@ +# Using WordPress Nav Menus with Gatsby + +This tutorial assumes that you already have a [Gatsby site running](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/getting-started.md) +with Gatsby Source WordPress active and pointing at a WordPress site's GraphQL endpoint powered +by [WPGraphQL](https://wordpress.org/plugins/wp-graphql/). You should also be familiar with [how to +query WordPress data](./querying-data.md) with Gatsby. + +In this tutorial we will cover how you can use WordPress Nav Menus in your Gatsby site. + +- Overview of WordPress Nav Menus + - Activating the Nav Menu Manager + - Creating a Menu +- Menus and Menu Items in WPGraphQL +- Querying Menus and Menu Items in Gatsby + - Working with Hierarchcial Data + +## Overview of WordPress Nav Menus + +WordPress has a Nav Menu Manager that provides a drag and drop interface to manage nav menus and +Nav Menu Items (links to internal or external web pages). + +### Activating the Nav Menu Manager + +By default, WordPress leaves the Nav Menu Manager disabled in the WordPress Admin. In order to use +the Nav Menu Manager in WordPress, at least one menu location must be registered to the site. + +You can activate menus with code, or with the WPGatsby plugin, or a combination of both. + +#### Activating Nav Menu Manager with WPGatsby + +When the [WPGatsby](https://wordpress.org/plugins/wp-gatsby/) plugin is active, it registers 2 Nav +Menu locations, which activates the WordPress Nav Menu Manager. + +The menu locations added by WPGatsby are as follows: + +- "Header Menu [Added by WPGatsby]" +- "Footer Menu [Added by WPGatsby]" + +![Gatsby Nav Menu Locations](../../docs/assets/wpgatsby-nav-menu-locations.png) + +You can optionally turn this off from the WPGatsby Settings (Settings > GatsbyJS) page, if you +prefer to not have these Menu Locations registered by WPGatsby. + +![Gatsby Menu Settings](../../docs/assets/wpgatsby-enable-gatsby-menu-locations.png) + +#### Activating Nav Menu Manager with Code + +In order to activate the WordPress Nav Menu Manager with code, you need to register a Nav Menu +location using the `register_nav_menus` function. You can read more about this in the +[WordPress Codex](https://developer.wordpress.org/reference/functions/register_nav_menu/). + +### Creating a Nav Menu in WordPress + +Once you have the WordPress Nav Menu manager active, you can visit the Nav Menu Manager in your +WordPress dashboard under Appearance > Menus. + +The user interface looks like the following: + +![Gatsby Menu Settings](../../docs/assets/wordpress-nav-menu-manager.png) + +This UI allows for internal content, or custom links to be added to a Nav Menu as Menu Items, and +allows for Menus to be assigned to a registered Menu Location. + +## Menus and Menu Items in WPGraphQL + +Menus (and their menu items) that are not assigned a Menu Location are not considered publicly +accessible entities, and are not publicly exposed in WPGraphQL. In order to use menus with Gatsby, +you must assign the menu to a location. + +When creating a Menu, there's a checkbox setting titled "Display Location" with a list of available +Nav Menu locations. You must select at least one location when saving the menu for it to be publicly +exposed and available in Gatsby. + +## Querying Menus and Menu Items in Gatsby + +WordPress Nav Menus consist of 2 primary components: Menus and Menu Items. + +Menu Items are the individual items (links to pages), and the Menu is the entity that groups the +Menu Items together. + +Menu Items are typically the most relevant part of menus, as that's what users interact with on your +site. + +You can query Menu Items directly, or you can query a Menu, and the connected Menu Items. + +For the examples below, we have a Nav Menu named "Header Menu" assigned to the menu location +"Header Menu [Added by WPGatsby]". The menu has 4 Menu Items configured showcasing hierarchical menu +item relationships. + +If you have different Menu / Menu Location names, adjust your queries accordingly. + +![Gatsby Test Header Menu](../assets/wordpress-test-header-menu.png) + +Let's take a look at some example queries: + +### Query a Menu by Location and it's MenuItems + +The following query is a Query against Gatsby's GraphQL API for a specific Menu filtered by location, +and its connected Menu Items. + +```graphql +{ + wpMenu(locations: { eq: GATSBY_HEADER_MENU }) { + id + name + menuItems { + nodes { + id + label + title + path + parentId + } + } + } +} +``` + +Here's a screenshot of the query using Gatsby's GraphiQL tool: + +![Gatsby Menu Query](../assets/wordpress-query-menu-by-location.png) + +As shown in the image, the "Test Menu" that is assigned to the location "Header Menu +[Added by WPGatsby]" is returned, and the 4 Menu Items that were added to the menu are returned with +the fields we requested. + +### Query MenuItems by Location + +The following query is a Query against Gatsby's GraphQL API for Menu Items filtered by location, +skipping the Menu altogether. + +```graphql +{ + allWpMenuItem(filter: { locations: { eq: GATSBY_HEADER_MENU } }) { + nodes { + id + label + title + path + parentId + } + } +} +``` + +![Gatsby Menu Items Query](../assets/wordpress-query-menu-items-by-location.png) + +As shown in the image, the Menu Items that belong to the "Test Menu" assigned to the location "Header +Menu [Added by WPGatsby]" are returned, skipping any information about the Menu itself being returned, +as it wasn't asked for. + +## Working with Hierarchical Data + +One thing you might have noticed, is that even though the Menu Items were configured to be +hierarchical (parent/child/grandchild) the Menu Items in both example queries were returned in a +flat list (parent/child/grandchild all at the same level). + +There's a good chance you will want to convert the flat-list back into a hierarchical list to use in +your UI components. + +To do this, we can use a function like the following: + +```javascript +const flatListToHierarchical = ( + data = [], + { idKey = "key", parentKey = "parentId", childrenKey = "children" } = {} +) => { + const tree = [] + const childrenOf = {} + data.forEach(item => { + const newItem = { ...item } + const { [idKey]: id, [parentKey]: parentId = 0 } = newItem + childrenOf[id] = childrenOf[id] || [] + newItem[childrenKey] = childrenOf[id] + parentId + ? (childrenOf[parentId] = childrenOf[parentId] || []).push(newItem) + : tree.push(newItem) + }) + return tree +} +``` + +This function takes a list of objects and converts it to a hierarchical list based on the objects +parentId. + +This could be used like so: + +```javascript +$hierarchicalList = flatListToHierarchical(data.allWpMenuItem.nodes) +``` + +And we would end up with a list like the following, which matches the hierarchical structure: + +```json +[ + { + "id": "cG9zdDoyMDUz", + "label": "Sample Page", + "title": null, + "path": "/sample-page", + "parentId": null, + "children": [ + { + "id": "cG9zdDoyMDU0", + "label": "Child Page", + "title": null, + "path": "/sample-page/child-page", + "parentId": "cG9zdDoyMDUz", + "children": [ + { + "id": "cG9zdDoyMDU1", + "label": "Grandchild", + "title": null, + "path": "/sample-page/child-page/grandchild", + "parentId": "cG9zdDoyMDU0" + } + ] + } + ] + }, + { + "id": "cG9zdDoyMDU2", + "label": "Test", + "title": null, + "path": "/test", + "parentId": null + } +] +``` diff --git a/packages/gatsby-source-wordpress/docs/usage-with-popular-wp-graphql-extensions.md b/packages/gatsby-source-wordpress/docs/usage-with-popular-wp-graphql-extensions.md new file mode 100644 index 0000000000000..b4acf82bed114 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/usage-with-popular-wp-graphql-extensions.md @@ -0,0 +1,27 @@ +# Usage with popular WPGraphQL extensions + +An ideal for this source plugin is for any WPGraphQL extension to become a Gatsby plugin. In practise we haven't yet had time to thoroughly test that all extensions work. + +Below is a list of "Confirmed" and "Unconfirmed" extensions. + +Confirmed simply means we've installed it and tried sourcing the data and it worked! All of the confirmed extensions are being used in this source plugin in production sites. The unconfirmed extensions simply haven't been fully tested and may or may not work. + +If you find a bug when using an extension please open an issue and let us know. + +## Confirmed Extensions + +- [WPGraphQL for Advanced Custom Fields](https://www.wpgraphql.com/acf/) +- [WPGraphQL Yoast SEO](https://github.com/ashhitch/wp-graphql-yoast-seo) +- [WPGraphQL Polylang](https://github.com/valu-digital/wp-graphql-polylang) +- [WPGraphQL for Custom Post Type UI](https://github.com/wp-graphql/wp-graphql-custom-post-type-ui) + +## Unconfirmed Extensions (might still work but will have problems) + +- [WPGraphQL WooCommerce](https://woographql.com/) +- [WPGraphQL Gutenberg](https://wp-graphql-gutenberg.netlify.app/) + +# Up Next :point_right: + +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/docs/why-use-this-plugin.md b/packages/gatsby-source-wordpress/docs/why-use-this-plugin.md new file mode 100644 index 0000000000000..5f60ada17b7e2 --- /dev/null +++ b/packages/gatsby-source-wordpress/docs/why-use-this-plugin.md @@ -0,0 +1,58 @@ +# Why use this plugin? + +- [Why use this plugin?](#why-use-this-plugin) + - [Why use Gatsby instead of WordPress PHP templates?](#why-use-gatsby-instead-of-wordpress-php-templates) + - [Related information:](#related-information) + - [Why use this plugin instead of X source plugin?](#why-use-this-plugin-instead-of-x-source-plugin) + - [Up Next :point_right:](#up-next-point_right) + +## Why use Gatsby instead of WordPress PHP templates? + +For starters you can keep using WordPress as the fantastic CMS it is, and use React and modern tooling for your front-end! + +Some highlights: + +- Increased security and performance due to the static rendering of Gatsby +- A componentized architecture for your front-end code with React (better maintainability) +- A simpler way of asking for data with GraphQL (no need to remember dozens of data retrieval functions) +- Client-side state management with React opens up the doors to creating an app-like or full on app experience for your users +- [Gatsby is committed to ensuring we are as accessible as possible out of the box](https://www.gatsbyjs.org/blog/2019-04-18-gatsby-commitment-to-accessibility/) + +Additionally, this plugin is a great reason to use Gatsby with WordPress. Many of the complex and difficult aspects of going decoupled with WordPress have been abstracted for you behind the scenes, so you can work on building awesome apps and sites instead of reinventing the wheel to get decoupled WordPress working in your project. + +Check out this page on [convincing developers why Gatsby is awesome](https://www.gatsbyjs.org/docs/winning-over-developers/#specific-benefits). It's meant for developers who want to convince their coworkers to use Gatsby, but it actually does a great job of describing directly to you the main reasons why using Gatsby is a great idea :) + +### Related information: + +- [ReactJS](https://reactjs.org/) +- [Gatsy Site Showcase](https://www.gatsbyjs.org/showcase/) +- [Gatsby Case Study Blog posts](https://www.gatsbyjs.org/blog/tags/case-studies/) +- [How Tinder is using WordPress with Gatsby](https://www.gatsbyjs.org/blog/2020-04-07-LA-2020-Boss/) +- [Zac Gordon on what Gatsby is and why to use it](https://www.youtube.com/watch?v=GuvAMcsoreI) + +## Why use this plugin instead of X source plugin? + +Before `gatsby-source-wordpress@v4` was released, there were 2 main ways to work with Gatsby & WordPress: `gatsby-source-wordpress@v3` and `gatsby-source-graphql`. + +Both of these worked but each had it's own pitfalls and problems. + +- [Problems with gatsby-source-wordpress@v3](./problems-with-v3.md) +- [Problems with gatsby-source-graphql](./problems-with-gatsby-source-graphql.md) + +This plugin fixes every problem listed in those two pages :point_up: + +Now we have the ability to properly cache data and this makes incremental builds, fast builds, and Preview work. Any WPGraphQL plugin now becomes a cacheable Gatsby plugin which means Gatsby and the community can build a rich plugin ecosystem around WordPress that just works! :smile: + +## Up Next :point_right: + +- :runner: [Installation & Getting started](./getting-started.md) +- :school: [Tutorials](./tutorials/index.md) +- :feet: [Features](./features/index.md) +- :electric_plug: [Plugin options](./plugin-options.md) +- :boat: [Migrating from other WP source plugins](./migrating-from-other-wp-source-plugins.md) +- :house: [Hosting WordPress](./hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](./themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](./usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md) diff --git a/packages/gatsby-source-wordpress/gatsby-browser.js b/packages/gatsby-source-wordpress/gatsby-browser.js new file mode 100644 index 0000000000000..2508e6c2e9b12 --- /dev/null +++ b/packages/gatsby-source-wordpress/gatsby-browser.js @@ -0,0 +1 @@ +import "./style.css" diff --git a/packages/gatsby-source-wordpress/gatsby-config.js b/packages/gatsby-source-wordpress/gatsby-config.js new file mode 100644 index 0000000000000..6013a95346476 --- /dev/null +++ b/packages/gatsby-source-wordpress/gatsby-config.js @@ -0,0 +1,3 @@ +module.exports = { + plugins: [`gatsby-plugin-catch-links`], +} diff --git a/packages/gatsby-source-wordpress/gatsby-node.js b/packages/gatsby-source-wordpress/gatsby-node.js new file mode 100644 index 0000000000000..63df6a6d69afd --- /dev/null +++ b/packages/gatsby-source-wordpress/gatsby-node.js @@ -0,0 +1 @@ +module.exports = require(`./dist/gatsby-node`) diff --git a/packages/gatsby-source-wordpress/generate-plugin-options-docs.js b/packages/gatsby-source-wordpress/generate-plugin-options-docs.js new file mode 100644 index 0000000000000..10057f672e81b --- /dev/null +++ b/packages/gatsby-source-wordpress/generate-plugin-options-docs.js @@ -0,0 +1,175 @@ +const prettier = require(`prettier`) +const Joi = require(`@hapi/joi`) +const Handlebars = require(`handlebars`) +const fs = require(`fs-extra`) +const _ = require(`lodash`) +const toc = require(`markdown-toc`) +const prettierConfig = require(`../../.prettierrc.js`) + +const { + pluginOptionsSchema, +} = require(`./dist/steps/declare-plugin-options-schema`) + +// :( poor children +const excludeParentsChildren = [`RootQuery`] +/** + * Takes the keys from a Joi schema and recursively + * turns the nested keys into structured markdown documentation + * + * @param {object} keys + * @param {string} mdString + * @param {number} level + * @param {string} parent + */ +function joiKeysToMD({ + keys, + mdString = ``, + level = 1, + parent = null, + parentMetas = [], +}) { + if ( + !keys || + (parentMetas.length && parentMetas.find(meta => meta.portableOptions)) + ) { + return mdString + } + + Object.entries(keys).forEach(([key, value]) => { + const isRequired = value.flags && value.flags.presence === `required` + + const title = `${parent ? `${parent}.` : ``}${key}${ + isRequired ? ` (**required**)` : `` + }` + + mdString += `${`#`.repeat(level + 1)} ${title}` + + if (value.description) { + mdString += `\n\n` + const description = value.description.trim() + mdString += description.endsWith(`.`) ? description : `${description}.` + } + + if (value.type) { + const { trueType } = + (value.meta && value.meta.find(meta => `trueType` in meta)) || {} + + mdString += `\n\n` + mdString += `**Field type**: \`${_.startCase(trueType || value.type)}\`` + } + + if ( + (value.flags && `default` in value.flags) || + (value.meta && value.meta.find(meta => `default` in meta)) + ) { + const defaultValue = + (value.meta.find(meta => `default` in meta) || {}).default || + value.flags.default + + let printedValue + + if (typeof defaultValue === `string`) { + printedValue = defaultValue + } else if (Array.isArray(defaultValue)) { + printedValue = `[${defaultValue.join(`, `)}]` + } else if ( + [`boolean`, `function`, `number`].includes(typeof defaultValue) + ) { + printedValue = defaultValue.toString() + } else if (defaultValue === null) { + printedValue = `null` + } + + if (typeof printedValue === `string`) { + mdString += `\n\n` + mdString += `**Default value**: ${ + printedValue.includes(`\n`) + ? `\n\`\`\`js\n${printedValue}\n\`\`\`` + : `\`${printedValue}\`` + }` + } + } + + if (value.meta) { + const examples = value.meta.filter(meta => `example` in meta) + examples.forEach(({ example }) => { + mdString += `\n\n\`\`\`js\n` + example + `\n\`\`\`\n` + }) + } + + mdString += `\n\n` + + const excludeChildren = excludeParentsChildren.includes(key) + + if (!excludeChildren && value.children) { + mdString = joiKeysToMD({ + keys: value.children, + mdString, + level: level + 1, + parent: title, + parentMetas: value.meta, + }) + } + + if (!excludeChildren && value.items && value.items.length) { + value.items.forEach(item => { + if (item.children) { + mdString = joiKeysToMD({ + keys: item.children, + mdString, + level: level + 1, + parent: title + `[]`, + parentMetas: value.meta, + }) + } + }) + } + }) + + return mdString +} + +/** + * Converts the Joi schema description into markdown + * and writes it to the filesystem + * + * @param {object} description + */ +async function generateMdFileFromSchemaDescription(description) { + const template = Handlebars.compile(`# Plugin Options + +[comment]: # (This file is automatically generated. Do not edit it directly. Instead, edit the Joi schema in ./plugin/src/steps/declare-plugin-options-schema.js) +{{{tableOfContents}}} +{{{docs}}} + +# Up Next :point_right: + +- :boat: [Migrating from other WP source plugins](./migrating-from-other-wp-source-plugins.md) +- :house: [Hosting WordPress](./hosting.md) +- :athletic_shoe: [Themes, Starters, and Examples](./themes-starters-examples.md) +- :medal_sports: [Usage with popular WPGraphQL extensions](./usage-with-popular-wp-graphql-extensions.md) +- :hammer_and_wrench: [Debugging and troubleshooting](./debugging-and-troubleshooting.md) +- :national_park: [Community and Support](./community-and-support.md) +- :point_left: [Back to README.md](../README.md)`) + + const docs = joiKeysToMD({ + keys: description.children, + }) + const tableOfContents = toc(docs).content + + const mdContents = template({ + tableOfContents, + docs, + }) + + const mdContentsFormatted = prettier.format(mdContents, { + parser: `markdown`, + ...prettierConfig, + }) + + await fs.writeFile(`./docs/plugin-options.md`, mdContentsFormatted) +} + +const description = pluginOptionsSchema({ Joi }).describe() + +generateMdFileFromSchemaDescription(description) diff --git a/packages/gatsby-source-wordpress/index.js b/packages/gatsby-source-wordpress/index.js index bab9a764bdfa8..172f1ae6a468c 100644 --- a/packages/gatsby-source-wordpress/index.js +++ b/packages/gatsby-source-wordpress/index.js @@ -1 +1 @@ -// no-op-lo-op \ No newline at end of file +// noop diff --git a/packages/gatsby-source-wordpress/package.json b/packages/gatsby-source-wordpress/package.json index b9790e7b75c61..512aa7273e313 100644 --- a/packages/gatsby-source-wordpress/package.json +++ b/packages/gatsby-source-wordpress/package.json @@ -1,41 +1,80 @@ { "name": "gatsby-source-wordpress", - "description": "Gatsby source plugin for building websites using the WordPress CMS as a data source.", - "version": "3.11.0", - "author": "Sebastien Fichot ", + "description": "Source data from WordPress in an efficient and scalable way.", + "author": "Tyler Barnes ", + "version": "4.0.0-next.0", "bugs": { "url": "https://github.com/gatsbyjs/gatsby/issues" }, - "bundledDependencies": [], "dependencies": { - "@babel/runtime": "^7.12.5", + "@babel/runtime": "^7.6.3", + "@rematch/core": "^1.3.0", + "@rematch/immer": "^1.2.0", + "async-retry": "^1.3.1", + "atob": "^2.1.2", "axios": "^0.21.1", + "axios-rate-limit": "^1.3.0", "better-queue": "^3.8.10", - "bluebird": "^3.7.2", - "deep-map": "^1.5.0", - "deep-map-keys": "^1.2.0", + "btoa": "^1.2.1", + "cache-manager": "^3.4.0", + "cache-manager-fs-hash": "^0.0.9", + "chalk": "^4.1.0", + "cheerio": "^1.0.0-rc.3", + "clipboardy": "^2.1.0", + "diff": "^5.0.0", + "dumper.js": "^1.3.1", + "execall": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "file-type": "^15.0.1", + "filesize": "^6.1.0", + "fs-extra": "^9.0.1", + "gatsby-core-utils": "^1.10.0", + "gatsby-image": "^2.11.0", + "gatsby-plugin-catch-links": "^2.10.0", "gatsby-source-filesystem": "^2.11.0", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.20", - "minimatch": "^3.0.4", - "qs": "^6.9.4" + "glob": "^7.1.6", + "got": "^11.7.0", + "graphql-query-compress": "^1.2.2", + "lodash": "^4.17.19", + "node-fetch": "^2.6.0", + "p-queue": "^6.3.0", + "read-chunk": "^3.2.0", + "replaceall": "^0.1.6", + "semver": "^7.3.2", + "valid-url": "^1.0.9" }, - "deprecated": false, "devDependencies": { - "@babel/cli": "^7.12.1", - "@babel/core": "^7.12.3", + "@babel/cli": "^7.6.4", + "@babel/core": "^7.6.4", + "@babel/plugin-proposal-class-properties": "^7.10.1", + "@babel/plugin-proposal-private-methods": "^7.10.1", + "@types/semver": "^7.3.4", + "@types/cache-manager": "^2.10.3", + "@types/ink": "^2.0.3", + "babel-plugin-import-globals": "^2.0.0", + "babel-plugin-module-resolver": "4.0.0", + "babel-preset-gatsby": "^0.12.0", "babel-preset-gatsby-package": "^0.12.0", - "cross-env": "^7.0.3" + "cross-env": "^5.2.1", + "identity-obj-proxy": "^3.0.0", + "react-test-renderer": "^16.12.0", + "rimraf": "^3.0.2", + "tree-kill": "^1.2.2", + "wait-on": "^4.0.0" }, "homepage": "https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-source-wordpress#readme", "keywords": [ "gatsby", "gatsby-plugin", - "gatsby-source-plugin" + "gatsby-plugin-wordpress", + "gatsby-source-wordpress", + "wordpress" ], "license": "MIT", "peerDependencies": { - "gatsby": "^2.0.15" + "gatsby": "^2.24.74", + "gatsby-plugin-sharp": "^2.6.8", + "gatsby-transformer-sharp": "^2.5.10" }, "repository": { "type": "git", @@ -43,9 +82,12 @@ "directory": "packages/gatsby-source-wordpress" }, "scripts": { - "build": "babel src --out-dir . --ignore \"**/__tests__\"", - "prepare": "cross-env NODE_ENV=production npm run build", - "watch": "babel -w src --out-dir . --ignore \"**/__tests__\"" + "prepare": "npm run build", + "build": "rimraf dist && babel src --out-dir dist --ignore **/__tests__ --extensions \".ts,.js\" --source-maps && npm run generate-plugin-options-docs", + "watch": "npm run build && babel -w src --out-dir dist --ignore **/__tests__ --verbose --extensions \".ts,.js\" --source-maps", + "generate-plugin-options-docs": "node ./generate-plugin-options-docs.js", + "docker-start": "docker-compose up --build --force-recreate -V --remove-orphans", + "docker-rebuild": "./docker/rebuild.sh" }, "engines": { "node": ">=10.13.0" diff --git a/packages/gatsby-source-wordpress/src/__tests__/__snapshots__/normalize.js.snap b/packages/gatsby-source-wordpress/src/__tests__/__snapshots__/normalize.js.snap deleted file mode 100644 index cf9ccee320660..0000000000000 --- a/packages/gatsby-source-wordpress/src/__tests__/__snapshots__/normalize.js.snap +++ /dev/null @@ -1,15927 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Process WordPress data Converts to use only GMT dates 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - }, - ], - }, - "author": 1, - "categories": Array [ - 3, - ], - "comment_status": "open", - "content": Object { - "protected": false, - "rendered": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - }, - "date": "2017-09-02T10:50:27.000Z", - "excerpt": Object { - "protected": false, - "rendered": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - }, - "featured_media": 0, - "format": "standard", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25.000Z", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags": Array [ - 5, - ], - "template": "", - "title": Object { - "rendered": "Sample post 2", - }, - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - "title": "Venise", - }, - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - }, - ], - }, - "author": 1, - "categories": Array [ - 2, - ], - "comment_status": "open", - "content": Object { - "protected": false, - "rendered": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - }, - "date": "2017-09-02T10:49:35.000Z", - "excerpt": Object { - "protected": false, - "rendered": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - }, - "featured_media": 0, - "format": "standard", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42.000Z", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags": Array [ - 4, - ], - "template": "", - "title": Object { - "rendered": "Sample post 1", - }, - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "linked_image": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - }, - "author": 1, - "comment_status": "closed", - "content": Object { - "protected": false, - "rendered": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - }, - "date": "2017-09-02T10:30:57.000Z", - "excerpt": Object { - "protected": false, - "rendered": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - }, - "featured_media": 0, - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16.000Z", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": Object { - "rendered": "Gatsby sample home page", - }, - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author": 1, - "caption": Object { - "rendered": "", - }, - "comment_status": "open", - "date": "2017-09-02T10:36:43.000Z", - "description": Object { - "rendered": "

    \\"\\"

    -", - }, - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39.000Z", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": Object { - "rendered": "pexels-photo-534327", - }, - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author": 1, - "caption": Object { - "rendered": "", - }, - "comment_status": "open", - "date": "2017-09-02T10:35:16.000Z", - "description": Object { - "rendered": "

    \\"\\"

    -", - }, - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23.000Z", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": Object { - "rendered": "pexels-photo-534351", - }, - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": Object { - "protected": false, - "rendered": "", - }, - "date": "2017-09-02T10:57:32.000Z", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32.000Z", - "slug": "fifth", - "status": "publish", - "template": "", - "title": Object { - "rendered": "fifth", - }, - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": Object { - "protected": false, - "rendered": "

    201

    -", - }, - "date": "2017-09-02T10:57:18.000Z", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18.000Z", - "slug": "forth", - "status": "publish", - "template": "", - "title": Object { - "rendered": "forth", - }, - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": Object { - "protected": false, - "rendered": "", - }, - "date": "2017-09-02T10:57:00.000Z", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00.000Z", - "slug": "third", - "status": "publish", - "template": "", - "title": Object { - "rendered": "third", - }, - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": Object { - "protected": false, - "rendered": "", - }, - "date": "2017-09-02T10:56:47.000Z", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47.000Z", - "slug": "second", - "status": "publish", - "template": "", - "title": Object { - "rendered": "second", - }, - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": Object { - "protected": false, - "rendered": "", - }, - "date": "2017-09-02T10:56:32.000Z", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32.000Z", - "slug": "first", - "status": "publish", - "template": "", - "title": Object { - "rendered": "first", - }, - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy": "category", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy": "category", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy": "category", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy": "post_tag", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy": "post_tag", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories": Array [ - Object { - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - }, - Object { - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - }, - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54.000Z", - "date_modified": "2019-02-03T21:49:54.000Z", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data Creates links between authors and user entities 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories": Array [ - 3, - ], - "comment_status": "open", - "content": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - "date": "2017-09-02T10:50:27.000Z", - "excerpt": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25.000Z", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags": Array [ - 5, - ], - "template": "", - "title": "Sample post 2", - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - "title": "Venise", - }, - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories": Array [ - 2, - ], - "comment_status": "open", - "content": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - "date": "2017-09-02T10:49:35.000Z", - "excerpt": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42.000Z", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags": Array [ - 4, - ], - "template": "", - "title": "Sample post 1", - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "linked_image": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - }, - "author___NODE": "uuid-from-gatsby", - "comment_status": "closed", - "content": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - "date": "2017-09-02T10:30:57.000Z", - "excerpt": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - "featured_media": 0, - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16.000Z", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": "Gatsby sample home page", - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:36:43.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39.000Z", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534327", - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:35:16.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23.000Z", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534351", - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": "", - "date": "2017-09-02T10:57:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32.000Z", - "slug": "fifth", - "status": "publish", - "template": "", - "title": "fifth", - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": "

    201

    -", - "date": "2017-09-02T10:57:18.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18.000Z", - "slug": "forth", - "status": "publish", - "template": "", - "title": "forth", - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": "", - "date": "2017-09-02T10:57:00.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00.000Z", - "slug": "third", - "status": "publish", - "template": "", - "title": "third", - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": "", - "date": "2017-09-02T10:56:47.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47.000Z", - "slug": "second", - "status": "publish", - "template": "", - "title": "second", - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": "", - "date": "2017-09-02T10:56:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32.000Z", - "slug": "first", - "status": "publish", - "template": "", - "title": "first", - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy": "category", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy": "category", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy": "category", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy": "post_tag", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy": "post_tag", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "all_authored_entities___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__PAGE___NODE": Array [ - "uuid-from-gatsby", - ], - "authored_wordpress__POST___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__wp_media___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "id": "uuid-from-gatsby", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories": Array [ - Object { - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - }, - Object { - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - }, - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54.000Z", - "date_modified": "2019-02-03T21:49:54.000Z", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "id": "uuid-from-gatsby", - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data Creates links between entities and polylang translations entities 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo___NODE": "uuid-from-gatsby", - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - "date": "2017-09-02T10:50:27.000Z", - "excerpt": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25.000Z", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 2", - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture___NODE": "uuid-from-gatsby", - "title": "Venise", - }, - Object { - "picture___NODE": "uuid-from-gatsby", - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo___NODE": "uuid-from-gatsby", - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - "date": "2017-09-02T10:49:35.000Z", - "excerpt": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42.000Z", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 1", - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "dummy": true, - "linked_image___NODE": "uuid-from-gatsby", - }, - "author___NODE": "uuid-from-gatsby", - "comment_status": "closed", - "content": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - "date": "2017-09-02T10:30:57.000Z", - "excerpt": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16.000Z", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": "Gatsby sample home page", - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:36:43.000Z", - "description": "

    \\"\\"

    -", - "guid___NODE": "uuid-from-gatsby", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39.000Z", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534327", - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:35:16.000Z", - "description": "

    \\"\\"

    -", - "guid___NODE": "uuid-from-gatsby", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23.000Z", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534351", - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": "", - "date": "2017-09-02T10:57:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32.000Z", - "slug": "fifth", - "status": "publish", - "template": "", - "title": "fifth", - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": "

    201

    -", - "date": "2017-09-02T10:57:18.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18.000Z", - "slug": "forth", - "status": "publish", - "template": "", - "title": "forth", - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": "", - "date": "2017-09-02T10:57:00.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00.000Z", - "slug": "third", - "status": "publish", - "template": "", - "title": "third", - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": "", - "date": "2017-09-02T10:56:47.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47.000Z", - "slug": "second", - "status": "publish", - "template": "", - "title": "second", - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": "", - "date": "2017-09-02T10:56:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32.000Z", - "slug": "first", - "status": "publish", - "template": "", - "title": "first", - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "all_authored_entities___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__PAGE___NODE": Array [ - "uuid-from-gatsby", - ], - "authored_wordpress__POST___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__wp_media___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "id": "uuid-from-gatsby", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54.000Z", - "date_modified": "2019-02-03T21:49:54.000Z", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "id": "uuid-from-gatsby", - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data Creates links between posts and tags/categories 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - "date": "2017-09-02T10:50:27.000Z", - "excerpt": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25.000Z", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 2", - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - "title": "Venise", - }, - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - "date": "2017-09-02T10:49:35.000Z", - "excerpt": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42.000Z", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 1", - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "linked_image": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - }, - "author___NODE": "uuid-from-gatsby", - "comment_status": "closed", - "content": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - "date": "2017-09-02T10:30:57.000Z", - "excerpt": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - "featured_media": 0, - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16.000Z", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": "Gatsby sample home page", - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:36:43.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39.000Z", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534327", - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:35:16.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23.000Z", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534351", - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": "", - "date": "2017-09-02T10:57:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32.000Z", - "slug": "fifth", - "status": "publish", - "template": "", - "title": "fifth", - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": "

    201

    -", - "date": "2017-09-02T10:57:18.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18.000Z", - "slug": "forth", - "status": "publish", - "template": "", - "title": "forth", - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": "", - "date": "2017-09-02T10:57:00.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00.000Z", - "slug": "third", - "status": "publish", - "template": "", - "title": "third", - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": "", - "date": "2017-09-02T10:56:47.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47.000Z", - "slug": "second", - "status": "publish", - "template": "", - "title": "second", - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": "", - "date": "2017-09-02T10:56:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32.000Z", - "slug": "first", - "status": "publish", - "template": "", - "title": "first", - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy": "category", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy": "category", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy": "category", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy": "post_tag", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy": "post_tag", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "all_authored_entities___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__PAGE___NODE": Array [ - "uuid-from-gatsby", - ], - "authored_wordpress__POST___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__wp_media___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "id": "uuid-from-gatsby", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54.000Z", - "date_modified": "2019-02-03T21:49:54.000Z", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "id": "uuid-from-gatsby", - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data Creates links between tags/categories and taxonomies 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - "date": "2017-09-02T10:50:27.000Z", - "excerpt": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25.000Z", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 2", - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - "title": "Venise", - }, - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - "date": "2017-09-02T10:49:35.000Z", - "excerpt": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42.000Z", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 1", - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "linked_image": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - }, - "author___NODE": "uuid-from-gatsby", - "comment_status": "closed", - "content": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - "date": "2017-09-02T10:30:57.000Z", - "excerpt": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - "featured_media": 0, - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16.000Z", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": "Gatsby sample home page", - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:36:43.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39.000Z", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534327", - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:35:16.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23.000Z", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534351", - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": "", - "date": "2017-09-02T10:57:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32.000Z", - "slug": "fifth", - "status": "publish", - "template": "", - "title": "fifth", - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": "

    201

    -", - "date": "2017-09-02T10:57:18.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18.000Z", - "slug": "forth", - "status": "publish", - "template": "", - "title": "forth", - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": "", - "date": "2017-09-02T10:57:00.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00.000Z", - "slug": "third", - "status": "publish", - "template": "", - "title": "third", - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": "", - "date": "2017-09-02T10:56:47.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47.000Z", - "slug": "second", - "status": "publish", - "template": "", - "title": "second", - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": "", - "date": "2017-09-02T10:56:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32.000Z", - "slug": "first", - "status": "publish", - "template": "", - "title": "first", - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "all_authored_entities___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__PAGE___NODE": Array [ - "uuid-from-gatsby", - ], - "authored_wordpress__POST___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__wp_media___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "id": "uuid-from-gatsby", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54.000Z", - "date_modified": "2019-02-03T21:49:54.000Z", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "id": "uuid-from-gatsby", - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data Creates links from entities to media nodes 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo___NODE": "uuid-from-gatsby", - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - "date": "2017-09-02T10:50:27.000Z", - "excerpt": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25.000Z", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 2", - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture___NODE": "uuid-from-gatsby", - "title": "Venise", - }, - Object { - "picture___NODE": "uuid-from-gatsby", - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo___NODE": "uuid-from-gatsby", - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - "date": "2017-09-02T10:49:35.000Z", - "excerpt": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42.000Z", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 1", - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "dummy": true, - "linked_image___NODE": "uuid-from-gatsby", - }, - "author___NODE": "uuid-from-gatsby", - "comment_status": "closed", - "content": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - "date": "2017-09-02T10:30:57.000Z", - "excerpt": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16.000Z", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": "Gatsby sample home page", - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:36:43.000Z", - "description": "

    \\"\\"

    -", - "guid___NODE": "uuid-from-gatsby", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39.000Z", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534327", - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:35:16.000Z", - "description": "

    \\"\\"

    -", - "guid___NODE": "uuid-from-gatsby", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23.000Z", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534351", - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": "", - "date": "2017-09-02T10:57:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32.000Z", - "slug": "fifth", - "status": "publish", - "template": "", - "title": "fifth", - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": "

    201

    -", - "date": "2017-09-02T10:57:18.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18.000Z", - "slug": "forth", - "status": "publish", - "template": "", - "title": "forth", - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": "", - "date": "2017-09-02T10:57:00.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00.000Z", - "slug": "third", - "status": "publish", - "template": "", - "title": "third", - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": "", - "date": "2017-09-02T10:56:47.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47.000Z", - "slug": "second", - "status": "publish", - "template": "", - "title": "second", - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": "", - "date": "2017-09-02T10:56:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32.000Z", - "slug": "first", - "status": "publish", - "template": "", - "title": "first", - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "all_authored_entities___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__PAGE___NODE": Array [ - "uuid-from-gatsby", - ], - "authored_wordpress__POST___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__wp_media___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "id": "uuid-from-gatsby", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54.000Z", - "date_modified": "2019-02-03T21:49:54.000Z", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "id": "uuid-from-gatsby", - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data Creates map of types 1`] = ` -Object { - "undefined": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 3404, - }, - ], - "wordpress__CATEGORY": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 2, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 3, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 1, - }, - ], - "wordpress__PAGE": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 5, - }, - ], - "wordpress__POST": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 28, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 26, - }, - ], - "wordpress__TAG": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 4, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 5, - }, - ], - "wordpress__acf_options": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": "acf", - }, - ], - "wordpress__wc_categories": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 80, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 104, - }, - ], - "wordpress__wp_gatsby": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 41, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 40, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 39, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 38, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 37, - }, - ], - "wordpress__wp_media": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 12, - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 10, - }, - ], - "wordpress__wp_statuses": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": "publish", - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": "acf-disabled", - }, - ], - "wordpress__wp_taxonomies": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": "category", - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": "post_tag", - }, - ], - "wordpress__wp_types": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": "post", - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": "page", - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": "attachment", - }, - Object { - "id": "uuid-from-gatsby", - "wordpress_id": "gatsby", - }, - ], - "wordpress__wp_users": Array [ - Object { - "id": "uuid-from-gatsby", - "wordpress_id": 1, - }, - ], -} -`; - -exports[`Process WordPress data Lifts all "rendered" fields to top-level 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - }, - ], - }, - "author": 1, - "categories": Array [ - 3, - ], - "comment_status": "open", - "content": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - "date": "2017-09-02T10:50:27.000Z", - "excerpt": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25.000Z", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags": Array [ - 5, - ], - "template": "", - "title": "Sample post 2", - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - "title": "Venise", - }, - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - }, - ], - }, - "author": 1, - "categories": Array [ - 2, - ], - "comment_status": "open", - "content": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - "date": "2017-09-02T10:49:35.000Z", - "excerpt": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42.000Z", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags": Array [ - 4, - ], - "template": "", - "title": "Sample post 1", - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "linked_image": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - }, - "author": 1, - "comment_status": "closed", - "content": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - "date": "2017-09-02T10:30:57.000Z", - "excerpt": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - "featured_media": 0, - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16.000Z", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": "Gatsby sample home page", - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author": 1, - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:36:43.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39.000Z", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534327", - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author": 1, - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:35:16.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23.000Z", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534351", - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": "", - "date": "2017-09-02T10:57:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32.000Z", - "slug": "fifth", - "status": "publish", - "template": "", - "title": "fifth", - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": "

    201

    -", - "date": "2017-09-02T10:57:18.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18.000Z", - "slug": "forth", - "status": "publish", - "template": "", - "title": "forth", - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": "", - "date": "2017-09-02T10:57:00.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00.000Z", - "slug": "third", - "status": "publish", - "template": "", - "title": "third", - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": "", - "date": "2017-09-02T10:56:47.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47.000Z", - "slug": "second", - "status": "publish", - "template": "", - "title": "second", - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": "", - "date": "2017-09-02T10:56:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32.000Z", - "slug": "first", - "status": "publish", - "template": "", - "title": "first", - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy": "category", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy": "category", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy": "category", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy": "post_tag", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy": "post_tag", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories": Array [ - Object { - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - }, - Object { - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - }, - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54.000Z", - "date_modified": "2019-02-03T21:49:54.000Z", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data Standardizes ids & cleans keys 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - }, - ], - }, - "author": 1, - "categories": Array [ - 3, - ], - "comment_status": "open", - "content": Object { - "protected": false, - "rendered": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - }, - "date": "2017-09-02T10:50:27", - "date_gmt": "2017-09-02T10:50:27", - "excerpt": Object { - "protected": false, - "rendered": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - }, - "featured_media": 0, - "format": "standard", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25", - "modified_gmt": "2017-09-02T10:52:25", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags": Array [ - 5, - ], - "template": "", - "title": Object { - "rendered": "Sample post 2", - }, - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - "title": "Venise", - }, - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - }, - ], - }, - "author": 1, - "categories": Array [ - 2, - ], - "comment_status": "open", - "content": Object { - "protected": false, - "rendered": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - }, - "date": "2017-09-02T10:49:35", - "date_gmt": "2017-09-02T10:49:35", - "excerpt": Object { - "protected": false, - "rendered": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - }, - "featured_media": 0, - "format": "standard", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42", - "modified_gmt": "2017-09-02T10:52:42", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags": Array [ - 4, - ], - "template": "", - "title": Object { - "rendered": "Sample post 1", - }, - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "linked_image": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - }, - "author": 1, - "comment_status": "closed", - "content": Object { - "protected": false, - "rendered": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - }, - "date": "2017-09-02T10:30:57", - "date_gmt": "2017-09-02T10:30:57", - "excerpt": Object { - "protected": false, - "rendered": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - }, - "featured_media": 0, - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16", - "modified_gmt": "2017-09-02T10:47:16", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": Object { - "rendered": "Gatsby sample home page", - }, - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author": 1, - "caption": Object { - "rendered": "", - }, - "comment_status": "open", - "date": "2017-09-02T10:36:43", - "date_gmt": "2017-09-02T10:36:43", - "description": Object { - "rendered": "

    \\"\\"

    -", - }, - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39", - "modified_gmt": "2017-09-02T10:52:39", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": Object { - "rendered": "pexels-photo-534327", - }, - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author": 1, - "caption": Object { - "rendered": "", - }, - "comment_status": "open", - "date": "2017-09-02T10:35:16", - "date_gmt": "2017-09-02T10:35:16", - "description": Object { - "rendered": "

    \\"\\"

    -", - }, - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23", - "modified_gmt": "2017-09-02T10:52:23", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": Object { - "rendered": "pexels-photo-534351", - }, - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": Object { - "protected": false, - "rendered": "", - }, - "date": "2017-09-02T10:57:32", - "date_gmt": "2017-09-02T10:57:32", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32", - "modified_gmt": "2017-09-02T10:57:32", - "slug": "fifth", - "status": "publish", - "template": "", - "title": Object { - "rendered": "fifth", - }, - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": Object { - "protected": false, - "rendered": "

    201

    -", - }, - "date": "2017-09-02T10:57:18", - "date_gmt": "2017-09-02T10:57:18", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18", - "modified_gmt": "2017-09-02T10:57:18", - "slug": "forth", - "status": "publish", - "template": "", - "title": Object { - "rendered": "forth", - }, - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": Object { - "protected": false, - "rendered": "", - }, - "date": "2017-09-02T10:57:00", - "date_gmt": "2017-09-02T10:57:00", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00", - "modified_gmt": "2017-09-02T10:57:00", - "slug": "third", - "status": "publish", - "template": "", - "title": Object { - "rendered": "third", - }, - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": Object { - "protected": false, - "rendered": "", - }, - "date": "2017-09-02T10:56:47", - "date_gmt": "2017-09-02T10:56:47", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47", - "modified_gmt": "2017-09-02T10:56:47", - "slug": "second", - "status": "publish", - "template": "", - "title": Object { - "rendered": "second", - }, - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": Object { - "protected": false, - "rendered": "", - }, - "date": "2017-09-02T10:56:32", - "date_gmt": "2017-09-02T10:56:32", - "guid": Object { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - }, - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32", - "modified_gmt": "2017-09-02T10:56:32", - "slug": "first", - "status": "publish", - "template": "", - "title": Object { - "rendered": "first", - }, - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy": "category", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy": "category", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy": "category", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy": "post_tag", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy": "post_tag", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories": Array [ - Object { - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - }, - Object { - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - }, - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54", - "date_created_gmt": "2019-02-03T21:49:54", - "date_modified": "2019-02-03T21:49:54", - "date_modified_gmt": "2019-02-03T21:49:54", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data createUrlPathsFromLinks should create URL paths from links 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo___NODE": "uuid-from-gatsby", - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - "date": "2017-09-02T10:50:27.000Z", - "excerpt": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25.000Z", - "path": "/sample-post-2/", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 2", - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture___NODE": "uuid-from-gatsby", - "title": "Venise", - }, - Object { - "picture___NODE": "uuid-from-gatsby", - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo___NODE": "uuid-from-gatsby", - }, - ], - }, - "author___NODE": "uuid-from-gatsby", - "categories___NODE": Array [ - "uuid-from-gatsby", - ], - "comment_status": "open", - "content": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - "date": "2017-09-02T10:49:35.000Z", - "excerpt": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42.000Z", - "path": "/sample-post-1/", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags___NODE": Array [ - "uuid-from-gatsby", - ], - "template": "", - "title": "Sample post 1", - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "dummy": true, - "linked_image___NODE": "uuid-from-gatsby", - }, - "author___NODE": "uuid-from-gatsby", - "comment_status": "closed", - "content": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - "date": "2017-09-02T10:30:57.000Z", - "excerpt": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16.000Z", - "path": "/", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": "Gatsby sample home page", - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:36:43.000Z", - "description": "

    \\"\\"

    -", - "guid___NODE": "uuid-from-gatsby", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39.000Z", - "path": "/sample-post-1/pexels-photo-534327/", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534327", - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author___NODE": "uuid-from-gatsby", - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:35:16.000Z", - "description": "

    \\"\\"

    -", - "guid___NODE": "uuid-from-gatsby", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23.000Z", - "path": "/gatsby-sample-home-page/pexels-photo-534351/", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534351", - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": "", - "date": "2017-09-02T10:57:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32.000Z", - "path": "/gatsby/fifth/", - "slug": "fifth", - "status": "publish", - "template": "", - "title": "fifth", - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": "

    201

    -", - "date": "2017-09-02T10:57:18.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18.000Z", - "path": "/gatsby/forth/", - "slug": "forth", - "status": "publish", - "template": "", - "title": "forth", - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": "", - "date": "2017-09-02T10:57:00.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00.000Z", - "path": "/gatsby/third/", - "slug": "third", - "status": "publish", - "template": "", - "title": "third", - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": "", - "date": "2017-09-02T10:56:47.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47.000Z", - "path": "/gatsby/second/", - "slug": "second", - "status": "publish", - "template": "", - "title": "second", - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": "", - "date": "2017-09-02T10:56:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32.000Z", - "path": "/gatsby/first/", - "slug": "first", - "status": "publish", - "template": "", - "title": "first", - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "path": "/category/sample-category-1/", - "slug": "sample-category-1", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "path": "/category/sample-category-2/", - "slug": "sample-category-2", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "path": "/category/uncategorized/", - "slug": "uncategorized", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "path": "/tag/sample-tag-1/", - "slug": "sample-tag-1", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "path": "/tag/sample-tag-2/", - "slug": "sample-tag-2", - "taxonomy___NODE": "uuid-from-gatsby", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "all_authored_entities___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__PAGE___NODE": Array [ - "uuid-from-gatsby", - ], - "authored_wordpress__POST___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "authored_wordpress__wp_media___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "path": "/author/gatsby/", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "id": "uuid-from-gatsby", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories___NODE": Array [ - "uuid-from-gatsby", - "uuid-from-gatsby", - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54.000Z", - "date_modified": "2019-02-03T21:49:54.000Z", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "id": "uuid-from-gatsby", - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data creates Gatsby IDs for each entity 1`] = ` -Array [ - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis.", - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - }, - ], - }, - "author": 1, - "categories": Array [ - 3, - ], - "comment_status": "open", - "content": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -", - "date": "2017-09-02T10:50:27.000Z", - "excerpt": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=28", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "meta": Array [], - "modified": "2017-09-02T10:52:25.000Z", - "ping_status": "open", - "polylang_current_lang": "en_US", - "polylang_tranlations": Array [ - Object { - "locale": "fr_FR", - "wordpress_id": 26, - }, - ], - "slug": "sample-post-2", - "status": "publish", - "sticky": false, - "tags": Array [ - 5, - ], - "template": "", - "title": "Sample post 2", - "type": "post", - "wordpress_id": 28, - }, - Object { - "__type": "wordpress__POST", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26", - }, - ], - "wp_term": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26", - "taxonomy": "category", - }, - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26", - "taxonomy": "post_tag", - }, - ], - }, - "acf": Object { - "page_builder": Array [ - Object { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan.", - }, - Object { - "acf_fc_layout": "image_gallery", - "pictures": Array [ - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - "title": "Venise", - }, - Object { - "picture": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:35:16", - "description": "", - "filename": "pexels-photo-534351.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:23", - "name": "pexels-photo-534351", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534351", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - "wordpress_id": 10, - }, - "title": "", - }, - ], - }, - Object { - "acf_fc_layout": "post_photo", - "photo": Object { - "alt": "", - "author": "1", - "caption": "", - "date": "2017-09-02 10:36:43", - "description": "", - "filename": "pexels-photo-534327.jpeg", - "height": 4000, - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "mime_type": "image/jpeg", - "modified": "2017-09-02 10:52:39", - "name": "pexels-photo-534327", - "sizes": Object { - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large_height": 683, - "large_width": 1024, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium_height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large_height": 512, - "medium_large_width": 768, - "medium_width": 300, - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail_height": 150, - "thumbnail_width": 150, - }, - "title": "pexels-photo-534327", - "type": "image", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - "wordpress_id": 12, - }, - }, - ], - }, - "author": 1, - "categories": Array [ - 2, - ], - "comment_status": "open", - "content": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

     

    -", - "date": "2017-09-02T10:49:35.000Z", - "excerpt": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    -", - "featured_media": 0, - "format": "standard", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?p=26", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "meta": Array [], - "modified": "2017-09-02T10:52:42.000Z", - "ping_status": "open", - "polylang_current_lang": "fr_FR", - "polylang_tranlations": Array [ - Object { - "locale": "en_US", - "wordpress_id": 28, - }, - ], - "slug": "sample-post-1", - "status": "publish", - "sticky": false, - "tags": Array [ - 4, - ], - "template": "", - "title": "Sample post 1", - "type": "post", - "wordpress_id": 26, - }, - Object { - "__type": "wordpress__PAGE", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5", - }, - ], - "version_history": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5", - }, - ], - }, - "acf": Object { - "linked_image": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - }, - "author": 1, - "comment_status": "closed", - "content": "

    Lorem ipsum

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    -

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    -

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    -

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    -

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    -", - "date": "2017-09-02T10:30:57.000Z", - "excerpt": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    -", - "featured_media": 0, - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "menu_order": 0, - "meta": Array [], - "modified": "2017-09-02T10:47:16.000Z", - "ping_status": "closed", - "slug": "gatsby-sample-home-page", - "status": "publish", - "template": "", - "title": "Gatsby sample home page", - "type": "page", - "wordpress_id": 5, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12", - }, - ], - }, - "acf": false, - "alt_text": "", - "author": 1, - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:36:43.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "media_details": Object { - "file": "2017/09/pexels-photo-534327.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "7.1", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414776055", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.01", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534327.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534327-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534327-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534327-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534327-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:39.000Z", - "ping_status": "closed", - "post": 26, - "slug": "pexels-photo-534327", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534327", - "type": "attachment", - "wordpress_id": 12, - }, - Object { - "__type": "wordpress__wp_media", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment", - }, - ], - "author": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - "replies": Array [ - Object { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10", - }, - ], - }, - "acf": false, - "alt_text": "", - "author": 1, - "caption": "", - "comment_status": "open", - "date": "2017-09-02T10:35:16.000Z", - "description": "

    \\"\\"

    -", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "media_details": Object { - "file": "2017/09/pexels-photo-534351.jpeg", - "height": 4000, - "image_meta": Object { - "aperture": "10", - "camera": "ILCA-77M2", - "caption": "", - "copyright": "", - "created_timestamp": "1414838901", - "credit": "", - "focal_length": "24", - "iso": "100", - "keywords": Array [], - "orientation": "1", - "shutter_speed": "0.005", - "title": "", - }, - "sizes": Object { - "full": Object { - "file": "pexels-photo-534351.jpeg", - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "width": 6000, - }, - "large": Object { - "file": "pexels-photo-534351-1024x683.jpeg", - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "width": 1024, - }, - "medium": Object { - "file": "pexels-photo-534351-300x200.jpeg", - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "width": 300, - }, - "medium_large": Object { - "file": "pexels-photo-534351-768x512.jpeg", - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "width": 768, - }, - "thumbnail": Object { - "file": "pexels-photo-534351-150x150.jpeg", - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "width": 150, - }, - }, - "width": 6000, - }, - "media_type": "image", - "meta": Array [], - "mime_type": "image/jpeg", - "modified": "2017-09-02T10:52:23.000Z", - "ping_status": "closed", - "post": 5, - "slug": "pexels-photo-534351", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "status": "inherit", - "template": "", - "title": "pexels-photo-534351", - "type": "attachment", - "wordpress_id": 10, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé.", - "year": "2012", - }, - "content": "", - "date": "2017-09-02T10:57:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "modified": "2017-09-02T10:57:32.000Z", - "slug": "fifth", - "status": "publish", - "template": "", - "title": "fifth", - "type": "gatsby", - "wordpress_id": 41, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé.", - "year": "2011", - }, - "content": "

    201

    -", - "date": "2017-09-02T10:57:18.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "modified": "2017-09-02T10:57:18.000Z", - "slug": "forth", - "status": "publish", - "template": "", - "title": "forth", - "type": "gatsby", - "wordpress_id": 40, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39", - }, - ], - }, - "acf": Object { - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé.", - "year": "1990", - }, - "content": "", - "date": "2017-09-02T10:57:00.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "modified": "2017-09-02T10:57:00.000Z", - "slug": "third", - "status": "publish", - "template": "", - "title": "third", - "type": "gatsby", - "wordpress_id": 39, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38", - }, - ], - }, - "acf": Object { - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé.", - "year": "1946", - }, - "content": "", - "date": "2017-09-02T10:56:47.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "modified": "2017-09-02T10:56:47.000Z", - "slug": "second", - "status": "publish", - "template": "", - "title": "second", - "type": "gatsby", - "wordpress_id": 38, - }, - Object { - "__type": "wordpress__wp_gatsby", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37", - }, - ], - "wp_attachment": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37", - }, - ], - }, - "acf": Object { - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé.", - "year": "1926", - }, - "content": "", - "date": "2017-09-02T10:56:32.000Z", - "guid": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "modified": "2017-09-02T10:56:32.000Z", - "slug": "first", - "status": "publish", - "template": "", - "title": "first", - "type": "gatsby", - "wordpress_id": 37, - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Posts", - "rest_base": "posts", - "slug": "post", - "taxonomies": Array [ - "category", - "post_tag", - ], - "wordpress_id": "post", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Pages", - "rest_base": "pages", - "slug": "page", - "taxonomies": Array [], - "wordpress_id": "page", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Media", - "rest_base": "media", - "slug": "attachment", - "taxonomies": Array [], - "wordpress_id": "attachment", - }, - Object { - "__type": "wordpress__wp_types", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Gatsbys", - "rest_base": "gatsby", - "slug": "gatsby", - "taxonomies": Array [], - "wordpress_id": "gatsby", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "wordpress_id": "publish", - }, - Object { - "__type": "wordpress__wp_statuses", - "_links": Object { - "archives": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled", - }, - ], - }, - "id": "uuid-from-gatsby", - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "wordpress_id": "acf-disabled", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - }, - "description": "", - "hierarchical": true, - "id": "uuid-from-gatsby", - "name": "Categories", - "rest_base": "categories", - "slug": "category", - "types": Array [ - "post", - ], - "wordpress_id": "category", - }, - Object { - "__type": "wordpress__wp_taxonomies", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "wp_items": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - }, - "description": "", - "hierarchical": false, - "id": "uuid-from-gatsby", - "name": "Tags", - "rest_base": "tags", - "slug": "post_tag", - "types": Array [ - "post", - ], - "wordpress_id": "post_tag", - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "meta": Array [], - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy": "category", - "wordpress_id": 2, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "meta": Array [], - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy": "category", - "wordpress_id": 3, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__CATEGORY", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1", - }, - ], - }, - "count": 0, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "meta": Array [], - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy": "category", - "wordpress_id": 1, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "meta": Array [], - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy": "post_tag", - "wordpress_id": 4, - }, - Object { - "__type": "wordpress__TAG", - "_links": Object { - "about": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag", - }, - ], - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags", - }, - ], - "curies": Array [ - Object { - "href": "https://api.w.org/{rel}", - "name": "wp", - "templated": true, - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5", - }, - ], - "wp_post_type": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5", - }, - ], - }, - "count": 1, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "meta": Array [], - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy": "post_tag", - "wordpress_id": 5, - }, - Object { - "__type": "wordpress__wp_users", - "_links": Object { - "collection": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users", - }, - ], - "self": Array [ - Object { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1", - }, - ], - }, - "acf": false, - "avatar_urls": Object { - "wordpress_24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "wordpress_48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "wordpress_96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g", - }, - "description": "", - "id": "uuid-from-gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "meta": Array [], - "name": "gatsby", - "slug": "gatsby", - "url": "", - "wordpress_id": 1, - }, - Object { - "__type": "wordpress__acf_options", - "id": "uuid-from-gatsby", - "wordpress_id": "acf", - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80", - }, - ], - }, - "count": 11, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 1", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - "wordpress_parent": 0, - }, - Object { - "__type": "wordpress__wc_categories", - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories", - }, - ], - "self": Array [ - Object { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104", - }, - ], - }, - "count": 31, - "description": "blah blah blah", - "display": "default", - "id": "uuid-from-gatsby", - "image": Object { - "alt": "", - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "name": "Category 2", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "wordpress_id": 2043, - }, - "menu_order": 0, - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - "wordpress_parent": 0, - }, - Object { - "_links": Object { - "collection": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products", - }, - ], - "self": Array [ - Object { - "href": "https://www.test.com/wp-json/wc/v3/products/3404", - }, - ], - }, - "attributes": Array [], - "average_rating": "0.00", - "backordered": false, - "backorders": "notify", - "backorders_allowed": true, - "button_text": "", - "catalog_visibility": "visible", - "categories": Array [ - Object { - "name": "Category 1", - "slug": "category-1", - "wordpress_id": 80, - }, - Object { - "name": "Category 2", - "slug": "category-2", - "wordpress_id": 104, - }, - ], - "cross_sell_ids": Array [], - "date_created": "2019-02-03T21:49:54.000Z", - "date_modified": "2019-02-03T21:49:54.000Z", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "default_attributes": Array [], - "description": "", - "dimensions": Object { - "height": "", - "length": "", - "width": "", - }, - "download_expiry": -1, - "download_limit": -1, - "downloadable": false, - "downloads": Array [], - "external_url": "", - "featured": false, - "grouped_products": Array [], - "id": "uuid-from-gatsby", - "images": Array [ - Object { - "alt": "", - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "name": "test-image-size-2", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "wordpress_id": 3405, - }, - ], - "jetpack_publicize_connections": Array [], - "manage_stock": true, - "menu_order": 0, - "meta_data": Array [ - Object { - "key": "_yoast_wpseo_primary_product_cat", - "value": "104", - "wordpress_id": 52214, - }, - Object { - "key": "nm_product_layout", - "value": "default", - "wordpress_id": 52215, - }, - Object { - "key": "algolia_searchable_posts_records_count", - "value": "1", - "wordpress_id": 52216, - }, - Object { - "key": "algolia_posts_product_records_count", - "value": "1", - "wordpress_id": 52217, - }, - Object { - "key": "_yoast_wpseo_content_score", - "value": "30", - "wordpress_id": 52218, - }, - Object { - "key": "_wpas_done_all", - "value": "1", - "wordpress_id": 52219, - }, - Object { - "key": "_jetpack_related_posts_cache", - "value": Object { - "wordpress_32b0bf150bb6bd30c74ed5fafdacd61f": Object { - "expires": 1549276723, - "payload": Array [ - Object { - "wordpress_id": 3379, - }, - Object { - "wordpress_id": 3365, - }, - Object { - "wordpress_id": 3402, - }, - ], - }, - }, - "wordpress_id": 52294, - }, - ], - "name": "Test Product Gatsby", - "on_sale": false, - "parent_id": 0, - "permalink": "https://www.example.com/product/test/", - "price": "16.99", - "price_html": "$16.99", - "purchasable": true, - "purchase_note": "", - "rating_count": 0, - "regular_price": "16.99", - "related_ids": Array [ - 3340, - 3374, - 3336, - 3354, - 3338, - ], - "reviews_allowed": true, - "sale_price": "", - "shipping_class": "", - "shipping_class_id": 0, - "shipping_required": true, - "shipping_taxable": true, - "short_description": "", - "sku": "M-N2-T", - "slug": "test-product-gatsby", - "sold_individually": false, - "status": "publish", - "stock_quantity": 5, - "stock_status": "instock", - "tax_class": "", - "tax_status": "taxable", - "total_sales": 0, - "type": "simple", - "upsell_ids": Array [], - "variations": Array [], - "virtual": false, - "weight": "", - "wordpress_id": 3404, - }, -] -`; - -exports[`Process WordPress data creates nodes for each entry 1`] = ` -Array [ - Array [ - Object { - "children": Array [], - "internal": Object { - "contentDigest": "contentDigest", - "type": "wordpress__PAGE", - }, - "link": "/packages/gatsby-source-wordpress/", - "parent": null, - "path": "already-set", - }, - ], -] -`; diff --git a/packages/gatsby-source-wordpress/src/__tests__/data.json b/packages/gatsby-source-wordpress/src/__tests__/data.json deleted file mode 100644 index 2bc43232264ac..0000000000000 --- a/packages/gatsby-source-wordpress/src/__tests__/data.json +++ /dev/null @@ -1,1626 +0,0 @@ -[ - { - "id": 28, - "date": "2017-09-02T10:50:27", - "date_gmt": "2017-09-02T10:50:27", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?p=28" - }, - "modified": "2017-09-02T10:52:25", - "modified_gmt": "2017-09-02T10:52:25", - "slug": "sample-post-2", - "status": "publish", - "type": "post", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-2/", - "title": { - "rendered": "Sample post 2" - }, - "content": { - "rendered": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    \n

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    \n", - "protected": false - }, - "excerpt": { - "rendered": "

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. […]

    \n", - "protected": false - }, - "author": 1, - "featured_media": 0, - "comment_status": "open", - "ping_status": "open", - "sticky": false, - "template": "", - "format": "standard", - "meta": [], - "categories": [3], - "tags": [5], - "acf": { - "page_builder": [ - { - "acf_fc_layout": "excerpt", - "content": "Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis." - }, - { - "acf_fc_layout": "post_photo", - "photo": { - "ID": 10, - "id": 10, - "title": "pexels-photo-534351", - "filename": "pexels-photo-534351.jpeg", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "alt": "", - "author": "1", - "description": "", - "caption": "", - "name": "pexels-photo-534351", - "date": "2017-09-02 10:35:16", - "modified": "2017-09-02 10:52:23", - "mime_type": "image/jpeg", - "type": "image", - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "width": 6000, - "height": 4000, - "sizes": { - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail-width": 150, - "thumbnail-height": 150, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium-width": 300, - "medium-height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large-width": 768, - "medium_large-height": 512, - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large-width": 1024, - "large-height": 683 - } - } - } - ] - }, - "polylang_current_lang": "en_US", - "polylang_tranlations": [ - { - "locale": "fr_FR", - "id": 26 - } - ], - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post" - } - ], - "author": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1" - } - ], - "replies": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=28" - } - ], - "version-history": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/28/revisions" - } - ], - "wp:attachment": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=28" - } - ], - "wp:term": [ - { - "taxonomy": "category", - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=28" - }, - { - "taxonomy": "post_tag", - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=28" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__POST" - }, - { - "id": 26, - "date": "2017-09-02T10:49:35", - "date_gmt": "2017-09-02T10:49:35", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?p=26" - }, - "modified": "2017-09-02T10:52:42", - "modified_gmt": "2017-09-02T10:52:42", - "slug": "sample-post-1", - "status": "publish", - "type": "post", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/", - "title": { - "rendered": "Sample post 1" - }, - "content": { - "rendered": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    \n

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    \n

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    \n

     

    \n", - "protected": false - }, - "excerpt": { - "rendered": "

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, […]

    \n", - "protected": false - }, - "author": 1, - "featured_media": 0, - "comment_status": "open", - "ping_status": "open", - "sticky": false, - "template": "", - "format": "standard", - "meta": [], - "categories": [2], - "tags": [4], - "acf": { - "page_builder": [ - { - "acf_fc_layout": "excerpt", - "content": "Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan." - }, - { - "acf_fc_layout": "image_gallery", - "pictures": [ - { - "title": "Venise", - "picture": { - "ID": 12, - "id": 12, - "title": "pexels-photo-534327", - "filename": "pexels-photo-534327.jpeg", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "alt": "", - "author": "1", - "description": "", - "caption": "", - "name": "pexels-photo-534327", - "date": "2017-09-02 10:36:43", - "modified": "2017-09-02 10:52:39", - "mime_type": "image/jpeg", - "type": "image", - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "width": 6000, - "height": 4000, - "sizes": { - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail-width": 150, - "thumbnail-height": 150, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium-width": 300, - "medium-height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large-width": 768, - "medium_large-height": 512, - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large-width": 1024, - "large-height": 683 - } - } - }, - { - "title": "", - "picture": { - "ID": 10, - "id": 10, - "title": "pexels-photo-534351", - "filename": "pexels-photo-534351.jpeg", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "alt": "", - "author": "1", - "description": "", - "caption": "", - "name": "pexels-photo-534351", - "date": "2017-09-02 10:35:16", - "modified": "2017-09-02 10:52:23", - "mime_type": "image/jpeg", - "type": "image", - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "width": 6000, - "height": 4000, - "sizes": { - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg", - "thumbnail-width": 150, - "thumbnail-height": 150, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg", - "medium-width": 300, - "medium-height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg", - "medium_large-width": 768, - "medium_large-height": 512, - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg", - "large-width": 1024, - "large-height": 683 - } - } - } - ] - }, - { - "acf_fc_layout": "post_photo", - "photo": { - "ID": 12, - "id": 12, - "title": "pexels-photo-534327", - "filename": "pexels-photo-534327.jpeg", - "url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "alt": "", - "author": "1", - "description": "", - "caption": "", - "name": "pexels-photo-534327", - "date": "2017-09-02 10:36:43", - "modified": "2017-09-02 10:52:39", - "mime_type": "image/jpeg", - "type": "image", - "icon": "http://dev-gatbsyjswp.pantheonsite.io/wp-includes/images/media/default.png", - "width": 6000, - "height": 4000, - "sizes": { - "thumbnail": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg", - "thumbnail-width": 150, - "thumbnail-height": 150, - "medium": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg", - "medium-width": 300, - "medium-height": 200, - "medium_large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg", - "medium_large-width": 768, - "medium_large-height": 512, - "large": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg", - "large-width": 1024, - "large-height": 683 - } - } - } - ] - }, - "polylang_current_lang": "fr_FR", - "polylang_tranlations": [ - { - "locale": "en_US", - "id": 28 - } - ], - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/post" - } - ], - "author": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1" - } - ], - "replies": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=26" - } - ], - "version-history": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts/26/revisions" - } - ], - "wp:attachment": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=26" - } - ], - "wp:term": [ - { - "taxonomy": "category", - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories?post=26" - }, - { - "taxonomy": "post_tag", - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags?post=26" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__POST" - }, - { - "id": 5, - "date": "2017-09-02T10:30:57", - "date_gmt": "2017-09-02T10:30:57", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?page_id=5" - }, - "modified": "2017-09-02T10:47:16", - "modified_gmt": "2017-09-02T10:47:16", - "slug": "gatsby-sample-home-page", - "status": "publish", - "type": "page", - "link": "http://dev-gatbsyjswp.pantheonsite.io/", - "title": { - "rendered": "Gatsby sample home page" - }, - "content": { - "rendered": "

    Lorem ipsum

    \n

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin faucibus lacus arcu, vel laoreet ligula euismod in. Integer faucibus sapien ut nisl pharetra, id scelerisque risus iaculis. Praesent sapien est, semper in rhoncus id, posuere in mi. Proin scelerisque consectetur risus. Praesent faucibus imperdiet nunc ac aliquet. Duis maximus elementum porttitor. Aliquam tempus in metus at finibus. Suspendisse vestibulum diam sit amet diam varius elementum. Quisque nec ornare odio. Curabitur tincidunt, risus eu consectetur tristique, felis leo tincidunt nunc, ut convallis ligula odio at orci.

    \n

    Mauris mattis elit erat, ut sodales lorem vestibulum sit amet. Sed eget urna suscipit nunc facilisis tempor. Nunc vel consequat diam. Fusce scelerisque gravida ex, vitae porttitor velit dictum at. Etiam arcu metus, gravida in libero vitae, porta volutpat ligula. Morbi vestibulum fermentum ipsum id ornare. Curabitur fermentum tellus elit, nec semper diam blandit id. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed efficitur finibus urna, in laoreet tellus sollicitudin sit amet. Phasellus elementum eros nec augue placerat, eget auctor enim mattis. Aenean porta tincidunt pharetra. Aliquam erat volutpat.

    \n

    Aliquam ac posuere risus. Nam et laoreet nulla. Curabitur ut neque nibh. Maecenas condimentum tellus ultricies nunc porta porta eget a elit. Etiam elementum enim at mi ultrices facilisis id non sapien. Suspendisse suscipit, nulla at pretium ultrices, massa dui semper leo, sed tristique elit ipsum in risus. Nunc sem sapien, condimentum vitae ex ac, porttitor viverra purus. Suspendisse risus est, tincidunt sit amet faucibus ac, molestie quis lacus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed pretium, velit a semper feugiat, libero leo ornare metus, vitae bibendum ante leo vitae odio.

    \n

    Donec sed ornare velit. Mauris consectetur sit amet tortor eget cursus. Donec suscipit tellus lectus, eget vestibulum diam auctor eget. In varius felis in tortor dignissim eleifend. Maecenas pharetra mi lacus, vitae porttitor mi scelerisque eget. Duis aliquam consequat elit, sed posuere magna. In pulvinar erat non neque fringilla, nec posuere mi tristique. Mauris rhoncus nulla turpis, vitae pretium quam malesuada eu. Nullam porta convallis augue sed gravida.

    \n

    Phasellus blandit sollicitudin metus, vitae ultricies tortor pretium sed. Donec et elit sed sapien mattis dapibus non at magna. Nulla et accumsan libero. Cras sodales imperdiet diam ac dictum. Donec mattis lacus nec tempus tempor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc velit arcu, facilisis nec enim vitae, pharetra sollicitudin sem. Maecenas vel sapien consequat, semper justo ut, pharetra purus. Sed malesuada mauris eu odio posuere congue. Etiam quis quam libero. Vestibulum molestie leo at tortor mollis tempus.

    \n", - "protected": false - }, - "excerpt": { - "rendered": "

    Lorem ipsum Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et odio sit amet est eleifend semper vitae iaculis risus. Etiam sit amet purus interdum, laoreet massa ac, tristique tortor. Suspendisse porta nibh a quam faucibus vestibulum. Morbi magna justo, semper eget pellentesque at, maximus sed justo. Vivamus sodales sem in imperdiet lacinia. Proin […]

    \n", - "protected": false - }, - "author": 1, - "featured_media": 0, - "parent": 0, - "menu_order": 0, - "comment_status": "closed", - "ping_status": "closed", - "template": "", - "meta": [], - "acf": { - "linked_image": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg" - }, - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/page" - } - ], - "author": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1" - } - ], - "replies": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=5" - } - ], - "version-history": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages/5/revisions" - } - ], - "wp:attachment": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=5" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__PAGE" - }, - { - "id": 12, - "date": "2017-09-02T10:36:43", - "date_gmt": "2017-09-02T10:36:43", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg" - }, - "modified": "2017-09-02T10:52:39", - "modified_gmt": "2017-09-02T10:52:39", - "slug": "pexels-photo-534327", - "status": "inherit", - "type": "attachment", - "link": "http://dev-gatbsyjswp.pantheonsite.io/sample-post-1/pexels-photo-534327/", - "title": { - "rendered": "pexels-photo-534327" - }, - "author": 1, - "comment_status": "open", - "ping_status": "closed", - "template": "", - "meta": [], - "acf": false, - "description": { - "rendered": "

    \"\"

    \n" - }, - "caption": { - "rendered": "" - }, - "alt_text": "", - "media_type": "image", - "mime_type": "image/jpeg", - "media_details": { - "width": 6000, - "height": 4000, - "file": "2017/09/pexels-photo-534327.jpeg", - "sizes": { - "thumbnail": { - "file": "pexels-photo-534327-150x150.jpeg", - "width": 150, - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-150x150.jpeg" - }, - "medium": { - "file": "pexels-photo-534327-300x200.jpeg", - "width": 300, - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-300x200.jpeg" - }, - "medium_large": { - "file": "pexels-photo-534327-768x512.jpeg", - "width": 768, - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-768x512.jpeg" - }, - "large": { - "file": "pexels-photo-534327-1024x683.jpeg", - "width": 1024, - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327-1024x683.jpeg" - }, - "full": { - "file": "pexels-photo-534327.jpeg", - "width": 6000, - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg" - } - }, - "image_meta": { - "aperture": "7.1", - "credit": "", - "camera": "ILCA-77M2", - "caption": "", - "created_timestamp": "1414776055", - "copyright": "", - "focal_length": "24", - "iso": "100", - "shutter_speed": "0.01", - "title": "", - "orientation": "1", - "keywords": [] - } - }, - "post": 26, - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534327.jpeg", - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/12" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment" - } - ], - "author": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1" - } - ], - "replies": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=12" - } - ] - }, - "__type": "wordpress__wp_media" - }, - { - "id": 10, - "date": "2017-09-02T10:35:16", - "date_gmt": "2017-09-02T10:35:16", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg" - }, - "modified": "2017-09-02T10:52:23", - "modified_gmt": "2017-09-02T10:52:23", - "slug": "pexels-photo-534351", - "status": "inherit", - "type": "attachment", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby-sample-home-page/pexels-photo-534351/", - "title": { - "rendered": "pexels-photo-534351" - }, - "author": 1, - "comment_status": "open", - "ping_status": "closed", - "template": "", - "meta": [], - "acf": false, - "description": { - "rendered": "

    \"\"

    \n" - }, - "caption": { - "rendered": "" - }, - "alt_text": "", - "media_type": "image", - "mime_type": "image/jpeg", - "media_details": { - "width": 6000, - "height": 4000, - "file": "2017/09/pexels-photo-534351.jpeg", - "sizes": { - "thumbnail": { - "file": "pexels-photo-534351-150x150.jpeg", - "width": 150, - "height": 150, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-150x150.jpeg" - }, - "medium": { - "file": "pexels-photo-534351-300x200.jpeg", - "width": 300, - "height": 200, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-300x200.jpeg" - }, - "medium_large": { - "file": "pexels-photo-534351-768x512.jpeg", - "width": 768, - "height": 512, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-768x512.jpeg" - }, - "large": { - "file": "pexels-photo-534351-1024x683.jpeg", - "width": 1024, - "height": 683, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351-1024x683.jpeg" - }, - "full": { - "file": "pexels-photo-534351.jpeg", - "width": 6000, - "height": 4000, - "mime_type": "image/jpeg", - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg" - } - }, - "image_meta": { - "aperture": "10", - "credit": "", - "camera": "ILCA-77M2", - "caption": "", - "created_timestamp": "1414838901", - "copyright": "", - "focal_length": "24", - "iso": "100", - "shutter_speed": "0.005", - "title": "", - "orientation": "1", - "keywords": [] - } - }, - "post": 5, - "source_url": "http://dev-gatbsyjswp.pantheonsite.io/wp-content/uploads/2017/09/pexels-photo-534351.jpeg", - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media/10" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/attachment" - } - ], - "author": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1" - } - ], - "replies": [ - { - "embeddable": true, - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/comments?post=10" - } - ] - }, - "__type": "wordpress__wp_media" - }, - { - "id": 41, - "date": "2017-09-02T10:57:32", - "date_gmt": "2017-09-02T10:57:32", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=41" - }, - "modified": "2017-09-02T10:57:32", - "modified_gmt": "2017-09-02T10:57:32", - "slug": "fifth", - "status": "publish", - "type": "gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/fifth/", - "title": { - "rendered": "fifth" - }, - "content": { - "rendered": "", - "protected": false - }, - "template": "", - "acf": { - "year": "2012", - "quote": "C'est ainsi que nous avançons, barques à contre-courant, sans cesse ramenés vers le passé." - }, - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/41" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby" - } - ], - "wp:attachment": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=41" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__wp_gatsby" - }, - { - "id": 40, - "date": "2017-09-02T10:57:18", - "date_gmt": "2017-09-02T10:57:18", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=40" - }, - "modified": "2017-09-02T10:57:18", - "modified_gmt": "2017-09-02T10:57:18", - "slug": "forth", - "status": "publish", - "type": "gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/forth/", - "title": { - "rendered": "forth" - }, - "content": { - "rendered": "

    201

    \n", - "protected": false - }, - "template": "", - "acf": { - "year": "2011", - "quote": "C'est ainsi que nous nous débattons, comme des barques contre le courant, sans cesse repoussés vers le passé." - }, - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/40" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby" - } - ], - "wp:attachment": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=40" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__wp_gatsby" - }, - { - "id": 39, - "date": "2017-09-02T10:57:00", - "date_gmt": "2017-09-02T10:57:00", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=39" - }, - "modified": "2017-09-02T10:57:00", - "modified_gmt": "2017-09-02T10:57:00", - "slug": "third", - "status": "publish", - "type": "gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/third/", - "title": { - "rendered": "third" - }, - "content": { - "rendered": "", - "protected": false - }, - "template": "", - "acf": { - "year": "1990", - "quote": "Et nous luttons ainsi, barques à contre-courant, refoulés sans fin vers notre passé." - }, - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/39" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby" - } - ], - "wp:attachment": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=39" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__wp_gatsby" - }, - { - "id": 38, - "date": "2017-09-02T10:56:47", - "date_gmt": "2017-09-02T10:56:47", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=38" - }, - "modified": "2017-09-02T10:56:47", - "modified_gmt": "2017-09-02T10:56:47", - "slug": "second", - "status": "publish", - "type": "gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/second/", - "title": { - "rendered": "second" - }, - "content": { - "rendered": "", - "protected": false - }, - "template": "", - "acf": { - "year": "1946", - "quote": "Car c'est ainsi que nous allons, barques luttant contre un courant qui nous ramène sans cesse vers le passé." - }, - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/38" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby" - } - ], - "wp:attachment": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=38" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__wp_gatsby" - }, - { - "id": 37, - "date": "2017-09-02T10:56:32", - "date_gmt": "2017-09-02T10:56:32", - "guid": { - "rendered": "http://dev-gatbsyjswp.pantheonsite.io/?post_type=gatsby&p=37" - }, - "modified": "2017-09-02T10:56:32", - "modified_gmt": "2017-09-02T10:56:32", - "slug": "first", - "status": "publish", - "type": "gatsby", - "link": "http://dev-gatbsyjswp.pantheonsite.io/gatsby/first/", - "title": { - "rendered": "first" - }, - "content": { - "rendered": "", - "protected": false - }, - "template": "", - "acf": { - "year": "1926", - "quote": "C'est ainsi que nous avançons, barques luttant contre un courant qui nous rejette sans cesse vers le passé." - }, - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby/37" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types/gatsby" - } - ], - "wp:attachment": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media?parent=37" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__wp_gatsby" - }, - { - "post": { - "description": "", - "hierarchical": false, - "name": "Posts", - "slug": "post", - "taxonomies": ["category", "post_tag"], - "rest_base": "posts", - "_links": { - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types" - } - ], - "wp:items": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - } - }, - "page": { - "description": "", - "hierarchical": true, - "name": "Pages", - "slug": "page", - "taxonomies": [], - "rest_base": "pages", - "_links": { - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types" - } - ], - "wp:items": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/pages" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - } - }, - "attachment": { - "description": "", - "hierarchical": false, - "name": "Media", - "slug": "attachment", - "taxonomies": [], - "rest_base": "media", - "_links": { - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types" - } - ], - "wp:items": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/media" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - } - }, - "gatsby": { - "description": "", - "hierarchical": false, - "name": "Gatsbys", - "slug": "gatsby", - "taxonomies": [], - "rest_base": "gatsby", - "_links": { - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/types" - } - ], - "wp:items": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/gatsby" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - } - }, - "__type": "wordpress__wp_types" - }, - { - "publish": { - "name": "Published", - "public": true, - "queryable": true, - "slug": "publish", - "_links": { - "archives": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts" - } - ] - } - }, - "acf-disabled": { - "name": "Inactive", - "public": true, - "queryable": true, - "slug": "acf-disabled", - "_links": { - "archives": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?status=acf-disabled" - } - ] - } - }, - "__type": "wordpress__wp_statuses" - }, - { - "category": { - "name": "Categories", - "slug": "category", - "description": "", - "types": ["post"], - "hierarchical": true, - "rest_base": "categories", - "_links": { - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies" - } - ], - "wp:items": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - } - }, - "post_tag": { - "name": "Tags", - "slug": "post_tag", - "description": "", - "types": ["post"], - "hierarchical": false, - "rest_base": "tags", - "_links": { - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies" - } - ], - "wp:items": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - } - }, - "__type": "wordpress__wp_taxonomies" - }, - { - "id": 2, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-1/", - "name": "Sample category 1", - "slug": "sample-category-1", - "taxonomy": "category", - "parent": 0, - "meta": [], - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/2" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category" - } - ], - "wp:post_type": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=2" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__CATEGORY" - }, - { - "id": 3, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/sample-category-2/", - "name": "Sample category 2", - "slug": "sample-category-2", - "taxonomy": "category", - "parent": 0, - "meta": [], - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/3" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category" - } - ], - "wp:post_type": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=3" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__CATEGORY" - }, - { - "id": 1, - "count": 0, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/category/uncategorized/", - "name": "Uncategorized", - "slug": "uncategorized", - "taxonomy": "category", - "parent": 0, - "meta": [], - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories/1" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/categories" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/category" - } - ], - "wp:post_type": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?categories=1" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__CATEGORY" - }, - { - "id": 4, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-1/", - "name": "Sample tag 1", - "slug": "sample-tag-1", - "taxonomy": "post_tag", - "meta": [], - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/4" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag" - } - ], - "wp:post_type": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=4" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__TAG" - }, - { - "id": 5, - "count": 1, - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/tag/sample-tag-2/", - "name": "Sample tag 2", - "slug": "sample-tag-2", - "taxonomy": "post_tag", - "meta": [], - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags/5" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/tags" - } - ], - "about": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/taxonomies/post_tag" - } - ], - "wp:post_type": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts?tags=5" - } - ], - "curies": [ - { - "name": "wp", - "href": "https://api.w.org/{rel}", - "templated": true - } - ] - }, - "__type": "wordpress__TAG" - }, - { - "id": 1, - "name": "gatsby", - "url": "", - "description": "", - "link": "http://dev-gatbsyjswp.pantheonsite.io/author/gatsby/", - "slug": "gatsby", - "avatar_urls": { - "24": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=24&d=mm&r=g", - "48": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=48&d=mm&r=g", - "96": "http://2.gravatar.com/avatar/bd015b2f012c7da7baf972ba8f05cfd5?s=96&d=mm&r=g" - }, - "meta": [], - "acf": false, - "_links": { - "self": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users/1" - } - ], - "collection": [ - { - "href": "http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/users" - } - ] - }, - "__type": "wordpress__wp_users" - }, - { - "acf": false, - "__type": "wordpress__acf_options" - }, - { - "id": 80, - "name": "Category 1", - "slug": "category-1", - "parent": 0, - "description": "blah blah blah", - "display": "default", - "image": { - "id": 2043, - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "src": "https://www.example.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "name": "Category 1", - "alt": "" - }, - "__type": "wordpress__wc_categories", - "menu_order": 0, - "count": 11, - "_links": { - "self": [ - { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/80" - } - ], - "collection": [ - { - "href": "https://www.example.com/wp-json/wc/v3/products/categories" - } - ] - } - }, - { - "id": 104, - "name": "Category 2", - "slug": "category-2", - "parent": 0, - "description": "blah blah blah", - "display": "default", - "image": { - "id": 2043, - "date_created": "2017-12-05T21:10:00", - "date_created_gmt": "2017-12-05T21:10:00", - "date_modified": "2017-12-05T21:10:00", - "date_modified_gmt": "2017-12-05T21:10:00", - "src": "https://www.example.com.com/wp-content/uploads/2015/08/Webp.net-resizeimage.jpg", - "name": "Category 2", - "alt": "" - }, - "__type": "wordpress__wc_categories", - "menu_order": 0, - "count": 31, - "_links": { - "self": [ - { - "href": "https://www.example.com/wp-json/wc/v3/products/categories/104" - } - ], - "collection": [ - { - "href": "https://www.example.com/wp-json/wc/v3/products/categories" - } - ] - } - }, - { - "id": 3404, - "name": "Test Product Gatsby", - "slug": "test-product-gatsby", - "permalink": "https://www.example.com/product/test/", - "date_created": "2019-02-03T21:49:54", - "date_created_gmt": "2019-02-03T21:49:54", - "date_modified": "2019-02-03T21:49:54", - "date_modified_gmt": "2019-02-03T21:49:54", - "type": "simple", - "status": "publish", - "featured": false, - "catalog_visibility": "visible", - "description": "", - "short_description": "", - "sku": "M-N2-T", - "price": "16.99", - "regular_price": "16.99", - "sale_price": "", - "date_on_sale_from": null, - "date_on_sale_from_gmt": null, - "date_on_sale_to": null, - "date_on_sale_to_gmt": null, - "price_html": "$16.99", - "on_sale": false, - "purchasable": true, - "total_sales": 0, - "virtual": false, - "downloadable": false, - "downloads": [], - "download_limit": -1, - "download_expiry": -1, - "external_url": "", - "button_text": "", - "tax_status": "taxable", - "tax_class": "", - "manage_stock": true, - "stock_quantity": 5, - "stock_status": "instock", - "backorders": "notify", - "backorders_allowed": true, - "backordered": false, - "sold_individually": false, - "weight": "", - "dimensions": { - "length": "", - "width": "", - "height": "" - }, - "shipping_required": true, - "shipping_taxable": true, - "shipping_class": "", - "shipping_class_id": 0, - "reviews_allowed": true, - "average_rating": "0.00", - "rating_count": 0, - "related_ids": [3340, 3374, 3336, 3354, 3338], - "upsell_ids": [], - "cross_sell_ids": [], - "parent_id": 0, - "purchase_note": "", - "categories": [ - { - "id": 80, - "name": "Category 1", - "slug": "category-1" - }, - { - "id": 104, - "name": "Category 2", - "slug": "category-2" - } - ], - "images": [ - { - "id": 3405, - "date_created": "2019-02-03T21:49:21", - "date_created_gmt": "2019-02-03T21:49:21", - "date_modified": "2019-02-03T21:49:21", - "date_modified_gmt": "2019-02-03T21:49:21", - "src": "https://www.example.com/wp-content/uploads/2019/02/test.jpg", - "name": "test-image-size-2", - "alt": "" - } - ], - "attributes": [], - "default_attributes": [], - "variations": [], - "grouped_products": [], - "menu_order": 0, - "meta_data": [ - { - "id": 52214, - "key": "_yoast_wpseo_primary_product_cat", - "value": "104" - }, - { - "id": 52215, - "key": "nm_product_layout", - "value": "default" - }, - { - "id": 52216, - "key": "algolia_searchable_posts_records_count", - "value": "1" - }, - { - "id": 52217, - "key": "algolia_posts_product_records_count", - "value": "1" - }, - { - "id": 52218, - "key": "_yoast_wpseo_content_score", - "value": "30" - }, - { - "id": 52219, - "key": "_wpas_done_all", - "value": "1" - }, - { - "id": 52294, - "key": "_jetpack_related_posts_cache", - "value": { - "32b0bf150bb6bd30c74ed5fafdacd61f": { - "expires": 1549276723, - "payload": [ - { - "id": 3379 - }, - { - "id": 3365 - }, - { - "id": 3402 - } - ] - } - } - } - ], - "jetpack_publicize_connections": [], - "_links": { - "self": [ - { - "href": "https://www.test.com/wp-json/wc/v3/products/3404" - } - ], - "collection": [ - { - "href": "https://www.test.com/wp-json/wc/v3/products" - } - ] - } - } -] diff --git a/packages/gatsby-source-wordpress/src/__tests__/fetch.js b/packages/gatsby-source-wordpress/src/__tests__/fetch.js deleted file mode 100644 index 141f6ce04d4f7..0000000000000 --- a/packages/gatsby-source-wordpress/src/__tests__/fetch.js +++ /dev/null @@ -1,59 +0,0 @@ -const fetch = require(`../fetch`) - -describe(`Fetching`, () => { - it(`gets raw entity type for wordpress.com`, () => { - const key = `/wp/v2/sites/example.wordpress.com/posts` - const path = fetch.getRawEntityType(key) - expect(path).toEqual(`posts`) - }) - - it(`gets route path for wordpress.com by removing base path from the full path`, () => { - const key = `/wp/v2/sites/example.wordpress.com/posts` - const baseUrl = `https://public-api.wordpress.com/wp/v2/sites/example.wordpress.com` - const path = fetch.getRoutePath(baseUrl, key) - expect(path).toEqual(`/posts`) - }) - - it(`gets route path for wordpress.org by removing base path from the full path`, () => { - const key = `/wp-json/wp/v2/posts` - const baseUrl = `http://dev-gatbsyjswp.pantheonsite.io/wp-json` - const path = fetch.getRoutePath(baseUrl, key) - expect(path).toEqual(`/wp/v2/posts`) - }) - - it(`builds full URL correctly for wordpress.com`, () => { - const key = `/wp/v2/sites/example.wordpress.com/posts` - const baseUrl = `https://public-api.wordpress.com/wp/v2/sites/example.wordpress.com` - const fullUrl = fetch.buildFullUrl(baseUrl, key, true) - expect(fullUrl).toEqual( - `https://public-api.wordpress.com/wp/v2/sites/example.wordpress.com/posts` - ) - }) - - it(`builds full URL correctly for wordpress.org`, () => { - const key = `/wp/v2/posts` - const baseUrl = `http://dev-gatbsyjswp.pantheonsite.io/wp-json` - const fullUrl = fetch.buildFullUrl(baseUrl, key, false) - expect(fullUrl).toEqual( - `http://dev-gatbsyjswp.pantheonsite.io/wp-json/wp/v2/posts` - ) - }) - - it(`properly use api URL if self uses same domain`, () => { - expect( - fetch.useApiUrl( - `http://example.com/wp-json`, - `http://example.com/wp-json/wp-api-menus/v2/menus/2` - ) - ).toEqual(`http://example.com/wp-json/wp-api-menus/v2/menus/2`) - }) - - it(`properly use api URL if self route uses different domain`, () => { - expect( - fetch.useApiUrl( - `http://example.com/wp-json`, - `http://localhost:8080/wp-json/wp-api-menus/v2/menus/2` - ) - ).toEqual(`http://example.com/wp-json/wp-api-menus/v2/menus/2`) - }) -}) diff --git a/packages/gatsby-source-wordpress/src/__tests__/http-exception-handler.js b/packages/gatsby-source-wordpress/src/__tests__/http-exception-handler.js deleted file mode 100644 index 095e54a9be96c..0000000000000 --- a/packages/gatsby-source-wordpress/src/__tests__/http-exception-handler.js +++ /dev/null @@ -1,7 +0,0 @@ -const httpExceptionHandler = require(`../http-exception-handler`) - -describe(`http-exception-handler`, () => { - it(`handles errors that lack responses without crashing`, () => { - expect(() => httpExceptionHandler({})).not.toThrowError() - }) -}) diff --git a/packages/gatsby-source-wordpress/src/__tests__/normalize-base-url.js b/packages/gatsby-source-wordpress/src/__tests__/normalize-base-url.js deleted file mode 100644 index cbd3c0b01465d..0000000000000 --- a/packages/gatsby-source-wordpress/src/__tests__/normalize-base-url.js +++ /dev/null @@ -1,12 +0,0 @@ -const normalizeBaseUrl = require(`../normalize-base-url`) - -describe(`Normalize baseUrl`, () => { - it(`Removes trailing slashes`, () => { - expect(normalizeBaseUrl(`example.com/`)).toBe(`example.com`) - }) - - it(`Removes the protocol`, () => { - expect(normalizeBaseUrl(`http://example.com`)).toBe(`example.com`) - expect(normalizeBaseUrl(`https://example.com`)).toBe(`example.com`) - }) -}) diff --git a/packages/gatsby-source-wordpress/src/__tests__/normalize.js b/packages/gatsby-source-wordpress/src/__tests__/normalize.js deleted file mode 100644 index b2cc74dcebf99..0000000000000 --- a/packages/gatsby-source-wordpress/src/__tests__/normalize.js +++ /dev/null @@ -1,161 +0,0 @@ -const normalize = require(`../normalize`) - -let entities = require(`./data.json`) - -describe(`Process WordPress data`, () => { - let entityTypes - it(`Creates entities from object collections of entities`, () => { - entities = normalize.normalizeEntities(entities) - }) - it(`Standardizes ids & cleans keys`, () => { - entities = normalize.standardizeKeys(entities) - expect(entities).toMatchSnapshot() - }) - it(`Converts to use only GMT dates`, () => { - entities = normalize.standardizeDates(entities) - expect(entities).toMatchSnapshot() - }) - it(`Lifts all "rendered" fields to top-level`, () => { - entities = normalize.liftRenderedField(entities) - expect(entities).toMatchSnapshot() - }) - it(`excludes unknown entities`, () => { - entities = normalize.excludeUnknownEntities(entities) - }) - it(`creates Gatsby IDs for each entity`, () => { - const createNodeId = jest.fn() - createNodeId.mockReturnValue(`uuid-from-gatsby`) - entities = normalize.createGatsbyIds( - createNodeId, - entities, - `http://dev-gatbsyjswp.pantheonsite.io` - ) - expect(entities).toMatchSnapshot() - }) - it(`Creates map of types`, () => { - entityTypes = normalize.mapTypes(entities) - expect(entityTypes).toMatchSnapshot() - }) - it(`Creates links between authors and user entities`, () => { - entities = normalize.mapAuthorsToUsers(entities) - expect(entities).toMatchSnapshot() - }) - it(`Creates links between posts and tags/categories`, () => { - entities = normalize.mapPostsToTagsCategories(entities) - expect(entities).toMatchSnapshot() - }) - - it(`Creates links between tags/categories and taxonomies`, () => { - entities = normalize.mapTagsCategoriesToTaxonomies(entities) - expect(entities).toMatchSnapshot() - }) - - it(`Creates links from entities to media nodes`, () => { - entities = normalize.mapEntitiesToMedia(entities) - expect(entities).toMatchSnapshot() - }) - - it(`Removes the acf key when acf is not an object`, () => { - let dummyEntities = [ - { id: 1, acf: false }, - { id: 2, acf: {} }, - ] - expect(normalize.normalizeACF(dummyEntities)).toEqual([ - { id: 1 }, - { id: 2, acf: {} }, - ]) - }) - - it(`Creates links between entities and polylang translations entities`, () => { - entities = normalize.mapPolylangTranslations(entities) - expect(entities).toMatchSnapshot() - }) - - describe(`createUrlPathsFromLinks`, () => { - it(`should create URL paths from links`, () => { - entities = normalize.createUrlPathsFromLinks(entities) - expect(entities).toMatchSnapshot() - }) - - // Some WordPress plugins (like https://wordpress.org/plugins/relative-url/) - // convert URLS to relative links - it(`should work if links are already relative`, () => { - const link = `/packages/gatsby-source-wordpress/` - entities = normalize.createUrlPathsFromLinks([ - { link, __type: `wordpress__PAGE` }, - ]) - expect(entities).toEqual([ - { - link, - __type: `wordpress__PAGE`, - path: link, - }, - ]) - }) - - // Someone or some plugin could have already enriched the - // REST endpoint on WordPress side with a "path" field - it(`should not touch already present "path" fields`, () => { - const link = `/packages/gatsby-source-wordpress/` - entities = normalize.createUrlPathsFromLinks([ - { link, __type: `wordpress__PAGE`, path: `already-set` }, - ]) - expect(entities).toEqual([ - { - link, - __type: `wordpress__PAGE`, - path: `already-set`, - }, - ]) - }) - }) - - // Skipped for now since it's a bit tricky to mock - // as it needs access to the store/cache + would download file. - it.skip(`downloads media files and removes "sizes" if keepMediaSizes is set to false (default)`, async () => { - entities = await normalize.downloadMediaFiles(entities) - expect(entities).toMatchSnapshot() - }) - - it(`creates nodes for each entry`, () => { - const createNode = jest.fn() - const createContentDigest = jest.fn().mockReturnValue(`contentDigest`) - normalize.createNodesFromEntities({ - entities, - createNode, - createContentDigest, - }) - expect(createNode.mock.calls).toMatchSnapshot() - }) -}) - -describe(`getValidKey`, () => { - it(`It passes a key through untouched that passes`, () => { - expect( - normalize.getValidKey({ - key: `hi`, - }) - ).toBe(`hi`) - }) - it(`It prefixes keys that start with numbers`, () => { - expect( - normalize.getValidKey({ - key: `0hi`, - }) - ).toBe(`wordpress_0hi`) - }) - it(`It prefixes keys that conflict with default Gatsby fields`, () => { - expect( - normalize.getValidKey({ - key: `children`, - }) - ).toBe(`wordpress_children`) - }) - it(`It replaces invalid characters`, () => { - expect( - normalize.getValidKey({ - key: `h:i`, - }) - ).toBe(`h_i`) - }) -}) diff --git a/packages/gatsby-source-wordpress/src/__tests__/request-in-queue.js b/packages/gatsby-source-wordpress/src/__tests__/request-in-queue.js deleted file mode 100644 index f5c7bb7fa5f91..0000000000000 --- a/packages/gatsby-source-wordpress/src/__tests__/request-in-queue.js +++ /dev/null @@ -1,51 +0,0 @@ -jest.mock(`axios`) - -const requestInQueue = require(`../request-in-queue`) -const axios = require(`axios`) - -axios.mockImplementation(opts => { - if (opts.throw) { - throw new Error(opts.throw) - } - - return opts.url.slice(opts.url.lastIndexOf(`/`) + 1) -}) - -describe(`requestInQueue`, () => { - let requests - - beforeEach(() => { - requests = [ - { method: `get`, url: `https://gatsbyjs.org/1` }, - { method: `get`, url: `https://gatsbyjs.org/2` }, - { method: `get`, url: `https://gatsbyjs.org/3` }, - { method: `get`, url: `https://gatsbyjs.org/4` }, - ] - }) - - afterEach(() => { - axios.mockClear() - }) - - it(`runs all requests in queue`, async () => { - await requestInQueue(requests) - - requests.forEach(req => { - expect(axios).toHaveBeenCalledWith(req) - }) - }) - - it(`returns the values in the same order they were requested`, async () => { - const responses = await requestInQueue(requests) - expect(responses).toEqual([`1`, `2`, `3`, `4`]) - }) - - it(`stops any requests when one throws an error`, async () => { - try { - await requestInQueue([{ throw: `error` }, ...requests]) - } catch (err) { - expect(err).toBeDefined() - } - expect(axios).toHaveBeenCalledTimes(1) - }) -}) diff --git a/packages/gatsby-source-wordpress/src/constants.ts b/packages/gatsby-source-wordpress/src/constants.ts new file mode 100644 index 0000000000000..bfe053005fd94 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/constants.ts @@ -0,0 +1,3 @@ +export const CREATED_NODE_IDS = `WPGQL-created-node-ids` +export const LAST_COMPLETED_SOURCE_TIME = `WPGQL-last-completed-source-time` +export const MD5_CACHE_KEY = `introspection-node-query-md5` diff --git a/packages/gatsby-source-wordpress/src/fetch.js b/packages/gatsby-source-wordpress/src/fetch.js deleted file mode 100644 index d7d9801435807..0000000000000 --- a/packages/gatsby-source-wordpress/src/fetch.js +++ /dev/null @@ -1,730 +0,0 @@ -const querystring = require(`querystring`) -const axios = require(`axios`) -const _ = require(`lodash`) -const minimatch = require(`minimatch`) -const { URL } = require(`url`) -const colorized = require(`./output-color`) -const httpExceptionHandler = require(`./http-exception-handler`) -const requestInQueue = require(`./request-in-queue`) - -/** - * Check auth object to see if we should fetch JWT access token - */ -const shouldUseJwt = auth => auth && (auth.jwt_user || auth.jwt_pass) - -/** - * Check auth object to see if we should use HTTP Basic Auth - */ -const shouldUseHtaccess = auth => - auth && (auth.htaccess_user || auth.htaccess_pass) - -/** - * Format Auth settings for verbose output - */ -const formatAuthSettings = auth => { - let authOutputLines = [] - if (shouldUseJwt(auth)) { - authOutputLines.push(` JWT Auth: ${auth.jwt_user}:${auth.jwt_pass}`) - } - - if (shouldUseHtaccess(auth)) { - authOutputLines.push( - ` HTTP Basic Auth: ${auth.htaccess_user}:${auth.htaccess_pass}` - ) - } - - return authOutputLines.join(`\n`) -} - -/** - * High-level function to coordinate fetching data from a WordPress - * site. - */ -async function fetch({ - baseUrl, - _verbose, - _siteURL, - _useACF, - _acfOptionPageIds, - _hostingWPCOM, - _auth, - _cookies, - _perPage, - _concurrentRequests, - _includedRoutes, - _excludedRoutes, - _restApiRoutePrefix, - typePrefix, - refactoredEntityTypes, -}) { - // If the site is hosted on wordpress.com, the API Route differs. - // Same entity types are exposed (excepted for medias and users which need auth) - // but the data model contain slights variations. - let url - let _accessToken - if (_hostingWPCOM) { - url = `https://public-api.wordpress.com/wp/v2/sites/${baseUrl}` - _accessToken = await getWPCOMAccessToken(_auth) - } else { - url = `${_siteURL}/${_restApiRoutePrefix}` - if (shouldUseJwt(_auth)) { - _accessToken = await getJWToken(_auth, url) - } - } - - if (_verbose) { - console.time(`=END PLUGIN=====================================`) - - const authOutput = formatAuthSettings(_auth) - - console.log( - colorized.out( - ` -=START PLUGIN===================================== - -Site URL: ${_siteURL} -Site hosted on Wordpress.com: ${_hostingWPCOM} -Using ACF: ${_useACF} -Auth: ${authOutput ? `\n${authOutput}` : `false`} -Verbose output: ${_verbose} - -Mama Route URL: ${url} -`, - colorized.color.Font.FgBlue - ) - ) - } - - // Call the main API Route to discover the all the routes exposed on this API. - let allRoutes - try { - let options = { - method: `get`, - url: url, - } - if (shouldUseHtaccess(_auth)) { - options.auth = { - username: _auth.htaccess_user, - password: _auth.htaccess_pass, - } - } - - if (_accessToken) { - options.headers = { - Authorization: `Bearer ${_accessToken}`, - } - } - - if (_cookies) { - options.headers = { - ...options.headers, - Cookie: getCookieString(_cookies), - } - } - - allRoutes = await axios(options) - } catch (e) { - httpExceptionHandler(e) - } - - let entities = [ - { - __type: `wordpress__site_metadata`, - name: allRoutes.data.name, - description: allRoutes.data.description, - url: allRoutes.data.url, - home: allRoutes.data.home, - }, - ] - - if (allRoutes) { - let validRoutes = getValidRoutes({ - allRoutes, - url, - _verbose, - _useACF, - _hostingWPCOM, - _acfOptionPageIds, - _includedRoutes, - _excludedRoutes, - typePrefix, - refactoredEntityTypes, - }) - - if (_verbose) { - console.log( - colorized.out( - ` -Fetching the JSON data from ${validRoutes.length} valid API Routes... -`, - colorized.color.Font.FgBlue - ) - ) - } - - for (let route of validRoutes) { - entities = entities.concat( - await fetchData({ - route, - apiUrl: url, - _verbose, - _perPage, - _auth, - _cookies, - _accessToken, - _concurrentRequests, - }) - ) - if (_verbose) console.log(``) - } - - if (_verbose) - console.timeEnd(`=END PLUGIN=====================================`) - } else { - console.log( - colorized.out(`No routes to fetch. Ending.`, colorized.color.Font.FgRed) - ) - } - - return entities -} - -/** - * Gets wordpress.com access token so it can fetch private data like medias :/ - * - * @returns - */ -async function getWPCOMAccessToken(_auth) { - let result - const oauthUrl = `https://public-api.wordpress.com/oauth2/token` - try { - let options = { - url: oauthUrl, - method: `post`, - data: querystring.stringify({ - client_secret: _auth.wpcom_app_clientSecret, - client_id: _auth.wpcom_app_clientId, - username: _auth.wpcom_user, - password: _auth.wpcom_pass, - grant_type: `password`, - }), - } - result = await axios(options) - result = result.data.access_token - } catch (e) { - httpExceptionHandler(e) - } - - return result -} - -/** - * Gets JSON Web Token so it can fetch private data - * - * @returns - */ -async function getJWToken(_auth, url) { - let result - let authUrl = `${url}${_auth.jwt_base_path || `/jwt-auth/v1/token`}` - try { - const options = { - url: authUrl, - method: `post`, - data: { - username: _auth.jwt_user, - password: _auth.jwt_pass, - }, - } - result = await axios(options) - result = result.data.token - } catch (e) { - httpExceptionHandler(e) - } - - return result -} - -/** - * Fetch the data from specified route url, using the auth provided. - * - * @param {any} route - * @param {any} createNode - */ -async function fetchData({ - route, - apiUrl, - _verbose, - _perPage, - _auth, - _cookies, - _accessToken, - _concurrentRequests, -}) { - const { type, url, optionPageId } = route - - if (_verbose) { - console.log( - colorized.out( - `=== [ Fetching ${type} ] ===`, - colorized.color.Font.FgBlue - ), - url - ) - - console.time(`Fetching the ${type} took`) - } - - let routeResponse = await getPages({ - url, - _perPage, - _auth, - _cookies, - _accessToken, - _verbose, - _concurrentRequests, - }) - - let entities = [] - if (routeResponse) { - if (type.includes(`wordpress__menus_menus`)) { - routeResponse = routeResponse.map(r => { - return { ...r, ID: r.term_id } - }) - } - // Process entities to creating GraphQL Nodes. - if (Array.isArray(routeResponse)) { - routeResponse = routeResponse.map(r => { - return { - ...r, - ...(optionPageId ? { __acfOptionPageId: optionPageId } : {}), - __type: type, - } - }) - entities = entities.concat(routeResponse) - } else { - routeResponse.__type = type - if (optionPageId) { - routeResponse.__acfOptionPageId = optionPageId - } - entities.push(routeResponse) - } - - // WordPress exposes the menu items in meta links. - if (type === `wordpress__wp_api_menus_menus`) { - for (let menu of routeResponse) { - if (menu.meta && menu.meta.links && menu.meta.links.self) { - entities = entities.concat( - await fetchData({ - route: { - url: useApiUrl(apiUrl, menu.meta.links.self), - type: `${type}_items`, - }, - apiUrl, - _verbose, - _perPage, - _auth, - _cookies, - _accessToken, - }) - ) - } - } - } - - // Menu nodes for WP-REST-API V2 Menus ( https://wordpress.org/plugins/wp-rest-api-v2-menus/ ) - if (type === `wordpress__menus_menus`) { - for (let menu of routeResponse) { - entities = entities.concat( - await fetchData({ - route: { url: `${url}/${menu.term_id}`, type: `${type}_items` }, - _verbose, - _perPage, - _auth, - _accessToken, - _cookies, - }) - ) - } - } - - // TODO : Get the number of created nodes using the nodes in state. - let length - if (routeResponse && Array.isArray(routeResponse)) { - length = routeResponse.length - } else if (routeResponse && !Array.isArray(routeResponse)) { - length = Object.keys(routeResponse).length - } - console.log( - colorized.out( - ` -> ${type} fetched : ${length}`, - colorized.color.Font.FgGreen - ) - ) - } - - if (_verbose) { - console.timeEnd(`Fetching the ${type} took`) - } - - return entities -} - -/** - * Get the pages of data - * - * @param {any} url - * @param {number} [page=1] - * @returns - */ -async function getPages( - { - url, - _perPage, - _auth, - _cookies, - _accessToken, - _concurrentRequests, - _verbose, - }, - page = 1 -) { - try { - let result = [] - - const getOptions = page => { - let o = { - method: `get`, - url: `${url}?${querystring.stringify({ - per_page: _perPage, - page: page, - })}`, - } - - if (_accessToken) { - o.headers = { - Authorization: `Bearer ${_accessToken}`, - } - } - - if (_cookies) { - o.headers = { - ...o.headers, - Cookie: getCookieString(_cookies), - } - } - - if (shouldUseHtaccess(_auth)) { - o.auth = { - username: _auth.htaccess_user, - password: _auth.htaccess_pass, - } - } - - return o - } - - // Initial request gets the first page of data - // but also the total count of objects, used for - // multiple concurrent requests (rather than waterfall) - const options = getOptions(page) - const { headers, data } = await axios(options) - - result = result.concat(data) - - // Some resources have no paging, e.g. `/types` - const wpTotal = headers[`x-wp-total`] - - const total = parseInt(wpTotal) - const totalPages = parseInt(headers[`x-wp-totalpages`]) - - if (!wpTotal || totalPages <= 1) { - return result - } - - if (_verbose) { - console.log(` -Total entities : ${total} -Pages to be requested : ${totalPages}`) - } - - // We got page 1, now we want pages 2 through totalPages - const pageOptions = _.range(2, totalPages + 1).map(getPage => - getOptions(getPage) - ) - - const pages = await requestInQueue(pageOptions, { - concurrent: _concurrentRequests, - }) - - const pageData = pages.map(page => page.data) - pageData.forEach(list => { - result = result.concat(list) - }) - - return result - } catch (e) { - return httpExceptionHandler(e) - } -} - -/** - * Check a route against the whitelist or blacklist - * to determine validity. - * - * @param {any} routePath - * @param {Array} routeList - * @returns {boolean} - */ -function checkRouteList(routePath, routeList) { - return routeList.some(route => minimatch(routePath, route)) -} - -/** - * Extract valid routes and format its data. - * - * @param {any} allRoutes - * @param {any} url - * @returns - */ -function getValidRoutes({ - allRoutes, - url, - _verbose, - _useACF, - _acfOptionPageIds, - _hostingWPCOM, - _includedRoutes, - _excludedRoutes, - typePrefix, - refactoredEntityTypes, -}) { - let validRoutes = [] - - if (_useACF) { - let defaultAcfNamespace = `acf/v3` - // Grab ACF Version from namespaces - const acfNamespace = allRoutes.data.namespaces - ? allRoutes.data.namespaces.find(namespace => namespace.includes(`acf`)) - : null - const acfRestNamespace = acfNamespace ? acfNamespace : defaultAcfNamespace - _includedRoutes.push(`/${acfRestNamespace}/**`) - - if (_verbose) - console.log( - colorized.out( - `Detected ACF to REST namespace: ${acfRestNamespace}.`, - colorized.color.Font.FgGreen - ) - ) - // The OPTIONS ACF API Route is not giving a valid _link so let`s add it manually - // and pass ACF option page ID - // ACF to REST v3 requires options/options - let optionsRoute = acfRestNamespace.includes(`3`) - ? `options/options/` - : `options/` - validRoutes.push({ - url: `${url}/${acfRestNamespace}/${optionsRoute}`, - type: `${typePrefix}acf_options`, - }) - // ACF to REST V2 does not allow ACF Option Page ID specification - if (_acfOptionPageIds.length > 0 && acfRestNamespace.includes(`3`)) { - _acfOptionPageIds.forEach(function (acfOptionPageId) { - validRoutes.push({ - url: `${url}/acf/v3/options/${acfOptionPageId}`, - type: `${typePrefix}acf_options`, - optionPageId: acfOptionPageId, - }) - }) - if (_verbose) - console.log( - colorized.out( - `Added ACF Options route(s).`, - colorized.color.Font.FgGreen - ) - ) - } - if (_acfOptionPageIds.length > 0 && _hostingWPCOM) { - // TODO : Need to test that out with ACF on Wordpress.com hosted site. Need a premium account on wp.com to install extensions. - if (_verbose) - console.log( - colorized.out( - `The ACF options pages is untested under wordpress.com hosting. Please let me know if it works.`, - colorized.color.Effect.Blink - ) - ) - } - } - - for (let key of Object.keys(allRoutes.data.routes)) { - if (_verbose) console.log(`Route discovered :`, key) - let route = allRoutes.data.routes[key] - - // A valid route exposes its _links (for now) - if (route._links) { - const entityType = getRawEntityType(key) - - // Excluding the "technical" API Routes - const excludedTypes = [ - `/v2/**`, - `/v3/**`, - `**/1.0`, - `**/2.0`, - `**/embed`, - `**/proxy`, - `/`, - `/jwt-auth/**`, - ] - - const routePath = getRoutePath(url, key) - - const whiteList = _includedRoutes - const blackList = [...excludedTypes, ..._excludedRoutes] - - // Check whitelist first - const inWhiteList = checkRouteList(routePath, whiteList) - // Then blacklist - const inBlackList = checkRouteList(routePath, blackList) - const validRoute = inWhiteList && !inBlackList - - if (validRoute) { - if (_verbose) - console.log( - colorized.out( - `Valid route found. Will try to fetch.`, - colorized.color.Font.FgGreen - ) - ) - - const manufacturer = getManufacturer(route) - - let rawType = `` - if (manufacturer === `wp`) { - rawType = `${typePrefix}${entityType}` - } - - let validType - switch (rawType) { - case `${typePrefix}posts`: - validType = refactoredEntityTypes.post - break - case `${typePrefix}pages`: - validType = refactoredEntityTypes.page - break - case `${typePrefix}tags`: - validType = refactoredEntityTypes.tag - break - case `${typePrefix}categories`: - validType = refactoredEntityTypes.category - break - default: - validType = `${typePrefix}${manufacturer.replace( - /-/g, - `_` - )}_${entityType.replace(/-/g, `_`)}` - break - } - - validRoutes.push({ - url: buildFullUrl(url, key, _hostingWPCOM), - type: validType, - }) - } else { - if (_verbose) { - const invalidType = inBlackList ? `blacklisted` : `not whitelisted` - console.log( - colorized.out( - `Excluded route: ${invalidType}`, - colorized.color.Font.FgYellow - ) - ) - } - } - } else { - if (_verbose) - console.log( - colorized.out( - `Invalid route: detail route`, - colorized.color.Font.FgRed - ) - ) - } - } - - return validRoutes -} - -/** - * Extract the raw entity type from fullPath - * - * @param {any} full path to extract raw entity from - */ -const getRawEntityType = fullPath => - fullPath.substring(fullPath.lastIndexOf(`/`) + 1, fullPath.length) - -/** - * Extract the route path for an endpoint - * - * @param {any} baseUrl The base site URL that should be removed - * @param {any} fullPath The full path to retrieve the route path from - */ -const getRoutePath = (baseUrl, fullPath) => { - const baseUrlObj = new URL(baseUrl) - const basePath = baseUrlObj.pathname - return fullPath.replace(basePath, ``) -} - -/** - * Extract the route path for an endpoint - * - * @param {string} apiUrl base site API URL - * @param {string} self URL that returned from server response. May contain domain differs from apiUrl - * @returns {string} URL to endpoint using baseURL - */ -const useApiUrl = (apiUrl, endpointURL) => { - // Replace route self host to baseUrl if differs - const isDifferentDomains = endpointURL.indexOf(apiUrl) === -1 - if (isDifferentDomains) { - return endpointURL.replace(/(.*?)\/wp-json/, apiUrl) - } - return endpointURL -} - -/** - * Build full URL from baseUrl and fullPath. - * Method of constructing full URL depends on whether it's hosted on wordpress.com - * or not as wordpress.com have slightly different (custom) REST structure - * - * @param {any} baseUrl The base site URL that should be prepended to full path - * @param {any} fullPath The full path to build URL from - * @param {boolean} _hostingWPCOM Is hosted on wordpress.com - */ -const buildFullUrl = (baseUrl, fullPath, _hostingWPCOM) => { - if (_hostingWPCOM) { - baseUrl = new URL(baseUrl).origin - } - return `${baseUrl}${fullPath}` -} - -/** - * Extract the route manufacturer - * - * @param {any} route - */ -const getManufacturer = route => - route.namespace.substring(0, route.namespace.lastIndexOf(`/`)) - -/** - * Build a cookie header string from an object of key value pairs - * - * @param {any} cookies - */ -const getCookieString = cookies => - Object.entries(cookies) - .map(([key, value]) => `${key}=${value}`) - .join(`; `) - -fetch.getRawEntityType = getRawEntityType -fetch.getRoutePath = getRoutePath -fetch.buildFullUrl = buildFullUrl -fetch.useApiUrl = useApiUrl -module.exports = fetch diff --git a/packages/gatsby-source-wordpress/src/gatsby-node.js b/packages/gatsby-source-wordpress/src/gatsby-node.js deleted file mode 100644 index b114b716c1e8d..0000000000000 --- a/packages/gatsby-source-wordpress/src/gatsby-node.js +++ /dev/null @@ -1,312 +0,0 @@ -const fetch = require(`./fetch`) -const normalize = require(`./normalize`) -const normalizeBaseUrl = require(`./normalize-base-url`) - -exports.onPreBootstrap = ({ reporter }, { minimizeDeprecationNotice }) => { - if (!minimizeDeprecationNotice) { - reporter.log(`\n`) - reporter.warn(`[gatsby-source-wordpress]\n\nThis version of \`gatsby-source-wordpress\` will be deprecated soon.\nThe next major version (v4) is a complete rewrite in order to take advantage of WPGraphQL.\nThis allows us to support features like Preview and incremental builds and provides a much more stable experience.\n\nPlease upgrade to the BETA of \`gatsby-source-wordpress@v4\` by installing \`gatsby-source-wordpress-experimental\`.\nThese two packages are currently published under separate names to allow activating them side-by-side.\nThis makes migration between the two simpler.\nOnce the new plugin is stable it will be merged back in and published as \`gatsby-source-wordpress\` going forward. - -Read this blog post for the beta announcement:\nhttps://www.gatsbyjs.org/blog/2020-07-07-wordpress-source-beta/ - -Or get started with the new plugin here:\nhttps://github.com/gatsbyjs/gatsby-source-wordpress-experimental/#readme - -You can minimize this notice using the minimizeDeprecationNotice plugin option: - -{ - resolve: "gatsby-source-wordpress", - options: { - minimizeDeprecationNotice: true - }, -}, -\n\n`) - } else { - reporter.warn( - `[gatsby-source-wordpress] This version of gatsby-source-wordpress will soon be deprecated.\n\thttps://www.gatsbyjs.org/blog/2020-07-07-wordpress-source-beta/` - ) - } -} - -const typePrefix = `wordpress__` -const refactoredEntityTypes = { - post: `${typePrefix}POST`, - page: `${typePrefix}PAGE`, - tag: `${typePrefix}TAG`, - category: `${typePrefix}CATEGORY`, -} - -/* If true, will output many console logs. */ -let _verbose -let _siteURL -let _useACF = true -let _acfOptionPageIds -let _hostingWPCOM -let _auth -let _cookies -let _perPage -let _concurrentRequests -let _includedRoutes -let _excludedRoutes -let _normalizer -let _normalizers -let _keepMediaSizes -let _restApiRoutePrefix - -exports.sourceNodes = async ( - { - actions, - getNode, - store, - cache, - createNodeId, - createContentDigest, - getCache, - reporter, - }, - { - baseUrl, - protocol, - hostingWPCOM, - useACF = true, - acfOptionPageIds = [], - auth = {}, - cookies = {}, - verboseOutput, - perPage = 100, - searchAndReplaceContentUrls = {}, - concurrentRequests = 10, - includedRoutes = [`**`], - excludedRoutes = [], - normalizer, - normalizers, - keepMediaSizes = false, - restApiRoutePrefix = `wp-json`, - } -) => { - const { createNode, touchNode } = actions - const normalizedBaseUrl = normalizeBaseUrl(baseUrl) - - _verbose = verboseOutput - _siteURL = `${protocol}://${normalizedBaseUrl}` - _useACF = useACF - _acfOptionPageIds = acfOptionPageIds - _hostingWPCOM = hostingWPCOM - _auth = auth - _cookies = cookies - _perPage = perPage - _concurrentRequests = concurrentRequests - _includedRoutes = includedRoutes - _excludedRoutes = excludedRoutes - _keepMediaSizes = keepMediaSizes - _restApiRoutePrefix = restApiRoutePrefix - _normalizer = normalizer - _normalizers = normalizers - - let entities = await fetch({ - baseUrl, - _verbose, - _siteURL, - _useACF, - _acfOptionPageIds, - _hostingWPCOM, - _auth, - _cookies, - _perPage, - _concurrentRequests, - _includedRoutes, - _excludedRoutes, - _keepMediaSizes, - _restApiRoutePrefix, - typePrefix, - refactoredEntityTypes, - }) - - let wordpressDataNormalizers = [ - // Create fake wordpressId form element who done have any in the database - { - name: `generateFakeWordpressId`, - normalizer: ({ entities }) => normalize.generateFakeWordpressId(entities), - }, - // Remove ACF key if it's not an object, combine ACF Options - { - name: `normalizeACF`, - normalizer: ({ entities }) => normalize.normalizeACF(entities), - }, - // Combine ACF Option Data entities into one but split by IDs + options - { - name: `combineACF`, - normalizer: ({ entities }) => normalize.combineACF(entities), - }, - // Creates entities from object collections of entities - { - name: `normalizeEntities`, - normalizer: ({ entities }) => normalize.normalizeEntities(entities), - }, - // Standardizes ids & cleans keys - { - name: `standardizeKeys`, - normalizer: ({ entities }) => normalize.standardizeKeys(entities), - }, - // Converts to use only GMT dates - { - name: `standardizeDates`, - normalizer: ({ entities }) => normalize.standardizeDates(entities), - }, - // Lifts all "rendered" fields to top-level. - { - name: `liftRenderedField`, - normalizer: ({ entities }) => normalize.liftRenderedField(entities), - }, - // Exclude entities of unknown shape - { - name: `excludeUnknownEntities`, - normalizer: ({ entities }) => normalize.excludeUnknownEntities(entities), - }, - // Creates Gatsby IDs for each entity - { - name: `createGatsbyIds`, - normalizer: ({ creteNodeId, entities, _siteURL }) => - normalize.createGatsbyIds(createNodeId, entities, _siteURL), - }, - // Creates links between authors and user entities - { - name: `mapAuthorsToUsers`, - normalizer: ({ entities }) => normalize.mapAuthorsToUsers(entities), - }, - // Creates links between posts and tags/categories. - { - name: `mapPostsToTagsCategories`, - normalizer: ({ entities }) => - normalize.mapPostsToTagsCategories(entities), - }, - // Creates links between tags/categories and taxonomies. - { - name: `mapTagsCategoriesToTaxonomies`, - normalizer: ({ entities }) => - normalize.mapTagsCategoriesToTaxonomies(entities), - }, - // Normalize menu items - { - name: `normalizeMenuItems`, - normalizer: ({ entities }) => normalize.normalizeMenuItems(entities), - }, - // Creates links from entities to media nodes - { - name: `mapEntitiesToMedia`, - normalizer: ({ entities }) => normalize.mapEntitiesToMedia(entities), - }, - // Downloads media files and removes "sizes" data as useless in Gatsby context. - { - name: `downloadMediaFiles`, - normalizer: async ({ - entities, - store, - cache, - createNode, - createNodeId, - touchNode, - getCache, - getNode, - auth, - reporter, - keepMediaSizes, - }) => - await normalize.downloadMediaFiles({ - entities, - store, - cache, - createNode, - createNodeId, - touchNode, - getCache, - getNode, - _auth: auth, - reporter, - keepMediaSizes, - }), - }, - // Creates links between elements and parent element. - { - name: `mapElementsToParent`, - normalizer: ({ entities }) => normalize.mapElementsToParent(entities), - }, - // Search and replace Content Urls - { - name: `searchReplaceContentUrls`, - normalizer: ({ entities, searchAndReplaceContentUrls }) => - normalize.searchReplaceContentUrls({ - entities, - searchAndReplaceContentUrls, - }), - }, - { - name: `mapPolylangTranslations`, - normalizer: ({ entities }) => normalize.mapPolylangTranslations(entities), - }, - { - name: `createUrlPathsFromLinks`, - normalizer: ({ entities }) => normalize.createUrlPathsFromLinks(entities), - }, - ] - - const normalizerHelpers = { - store, - cache, - createNode, - createNodeId, - createContentDigest, - touchNode, - getCache, - getNode, - typePrefix, - refactoredEntityTypes, - baseUrl, - protocol, - _siteURL, - hostingWPCOM, - useACF, - acfOptionPageIds, - auth, - verboseOutput, - perPage, - searchAndReplaceContentUrls, - concurrentRequests, - excludedRoutes, - keepMediaSizes, - restApiRoutePrefix, - reporter, - } - - // apply custom normalizer - if (typeof _normalizer === `function`) { - wordpressDataNormalizers.push({ - name: `customNormalizer`, - normalizer: _normalizer, - }) - } - - if (typeof _normalizers === `function`) { - wordpressDataNormalizers = _normalizers([...wordpressDataNormalizers]) - } - - // creates nodes for each entry - wordpressDataNormalizers.push({ - name: `createNodesFromEntities`, - normalizer: ({ entities, createNode, createContentDigest }) => - normalize.createNodesFromEntities({ - entities, - createNode, - createContentDigest, - }), - }) - - // Normalize data & create nodes - for (const { normalizer } of wordpressDataNormalizers) { - entities = await normalizer({ - entities, - ...normalizerHelpers, - }) - } - - return -} diff --git a/packages/gatsby-source-wordpress/src/gatsby-node.ts b/packages/gatsby-source-wordpress/src/gatsby-node.ts new file mode 100644 index 0000000000000..de9943dd8c5fa --- /dev/null +++ b/packages/gatsby-source-wordpress/src/gatsby-node.ts @@ -0,0 +1,38 @@ +import { runApisInSteps } from "./utils/run-steps" +import * as steps from "./steps" + +module.exports = runApisInSteps({ + onPreInit: [steps.setErrorMap, steps.tempPreventMultipleInstances], + + pluginOptionsSchema: steps.pluginOptionsSchema, + + createSchemaCustomization: [ + steps.setGatsbyApiToState, + steps.ensurePluginRequirementsAreMet, + steps.ingestRemoteSchema, + steps.createSchemaCustomization, + ], + + sourceNodes: [ + steps.setGatsbyApiToState, + steps.persistPreviouslyCachedImages, + steps.sourceNodes, + steps.setImageNodeIdCache, + ], + + onPreExtractQueries: [ + steps.onPreExtractQueriesInvokeLeftoverPreviewCallbacks, + ], + + onPostBuild: [steps.setImageNodeIdCache], + + onCreatePage: [ + steps.onCreatepageSavePreviewNodeIdToPageDependency, + steps.onCreatePageRespondToPreviewStatusQuery, + ], + + onCreateDevServer: [ + steps.setImageNodeIdCache, + steps.startPollingForContentUpdates, + ], +}) diff --git a/packages/gatsby-source-wordpress/src/hooks/index.ts b/packages/gatsby-source-wordpress/src/hooks/index.ts new file mode 100644 index 0000000000000..618d738aae2cd --- /dev/null +++ b/packages/gatsby-source-wordpress/src/hooks/index.ts @@ -0,0 +1 @@ +export { applyNodeFilter, addNodeFilter } from "./node-filters" diff --git a/packages/gatsby-source-wordpress/src/hooks/node-filters.ts b/packages/gatsby-source-wordpress/src/hooks/node-filters.ts new file mode 100644 index 0000000000000..4b96ea6da388b --- /dev/null +++ b/packages/gatsby-source-wordpress/src/hooks/node-filters.ts @@ -0,0 +1,61 @@ +import { IJSON } from "../utils/fetch-graphql" +import store from "~/store" + +interface INodeFilterInput { + name: string + context: IJSON + data: IJSON +} + +type NodeFilterFn = (INodeFilterInput) => IJSON + +interface INodeFilter { + name: string + filter: NodeFilterFn + priority: number +} + +/** + * Grabs an array of filter functions from the redux store, + * orders them by priority, and then runs each in order over the + * passed in data. The modified data is then returned + * + * @param {string} name The name of the filter to apply + * @param {object} context Any additional data to pass to the filter functions that are applied + * @param {object} data The initial data to be filtered + */ +export const applyNodeFilter = async ({ + name, + context, + data, +}: INodeFilterInput): Promise => { + if (!name) { + return data + } + + const nodeFilters: Array = store.getState().wpHooks + .nodeFilters?.[name] + + if (!nodeFilters || !nodeFilters.length) { + return data + } + + const sortedNodeFilters = nodeFilters.sort((a, b) => a.priority - b.priority) + + for (const { filter } of sortedNodeFilters) { + data = filter({ data, context, name }) + } + + return data +} + +/** + * This function adds a filter to the internal redux store of filters + * To be applied via applyNodeFilter above + * + * @param {string} name The name of the filter + * @param {function} filter The function to run when applying this filter + * @param {integer} priority The priority for this filter to run in. lower means earlier execution + */ +export const addNodeFilter = ({ name, filter, priority }: INodeFilter): void => + store.dispatch.wpHooks.addNodeFilter({ name, filter, priority }) diff --git a/packages/gatsby-source-wordpress/src/http-exception-handler.js b/packages/gatsby-source-wordpress/src/http-exception-handler.js deleted file mode 100644 index 3d0889076512b..0000000000000 --- a/packages/gatsby-source-wordpress/src/http-exception-handler.js +++ /dev/null @@ -1,46 +0,0 @@ -const colorized = require(`./output-color`) - -/** - * Handles HTTP Exceptions (axios) - * - * @param {any} e - */ -function httpExceptionHandler(e) { - const { response, code } = e - if (!response) { - console.log( - colorized.out( - `The request failed with error code "${code}"`, - colorized.color.Font.FgRed - ) - ) - return - } - console.log( - colorized.out( - `\nPath: ${response.request.path}`, - colorized.color.Font.FgRed - ) - ) - const { - status, - statusText, - data: { message }, - } = response - console.log( - colorized.out( - `The server response was "${status} ${statusText}"`, - colorized.color.Font.FgRed - ) - ) - if (message) { - console.log( - colorized.out( - `Inner exception message: "${message}"`, - colorized.color.Font.FgRed - ) - ) - } -} - -module.exports = httpExceptionHandler diff --git a/packages/gatsby-source-wordpress/src/models/__tests__/gatsby-api.test.js b/packages/gatsby-source-wordpress/src/models/__tests__/gatsby-api.test.js new file mode 100644 index 0000000000000..adbcf076d3ab9 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/models/__tests__/gatsby-api.test.js @@ -0,0 +1,44 @@ +import store from "../../../dist/store" + +test(`Plugin options presets merge preset data into default and user data`, () => { + store.dispatch.gatsbyApi.setState({ + pluginOptions: { + url: `test.com`, + type: { + ExistingType: { + limit: 3, + }, + FakeType: { + exclude: true, + }, + }, + presets: [ + { + presetName: `TEST_PRESET`, + useIf: () => true, + options: { + type: { + FakeType: { + exclude: false, + limit: 1, + }, + ExistingType: { + limit: 2, + }, + }, + }, + }, + ], + }, + helpers: null, + }) + + const { pluginOptions } = store.getState().gatsbyApi + + // our top level options override preset options + expect(pluginOptions.type.ExistingType.limit).toBe(3) + expect(pluginOptions.type.FakeType.exclude).toBe(true) + + // this option wasn't defined at the top level but is part of the preset + expect(pluginOptions.type.FakeType.limit).toBe(1) +}) diff --git a/packages/gatsby-source-wordpress/src/models/develop.ts b/packages/gatsby-source-wordpress/src/models/develop.ts new file mode 100644 index 0000000000000..4b747b3f7cb8a --- /dev/null +++ b/packages/gatsby-source-wordpress/src/models/develop.ts @@ -0,0 +1,44 @@ +export interface IDevelopState { + refreshPollingIsPaused: boolean +} + +export interface IDevelopReducers { + pauseRefreshPolling: (state: IDevelopState) => IDevelopState + resumeRefreshPolling: (state: IDevelopState) => IDevelopState +} + +interface IPreviewStore { + state: IDevelopState + reducers: IDevelopReducers +} + +const developStore: IPreviewStore = { + state: { + refreshPollingIsPaused: false, + }, + + reducers: { + pauseRefreshPolling(state) { + if ( + process.env.NODE_ENV === `development` && + !process.env.ENABLE_GATSBY_REFRESH_ENDPOINT + ) { + state.refreshPollingIsPaused = true + } + + return state + }, + resumeRefreshPolling(state) { + if ( + process.env.NODE_ENV === `development` && + !process.env.ENABLE_GATSBY_REFRESH_ENDPOINT + ) { + state.refreshPollingIsPaused = false + } + + return state + }, + } as IDevelopReducers, +} + +export default developStore diff --git a/packages/gatsby-source-wordpress/src/models/gatsby-api.ts b/packages/gatsby-source-wordpress/src/models/gatsby-api.ts new file mode 100644 index 0000000000000..f816347f5d892 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/models/gatsby-api.ts @@ -0,0 +1,371 @@ +import { GatsbyNodeApiHelpers } from "~/utils/gatsby-types" +import merge from "lodash/merge" +import { createRemoteMediaItemNode } from "~/steps/source-nodes/create-nodes/create-remote-media-item-node" +import { menuBeforeChangeNode } from "~/steps/source-nodes/before-change-node/menu" +import { cloneDeep } from "lodash" + +export interface IPluginOptionsPreset { + presetName: string + useIf: ( + helpers: GatsbyNodeApiHelpers, + pluginOptions: IPluginOptions + ) => boolean + options: IPluginOptions +} + +const inDevelopPreview = + process.env.NODE_ENV === `development` && + !!process.env.ENABLE_GATSBY_REFRESH_ENDPOINT + +const inPreviewRunner = process.env.RUNNER_TYPE === `PREVIEW` + +export const previewOptimizationPreset: IPluginOptionsPreset = { + presetName: `PREVIEW_OPTIMIZATION`, + useIf: (): boolean => inDevelopPreview || inPreviewRunner, + options: { + html: { + useGatsbyImage: false, + createStaticFiles: false, + }, + type: { + __all: { + limit: 50, + }, + Comment: { + limit: 0, + }, + Menu: { + limit: null, + }, + MenuItem: { + limit: null, + }, + User: { + limit: null, + }, + }, + }, +} +export interface IPluginOptions { + url?: string + verbose?: boolean + debug?: { + throwRefetchErrors?: boolean + graphql?: { + showQueryOnError?: boolean + showQueryVarsOnError?: boolean + copyQueryOnError?: boolean + panicOnError?: boolean + onlyReportCriticalErrors?: boolean + copyNodeSourcingQueryAndExit?: boolean + writeQueriesToDisk?: boolean + copyHtmlResponseOnError?: boolean + printIntrospectionDiff?: boolean + } + timeBuildSteps?: Array | boolean + disableCompatibilityCheck?: boolean + preview?: boolean + } + develop?: { + nodeUpdateInterval?: number + hardCacheMediaFiles?: boolean + hardCacheData?: boolean + } + production?: { + hardCacheMediaFiles?: boolean + allow404Images?: boolean + } + auth?: { + htaccess: { + username: string | null + password: string | null + } + } + schema?: { + queryDepth: number + circularQueryLimit: number + typePrefix: string + timeout: number // 30 seconds + perPage: number + requestConcurrency?: number + previewRequestConcurrency?: number + } + excludeFieldNames?: [] + html?: { + useGatsbyImage?: boolean + imageMaxWidth?: number + fallbackImageMaxWidth?: number + imageQuality?: number + createStaticFiles?: boolean + } + presets?: Array + type?: { + [typename: string]: { + limit?: number + excludeFieldNames?: Array + + exclude?: boolean + // @todo type this + // eslint-disable-next-line @typescript-eslint/no-explicit-any + beforeChangeNode?: (any) => Promise + nodeInterface?: boolean + lazyNodes?: boolean + localFile?: { + excludeByMimeTypes?: Array + maxFileSizeBytes?: number + requestConcurrency?: number + } + } + } +} + +const defaultPluginOptions: IPluginOptions = { + url: null, + verbose: true, + debug: { + throwRefetchErrors: false, + graphql: { + showQueryOnError: false, + showQueryVarsOnError: false, + copyQueryOnError: false, + panicOnError: false, + onlyReportCriticalErrors: true, + copyNodeSourcingQueryAndExit: false, + writeQueriesToDisk: false, + copyHtmlResponseOnError: false, + printIntrospectionDiff: false, + }, + timeBuildSteps: false, + disableCompatibilityCheck: false, + preview: false, + }, + develop: { + nodeUpdateInterval: 5000, + hardCacheMediaFiles: false, + hardCacheData: false, + }, + production: { + hardCacheMediaFiles: false, + allow404Images: false, + }, + auth: { + htaccess: { + username: null, + password: null, + }, + }, + schema: { + queryDepth: 15, + circularQueryLimit: 5, + typePrefix: `Wp`, + timeout: 30 * 1000, // 30 seconds + perPage: 100, + requestConcurrency: 15, + previewRequestConcurrency: 5, + }, + excludeFieldNames: [], + html: { + // this causes the source plugin to find/replace images in html + useGatsbyImage: true, + // this adds a limit to the max width an image can be + // if the image selected in WP is smaller, or the image is smaller than this + // those values will be used instead. + imageMaxWidth: null, + // if a max width can't be inferred from html, this value will be passed to Sharp + // if the image is smaller than this, the images width will be used instead + fallbackImageMaxWidth: 1024, + imageQuality: 90, + // + // Transforms anchor links, video src's, and audio src's (that point to wp-content files) into local file static links + // Also fetches those files if they don't already exist + createStaticFiles: true, + }, + presets: [previewOptimizationPreset], + type: { + __all: { + // @todo make dateFields into a plugin option?? It's not currently + // this may not be needed since WPGraphQL will be getting a Date type soon + // dateFields: [`date`], + }, + RootQuery: { + excludeFieldNames: [`viewer`, `node`, `schemaMd5`], + }, + UserToMediaItemConnection: { + // if this type is not excluded it will potentially fetch an extra 100 + // media items per user during node sourcing + exclude: true, + }, + WpContentNodeToEditLockConnectionEdge: { + exclude: true, + }, + WPPageInfo: { + exclude: true, + }, + ActionMonitorAction: { + exclude: true, + }, + UserToActionMonitorActionConnection: { + exclude: true, + }, + Plugin: { + exclude: true, + }, + Theme: { + exclude: true, + }, + MediaItem: { + lazyNodes: false, + localFile: { + excludeByMimeTypes: [], + maxFileSizeBytes: 15728640, // 15Mb + requestConcurrency: 100, + }, + beforeChangeNode: async ({ + remoteNode, + actionType, + typeSettings, + // @todo type this + // eslint-disable-next-line @typescript-eslint/no-explicit-any + }): Promise => { + // we fetch lazy nodes files in resolvers, no need to fetch them here. + if (typeSettings.lazyNodes) { + return { + remoteNode, + } + } + + if ( + actionType === `CREATE_ALL` || + actionType === `CREATE` || + actionType === `UPDATE` + ) { + const createdMediaItem = await createRemoteMediaItemNode({ + mediaItemNode: remoteNode, + parentName: `Node action ${actionType}`, + }) + + if (createdMediaItem) { + remoteNode.localFile = { + id: createdMediaItem.id, + } + + return { + remoteNode, + } + } + } + + return { + remoteNode, + } + }, + }, + ContentNode: { + nodeInterface: true, + }, + TermNode: { + nodeInterface: true, + }, + Menu: { + /** + * This is used to fetch child menu items + * on Menus as it's problematic to fetch them otherwise + * in WPGQL currently + * + * So after a Menu Node is fetched and processed, this function runs + * It loops through the child menu items, generates a query for them, + * fetches them, and creates nodes out of them. + * + * This runs when initially fetching all nodes, and after an incremental + * fetch happens + * + * When we can get a list of all menu items regardless of location in WPGQL, this can be removed. + */ + beforeChangeNode: menuBeforeChangeNode, + }, + // the next two types can't be sourced in Gatsby properly yet + // @todo instead of excluding these manually, auto exclude them + // based on how they behave (no single node query available) + EnqueuedScript: { + exclude: true, + }, + EnqueuedStylesheet: { + exclude: true, + }, + EnqueuedAsset: { + exclude: true, + }, + ContentNodeToEnqueuedScriptConnection: { + exclude: true, + }, + ContentNodeToEnqueuedStylesheetConnection: { + exclude: true, + }, + TermNodeToEnqueuedScriptConnection: { + exclude: true, + }, + TermNodeToEnqueuedStylesheetConnection: { + exclude: true, + }, + UserToEnqueuedScriptConnection: { + exclude: true, + }, + UserToEnqueuedStylesheetConnection: { + exclude: true, + }, + }, +} + +export interface IGatsbyApiState { + helpers: GatsbyNodeApiHelpers + pluginOptions: IPluginOptions + activePluginOptionsPresets?: Array +} + +const gatsbyApi = { + state: { + helpers: {}, + pluginOptions: defaultPluginOptions, + } as IGatsbyApiState, + + reducers: { + setState( + state: IGatsbyApiState, + payload: IGatsbyApiState + ): IGatsbyApiState { + const stateCopy = cloneDeep(state) + + const defaultPresets = stateCopy.pluginOptions?.presets || [] + const userPresets = payload.pluginOptions?.presets || [] + + /** + * Presets are plugin option configurations that are conditionally + * applied based on a `useIf` function (which returns a boolean) + * If it returns true, that preset is used. + */ + const optionsPresets = [ + ...defaultPresets, + ...userPresets, + ]?.filter(preset => preset.useIf(payload.helpers, payload.pluginOptions)) + + if (optionsPresets?.length) { + state.activePluginOptionsPresets = optionsPresets + + let presetModifiedOptions = state.pluginOptions + + for (const preset of optionsPresets) { + presetModifiedOptions = merge(presetModifiedOptions, preset.options) + } + + state.pluginOptions = presetModifiedOptions + } + + // add the user defined plugin options last so they override any presets + state = merge(state, payload) + + return state + }, + }, +} + +export default gatsbyApi diff --git a/packages/gatsby-source-wordpress/src/models/image-nodes.js b/packages/gatsby-source-wordpress/src/models/image-nodes.js new file mode 100644 index 0000000000000..947f2a2fcabb4 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/models/image-nodes.js @@ -0,0 +1,34 @@ +import { stripImageSizesFromUrl } from "~/steps/source-nodes/fetch-nodes/fetch-referenced-media-items" + +const imageNodes = { + state: { + nodeMetaByUrl: {}, + }, + + reducers: { + setState(state, payload) { + state = { + ...state, + ...payload, + } + + return state + }, + + pushNodeMeta(state, { id, sourceUrl, modifiedGmt }) { + const nodeUrl = stripImageSizesFromUrl(sourceUrl) + // dont overwrite the lookup table in case we have multiple + // sized urls for the same image + if (!state.nodeMetaByUrl[nodeUrl]) { + state.nodeMetaByUrl[nodeUrl] = { + id, + modifiedGmt, + } + } + + return state + }, + }, +} + +export default imageNodes diff --git a/packages/gatsby-source-wordpress/src/models/index.ts b/packages/gatsby-source-wordpress/src/models/index.ts new file mode 100644 index 0000000000000..c25808017c95a --- /dev/null +++ b/packages/gatsby-source-wordpress/src/models/index.ts @@ -0,0 +1,17 @@ +import remoteSchema from "./remoteSchema" +import gatsbyApi from "./gatsby-api" +import logger from "./logger" +import imageNodes from "./image-nodes" +import wpHooks from "./wp-hooks" +import previewStore from "./preview" +import develop from "./develop" + +export default { + remoteSchema, + gatsbyApi, + logger, + imageNodes, + wpHooks, + previewStore, + develop, +} diff --git a/packages/gatsby-source-wordpress/src/models/logger.ts b/packages/gatsby-source-wordpress/src/models/logger.ts new file mode 100644 index 0000000000000..37928e02c6705 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/models/logger.ts @@ -0,0 +1,90 @@ +import { Reporter } from "gatsby" +import { formatLogMessage } from "~/utils/format-log-message" +import { IPluginOptions } from "./gatsby-api" + +type ITimerReporter = ReturnType + +export interface ILoggerState { + entityCount: number + typeCount: { [name: string]: number } + activityTimers: { + [name: string]: { count: number; activity: ITimerReporter } + } +} + +const logger = { + state: { + entityCount: 0, + typeCount: {}, + activityTimers: {}, + } as ILoggerState, + + reducers: { + incrementActivityTimer( + state: ILoggerState, + { typeName, by, action = `fetched` } + ): ILoggerState { + const logger = state.activityTimers[typeName] + + if (!logger) { + return state + } + + if (typeof by === `number`) { + logger.count += by + state.entityCount += by + } + + logger.activity.setStatus(`${action} ${logger.count}`) + + return state + }, + + stopActivityTimer( + state: ILoggerState, + { typeName, action = `fetched` }: { typeName: string; action: string } + ): ILoggerState { + const logger = state.activityTimers[typeName] + + if (logger.count === 0) { + logger.activity.setStatus(`${action} 0`) + } + + logger.activity.end() + + return state + }, + + createActivityTimer( + state: ILoggerState, + { + typeName, + reporter, + pluginOptions, + }: { typeName: string; reporter: Reporter; pluginOptions: IPluginOptions } + ): ILoggerState { + if (state.activityTimers[typeName]) { + return state + } + + const typeActivityTimer = { + count: 0, + activity: reporter.activityTimer( + formatLogMessage(typeName, { + useVerboseStyle: pluginOptions.verbose, + }) + ), + } + + if (pluginOptions.verbose) { + typeActivityTimer.activity.start() + } + + state.activityTimers[typeName] = typeActivityTimer + + return state + }, + }, +} + +export default logger diff --git a/packages/gatsby-source-wordpress/src/models/preview.ts b/packages/gatsby-source-wordpress/src/models/preview.ts new file mode 100644 index 0000000000000..d8928c678c124 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/models/preview.ts @@ -0,0 +1,109 @@ +// `node` here is a Gatsby node +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export type OnPageCreatedCallback = (node: any) => Promise + +export interface IStoredPage { + path: string + updatedAt: number +} + +export interface IPreviewState { + inPreviewMode: boolean + nodePageCreatedCallbacks: { + [nodeId: string]: OnPageCreatedCallback + } + nodeIdsToCreatedPages: { + [nodeId: string]: { + page: IStoredPage + } + } + pagePathToNodeDependencyId: { + [pageId: string]: { + nodeId: string + } + } +} + +export interface IPreviewReducers { + subscribeToPagesCreatedFromNodeById: ( + state: IPreviewState, + payload: { + nodeId: string + sendPreviewStatus: OnPageCreatedCallback + modified: string + } + ) => IPreviewState + unSubscribeToPagesCreatedFromNodeById: ( + state: IPreviewState, + payload: { + nodeId: string + } + ) => IPreviewState + clearPreviewCallbacks: (state: IPreviewState) => IPreviewState + saveNodePageState: ( + state: IPreviewState, + payload: { + nodeId: string + page: IStoredPage + } + ) => IPreviewState +} + +export interface IPreviewStore { + state: IPreviewState + reducers: IPreviewReducers +} + +const previewStore: IPreviewStore = { + state: { + inPreviewMode: false, + nodePageCreatedCallbacks: {}, + nodeIdsToCreatedPages: {}, + pagePathToNodeDependencyId: {}, + }, + + reducers: { + setInPreviewMode(state, inPreviewMode) { + state.inPreviewMode = inPreviewMode + + return state + }, + + unSubscribeToPagesCreatedFromNodeById(state, { nodeId }) { + if (state.nodePageCreatedCallbacks?.[nodeId]) { + delete state.nodePageCreatedCallbacks[nodeId] + } + + return state + }, + + subscribeToPagesCreatedFromNodeById(state, { nodeId, sendPreviewStatus }) { + // save the callback for this nodeId + // when a page is created from a node that has this id, + // the callback will be invoked + state.nodePageCreatedCallbacks[nodeId] = sendPreviewStatus + + return state + }, + + clearPreviewCallbacks(state) { + state.nodePageCreatedCallbacks = {} + + return state + }, + + saveNodePageState(state, { page, nodeId }) { + state.nodeIdsToCreatedPages[nodeId] = { + page, + } + + state.pagePathToNodeDependencyId[page.path] = { + nodeId, + } + + return state + }, + } as IPreviewReducers, +} + +export default previewStore diff --git a/packages/gatsby-source-wordpress/src/models/remoteSchema.ts b/packages/gatsby-source-wordpress/src/models/remoteSchema.ts new file mode 100644 index 0000000000000..072f9a0a37a66 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/models/remoteSchema.ts @@ -0,0 +1,152 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { findTypeName } from "~/steps/create-schema-customization/helpers" + +interface IRemoteSchemaState { + wpUrl: string + nodeQueries: any + nonNodeQuery: string + introspectionData: any + schemaWasChanged: boolean + typeMap: any + nodeListFilter: (field: { name: string }) => boolean + ingestibles: { + nodeListRootFields: any + nodeInterfaceTypes: any + nonNodeRootFields: Array + } + allowRefreshSchemaUpdate: boolean + fetchedTypes: any + fieldBlacklist: Array + fieldAliases: { + parent: string + children: string + internal: string + plugin: string + actionOptions: string + } +} + +interface IRemoteSchemaReducers { + toggleAllowRefreshSchemaUpdate: ( + state: IRemoteSchemaState + ) => IRemoteSchemaState + + setSchemaWasChanged: ( + state: IRemoteSchemaState, + payload: boolean + ) => IRemoteSchemaState + + addFieldsToBlackList: ( + state: IRemoteSchemaState, + payload: Array + ) => IRemoteSchemaState + + setState: ( + state: IRemoteSchemaState, + payload: IRemoteSchemaState + ) => IRemoteSchemaState + + addFetchedType: (state: IRemoteSchemaState, type: any) => IRemoteSchemaState +} + +interface IRemoteSchemaStore { + state: IRemoteSchemaState + reducers: IRemoteSchemaReducers +} + +const remoteSchema: IRemoteSchemaStore = { + state: { + wpUrl: null, + nodeQueries: {}, + nonNodeQuery: null, + introspectionData: null, + schemaWasChanged: null, + typeMap: null, + nodeListFilter: (field: { name: string }): boolean => + field.name === `nodes`, + ingestibles: { + nodeListRootFields: null, + nodeInterfaceTypes: null, + nonNodeRootFields: [], + }, + allowRefreshSchemaUpdate: false, + fetchedTypes: new Map(), + fieldBlacklist: [ + `isWpGatsby`, + `edges`, + // these aren't useful without authentication + `revisions`, + `isJwtAuthSecretRevoked`, + `isRestricted`, + `jwtAuthExpiration`, + `jwtAuthToken`, + `jwtRefreshToken`, + `jwtUserSecret`, + `editLock`, + `revisionOf`, + `preview`, + `isPreview`, + `previewRevisionDatabaseId`, + `previewRevisionId`, + `editingLockedBy`, + ], + // @todo make this a plugin option + fieldAliases: { + parent: `wpParent`, + children: `wpChildren`, + internal: `wpInternal`, + plugin: `wpPlugin`, + actionOptions: `wpActionOptions`, + }, + }, + + reducers: { + toggleAllowRefreshSchemaUpdate(state) { + state.allowRefreshSchemaUpdate = !state.allowRefreshSchemaUpdate + + return state + }, + + setSchemaWasChanged(state, payload) { + state.schemaWasChanged = !!payload + + return state + }, + + addFieldsToBlackList(state, payload) { + state.fieldBlacklist = [...state.fieldBlacklist, ...payload] + return state + }, + + setState(state, payload) { + state = { + ...state, + ...payload, + } + + return state + }, + + addFetchedType(state, type) { + const key = findTypeName(type) + + if (!key) { + return state + } + + type = state.typeMap.get(key) + + // union types with no member types will cause schema customization errors + // @todo move this to a better place. This should be excluded before it gets to this point. + if (type && type.kind === `UNION` && type.possibleTypes.length === 0) { + return state + } + + state.fetchedTypes.set(key, type) + + return state + }, + } as IRemoteSchemaReducers, +} + +export default remoteSchema diff --git a/packages/gatsby-source-wordpress/src/models/wp-hooks.ts b/packages/gatsby-source-wordpress/src/models/wp-hooks.ts new file mode 100644 index 0000000000000..e1cf9effebfe3 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/models/wp-hooks.ts @@ -0,0 +1,51 @@ +export interface INodeFilter { + name: string + // eslint-disable-next-line @typescript-eslint/no-explicit-any + filter: (any) => any + priority?: number +} + +export interface IWPHooksState { + nodeFilters: { [name: string]: Array } +} + +export interface IWPHooksReducers { + addNodeFilter: (state: IWPHooksState, payload: INodeFilter) => IWPHooksState +} + +export interface IWPHooksStore { + state: IWPHooksState + reducers: IWPHooksReducers +} + +const wpHooks: IWPHooksStore = { + state: { + nodeFilters: {}, + }, + + reducers: { + addNodeFilter( + state: IWPHooksState, + nodeFilter: INodeFilter + ): IWPHooksState { + const { name, filter, priority = 10 } = nodeFilter + + if (!name || typeof filter === `undefined`) { + return state + } + + state.nodeFilters[nodeFilter.name] = [ + ...(state.nodeFilters?.[nodeFilter.name] || []), + { + name, + filter, + priority, + }, + ] + + return state + }, + }, +} + +export default wpHooks diff --git a/packages/gatsby-source-wordpress/src/normalize-base-url.js b/packages/gatsby-source-wordpress/src/normalize-base-url.js deleted file mode 100644 index d5a84aecb94a0..0000000000000 --- a/packages/gatsby-source-wordpress/src/normalize-base-url.js +++ /dev/null @@ -1,13 +0,0 @@ -function normalizeBaseUrl(baseUrl) { - let normalized = baseUrl - - // remove trailing slashes - normalized = normalized.replace(/\/+$/, ``) - - // remove protocol - normalized = normalized.replace(/^https?:\/\//, ``) - - return normalized -} - -module.exports = normalizeBaseUrl diff --git a/packages/gatsby-source-wordpress/src/normalize.js b/packages/gatsby-source-wordpress/src/normalize.js deleted file mode 100644 index db9d8f1bfee90..0000000000000 --- a/packages/gatsby-source-wordpress/src/normalize.js +++ /dev/null @@ -1,693 +0,0 @@ -const deepMapKeys = require(`deep-map-keys`) -const _ = require(`lodash`) -const { createRemoteFileNode } = require(`gatsby-source-filesystem`) -const { URL } = require(`url`) - -const colorized = require(`./output-color`) -const conflictFieldPrefix = `wordpress_` -// restrictedNodeFields from here https://www.gatsbyjs.org/docs/node-interface/ -const restrictedNodeFields = [`id`, `children`, `parent`, `fields`, `internal`] - -/** - * Validate the GraphQL naming conventions & protect specific fields. - * - * @param {any} key - * @returns the valid name - */ -function getValidKey({ key, verbose = false }) { - let nkey = String(key) - const NAME_RX = /^[_a-zA-Z][_a-zA-Z0-9]*$/ - let changed = false - // Replace invalid characters - if (!NAME_RX.test(nkey)) { - changed = true - nkey = nkey.replace(/-|__|:|\.|\s/g, `_`) - } - // Prefix if first character isn't a letter. - if (!NAME_RX.test(nkey.slice(0, 1))) { - changed = true - nkey = `${conflictFieldPrefix}${nkey}` - } - if (restrictedNodeFields.includes(nkey)) { - changed = true - nkey = `${conflictFieldPrefix}${nkey}`.replace(/-|__|:|\.|\s/g, `_`) - } - if (changed && verbose) - console.log( - colorized.out( - `Object with key "${key}" breaks GraphQL naming convention. Renamed to "${nkey}"`, - colorized.color.Font.FgRed - ) - ) - - return nkey -} - -exports.getValidKey = getValidKey - -// Remove the ACF key from the response when it's not an object -const normalizeACF = entities => - entities.map(e => { - if (!_.isPlainObject(e[`acf`])) { - delete e[`acf`] - } - return e - }) - -exports.normalizeACF = normalizeACF - -// Combine all ACF Option page data -exports.combineACF = function (entities) { - let acfOptionData = {} - // Map each ACF Options object keys/data to single object - _.forEach( - entities.filter(e => e.__type === `wordpress__acf_options`), - e => { - if (e[`acf`]) { - acfOptionData[e.__acfOptionPageId || `options`] = {} - Object.keys(e[`acf`]).map( - k => - (acfOptionData[e.__acfOptionPageId || `options`][k] = e[`acf`][k]) - ) - } - } - ) - - // Remove previous ACF Options objects (if any) - _.pullAll( - entities, - entities.filter(e => e.__type === `wordpress__acf_options`) - ) - - // Create single ACF Options object - entities.push({ - acf: acfOptionData || false, - __type: `wordpress__acf_options`, - }) - - return entities -} - -// Create wordpress_id if the entity don't have one -exports.generateFakeWordpressId = entities => - entities.map(e => { - if (e.__type === `wordpress__yoast_redirects`) { - e.wordpress_id = `${e.origin}-${e.url}-${e.type}` - } - return e - }) - -// Create entities from the few the WordPress API returns as an object for presumably -// legacy reasons. -const normalizeEntities = entities => { - const mapType = e => - Object.keys(e) - .filter(key => key !== `__type`) - .map(key => { - return { - id: key, - ...e[key], - __type: e.__type, - } - }) - - return entities.reduce((acc, e) => { - switch (e.__type) { - case `wordpress__wp_types`: - return acc.concat(mapType(e)) - case `wordpress__wp_api_menus_menu_locations`: - return acc.concat(mapType(e)) - case `wordpress__wp_statuses`: - return acc.concat(mapType(e)) - case `wordpress__wp_taxonomies`: - return acc.concat(mapType(e)) - case `wordpress__acf_options`: - return acc.concat(mapType(e)) - default: - return acc.concat(e) - } - }, []) -} - -exports.normalizeEntities = normalizeEntities - -// Standardize ids + make sure keys are valid. -exports.standardizeKeys = entities => - entities.map(e => - deepMapKeys(e, key => - key === `ID` ? getValidKey({ key: `id` }) : getValidKey({ key }) - ) - ) - -// Standardize dates on ISO 8601 version. -exports.standardizeDates = entities => - entities.map(e => { - Object.keys(e).forEach(key => { - if (e[`${key}_gmt`]) { - e[key] = new Date(e[`${key}_gmt`] + `z`).toJSON() - delete e[`${key}_gmt`] - } - }) - - return e - }) - -// Lift "rendered" fields to top-level -exports.liftRenderedField = entities => - entities.map(e => { - Object.keys(e).forEach(key => { - const value = e[key] - if (_.isObject(value) && _.isString(value.rendered)) { - e[key] = value.rendered - } - }) - - return e - }) - -// Exclude entities of unknown shape -// Assume all entities contain a wordpress_id, -// except for whitelisted type wp_settings and the site_metadata -exports.excludeUnknownEntities = entities => - entities.filter( - e => - e.wordpress_id || - e.__type === `wordpress__wp_settings` || - e.__type === `wordpress__site_metadata` - ) -// Excluding entities without ID, or WP Settings - -// Create node ID from known entities -// excludeUnknownEntities whitelisted types don't contain a wordpress_id -// we create the node ID based upon type if the wordpress_id doesn't exist -exports.createGatsbyIds = (createNodeId, entities, _siteURL) => - entities.map(e => { - if (e.wordpress_id) { - e.id = createNodeId( - `${e.__type}-${e.wordpress_id.toString()}-${_siteURL}` - ) - } else { - e.id = createNodeId(`${e.__type}-${_siteURL}`) - } - return e - }) - -// Build foreign reference map. -exports.mapTypes = entities => { - const groups = _.groupBy(entities, e => e.__type) - for (let groupId in groups) { - groups[groupId] = groups[groupId].map(e => { - return { - wordpress_id: e.wordpress_id, - id: e.id, - } - }) - } - - return groups -} - -exports.mapAuthorsToUsers = entities => { - const users = entities.filter(e => e.__type === `wordpress__wp_users`) - return entities.map(e => { - if (users.length && e.author) { - // Find the user - const user = users.find(u => u.wordpress_id === e.author) - if (user) { - e.author___NODE = user.id - - // Add a link to the user to the entity. - if (!user.all_authored_entities___NODE) { - user.all_authored_entities___NODE = [] - } - user.all_authored_entities___NODE.push(e.id) - if (!user[`authored_${e.__type}___NODE`]) { - user[`authored_${e.__type}___NODE`] = [] - } - user[`authored_${e.__type}___NODE`].push(e.id) - - delete e.author - } - } - return e - }) -} - -exports.mapPostsToTagsCategories = entities => { - const categoryTypes = [`wordpress__wc_categories`, `wordpress__CATEGORY`] - const tagTypes = [`wordpress__TAG`, `wordpress__wc_tags`] - const tags = entities.filter(e => tagTypes.includes(e.__type)) - const categories = entities.filter(e => categoryTypes.includes(e.__type)) - - return entities.map(e => { - // Replace tags & categories with links to their nodes. - - let entityHasTags = e.tags && Array.isArray(e.tags) && e.tags.length - if (tags.length && entityHasTags) { - e.tags___NODE = e.tags - .map(t => { - const tagNode = tags.find( - tObj => - (Number.isInteger(t) ? t : t.wordpress_id) === tObj.wordpress_id - ) - if (tagNode) { - return tagNode.id - } else { - return undefined - } - }) - .filter(node => node != undefined) - delete e.tags - } - - let entityHasCategories = - e.categories && Array.isArray(e.categories) && e.categories.length - if (categories.length && entityHasCategories) { - e.categories___NODE = e.categories - .map(c => { - const categoryNode = categories.find( - cObj => - (Number.isInteger(c) ? c : c.wordpress_id) === cObj.wordpress_id - ) - if (categoryNode) { - return categoryNode.id - } else { - return undefined - } - }) - .filter(node => node != undefined) - delete e.categories - } - - return e - }) -} - -// TODO generalize this for all taxonomy types. -exports.mapTagsCategoriesToTaxonomies = entities => - entities.map(e => { - // Where should api_menus stuff link to? - if (e.taxonomy && e.__type !== `wordpress__wp_api_menus_menus`) { - // Replace taxonomy with a link to the taxonomy node. - const taxonomyNode = entities.find(t => t.wordpress_id === e.taxonomy) - if (taxonomyNode) { - e.taxonomy___NODE = taxonomyNode.id - delete e.taxonomy - } - } - return e - }) - -exports.mapElementsToParent = entities => - entities.map(e => { - if (e.wordpress_parent) { - // Create parent_element with a link to the parent node of type. - const parentElement = entities.find( - t => t.wordpress_id === e.wordpress_parent && t.__type === e.__type - ) - if (parentElement) { - e.parent_element___NODE = parentElement.id - } - } - return e - }) - -exports.mapPolylangTranslations = entities => - entities.map(entity => { - if (entity.polylang_translations) { - entity.polylang_translations___NODE = entity.polylang_translations.map( - translation => { - const post = entities.find( - t => - t.wordpress_id === translation.wordpress_id && - entity.__type === t.__type - ) - - if (!post) { - return null - } - - return post.id - } - ) - - delete entity.polylang_translations - } - - return entity - }) - -exports.searchReplaceContentUrls = function ({ - entities, - searchAndReplaceContentUrls, -}) { - if ( - !_.isPlainObject(searchAndReplaceContentUrls) || - !_.has(searchAndReplaceContentUrls, `sourceUrl`) || - !_.has(searchAndReplaceContentUrls, `replacementUrl`) || - typeof searchAndReplaceContentUrls.sourceUrl !== `string` || - typeof searchAndReplaceContentUrls.replacementUrl !== `string` - ) { - return entities - } - - const { sourceUrl, replacementUrl } = searchAndReplaceContentUrls - - const _blacklist = [`_links`, `__type`] - - const blacklistProperties = function (obj = {}, blacklist = []) { - for (var i = 0; i < blacklist.length; i++) { - delete obj[blacklist[i]] - } - - return obj - } - - return entities.map(function (entity) { - const original = Object.assign({}, entity) - - try { - var whiteList = blacklistProperties(entity, _blacklist) - var replaceable = JSON.stringify(whiteList) - var replaced = replaceable.replace( - new RegExp(sourceUrl, `g`), - replacementUrl - ) - var parsed = JSON.parse(replaced) - } catch (e) { - console.log(colorized.out(e.message, colorized.color.Font.FgRed)) - return original - } - - return _.defaultsDeep(parsed, original) - }) -} - -exports.mapEntitiesToMedia = entities => { - const media = entities.filter(e => e.__type === `wordpress__wp_media`) - - return entities.map(e => { - // Map featured_media to its media node - - // Check if it's value of ACF Image field, that has 'Return value' set to - // 'Image Object' ( https://www.advancedcustomfields.com/resources/image/ ) - const isPhotoObject = field => - _.isObject(field) && - field.wordpress_id && - field.url && - field.width && - field.height - ? true - : false - - const isURL = value => _.isString(value) && value.startsWith(`http`) - const isMediaUrlAlreadyProcessed = key => key == `source_url` - const isFeaturedMedia = (value, key) => - (_.isNumber(value) || _.isBoolean(value)) && key === `featured_media` - // ACF Gallery and similarly shaped arrays - const isArrayOfPhotoObject = field => - _.isArray(field) && field.length > 0 && isPhotoObject(field[0]) - const getMediaItemID = mediaItem => (mediaItem ? mediaItem.id : null) - - // Try to get media node from value: - // - special case - check if key is featured_media and value is photo ID - // - check if value is media url - // - check if value is ACF Image Object - // - check if value is ACF Gallery - const getMediaFromValue = (value, key) => { - if (isFeaturedMedia(value, key)) { - return { - mediaNodeID: _.isNumber(value) - ? getMediaItemID(media.find(m => m.wordpress_id === value)) - : null, - deleteField: true, - } - } else if (isURL(value) && !isMediaUrlAlreadyProcessed(key)) { - const mediaNodeID = getMediaItemID( - media.find(m => m.source_url === value) - ) - return { - mediaNodeID, - deleteField: !!mediaNodeID, - } - } else if (isPhotoObject(value)) { - const mediaNodeID = getMediaItemID( - media.find(m => m.source_url === value.url) - ) - return { - mediaNodeID, - deleteField: !!mediaNodeID, - } - } else if (isArrayOfPhotoObject(value)) { - return { - mediaNodeID: value - .map(item => getMediaFromValue(item, key).mediaNodeID) - .filter(id => id !== null), - deleteField: true, - } - } - return { - mediaNodeID: null, - deleteField: false, - } - } - - const replaceFieldsInObject = object => { - let deletedAllFields = true - _.each(object, (value, key) => { - const { mediaNodeID, deleteField } = getMediaFromValue(value, key) - if (mediaNodeID) { - object[`${key}___NODE`] = mediaNodeID - } - if (deleteField) { - delete object[key] - // We found photo node (even if it has no image), - // We can end processing this path - return - } else { - deletedAllFields = false - } - - if (_.isArray(value)) { - value.forEach(v => replaceFieldsInObject(v)) - } else if (_.isObject(value)) { - replaceFieldsInObject(value) - } - }) - - // Deleting fields and replacing them with links to different nodes - // can cause build errors if object will have only linked properties: - // https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby/src/schema/infer-graphql-input-fields.js#L205 - // Hacky workaround: - // Adding dummy field with concrete value (not link) fixes build - if (deletedAllFields && object && _.isObject(object)) { - object[`dummy`] = true - } - } - replaceFieldsInObject(e) - - return e - }) -} - -// Downloads media files and removes "sizes" data as useless in Gatsby context. -exports.downloadMediaFiles = async ({ - entities, - store, - cache, - createNode, - createNodeId, - touchNode, - getCache, - getNode, - _auth, - reporter, - keepMediaSizes, -}) => - Promise.all( - entities.map(async e => { - let fileNodeID - if (e.__type === `wordpress__wp_media`) { - const mediaDataCacheKey = `wordpress-media-${e.wordpress_id}` - const cacheMediaData = await cache.get(mediaDataCacheKey) - - // If we have cached media data and it wasn't modified, reuse - // previously created file node to not try to redownload - if (cacheMediaData && e.modified === cacheMediaData.modified) { - const fileNode = getNode(cacheMediaData.fileNodeID) - - // check if node still exists in cache - // it could be removed if image was made private - if (fileNode) { - fileNodeID = cacheMediaData.fileNodeID - touchNode({ - nodeId: fileNodeID, - }) - } - } - - // If we don't have cached data, download the file - if (!fileNodeID) { - // WordPress does not properly encode it's media urls - const encodedSourceUrl = encodeURI(e.source_url) - - try { - const fileNode = await createRemoteFileNode({ - url: encodedSourceUrl, - store, - cache, - createNode, - createNodeId, - getCache, - parentNodeId: e.id, - auth: _auth, - reporter, - }) - - if (fileNode) { - fileNodeID = fileNode.id - - await cache.set(mediaDataCacheKey, { - fileNodeID, - modified: e.modified, - }) - } - } catch (e) { - // Ignore - } - } - } - - if (fileNodeID) { - e.localFile___NODE = fileNodeID - if (!keepMediaSizes) { - delete e.media_details.sizes - } - } - - return e - }) - ) - -const prepareACFChildNodes = ( - obj, - entityId, - topLevelIndex, - type, - children, - childrenNodes, - createContentDigest -) => { - // Replace any child arrays with pointers to nodes - _.each(obj, (value, key) => { - if (_.isArray(value) && value[0] && value[0].acf_fc_layout) { - obj[`${key}___NODE`] = value.map( - (v, indexItem) => - prepareACFChildNodes( - v, - `${entityId}_${indexItem}`, - topLevelIndex, - type + key, - children, - childrenNodes, - createContentDigest - ).id - ) - delete obj[key] - } - }) - - const acfChildNode = { - ...obj, - id: entityId + topLevelIndex + type, - parent: entityId, - children: [], - internal: { type, contentDigest: createContentDigest(obj) }, - } - - children.push(acfChildNode.id) - - // We recursively handle children nodes first, so we need - // to make sure parent nodes will be before their children. - // So let's use unshift to put nodes in the beginning. - childrenNodes.unshift(acfChildNode) - - return acfChildNode -} - -exports.createNodesFromEntities = ({ - entities, - createNode, - createContentDigest, -}) => { - entities.forEach(e => { - // Create subnodes for ACF Flexible layouts - let { __type, ...entity } = e // eslint-disable-line no-unused-vars - let children = [] - let childrenNodes = [] - if (entity.acf) { - _.each(entity.acf, (value, key) => { - if (_.isArray(value) && value[0] && value[0].acf_fc_layout) { - entity.acf[`${key}_${entity.type}___NODE`] = entity.acf[key].map( - (f, i) => { - const type = `WordPressAcf_${f.acf_fc_layout}` - delete f.acf_fc_layout - - const acfChildNode = prepareACFChildNodes( - f, - entity.id + i, - key, - type, - children, - childrenNodes, - createContentDigest - ) - - return acfChildNode.id - } - ) - - delete entity.acf[key] - } - }) - } - - let node = { - ...entity, - children, - parent: null, - internal: { - type: e.__type, - contentDigest: createContentDigest(entity), - }, - } - createNode(node) - childrenNodes.forEach(node => { - createNode(node) - }) - }) -} - -exports.createUrlPathsFromLinks = entities => - entities.map(e => { - if (e.link && !e.path) { - try { - const link = new URL(e.link) - e.path = link.pathname - } catch (error) { - e.path = e.link - } - } - return e - }) - -exports.normalizeMenuItems = entities => - entities.map(e => { - if (e.__type === `wordpress__menus_menus_items`) { - // in case of nested menus items might be object - // this converts it into array so it's consistent - // and queried in simple manner - e.items = _.values(e.items) - } - return e - }) diff --git a/packages/gatsby-source-wordpress/src/output-color.js b/packages/gatsby-source-wordpress/src/output-color.js deleted file mode 100644 index fbdd796cf63c0..0000000000000 --- a/packages/gatsby-source-wordpress/src/output-color.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Colorize the output - * - * @param {any} msg - * @param {any} c - */ -const out = (msg, c) => `${c}${msg}${color.Reset}` -const color = { - Reset: `\x1b[0m`, - Effect: { - Bright: `\x1b[1m`, - Dim: `\x1b[2m`, - Underscore: `\x1b[4m`, - Blink: `\x1b[5m`, - Reverse: `\x1b[7m`, - Hidden: `\x1b[8m`, - }, - Font: { - FgBlack: `\x1b[30m`, - FgRed: `\x1b[31m`, - FgGreen: `\x1b[32m`, - FgYellow: `\x1b[33m`, - FgBlue: `\x1b[34m`, - FgMagenta: `\x1b[35m`, - FgCyan: `\x1b[36m`, - FgWhite: `\x1b[37m`, - }, - Back: { - BgBlack: `\x1b[40m`, - BgRed: `\x1b[41m`, - BgGreen: `\x1b[42m`, - BgYellow: `\x1b[43m`, - BgBlue: `\x1b[44m`, - BgMagenta: `\x1b[45m`, - BgCyan: `\x1b[46m`, - BgWhite: `\x1b[47m`, - }, -} - -const colorized = { - out, - color, -} - -module.exports = colorized diff --git a/packages/gatsby-source-wordpress/src/request-in-queue.js b/packages/gatsby-source-wordpress/src/request-in-queue.js deleted file mode 100644 index b4775af0d07c7..0000000000000 --- a/packages/gatsby-source-wordpress/src/request-in-queue.js +++ /dev/null @@ -1,60 +0,0 @@ -const Queue = require(`better-queue`) -const Promise = require(`bluebird`) -const request = require(`axios`) - -const _defaults = { - id: `url`, -} - -/** - * [handleQueue description] - * @param {[type]} task [description] - * @param {Function} cb [description] - * @return {[type]} [description] - */ -async function handleQueue(task, cb) { - try { - const response = await request(task) - cb(null, response) - } catch (err) { - cb(err) - } -} - -/** - * @typedef {Options} - * @type {Object} - * @see For a detailed descriptions of the options, - * see {@link https://www.npmjs.com/package/better-queue#full-documentation|better-queue on GitHub} - */ - -/** - * Run a series of requests tasks in a queue for better flow control - * - * @param {Object[]} tasks An array of Axios formatted request objects - * @param {Options} opts Options that will be given to better-queue - * @return {Promise} Resolves with the accumulated values from the tasks - */ -module.exports = function requestInQueue(tasks, opts = {}) { - return new Promise((res, rej) => { - const q = new Queue(handleQueue, { ..._defaults, ...opts }) - - const taskMap = new Map( - tasks.map(t => { - q.push(t) - return [t.url, null] - }) - ) - - q.on(`task_failed`, (id, err) => { - rej(new Error(`${id} failed with err: ${err}`)) - q.destroy() - }) - - q.on(`task_finish`, (id, response) => { - taskMap.set(id, response) - }) - - q.on(`drain`, () => res(Array.from(taskMap.values()))) - }) -} diff --git a/packages/gatsby-source-wordpress/src/scripts/download-test-data.js b/packages/gatsby-source-wordpress/src/scripts/download-test-data.js deleted file mode 100644 index 66b74b8833d0d..0000000000000 --- a/packages/gatsby-source-wordpress/src/scripts/download-test-data.js +++ /dev/null @@ -1,28 +0,0 @@ -const fs = require(`fs`) -const fetchData = require(`../fetch`) - -// Fetch data from our sample site and save it to disk. - -const typePrefix = `wordpress__` -const refactoredEntityTypes = { - post: `${typePrefix}POST`, - page: `${typePrefix}PAGE`, - tag: `${typePrefix}TAG`, - category: `${typePrefix}CATEGORY`, -} - -fetchData({ - _verbose: false, - _siteURL: `http://dev-gatbsyjswp.pantheonsite.io`, - baseUrl: `dev-gatbsyjswp.pantheonsite.io`, - _useACF: true, - _hostingWPCOM: false, - _perPage: 100, - typePrefix, - refactoredEntityTypes, -}).then(data => { - fs.writeFileSync( - `${__dirname}/../__tests__/data.json`, - JSON.stringify(data, null, 4) - ) -}) diff --git a/packages/gatsby-source-wordpress/src/steps/check-plugin-requirements.ts b/packages/gatsby-source-wordpress/src/steps/check-plugin-requirements.ts new file mode 100644 index 0000000000000..6afe80ab0f9a8 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/check-plugin-requirements.ts @@ -0,0 +1,333 @@ +import url from "url" +import Range from "semver/classes/range" + +import type { NodePluginArgs } from "gatsby" +import fetch from "node-fetch" + +import fetchGraphql from "~/utils/fetch-graphql" +import { formatLogMessage } from "~/utils/format-log-message" +import { getPersistentCache } from "~/utils/cache" + +import store from "~/store" +import { MD5_CACHE_KEY } from "~/constants" + +import { + supportedWpPluginVersions, + genericDownloadMessage, +} from "~/supported-remote-plugin-versions" + +const parseRange = ( + range: string +): { + message: string + minVersion: string + maxVersion: string + isARange: boolean +} => { + const { + set: [versions], + } = new Range(range) + + const isARange = versions.length >= 2 + const minVersion = versions[0].semver.version + const maxVersion = versions[1]?.semver?.version + + let message: string + if (isARange) { + message = `Install a version between ${minVersion} and ${maxVersion}.` + } else { + message = `Install version ${minVersion}.` + } + + return { + message, + minVersion, + maxVersion, + isARange, + } +} + +const areRemotePluginVersionsSatisfied = async ({ + helpers, + disableCompatibilityCheck, + url: wpGraphQLEndpoint, +}: { + helpers: NodePluginArgs + url: string + disableCompatibilityCheck: boolean +}): Promise => { + if (disableCompatibilityCheck) { + return + } + + let wpgqlIsSatisfied + let wpGatsbyIsSatisfied + + try { + const { data } = await fetchGraphql({ + query: /* GraphQL */ ` + query WPGatsbyCompatibility( + $wpgqlVersion: String! + $wpgatsbyVersion: String! + ) { + wpGatsbyCompatibility( + wpGatsbyVersionRange: $wpgatsbyVersion + wpGQLVersionRange: $wpgqlVersion + ) { + satisfies { + wpGQL + wpGatsby + } + } + } + `, + variables: { + wpgqlVersion: supportedWpPluginVersions.WPGraphQL.version, + wpgatsbyVersion: supportedWpPluginVersions.WPGatsby.version, + }, + panicOnError: false, + throwGqlErrors: true, + }) + + wpgqlIsSatisfied = data.wpGatsbyCompatibility.satisfies.wpGQL + wpGatsbyIsSatisfied = data.wpGatsbyCompatibility.satisfies.wpGatsby + } catch (e) { + if ( + e.message.includes( + `Cannot query field "wpGatsbyCompatibility" on type "RootQuery".` + ) + ) { + helpers.reporter.panic( + formatLogMessage( + `Your version of WPGatsby is too old to determine if we're compatible.${genericDownloadMessage}` + ) + ) + } else { + helpers.reporter.panic(e.message) + } + } + + const shouldDisplayWPGraphQLReason = + !wpgqlIsSatisfied && supportedWpPluginVersions.WPGraphQL.reason + + const shouldDisplayWPGatsbyReason = + !wpGatsbyIsSatisfied && supportedWpPluginVersions.WPGatsby.reason + + const shouldDisplayAtleastOneReason = + shouldDisplayWPGraphQLReason || shouldDisplayWPGatsbyReason + + const shouldDisplayBothReasons = + shouldDisplayWPGraphQLReason && shouldDisplayWPGatsbyReason + + // a message explaining why these are the minimum versions + const reasons = `${shouldDisplayAtleastOneReason ? `\n\nReasons:\n\n` : ``}${ + shouldDisplayWPGraphQLReason + ? `- ${supportedWpPluginVersions.WPGraphQL.reason}` + : `` + }${shouldDisplayBothReasons ? `\n\n` : ``}${ + shouldDisplayWPGatsbyReason + ? `- ${supportedWpPluginVersions.WPGatsby.reason}` + : `` + }` + + let message = `` + + if (!wpgqlIsSatisfied) { + const { minVersion, maxVersion } = parseRange( + supportedWpPluginVersions.WPGraphQL.version + ) + + message += `Your remote version of WPGraphQL is not within the accepted range\n(${ + supportedWpPluginVersions.WPGraphQL.version + }).\n\nThis is not a bug and it means one of two things:\n you either need to upgrade WPGraphQL or gatsby-source-wordpress. + +1. If the version of WPGraphQL in your WordPress instance is higher than ${ + maxVersion || minVersion + } +it means you need to upgrade your version of gatsby-source-wordpress. + +2. If the version of WPGraphQL in your WordPress instance is lower than ${minVersion} +it means you need to upgrade your version of WPGraphQL. + +You can find a matching WPGraphQL version at https://github.com/wp-graphql/wp-graphql/releases` + } + + if (!wpGatsbyIsSatisfied && !wpgqlIsSatisfied) { + message += `\n\n---------------\n\n` + } + + if (!wpGatsbyIsSatisfied) { + const { minVersion, maxVersion } = parseRange( + supportedWpPluginVersions.WPGatsby.version + ) + + const { hostname, protocol } = url.parse(wpGraphQLEndpoint) + + message += `Your remote version of WPGatsby is not within the accepted range\n(${ + supportedWpPluginVersions.WPGatsby.version + })\n\nThis is not a bug and it means one of two things:\n you either need to upgrade WPGatsby or gatsby-source-wordpress. + +1. If the version of WPGatsby in your WordPress instance is higher than ${ + maxVersion || minVersion + } +it means you need to upgrade your version of gatsby-source-wordpress. + +2. If the version of WPGatsby in your WordPress instance is lower than ${minVersion} +it means you need to upgrade your version of WPGatsby. + +Download a matching version at https://github.com/gatsbyjs/wp-gatsby/releases +or update via ${protocol}//${hostname}/wp-admin/plugins.php` + } + + if (!wpGatsbyIsSatisfied || !wpgqlIsSatisfied) { + message += ` +${reasons}` + } + + if (message) { + helpers.reporter.panic(formatLogMessage(message)) + } +} + +// This blank request is used to find debug messages +// when a graphql request is made with no query +// for example if 2 root fields are registered with the fieldname "products" +// this will throw a helpful error message explaining that one should be removed +const blankGetRequest = async ({ + url, + helpers, +}: { + url: string + helpers: NodePluginArgs +}): Promise => + fetch(url) + .then(response => response.json()) + .then(json => { + if (json?.errors?.length) { + const firstError = json.errors[0] + + if ( + firstError.debugMessage || + (firstError.message && + !firstError.message?.includes( + `GraphQL Request must include at least one of those two parameters: "query" or "queryId"` + )) + ) { + helpers.reporter.panic( + formatLogMessage(`WPGraphQL returned a debug message on startup: + +${firstError.debugMessage || firstError.message} + `) + ) + } + } + }) + .catch(() => { + // this is ignored because a /graphql request will always return a 200 at this point + // we've already checked prior to this point that /graphql is up and returns a response. + }) + +const isWpGatsby = async (): Promise => { + fetchGraphql({ + query: /* GraphQL */ ` + { + isWpGatsby + } + `, + errorMap: { + from: `Cannot query field "isWpGatsby" on type "RootQuery".`, + // @todo replace this link with another once we're out of alpha + to: `WPGatsby is not active in your WordPress installation.\nTo download the latest version of WPGatsby visit https://wordpress.org/plugins/wp-gatsby/`, + }, + panicOnError: true, + isFirstRequest: true, + }) +} + +const prettyPermalinksAreEnabled = async ({ + helpers, +}: { + helpers: NodePluginArgs +}): Promise => { + try { + const { data } = await fetchGraphql({ + query: /* GraphQL */ ` + { + generalSettings { + url + } + wpGatsby { + arePrettyPermalinksEnabled + } + } + `, + throwGqlErrors: true, + }) + + if (!data.wpGatsby.arePrettyPermalinksEnabled) { + helpers.reporter.log(``) + helpers.reporter.warn( + formatLogMessage(` +Pretty permalinks are not enabled in your WordPress instance. +Gatsby routing requires this setting to function properly. +Please enable pretty permalinks by changing your settings at +${data.generalSettings.url}/wp-admin/options-permalink.php. +`) + ) + } + } catch (e) { + // the WPGatsby version is too old to query for wpGatsby.arePrettyPermalinksEnabled + } +} + +const ensurePluginRequirementsAreMet = async ( + helpers: NodePluginArgs +): Promise => { + if (helpers.traceId === `refresh-createSchemaCustomization`) { + return + } + + const activity = helpers.reporter.activityTimer( + formatLogMessage(`ensuring plugin requirements are met`) + ) + + activity.start() + + const { + gatsbyApi: { + pluginOptions: { + url, + debug: { disableCompatibilityCheck }, + }, + }, + remoteSchema: { schemaWasChanged }, + } = store.getState() + + // if we don't have a cached remote schema MD5, this is a cold build + const isFirstBuild = !(await getPersistentCache({ key: MD5_CACHE_KEY })) + + if ( + !schemaWasChanged && + !isFirstBuild && + helpers.traceId !== `schemaWasChanged` + ) { + activity.end() + return + } + + await blankGetRequest({ url, helpers }) + await isWpGatsby() + + await Promise.all([ + prettyPermalinksAreEnabled({ helpers }), + areRemotePluginVersionsSatisfied({ + helpers, + url, + disableCompatibilityCheck, + }), + ]) + + activity.end() +} + +export { ensurePluginRequirementsAreMet } diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/build-types.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/build-types.js new file mode 100644 index 0000000000000..9a3a35f6e1f2f --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/build-types.js @@ -0,0 +1,197 @@ +import store from "~/store" +import { transformFields } from "./transform-fields" +import { typeIsExcluded } from "~/steps/ingest-remote-schema/is-excluded" +import { + buildTypeName, + fieldOfTypeWasFetched, + getTypeSettingsByType, + filterTypeDefinition, +} from "./helpers" + +const unionType = typeBuilderApi => { + const { typeDefs, schema, type, pluginOptions } = typeBuilderApi + + const types = type.possibleTypes + .filter( + possibleType => + !typeIsExcluded({ + pluginOptions, + typeName: possibleType.name, + }) + ) + .map(possibleType => buildTypeName(possibleType.name)) + + if (!types || !types.length) { + return + } + + let unionType = { + name: buildTypeName(type.name), + types, + resolveType: node => { + if (node.type) { + return buildTypeName(node.type) + } + + if (node.__typename) { + return buildTypeName(node.__typename) + } + + return null + }, + extensions: { + infer: false, + }, + } + + // @todo add this as a plugin option + unionType = filterTypeDefinition(unionType, typeBuilderApi, `UNION`) + + typeDefs.push(schema.buildUnionType(unionType)) +} + +const interfaceType = typeBuilderApi => { + const { + type, + typeDefs, + schema, + gatsbyNodeTypes, + fieldAliases, + fieldBlacklist, + } = typeBuilderApi + + const state = store.getState() + const { ingestibles, typeMap } = state.remoteSchema + const { nodeInterfaceTypes } = ingestibles + + const allTypes = typeMap.values() + + const implementingTypes = Array.from(allTypes) + .filter( + ({ interfaces }) => + interfaces && + // find types that implement this interface type + interfaces.find(singleInterface => singleInterface.name === type.name) + ) + .map(type => typeMap.get(type.name)) + .filter( + type => + type.kind !== `UNION` || + // if this is a union type, make sure the union type has one or more member types, otherwise schema customization will throw an error + (!!type.possibleTypes && !!type.possibleTypes.length) + ) + + const transformedFields = transformFields({ + parentInterfacesImplementingTypes: implementingTypes, + fields: type.fields, + gatsbyNodeTypes, + fieldAliases, + fieldBlacklist, + }) + + let typeDef = { + name: buildTypeName(type.name), + fields: transformedFields, + extensions: { infer: false }, + } + + // if this is a node interface type + if (nodeInterfaceTypes.includes(type.name)) { + // we add nodeType (post type) to all nodes as they're fetched + // so we can add them to node interfaces as well in order to filter + // by a couple different content types + typeDef.fields[`nodeType`] = `String` + typeDef.extensions.nodeInterface = {} + } else { + // otherwise this is a regular interface type so we need to resolve the type name + typeDef.resolveType = node => + node && node.__typename ? buildTypeName(node.__typename) : null + } + + // @todo add this as a plugin option + typeDef = filterTypeDefinition(typeDef, typeBuilderApi, `INTERFACE`) + + typeDefs.push(schema.buildInterfaceType(typeDef)) +} + +const objectType = typeBuilderApi => { + const { + type, + gatsbyNodeTypes, + fieldAliases, + fieldBlacklist, + typeDefs, + schema, + isAGatsbyNode, + } = typeBuilderApi + + const transformedFields = transformFields({ + fields: type.fields, + parentType: type, + gatsbyNodeTypes, + fieldAliases, + fieldBlacklist, + }) + + // if all child fields are excluded, this type shouldn't exist. + if (!Object.keys(transformedFields).length) { + return + } + + let objectType = { + name: buildTypeName(type.name), + fields: transformedFields, + description: type.description, + extensions: { + infer: false, + }, + } + + if (type.interfaces) { + objectType.interfaces = type.interfaces + .filter(interfaceType => { + const interfaceTypeSettings = getTypeSettingsByType(interfaceType) + + return !interfaceTypeSettings.exclude && fieldOfTypeWasFetched(type) + }) + .map(({ name }) => buildTypeName(name)) + } + + if ( + gatsbyNodeTypes.includes(type.name) || + isAGatsbyNode || + // this accounts for Node types that weren't fetched because + // they have no root field to fetch a single node of this type + // removing them from the schema breaks the build though + // @todo instead, if a node type isn't fetched, remove it + // from the entire schema + type?.interfaces?.find(({ name }) => name === `Node`) + ) { + // this is used to filter the node interfaces + // by different content types (post types) + objectType.fields[`nodeType`] = `String` + + objectType.interfaces = [`Node`, ...objectType.interfaces] + } + + // @todo add this as a plugin option + objectType = filterTypeDefinition(objectType, typeBuilderApi, `OBJECT`) + + typeDefs.push(schema.buildObjectType(objectType)) +} + +const enumType = ({ typeDefs, schema, type }) => { + typeDefs.push( + schema.buildEnumType({ + name: buildTypeName(type.name), + values: type.enumValues.reduce((accumulator, { name }) => { + accumulator[name] = { name } + + return accumulator + }, {}), + description: type.description, + }) + ) +} + +export default { unionType, interfaceType, objectType, enumType } diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/helpers.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/helpers.js new file mode 100644 index 0000000000000..5e89e8979bae2 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/helpers.js @@ -0,0 +1,146 @@ +import store from "~/store" +import { typeDefinitionFilters } from "./type-filters" +import { getPluginOptions } from "~/utils/get-gatsby-api" +import { cloneDeep, merge } from "lodash" + +/** + * This function namespaces typenames with a prefix + */ +export const buildTypeName = name => { + if (!name || typeof name !== `string`) { + return null + } + + const { + schema: { typePrefix: prefix }, + } = getPluginOptions() + + // this is for our namespace type on the root { wp { ...fields } } + if (name === prefix) { + return name + } + + return prefix + name +} + +/** + * Find the first type name of a Type definition pulled via introspection + * @param {object} type + */ +export const findTypeName = type => + type?.name || + type?.ofType?.name || + type?.ofType?.ofType?.name || + type?.ofType?.ofType?.ofType?.name + +/** + * Find the first type kind of a Type definition pulled via introspection + * @param {object} type + */ +export const findTypeKind = type => + type?.kind || + type?.ofType?.kind || + type?.ofType?.ofType?.kind || + type?.ofType?.ofType?.ofType?.kind + +export const fieldOfTypeWasFetched = type => { + const { fetchedTypes } = store.getState().remoteSchema + const typeName = findTypeName(type) + const typeWasFetched = !!fetchedTypes.get(typeName) + + return typeWasFetched +} + +const supportedScalars = [ + `Int`, + `Float`, + `String`, + `Boolean`, + `ID`, + `Date`, + `JSON`, +] + +export const typeIsABuiltInScalar = type => + // @todo the next function and this one are redundant. + // see the next todo on how to fix the issue. If that todo is resolved, these functions will be identical. :( + supportedScalars.includes(findTypeName(type)) + +export const typeIsASupportedScalar = type => { + if (findTypeKind(type) !== `SCALAR`) { + // @todo returning true here seems wrong since a type that is not a scalar can't be a supported scalar... so there is some other logic elsewhere that is wrong + // making this return false causes errors in the schema + return true + } + + return supportedScalars.includes(findTypeName(type)) +} + +const typeSettingCache = {} + +// retrieves plugin settings for the provided type +export const getTypeSettingsByType = type => { + if (!type) { + return {} + } + + const typeName = findTypeName(type) + + const cachedTypeSettings = typeSettingCache[typeName] + + if (cachedTypeSettings) { + return cachedTypeSettings + } + + // the plugin options object containing every type setting + const allTypeSettings = store.getState().gatsbyApi.pluginOptions.type + + const typeSettings = cloneDeep(allTypeSettings[typeName] || {}) + + // the type.__all plugin option which is applied to every type setting + const __allTypeSetting = cloneDeep(allTypeSettings.__all || {}) + + if (typeName === `MediaItem`) { + delete __allTypeSetting.limit + delete typeSettings.limit + } + + if (typeSettings) { + const mergedSettings = merge(__allTypeSetting, typeSettings) + + typeSettingCache[typeName] = mergedSettings + + return mergedSettings + } + + typeSettingCache[typeName] = __allTypeSetting + + return __allTypeSetting +} + +/** + * This is used to filter the automatically generated type definitions before they're added to the schema customization api. + */ +export const filterTypeDefinition = ( + typeDefinition, + typeBuilderApi, + typeKind +) => { + const filters = typeDefinitionFilters.filter(filter => + [typeBuilderApi.type.name, `__all`].includes(filter.typeName) + ) + + if (filters?.length) { + filters.forEach(filter => { + if (filter && typeof filter.typeDef === `function`) { + typeDefinition = filter.typeDef( + typeDefinition, + typeBuilderApi, + typeKind + ) + } + }) + } + + return typeDefinition +} diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/index.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/index.js new file mode 100644 index 0000000000000..f5d593177fcba --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/index.js @@ -0,0 +1,95 @@ +import store from "~/store" + +import { fieldOfTypeWasFetched } from "./helpers" + +import buildType from "./build-types" +import { getGatsbyNodeTypeNames } from "../source-nodes/fetch-nodes/fetch-nodes" +import { typeIsExcluded } from "~/steps/ingest-remote-schema/is-excluded" + +/** + * createSchemaCustomization + */ +const customizeSchema = async ({ actions, schema }) => { + const state = store.getState() + + const { + gatsbyApi: { pluginOptions }, + remoteSchema, + } = state + + const { + fieldAliases, + fieldBlacklist, + ingestibles: { nonNodeRootFields }, + } = remoteSchema + + const typeDefs = [] + + const gatsbyNodeTypes = getGatsbyNodeTypeNames() + + const typeBuilderApi = { + typeDefs, + schema, + gatsbyNodeTypes, + fieldAliases, + fieldBlacklist, + pluginOptions, + } + + // create Gatsby node types + remoteSchema.introspectionData.__schema.types.forEach(type => { + if ( + fieldOfTypeWasFetched(type) && + !typeIsExcluded({ pluginOptions, typeName: type.name }) + ) { + switch (type.kind) { + case `UNION`: + buildType.unionType({ ...typeBuilderApi, type }) + break + case `INTERFACE`: + buildType.interfaceType({ ...typeBuilderApi, type }) + break + case `OBJECT`: + buildType.objectType({ ...typeBuilderApi, type }) + break + case `ENUM`: + buildType.enumType({ ...typeBuilderApi, type }) + break + case `SCALAR`: + /** + * custom scalar types aren't imlemented currently. + * @todo make this hookable so sub-plugins or plugin options can add custom scalar support. + */ + break + } + } + }) + + // Create non Gatsby node types by creating a single node + // where the typename is the type prefix + // The node fields are the non-node root fields of the remote schema + // like so: query { prefix { ...fields } } + buildType.objectType({ + ...typeBuilderApi, + type: { + kind: `OBJECT`, + name: pluginOptions.schema.typePrefix, + description: `Non-node WPGraphQL root fields.`, + fields: nonNodeRootFields, + interfaces: [`Node`], + }, + isAGatsbyNode: true, + }) + + actions.createTypes(typeDefs) +} + +const createSchemaCustomization = async api => { + try { + await customizeSchema(api) + } catch (e) { + api.reporter.panic(e) + } +} + +export { createSchemaCustomization } diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/default-resolver.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/default-resolver.js new file mode 100644 index 0000000000000..de217f48e02f9 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/default-resolver.js @@ -0,0 +1,62 @@ +import { findTypeName } from "~/steps/create-schema-customization/helpers" + +import { buildGatsbyNodeObjectResolver } from "~/steps/create-schema-customization/transform-fields/transform-object" + +export const buildDefaultResolver = transformerApi => (source, _, context) => { + const { fieldName, field, gatsbyNodeTypes } = transformerApi + + let finalFieldValue + + const resolvedField = source[fieldName] + + if (typeof resolvedField !== `undefined`) { + finalFieldValue = resolvedField + } + + const autoAliasedFieldPropertyName = `${fieldName}__typename_${field?.type?.name}` + + const aliasedField = source[autoAliasedFieldPropertyName] + + if ( + typeof resolvedField === `undefined` && + typeof aliasedField !== `undefined` + ) { + finalFieldValue = aliasedField + } + + // the findTypeName helpers was written after this resolver + // had been in production for a while. + // so we don't know if in all cases it will find the right typename + // for this resolver.. + // So the old way of doing it is above in autoAliasedFieldPropertyName + // @todo write comprehesive data resolution integration tests + // using many different WPGraphQL extensions + // then come back and remove the `return aliasedField` line and + // see if this still resolves everything properly + const typeName = findTypeName(field.type) + const autoAliasedFieldName = `${fieldName}__typename_${typeName}` + + const aliasedField2 = source[autoAliasedFieldName] + + if ( + typeof resolvedField === `undefined` && + typeof aliasedField2 !== `undefined` + ) { + finalFieldValue = aliasedField2 + } + + const isANodeConnection = + // if this field has just an id and typename + finalFieldValue?.id && + finalFieldValue?.__typename && + Object.keys(finalFieldValue).length === 2 && + // and it's a Gatsby Node type + gatsbyNodeTypes.includes(finalFieldValue.__typename) + + if (isANodeConnection) { + const gatsbyNodeResolver = buildGatsbyNodeObjectResolver(transformerApi) + return gatsbyNodeResolver(source, _, context) + } + + return finalFieldValue +} diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/field-transformers.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/field-transformers.js new file mode 100644 index 0000000000000..e9ce4739090d6 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/field-transformers.js @@ -0,0 +1,256 @@ +import { buildTypeName, findTypeName, findTypeKind } from "../helpers" +import { transformUnion, transformListOfUnions } from "./transform-union" +import { transformGatsbyNodeObject } from "~/steps/create-schema-customization/transform-fields/transform-object" +import { transformListOfGatsbyNodes } from "./transform-object" +import { getGatsbyNodeTypeNames } from "~/steps/source-nodes/fetch-nodes/fetch-nodes" +import { typeIsABuiltInScalar } from "~/steps/create-schema-customization/helpers" +import store from "~/store" +import { typeIsExcluded } from "~/steps/ingest-remote-schema/is-excluded" +import { getPluginOptions } from "~/utils/get-gatsby-api" + +export const fieldTransformers = [ + { + description: `NON_NULL Scalar`, + test: field => + field.type.kind === `NON_NULL` && field.type.ofType.kind === `SCALAR`, + + transform: ({ field }) => { + if (typeIsABuiltInScalar(field.type)) { + return `${field.type.ofType.name}!` + } else { + return `JSON!` + } + }, + }, + + { + description: `NON_NULL list type`, + test: field => + field.type.kind === `NON_NULL` && + field.type.ofType.kind === `LIST` && + (field.type.ofType.name || field.type.ofType?.ofType?.name), + + transform: ({ field }) => { + const typeName = findTypeName(field.type) + const normalizedTypeName = typeIsABuiltInScalar(field.type) + ? typeName + : buildTypeName(typeName) + + return `[${normalizedTypeName}]!` + }, + }, + + { + description: `NON_NULL lists of NON_NULL types`, + test: field => + field.type.kind === `NON_NULL` && + field.type.ofType.kind === `LIST` && + field.type.ofType?.ofType?.kind === `NON_NULL`, + + transform: ({ field, fieldName }) => { + const originalTypeName = findTypeName(field.type) + const typeKind = findTypeKind(field.type) + + const normalizedType = + typeKind === `SCALAR` && typeIsABuiltInScalar(field.type) + ? originalTypeName + : buildTypeName(originalTypeName) + + return { + type: `[${normalizedType}!]!`, + resolve: source => { + const resolvedField = source[fieldName] + + if (typeof resolvedField !== `undefined`) { + return resolvedField ?? [] + } + + const autoAliasedFieldPropertyName = `${fieldName}__typename_${field?.type?.name}` + + const aliasedField = source[autoAliasedFieldPropertyName] + + return aliasedField ?? [] + }, + } + }, + }, + + { + description: `Lists of NON_NULL builtin types`, + test: field => + field.type.kind === `LIST` && + field.type.ofType.kind === `NON_NULL` && + (field.type.ofType.name ?? field.type.ofType?.ofType?.name) && + typeIsABuiltInScalar(field.type), + + transform: ({ field }) => `[${findTypeName(field.type)}!]`, + }, + + { + description: `Lists of NON_NULL types`, + test: field => + field.type.kind === `LIST` && + field.type.ofType.kind === `NON_NULL` && + (field.type.ofType.name ?? field.type.ofType?.ofType?.name), + + transform: ({ field }) => `[${buildTypeName(findTypeName(field.type))}!]`, + }, + + { + description: `ENUM type`, + test: field => field.type.kind === `ENUM`, + transform: ({ field }) => buildTypeName(field.type.name), + }, + + { + description: `Scalar type`, + test: field => field.type.kind === `SCALAR`, + transform: ({ field }) => { + if (typeIsABuiltInScalar(field.type)) { + return field.type.name + } else { + // custom scalars are typed as JSON + // @todo if frequently requested, + // make this hookable so a plugin could register a custom scalar + return `JSON` + } + }, + }, + + { + description: `Gatsby Node Objects or Gatsby Node Interfaces where all possible types are Gatsby Nodes`, + test: field => { + const gatsbyNodeTypes = getGatsbyNodeTypeNames() + + const pluginOptions = getPluginOptions() + + const isAnInterfaceTypeOfGatsbyNodes = + // if this is an interface + field.type.kind === `INTERFACE` && + // and every possible type is a future gatsby node + store + .getState() + // get the full type for this interface + .remoteSchema.typeMap.get(findTypeName(field.type)) + // filter out any excluded types + .possibleTypes?.filter( + possibleType => + !typeIsExcluded({ + pluginOptions, + typeName: possibleType.name, + }) + ) + // if every remaining type is a Gatsby node type + // then use this field transformer + ?.every(possibleType => gatsbyNodeTypes.includes(possibleType.name)) + + return ( + (gatsbyNodeTypes.includes(field.type.name) && + field.type.kind === `OBJECT`) || + isAnInterfaceTypeOfGatsbyNodes + ) + }, + + transform: transformGatsbyNodeObject, + }, + + { + description: `Lists of Gatsby Node Object types`, + test: field => { + const gatsbyNodeTypes = getGatsbyNodeTypeNames() + + const { + remoteSchema: { typeMap }, + } = store.getState() + + return ( + // this is a list of Gatsby nodes + (field.type.kind === `LIST` && + field.type.ofType.kind === `OBJECT` && + gatsbyNodeTypes.includes(field.type.ofType.name)) || + // or it's a list of an interface type which Gatsby nodes implement + (field.type.kind === `LIST` && + field.type.ofType.kind === `INTERFACE` && + typeMap + .get(field.type.ofType.name) + ?.possibleTypes?.find(possibleType => + gatsbyNodeTypes.includes(possibleType.name) + )) + ) + }, + + transform: transformListOfGatsbyNodes, + }, + + { + description: `Non-Gatsby Node Objects`, + test: field => field.type.kind === `OBJECT`, + transform: ({ field }) => buildTypeName(field.type.name), + }, + + { + description: `Lists of Non Gatsby Node Objects`, + test: field => + field.type.kind === `LIST` && + (field.type.ofType.kind === `OBJECT` || + field.type.ofType.kind === `ENUM`), + + transform: ({ field }) => `[${buildTypeName(field.type.ofType.name)}]`, + }, + + { + description: `Lists of Union types`, + test: field => + field.type.kind === `LIST` && field.type.ofType.kind === `UNION`, + + transform: transformListOfUnions, + }, + + { + description: `Lists of Scalar types`, + test: field => + field.type.kind === `LIST` && field.type.ofType.kind === `SCALAR`, + + transform: ({ field }) => { + if (typeIsABuiltInScalar(field.type)) { + return `[${field.type.ofType.name}]` + } else { + return `[JSON]` + } + }, + }, + + { + description: `Lists of Interface types`, + test: field => + field.type.kind === `LIST` && field.type.ofType.kind === `INTERFACE`, + + transform: ({ field }) => `[${buildTypeName(field.type.ofType.name)}]`, + }, + + { + description: `Union type`, + test: field => field.type.kind === `UNION`, + transform: transformUnion, + }, + + { + description: `Interface type`, + test: field => field.type.kind === `INTERFACE`, + transform: ({ field }) => buildTypeName(field.type.name), + }, + + { + description: `Lists of NON_NULL types`, + test: field => + findTypeKind(field.type) !== `LIST` && field.type.kind === `NON_NULL`, + transform: ({ field }) => `${buildTypeName(findTypeName(field.type))}!`, + }, + + // for finding unhandled types + // { + // description: `Unhandled type`, + // test: () => true, + // transform: ({ field }) => dd(field), + // }, +] diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/index.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/index.js new file mode 100644 index 0000000000000..301015e885d02 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/index.js @@ -0,0 +1,198 @@ +import { fieldTransformers } from "./field-transformers" +import store from "~/store" + +import { + fieldOfTypeWasFetched, + typeIsASupportedScalar, + getTypeSettingsByType, + findTypeName, +} from "~/steps/create-schema-customization/helpers" + +import { buildDefaultResolver } from "./default-resolver" + +const handleCustomScalars = field => { + const fieldTypeIsACustomScalar = + field.type.kind === `SCALAR` && !typeIsASupportedScalar(field.type) + + if (fieldTypeIsACustomScalar) { + // if this field is an unsupported custom scalar, + // type it as JSON + field.type.name = `JSON` + } + + const fieldTypeOfTypeIsACustomScalar = + field.type.ofType && + field.type.ofType.kind === `SCALAR` && + !typeIsASupportedScalar(field.type) + + if (fieldTypeOfTypeIsACustomScalar) { + // if this field is an unsupported custom scalar, + // type it as JSON + field.type.ofType.name = `JSON` + } + + return field +} + +// this is used to alias fields that conflict with Gatsby node fields +// for ex Gatsby and WPGQL both have a `parent` field +export const getAliasedFieldName = ({ fieldAliases, field }) => + fieldAliases && fieldAliases[field.name] + ? fieldAliases[field.name] + : field.name + +export const returnAliasedFieldName = ({ fieldAliases, field }) => + fieldAliases && fieldAliases[field.name] + ? `${fieldAliases[field.name]}: ${field.name}` + : field.name + +const excludeField = ({ + field, + fieldName, + thisTypeSettings, + fieldBlacklist, + parentTypeSettings, + parentInterfacesImplementingTypeSettings, +}) => + // this field wasn't previously fetched, so we shouldn't + // add it to our schema + !fieldOfTypeWasFetched(field.type) || + // this field was excluded on it's parent fields Type + (parentTypeSettings.excludeFieldNames && + parentTypeSettings.excludeFieldNames.includes(fieldName)) || + // this field is on an interface type and one of the implementing types has this field excluded on it. + (parentInterfacesImplementingTypeSettings && + parentInterfacesImplementingTypeSettings.find( + typeSetting => + typeSetting.excludeFieldNames && + typeSetting.excludeFieldNames.find( + excludedFieldName => fieldName === excludedFieldName + ) + )) || + // the type of this field was excluded via plugin options + thisTypeSettings.exclude || + // field is blacklisted + fieldBlacklist.includes(fieldName) || + // this field has required input args + (field.args && field.args.find(arg => arg.type.kind === `NON_NULL`)) || + // this field has no typeName + !findTypeName(field.type) || + // field is a non null object + // @todo this looks unnecessary. Need to look into why non null object types are excluded + (field.type.kind === `NON_NULL` && field.type.ofType.kind === `OBJECT`) || + // field is a non null enum + (field.type.kind === `NON_NULL` && field.type.ofType.kind === `ENUM`) + +/** + * Transforms fields from the WPGQL schema to work in the Gatsby schema + * with proper node linking and type namespacing + * also filters out unusable fields and types + */ + +export const transformFields = ({ + fields, + fieldAliases, + fieldBlacklist, + parentType, + parentInterfacesImplementingTypes, + gatsbyNodeTypes, +}) => { + if (!fields || !fields.length) { + return null + } + + const parentTypeSettings = getTypeSettingsByType(parentType) + + const parentInterfacesImplementingTypeSettings = parentInterfacesImplementingTypes + ? parentInterfacesImplementingTypes.map(type => getTypeSettingsByType(type)) + : null + + const transformedFields = fields.reduce((fieldsObject, field) => { + // if there's no field name this field is unusable + if (field.name === ``) { + return fieldsObject + } + + const thisTypeSettings = getTypeSettingsByType(field.type) + + const fieldName = getAliasedFieldName({ fieldAliases, field }) + + if ( + excludeField({ + field, + fieldName, + thisTypeSettings, + fieldBlacklist, + parentTypeSettings, + parentInterfacesImplementingTypeSettings, + }) + ) { + return fieldsObject + } + + const { typeMap } = store.getState().remoteSchema + + const type = typeMap.get(findTypeName(field.type)) + + const includedChildFields = type?.fields?.filter(field => { + const childFieldTypeSettings = getTypeSettingsByType(field.type) + const fieldName = getAliasedFieldName({ fieldAliases, field }) + return !excludeField({ + field, + fieldName, + thisTypeSettings: childFieldTypeSettings, + fieldBlacklist, + parentTypeSettings: thisTypeSettings, + parentInterfacesImplementingTypeSettings, + }) + }) + + // if the child fields of this field are all excluded, + // we shouldn't add this field + // @todo move this to a central location. + // if a type is missing all it's child fields due to exclusion + // it should be globally excluded automatically. + if (Array.isArray(includedChildFields) && !includedChildFields.length) { + return fieldsObject + } + + field = handleCustomScalars(field) + + const { transform, description } = + fieldTransformers.find(({ test }) => test(field)) || {} + + if (transform && typeof transform === `function`) { + const transformerApi = { + field, + fieldsObject, + fieldName, + gatsbyNodeTypes, + description, + } + + let transformedField = transform(transformerApi) + + // add default resolver + if (typeof transformedField === `string`) { + // we need to add a custom resolver to override the default resolver + // and check for aliased fields + // fields are aliased automatically if they have conflicting types + // with other fields of the same name when placed in side-by-side + // inlineFragments on the same union or interface type. + transformedField = { + type: transformedField, + resolve: buildDefaultResolver(transformerApi), + description: field.description, + } + } else { + transformedField.description = field.description + } + + fieldsObject[fieldName] = transformedField + } + + return fieldsObject + }, {}) + + return transformedFields +} diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/transform-object.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/transform-object.js new file mode 100644 index 0000000000000..6c23ef581df32 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/transform-object.js @@ -0,0 +1,99 @@ +import { buildTypeName } from "~/steps/create-schema-customization/helpers" +import { fetchAndCreateSingleNode } from "~/steps/source-nodes/update-nodes/wp-actions/update" +import { getQueryInfoByTypeName } from "~/steps/source-nodes/helpers" +import { getGatsbyApi } from "~/utils/get-gatsby-api" +import { inPreviewMode } from "~/steps/preview/index" + +export const transformListOfGatsbyNodes = ({ field, fieldName }) => { + const typeName = buildTypeName(field.type.ofType.name) + + return { + type: `[${typeName}]`, + resolve: (source, args, context) => { + let nodes = null + + const field = source[fieldName] + + if (field && Array.isArray(field)) { + nodes = field + } else if (Array.isArray(source?.nodes)) { + nodes = source.nodes + } + + if (!nodes) { + return null + } + + return context.nodeModel.getNodesByIds({ + ids: nodes.map(node => node?.id), + type: typeName, + }) + }, + } +} + +export const buildGatsbyNodeObjectResolver = ({ field, fieldName }) => async ( + source, + _, + context +) => { + const typeName = buildTypeName(field.type.name) + const nodeField = source[fieldName] + + if (!nodeField || (nodeField && !nodeField.id)) { + return null + } + + const existingNode = context.nodeModel.getNodeById({ + id: nodeField.id, + type: typeName, + }) + + if (existingNode) { + return existingNode + } + + const queryInfo = getQueryInfoByTypeName(field.type.name) + + const isLazyMediaItem = + queryInfo.typeInfo.nodesTypeName === `MediaItem` && + queryInfo.settings.lazyNodes + + if ( + // only fetch/create nodes in resolvers for media items when they have lazyNodes enabled + !isLazyMediaItem && + // but if we're in preview mode we want to lazy fetch nodes + // because if nodes are limited we still want to lazy fetch connections + !inPreviewMode() + ) { + return null + } + + // if this node doesn't exist, fetch it and create a node + const { node } = await fetchAndCreateSingleNode({ + id: nodeField.id, + actionType: `CREATE`, + singleName: queryInfo.typeInfo.singularName, + }) + + if (source.id && node) { + const { helpers } = getGatsbyApi() + + await helpers.actions.createParentChildLink({ + parent: source, + child: node, + }) + } + + return node || null +} + +export const transformGatsbyNodeObject = transformerApi => { + const { field } = transformerApi + const typeName = buildTypeName(field.type.name) + + return { + type: typeName, + resolve: buildGatsbyNodeObjectResolver(transformerApi), + } +} diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/transform-union.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/transform-union.js new file mode 100644 index 0000000000000..052e57ced694a --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/transform-fields/transform-union.js @@ -0,0 +1,66 @@ +import { buildTypeName } from "~/steps/create-schema-customization/helpers" + +export const transformUnion = ({ field, fieldName }) => { + return { + type: buildTypeName(field.type.name), + resolve: (source, _, context) => { + const resolvedField = + source[fieldName] || + source[`${field.name}__typename_${field.type.name}`] + + if (resolvedField && resolvedField.id) { + const gatsbyNode = context.nodeModel.getNodeById({ + id: resolvedField.id, + type: resolvedField.type, + }) + + if (gatsbyNode) { + return gatsbyNode + } else { + return null + } + } + + return resolvedField + }, + } +} + +export const transformListOfUnions = ({ field, fieldName }) => { + const typeName = buildTypeName(field.type.ofType.name) + + return { + type: `[${typeName}]`, + resolve: (source, _, context) => { + const resolvedField = + source[fieldName] ?? + source[`${field.name}__typename_${field.type.name}`] + + if ( + (!resolvedField && resolvedField !== false) || + !resolvedField.length + ) { + return null + } + + return resolvedField.reduce((accumulator, item) => { + // @todo use our list of Gatsby node types to do a more performant check + // on wether this is a Gatsby node or not. + const node = item.id + ? context.nodeModel.getNodeById({ + id: item.id, + type: buildTypeName(item.__typename), + }) + : null + + if (node) { + accumulator.push(node) + } else if (!item.id) { + accumulator.push(item) + } + + return accumulator + }, []) + }, + } +} diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/type-filters.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/type-filters.js new file mode 100644 index 0000000000000..b81484f9fddd8 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/type-filters.js @@ -0,0 +1,108 @@ +import { createRemoteMediaItemNode } from "~/steps/source-nodes/create-nodes/create-remote-media-item-node" + +// @todo move this to plugin options +export const typeDefinitionFilters = [ + { + typeName: `__all`, + typeDef: typeDef => { + /** + * @todo once WPGraphQL has a DateTime Scalar, use that to find date fields + * instead of the below fieldnames + */ + + if (typeDef?.fields?.date) { + const dateField = { + ...typeDef.fields.date, + type: `Date`, + extensions: { + dateformat: {}, + }, + } + + typeDef.fields.date = dateField + } + + if (typeDef?.fields?.dateGmt) { + const dateField = { + ...typeDef.fields.dateGmt, + type: `Date`, + extensions: { + dateformat: {}, + }, + } + + typeDef.fields.dateGmt = dateField + } + + if (typeDef?.fields?.modified) { + const dateField = { + ...typeDef.fields.modified, + type: `Date`, + extensions: { + dateformat: {}, + }, + } + + typeDef.fields.modified = dateField + } + + if (typeDef?.fields?.modifiedGmt) { + const dateField = { + ...typeDef.fields.modifiedGmt, + type: `Date`, + extensions: { + dateformat: {}, + }, + } + + typeDef.fields.modifiedGmt = dateField + } + + return typeDef + }, + }, + { + typeName: `MediaItem`, + typeDef: objectType => { + // @todo: this field is deprecated as of 0.1.8, remove this when we get to beta + objectType.fields.remoteFile = { + type: `File`, + deprecationReason: `MediaItem.remoteFile was renamed to localFile`, + resolve: () => { + throw new Error( + `MediaItem.remoteFile is deprecated and has been renamed to MediaItem.localFile. Please update your code.` + ) + }, + } + + objectType.fields.localFile = { + type: `File`, + resolve: (mediaItemNode, _, context) => { + if (!mediaItemNode) { + return null + } + + const localMediaNodeId = mediaItemNode?.localFile?.id + + if (localMediaNodeId) { + const node = context.nodeModel.getNodeById({ + id: mediaItemNode.localFile.id, + type: `File`, + }) + + if (node) { + return node + } + } + + return createRemoteMediaItemNode({ + mediaItemNode, + parentName: `Creating File node while resolving missing MediaItem.localFile`, + }) + }, + } + + return objectType + }, + }, +] diff --git a/packages/gatsby-source-wordpress/src/steps/declare-plugin-options-schema.ts b/packages/gatsby-source-wordpress/src/steps/declare-plugin-options-schema.ts new file mode 100644 index 0000000000000..29f39b8b6bfbb --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/declare-plugin-options-schema.ts @@ -0,0 +1,846 @@ +import { Step } from "./../utils/run-steps" +import prettier from "prettier" + +const wrapOptions = (innerOptions): string => + prettier + .format( + `const something = { + resolve: \`gatsby-source-wordpress\`, options: { + ${innerOptions.trim()} + }, +}`, + { parser: `babel` } + ) + .replace(`const something = `, ``) + .replace(`;`, ``) + +export const pluginOptionsSchema: Step = ({ Joi }) => { + const getTypeOptions = (): any => + Joi.object({ + where: Joi.string() + .allow(null) + .allow(false) + .meta({ + example: wrapOptions(` + type: { + Page: { + where: \`language: \${process.env.GATSBY_ACTIVE_LANGUAGE}\` + }, + } + `), + }) + .description( + `This string is passed as the WPGraphQL "where" arguments in the GraphQL queries that are made while initially sourcing all data from WPGraphQL into Gatsby during an uncached build. A common use-case for this is only fetching posts of a specific language. It's often used in conjunction with the beforeChangeNode type option as "where" only affects the initial data sync from WP to Gatsby while beforeChangeNode will also run when syncing individual updates from WP to Gatsby.` + ), + exclude: Joi.boolean() + .allow(null) + .description( + `Completely excludes a type from node sourcing and from the ingested schema.` + ) + .meta({ + example: wrapOptions(` + type: { + Page: { + exclude: true, + }, + }, + `), + }), + limit: Joi.number() + .integer() + .allow(null) + .allow(false) + .description( + `The maximum amount of objects of this type to fetch from WordPress.` + ), + excludeFieldNames: Joi.array() + .items(Joi.string()) + .allow(null) + .allow(false) + .description(`Excludes fields on a type by field name.`) + .meta({ + example: wrapOptions(` + type: { + Page: { + excludeFieldNames: [\`dateGmt\`, \`parent\`], + }, + }, + `), + }), + nodeInterface: Joi.boolean() + .allow(null) + .allow(false) + .description( + `Determines wether or not this type will be treated as an interface comprised entirely of other Gatsby node types.` + ) + .meta({ + example: wrapOptions(` + type: { + Page: { + nodeInterface: true + } + } + `), + }), + beforeChangeNode: Joi.any() + .allow(null) + .allow(false) + .meta({ + trueType: `function`, + }) + .description( + `A function which is invoked before a node is created, updated, or deleted. This is a hook in point to modify the node or perform side-effects related to it.` + ), + }) + + const joiSchema = Joi.object({ + verbose: Joi.boolean() + .default(true) + .description( + `Enables verbose logging in the terminal. Set to \`false\` to turn it off.` + ) + .meta({ + example: wrapOptions(` + verbose: true,`), + }), + debug: Joi.object({ + preview: Joi.boolean() + .default(false) + .description( + `When set to true, this option will display additional information in the terminal output about the running preview process.` + ) + .meta({ + example: wrapOptions(` + debug: { + preview: true + }, + `), + }), + timeBuildSteps: Joi.boolean() + .default(false) + .description( + `When set to true, this option will display how long each internal step took during the build process.` + ) + .meta({ + example: wrapOptions(` + debug: { + timeBuildSteps: true, + }, + `), + }), + disableCompatibilityCheck: Joi.boolean() + .default(false) + .description( + `This option disables the compatibility API check against the remote WPGraphQL and WPGatsby plugin versions. Note that it's highly recommended to not disable this setting. If you disable this setting you will receive no support until it's re-enabled. It's also highly likely that you'll run into major bugs without initially realizing that this was the cause.\n\nThis option should only be used for debugging.` + ) + .meta({ + example: wrapOptions(` + debug: { + disableCompatibilityCheck: true, + }, + `), + }), + throwRefetchErrors: Joi.boolean() + .default(false) + .description( + `When this is set to true, errors thrown while updating data in gatsby develop will fail the build process instead of automatically attempting to recover.` + ) + .meta({ + example: wrapOptions(` + debug: { + throwRefetchErrors: true + } + `), + }), + graphql: Joi.object({ + showQueryVarsOnError: Joi.boolean() + .default(false) + .description( + `When a GraphQL error is returned and the process exits, this plugin option determines wether or not to log out the query vars that were used in the query that returned GraphQL errors.` + ) + .meta({ + example: wrapOptions(` + debug: { + graphql: { + showQueryVarsOnError: true, + }, + }, + `), + }), + showQueryOnError: Joi.boolean() + .default(false) + .description( + `If enabled, GraphQL queries will be printed to the terminal output when the query returned errors.` + ) + .meta({ + example: wrapOptions(` + debug: { + graphql: { + showQueryOnError: true + } + } + `), + }), + copyQueryOnError: Joi.boolean() + .default(false) + .description( + `If enabled, GraphQL queries will be copied to your OS clipboard (if supported) when the query returned errors.` + ) + .meta({ + example: wrapOptions(` + debug: { + graphql: { + copyQueryOnError: true + } + } + `), + }), + panicOnError: Joi.boolean() + .default(false) + .description( + `Determines wether or not to panic when any GraphQL error is returned. + +Default is false because sometimes non-critical errors are returned alongside valid data.` + ) + .meta({ + example: wrapOptions(` + debug: { + graphql: { + panicOnError: false, + }, + }, + `), + }), + onlyReportCriticalErrors: Joi.boolean() + .default(true) + .description( + `Determines wether or not to log non-critical errors. A non-critical error is any error which is returned alongside valid data. In previous versions of WPGraphQL this was very noisy because trying to access an entity that was private returned errors.` + ) + .meta({ + example: wrapOptions(` + debug: { + graphql: { + onlyReportCriticalErrors: true, + }, + }, + `), + }), + copyNodeSourcingQueryAndExit: Joi.string() + .allow(false) + .default(false) + .description( + `When a type name from the remote schema is entered here, the node sourcing query will be copied to the clipboard, and the process will exit.` + ) + .meta({ + example: wrapOptions(` + debug: { + graphql: { + copyNodeSourcingQueryAndExit: true + } + } + `), + }), + writeQueriesToDisk: Joi.boolean() + .default(false) + .description( + `When true, all internal GraphQL queries generated during node sourcing will be written out to \`./WordPress/GraphQL/[TypeName]/*.graphql\` for every type that is sourced. This is very useful for debugging GraphQL errors.` + ) + .meta({ + example: wrapOptions(` + debug: { + graphql: { + writeQueriesToDisk: true, + }, + }, + `), + }), + printIntrospectionDiff: Joi.boolean() + .default(false) + .description( + `When this is set to true it will print out the diff between types in the previous and new schema when the schema changes. This is enabled by default when debug.preview is enabled.` + ) + .meta({ + example: wrapOptions(` + debug: { + graphql: { + printIntrospectionDiff: true, + }, + }, + `), + }), + }) + .description( + `An object which contains GraphQL debugging options. See below for options.` + ) + .meta({ + example: wrapOptions(` + debug: { + graphql: { + // Add your options here :) + }, + }, + `), + }), + }) + .description( + `An object which contains options related to debugging. See below for options.` + ) + .meta({ + example: wrapOptions(` + debug: { + // Add your options here :) + }, + `), + }), + production: Joi.object({ + hardCacheMediaFiles: Joi.boolean() + .default(false) + .description( + `This option is experimental. When set to true, media files will be hard-cached outside the Gatsby cache at ./.wordpress-cache/path/to/media/file.jpeg. This is useful for preventing media files from being re-downloaded when the Gatsby cache automatically clears. When using this option, be sure to gitignore the wordpress-cache directory in the root of your project.` + ) + .meta({ + example: wrapOptions(` + production: { + hardCacheMediaFiles: true + } + `), + }), + allow404Images: Joi.boolean() + .default(false) + .description( + `This option allows images url's that return a 404 to not fail production builds.` + ) + .meta({ + example: wrapOptions(` + production: { + allow404Images: true + } + `), + }), + }), + develop: Joi.object({ + nodeUpdateInterval: Joi.number() + .integer() + .default(5000) + .description( + `Specifies in milliseconds how often Gatsby will ask WP if data has changed during development. If you want to see data update in near-realtime while you're developing, set this low. Your server may have trouble responding to too many requests over a long period of time and in that case, set this high. Setting it higher saves electricity too ⚡️🌲` + ) + .meta({ + example: wrapOptions(` + develop: { + nodeUpdateInterval: 300 + }, + `), + }), + hardCacheMediaFiles: Joi.boolean() + .default(false) + .description( + `This option is experimental. When set to true, media files will be hard-cached outside the Gatsby cache at \`./.wordpress-cache/path/to/media/file.jpeg\`. This is useful for preventing media files from being re-downloaded when the Gatsby cache automatically clears. When using this option, be sure to gitignore the wordpress-cache directory in the root of your project.` + ) + .meta({ + example: wrapOptions(` + develop: { + hardCacheMediaFiles: true, + }, + `), + }), + hardCacheData: Joi.boolean() + .default(false) + .description( + `This option is experimental. When set to true, WordPress data will be hard-cached outside the Gatsby cache in \`./.wordpress-cache/caches\`. This is useful for preventing the need to re-fetch all data when the Gatsby cache automatically clears. This hard cache will automatically clear itself when your remote WPGraphQL schema changes, or when you change your plugin options. + +When using this option, be sure to gitignore the wordpress-cache directory in the root of your project.` + ) + .meta({ + example: wrapOptions(` + develop: { + hardCacheData: false, + }, + `), + }), + }) + .description(`Options related to the gatsby develop process.`) + .meta({ + example: wrapOptions(` + develop: { + // options related to \`gatsby develop\` + }, + `), + }), + auth: Joi.object({ + htaccess: Joi.object({ + username: Joi.string() + .allow(null) + .default(null) + .description(`The username for your .htpassword protected site.`) + .meta({ + example: wrapOptions(` + auth: { + htaccess: { + username: \`admin\`, + }, + }, + `), + }), + password: Joi.string() + .allow(null) + .default(null) + .description(`The password for your .htpassword protected site.`) + .meta({ + example: wrapOptions(` + auth: { + htaccess: { + password: \`1234strong_password\`, + }, + }, + `), + }), + }) + .description(`Options related to htaccess authentication.`) + .meta({ + example: wrapOptions(` + auth: { + htaccess: { + // Add your options here :) + }, + }, + `), + }), + }) + .description(`Options related to authentication. See below for options.`) + .meta({ + example: wrapOptions(` + auth: { + // Add your options here :) + }, + `), + }), + schema: Joi.object({ + queryDepth: Joi.number() + .integer() + .positive() + .default(15) + .description( + `The maximum field depth the remote schema will be queried to.` + ) + .meta({ + example: wrapOptions(` + schema: { + queryDepth: 15 + } + `), + }), + circularQueryLimit: Joi.number() + .integer() + .positive() + .default(5) + .description( + `The maximum number times a type can appear as it's own descendant.` + ) + .meta({ + example: wrapOptions(` + schema: { + circularQueryLimit: 5 + } + `), + }), + typePrefix: Joi.string() + .default(`Wp`) + .description( + `The prefix for all ingested types from the remote schema. For example Post becomes WpPost.` + ) + .meta({ + example: wrapOptions(` + schema: { + typePrefix: \`Wp\`, + }, + `), + }), + timeout: Joi.number() + .integer() + .default(30 * 1000) + .description( + `The amount of time in ms before GraphQL requests will time out.` + ) + .meta({ + example: wrapOptions(` + schema: { + timeout: 30000, + }, + `), + }), + perPage: Joi.number() + .integer() + .default(100) + .description( + `The number of nodes to fetch per page during node sourcing.` + ) + .meta({ + example: wrapOptions(` + schema: { + perPage: 100, + }, + `), + }), + requestConcurrency: Joi.number() + .integer() + .default(15) + .description( + `The number of concurrent GraphQL requests to make at any time during node sourcing. Try lowering this if your WordPress server crashes while sourcing data.` + ) + .meta({ + example: wrapOptions(` + schema: { + requestConcurrency: 50, + }, + `), + }), + previewRequestConcurrency: Joi.number() + .integer() + .default(5) + .description( + `The number of concurrent GraphQL requests to make at any time during preview sourcing. Try lowering this if your WordPress server crashes during previews. Normally this wont be needed and only comes into effect when multiple users are previewing simultaneously.` + ) + .meta({ + example: wrapOptions(` + schema: { + previewRequestConcurrency: 50, + }, + `), + }), + }) + .description( + `Options related to fetching and ingesting the remote schema.` + ) + .meta({ + example: wrapOptions(` + schema: { + // Add your options here :) + }, + `), + }), + excludeFieldNames: Joi.array() + .items(Joi.string()) + .allow(null) + .description( + `A list of field names to globally exclude from the ingested schema.` + ) + .meta({ + example: wrapOptions(` + excludeFieldNames: [\`viewer\`], + `), + }), + html: Joi.object({ + useGatsbyImage: Joi.boolean() + .default(true) + .allow(null) + .description( + `Causes the source plugin to find/replace images in html with Gatsby images.` + ) + .meta({ + example: wrapOptions(` + html: { + useGatsbyImage: true, + }, + `), + }), + imageMaxWidth: Joi.number() + .integer() + .allow(null) + .default(null) + .description( + `Adds a limit to the max width an image can be. If the image size selected in WP is smaller or the image file width is smaller than this those values will be used instead.` + ) + .meta({ + example: wrapOptions(` + html: { + imageMaxWidth: 1024, + }, + `), + }), + fallbackImageMaxWidth: Joi.number() + .integer() + .allow(null) + .default(100) + .description( + `If a max width can't be inferred from html this value will be passed to Sharp. If the image is smaller than this, the image file's width will be used instead.` + ) + .meta({ + example: wrapOptions(` + html: { + fallbackImageMaxWidth: 800, + }, + `), + }), + imageQuality: Joi.number() + .integer() + .default(90) + .allow(null) + .description( + `Determines the image quality that Sharp will use when generating inline html image thumbnails.` + ) + .meta({ + example: wrapOptions(` + html: { + imageQuality: 90, + }, + `), + }), + createStaticFiles: Joi.boolean() + .default(true) + .allow(null) + .description( + `When this is true, any url's which are wrapped in "", '', or () and which contain /wp-content/uploads will be transformed into static files and the url's will be rewritten. This adds support for video, audio, and anchor tags which point at WP media item uploads as well as inline-html css like background-image: url().` + ) + .meta({ + example: wrapOptions(` + html: { + createStaticFiles: true, + }, + `), + }), + }) + .description(`Options related to html field processing.`) + .meta({ + example: wrapOptions(` + html: { + // Add your options here :) + }, + `), + }), + type: Joi.object({ + __all: getTypeOptions() + .description( + `A special type setting which is applied to all types in the ingested schema.` + ) + .meta({ + example: wrapOptions(` + type: { + __all: { + limit: 10, + }, + }, + `), + }), + RootQuery: getTypeOptions() + .append({ + excludeFieldNames: Joi.array() + .items(Joi.string()) + .allow(null) + .default([`viewer`, `node`, `schemaMd5`]) + .description(`Excludes fields on a type by field name.`), + }) + .default(`{ excludeFieldNames: ['viewer', 'node', 'schemaMd5'], },`) + .description( + `A special type which is applied to any non-node root fields that are ingested and stored under the root \`wp\` field. It accepts the same options as other types.` + ) + .meta({ + example: wrapOptions(` + RootQuery: { + excludeFieldNames: [\`viewer\`] + }, + `), + }), + MediaItem: Joi.object({ + lazyNodes: Joi.boolean() + .default(false) + .description( + `Enables a different media item sourcing strategy. Instead of fetching Media Items that are referenced by other nodes, Media Items will be fetched in connection resolvers from other nodes. This may be desireable if you're not using all of the connected images in your WP instance. This is not currently recommended because it messes up cli output and can be slow due to query running concurrency.` + ) + .meta({ + example: wrapOptions(` + type: { + MediaItem: { + lazyNodes: true, + }, + }, + `), + }), + localFile: Joi.object({ + excludeByMimeTypes: Joi.array() + .items(Joi.string()) + .default([]) + .description( + `Allows preventing the download of files associated with MediaItem nodes by their mime types.` + ) + .meta({ + example: wrapOptions(` + type: { + MediaItem: { + localFile: { + excludeByMimeTypes: [\`video/mp4\`] + }, + }, + }, + `), + }), + maxFileSizeBytes: Joi.number() + .integer() + .default(15728640) + .description( + `Allows preventing the download of files that are above a certain file size (in bytes). Default is 15mb.` + ) + .meta({ + example: wrapOptions(` + type: { + MediaItem: { + localFile: { + maxFileSizeBytes: 10485760 // 10Mb + }, + }, + }, + `), + }), + requestConcurrency: Joi.number() + .integer() + .default(100) + .description( + `Amount of images to download concurrently. Try lowering this if wordpress server crashes on import` + ) + .meta({ + example: wrapOptions(` + type: { + MediaItem: { + localFile: { + requestConcurrency: 50 + }, + }, + }, + `), + }), + }) + .description( + `Options related to File nodes that are attached to MediaItem nodes` + ) + .meta({ + example: wrapOptions(` + type: { + MediaItem: { + localFile: { + // Add your options here :) + } + } + }`), + }), + }), + }) + .pattern(Joi.string(), getTypeOptions()) + .description(`Options related to specific types in the remote schema.`) + .meta({ + example: wrapOptions(` + type: { + // Add your options here :) + }, + `), + }), + }).meta({ + // This is used in generating docs from this schema + // so that we can prevent generating all options + // nested inside themselves + portableOptions: true, + }) + + return Joi.object({ + url: Joi.string() + .required() + .description( + `This is the only plugin option which is required for the plugin to work properly. + +This should be the full url of your GraphQL endpoint.` + ) + .meta({ + example: wrapOptions(` + url: \`https://yoursite.com/graphql\` + `), + }), + }) + .concat(joiSchema) + .append({ + presets: Joi.array() + .items( + Joi.object({ + presetName: Joi.string() + .description(`The name of the plugin options preset.`) + .meta({ + example: wrapOptions(` + presets: [ + { + presetName: \`DEVELOP\` + } + ] + `), + }), + useIf: Joi.any() + .description( + `A function used to determine wether or not to apply this plugin options preset. It should return a boolean value. True will cause the preset to apply, false will disclude it.` + ) + .default(`() => false`) + .meta({ + trueType: `function`, + example: wrapOptions(` + presets: [ + { + useIf: () => process.env.NODE_ENV === \`development\` + } + ] + `), + }), + options: joiSchema + .description( + `Any valid options except for \`url\` and \`presets\`` + ) + .meta({ + example: wrapOptions(` + presets: [ + { + name: \`DEVELOP\`, + useIf: () => process.env.NODE_ENV === \`development\`, + options: { + type: { + __all: { + limit: 1 + } + } + } + } + ] + `), + }), + }) + ) + .meta({ + default: `[{ + presetName: \`PREVIEW_OPTIMIZATION\`, + useIf: (): boolean => process.env.NODE_ENV === \`development\` && + !!process.env.ENABLE_GATSBY_REFRESH_ENDPOINT || process.env.RUNNER_TYPE === \`PREVIEW\`, + options: { + html: { + useGatsbyImage: false, + createStaticFiles: false, + }, + type: { + __all: { + limit: 50, + }, + Comment: { + limit: 0, + }, + Menu: { + limit: null, + }, + MenuItem: { + limit: null, + }, + User: { + limit: null, + }, + }, + }, + }]`, + }) + .description( + `An array of plugin options presets that are applied if the useIf function on each returns true. The default includes an optimization for when in Gatsby Preview mode.` + ) + .allow(null), + }) +} diff --git a/packages/gatsby-source-wordpress/src/steps/index.ts b/packages/gatsby-source-wordpress/src/steps/index.ts new file mode 100644 index 0000000000000..2e93244e314ad --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/index.ts @@ -0,0 +1,20 @@ +export { setGatsbyApiToState } from "~/steps/set-gatsby-api-to-state" +export { ensurePluginRequirementsAreMet } from "~/steps/check-plugin-requirements" +export { ingestRemoteSchema } from "~/steps/ingest-remote-schema" +export { persistPreviouslyCachedImages } from "~/steps/persist-cached-images" +export { sourceNodes } from "~/steps/source-nodes" +export { createSchemaCustomization } from "~/steps/create-schema-customization" +export { setImageNodeIdCache } from "~/steps/set-image-node-id-cache" +export { startPollingForContentUpdates } from "~/steps/source-nodes/update-nodes/content-update-interval" +export { checkIfSchemaHasChanged } from "~/steps/ingest-remote-schema/diff-schemas" +export { setErrorMap } from "~/steps/set-error-map" +export { tempPreventMultipleInstances } from "~/steps/temp-prevent-multiple-instances" + +export { onPreExtractQueriesInvokeLeftoverPreviewCallbacks } from "./preview/cleanup" + +export { + onCreatePageRespondToPreviewStatusQuery, + onCreatepageSavePreviewNodeIdToPageDependency, +} from "./preview/on-create-page" + +export { pluginOptionsSchema } from "~/steps/declare-plugin-options-schema" diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-and-store-ingestible-root-field-non-node-queries.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-and-store-ingestible-root-field-non-node-queries.js new file mode 100644 index 0000000000000..ee4fff115d2e0 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-and-store-ingestible-root-field-non-node-queries.js @@ -0,0 +1,42 @@ +import store from "~/store" +import recursivelyTransformFields from "~/steps/ingest-remote-schema/build-queries-from-introspection/recursively-transform-fields" +import { buildSelectionSet } from "~/steps/ingest-remote-schema/build-queries-from-introspection/build-query-on-field-name" +import { generateReusableFragments } from "./build-queries-from-introspection/build-query-on-field-name" + +const buildNonNodeQueries = async () => { + const { + remoteSchema: { + ingestibles: { nonNodeRootFields }, + }, + } = store.getState() + + const fragments = {} + + // recursively transform fields + const transformedFields = recursivelyTransformFields({ + fields: nonNodeRootFields, + parentType: { + name: `RootQuery`, + type: `OBJECT`, + }, + fragments, + }) + + const selectionSet = buildSelectionSet(transformedFields) + + const builtFragments = generateReusableFragments({ + fragments, + selectionSet, + }) + + const nonNodeQuery = ` + query NON_NODE_QUERY { + ${selectionSet} + } + ${builtFragments} + ` + + store.dispatch.remoteSchema.setState({ nonNodeQuery }) +} + +export { buildNonNodeQueries } diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/build-node-queries.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/build-node-queries.js new file mode 100644 index 0000000000000..311c1a627162f --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/build-node-queries.js @@ -0,0 +1,38 @@ +import store from "~/store" +import { getGatsbyApi } from "~/utils/get-gatsby-api" +import generateNodeQueriesFromIngestibleFields from "~/steps/ingest-remote-schema/build-queries-from-introspection/generate-queries-from-ingestable-types" +import { getPersistentCache, setPersistentCache } from "~/utils/cache" + +/** + * buildNodeQueries + * + * Uses plugin options to introspect the remote GraphQL + * source, run cache logic, and generate GQL query strings/info + * + * @returns {Object} GraphQL query info including gql query strings + */ +const buildNodeQueries = async () => { + const { pluginOptions } = getGatsbyApi() + + const QUERY_CACHE_KEY = `${pluginOptions.url}--introspection-node-queries` + + let nodeQueries = await getPersistentCache({ key: QUERY_CACHE_KEY }) + + const { schemaWasChanged } = store.getState().remoteSchema + + if (schemaWasChanged || !nodeQueries) { + // regenerate queries from introspection + nodeQueries = await generateNodeQueriesFromIngestibleFields() + + // and cache them + await setPersistentCache({ key: QUERY_CACHE_KEY, value: nodeQueries }) + } + // set the queries in our redux store to use later + store.dispatch.remoteSchema.setState({ + nodeQueries, + }) + + return nodeQueries +} + +export { buildNodeQueries } diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/build-query-on-field-name.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/build-query-on-field-name.js new file mode 100644 index 0000000000000..2772ff469f16c --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/build-query-on-field-name.js @@ -0,0 +1,232 @@ +import compress from "graphql-query-compress" +import store from "~/store" +import { findTypeName } from "~/steps/create-schema-customization/helpers" + +const buildReusableFragments = ({ fragments }) => + Object.values(fragments) + .map( + ({ + name, + type, + fields, + inlineFragments, + }) => `fragment ${name} on ${type} { + ${buildSelectionSet(fields)} + ${buildInlineFragments(inlineFragments)} + }` + ) + .join(` `) + +/** + * Takes in a fragments object (built up during the buildSelectionSet function) + * transforms that object into an actual fragment, + * then checks for unused fragments and potential regenerates again + * with the unused fragments removed + */ +export const generateReusableFragments = ({ fragments, selectionSet }) => { + const fragmentsValues = Object.values(fragments) + + if (!fragmentsValues.length) { + return `` + } + + let builtFragments = buildReusableFragments({ fragments }) + + if (fragments) { + let regenerateFragments = false + + fragmentsValues.forEach(({ name, type }) => { + // if our query didn't use the fragment due to the query depth AND the fragment isn't used in another fragment, delete it + // @todo these fragments shouldn't be generated if they wont be used. + // if we fix this todo, we can use the buildReusableFragments function directly + // instead of running it twice to remove unused fragments + if ( + !selectionSet.includes(`...${name}`) && + !builtFragments.includes(`...${name}`) + ) { + delete fragments[type] + regenerateFragments = true + } + }) + + if (regenerateFragments) { + builtFragments = buildReusableFragments({ fragments }) + } + } + + return builtFragments +} + +export const buildNodesQueryOnFieldName = ({ + fieldName, + builtSelectionSet, + builtFragments = ``, + queryVariables = ``, + fieldVariables = ``, +}) => + compress( + buildQuery({ + queryName: `NODE_LIST_QUERY`, + variables: `$first: Int!, $after: String, ${queryVariables}`, + fieldName, + fieldVariables: `first: $first, after: $after, ${fieldVariables}`, + builtSelectionSet: ` + nodes { + ${builtSelectionSet} + } + pageInfo { + hasNextPage + endCursor + } + `, + builtFragments, + }) + ) + +const buildVariables = variables => + variables && typeof variables === `string` ? `(${variables})` : `` + +const buildInlineFragment = ({ name, fields, fragments }) => ` + ... on ${name} { + ${buildSelectionSet(fields, { fragments })} + } +` + +const buildInlineFragments = (inlineFragments, { fragments = {} } = {}) => + inlineFragments + ? ` + __typename + ${inlineFragments + .map(inlineFragment => + buildInlineFragment({ ...inlineFragment, fragments }) + ) + .join(` `)} + ` + : `` + +export const buildSelectionSet = ( + fields, + { fragments = {}, transformedInlineFragments = [] } = {} +) => { + if (!fields || !fields.length) { + return `` + } + + const { + remoteSchema: { typeMap }, + } = store.getState() + + const buildFieldSelectionSet = field => { + if (typeof field === `string`) { + return field + } + + let { + fieldName, + variables, + fields, + inlineFragments, + fieldType, + internalType, + builtSelectionSet, + } = field + + if (internalType === `Fragment`) { + return `...${field.fragment.name}` + } + + if ( + (!variables || variables === ``) && + fields?.find(field => field.fieldName === `nodes`) + ) { + // @todo instead of checking for a nodes field, include the field type here + // and check for input args instead. Maybe some kind of input args API or something would be helpful + variables = `first: 100` + } + + const selectionSet = + builtSelectionSet || + buildSelectionSet(fields, { + fragments, + }) + + const builtInlineFragments = buildInlineFragments(inlineFragments, { + fragments, + }) + + if (fieldName && (builtInlineFragments !== `` || selectionSet !== ``)) { + return ` + ${fieldName} ${buildVariables(variables)} { + ${selectionSet} + ${builtInlineFragments} + } + ` + } else if (fieldName) { + const fullFieldType = typeMap.get(findTypeName(fieldType)) + + // if this field has subfields but we didn't build a selection set for it + // we shouldn't fetch this field. This can happen when we have self referencing types that are limited by the schema.circularQueryLimit plugin option. + // @todo the above should be fixed in recursively-transform-fields.js instead of here. recursion is hard :p + if (fullFieldType.fields) { + return null + } + + return fieldName + } + + return null + } + + let inlineFragmentsSelectionSet = `` + + if (transformedInlineFragments?.length) { + inlineFragmentsSelectionSet = transformedInlineFragments.map( + inlineFragment => `... on ${inlineFragment.name} { + ${inlineFragment.fields.map(buildFieldSelectionSet).filter(Boolean) + .join(` + `)} + }` + ) + } + + const selectionSet = fields.map(buildFieldSelectionSet).filter(Boolean).join(` + `) + + return `${inlineFragmentsSelectionSet} ${selectionSet}` +} + +const buildQuery = ({ + queryName, + fieldName, + fieldVariables, + variables, + builtSelectionSet, + builtFragments = ``, +}) => ` + query ${queryName} ${buildVariables(variables)} { + ${fieldName} ${buildVariables(fieldVariables)} { + ${builtSelectionSet} + } + } + + ${builtFragments} +` + +export const buildNodeQueryOnFieldName = ({ + fieldName, + builtFragments, + builtSelectionSet, + variables = `$id: ID!`, + fieldInputArguments = `id: $id`, + queryName = `SINGLE_CONTENT_QUERY`, +}) => + compress( + buildQuery({ + queryName, + variables, + fieldName, + fieldVariables: fieldInputArguments, + builtFragments, + builtSelectionSet, + }) + ) diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/generate-queries-from-ingestable-types.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/generate-queries-from-ingestable-types.js new file mode 100644 index 0000000000000..274d56ee2bdcf --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/generate-queries-from-ingestable-types.js @@ -0,0 +1,350 @@ +import recursivelyTransformFields, { + transformInlineFragments, +} from "./recursively-transform-fields" + +import { + buildNodesQueryOnFieldName, + buildNodeQueryOnFieldName, + buildSelectionSet, + generateReusableFragments, +} from "./build-query-on-field-name" + +import clipboardy from "clipboardy" + +import store from "~/store" +import { getTypeSettingsByType } from "~/steps/create-schema-customization/helpers" +import prettier from "prettier" +import { formatLogMessage } from "~/utils/format-log-message" + +const recursivelyAliasFragments = field => + field.inlineFragments.map(fragment => { + // for each of this inlineFragments fields + fragment.fields = fragment.fields.map(fragmentField => { + if (typeof fragmentField === `string`) { + return fragmentField + } + + // compare it against each field of each other fragment + let updatedFragmentField = fragmentField + + field.inlineFragments.forEach(possiblyConflictingFragment => { + // don't compare this fragment against itself + if (possiblyConflictingFragment.name === fragment.name) { + return + } + + possiblyConflictingFragment.fields.forEach(possiblyConflictingField => { + const fieldNamesMatch = + fragmentField.fieldName === possiblyConflictingField.fieldName + + const fieldTypeKindsDontMatch = + possiblyConflictingField?.fieldType?.kind !== + fragmentField?.fieldType?.kind + + const fieldTypeNamesDontMatch = + possiblyConflictingField?.fieldType?.name !== + fragmentField?.fieldType?.name + + // if the fields have the same name but a different type kind + // alias them + if ( + fieldNamesMatch && + (fieldTypeKindsDontMatch || fieldTypeNamesDontMatch) + ) { + const autoAliasedFieldName = `${fragmentField.fieldName}__typename_${fragmentField.fieldType.name}: ${fragmentField.fieldName}` + + updatedFragmentField = { + ...fragmentField, + fieldName: autoAliasedFieldName, + } + + return + } + }) + }) + // if the fields have the same name but a different type AND the field has sub fields, compare those sub fields against any fragment fields subfields where the field name matches + // if any subfields have conflicting types, alias them + + if (updatedFragmentField.inlineFragments) { + updatedFragmentField.inlineFragments = recursivelyAliasFragments( + updatedFragmentField + ) + } + + return updatedFragmentField + }) + + return fragment + }) + +const aliasConflictingFieldFields = field => { + // we only have conflicting fields in inlineFragments + // if there are no inlineFragments, do nothing + if (!field.inlineFragments) { + return field + } + + field.inlineFragments = recursivelyAliasFragments(field) + + if (field.fields) { + field.fields = aliasConflictingFields({ + transformedFields: field.fields, + }) + } + + return field +} + +const aliasConflictingFields = ({ transformedFields }) => + transformedFields.map(aliasConflictingFieldFields) + +const aliasConflictingFragmentFields = ({ fragments }) => { + for (const [fragmentKey, fragment] of Object.entries(fragments)) { + const aliasedFragment = aliasConflictingFieldFields(fragment) + + fragments[fragmentKey] = aliasedFragment + } +} + +/** + * generateNodeQueriesFromIngestibleFields + * + * Takes in data from an introspection query and + * processes it to build GraphQL query strings/info + * + * @param {object} introspectionData + * @returns {Object} GraphQL query info including gql query strings + */ +const generateNodeQueriesFromIngestibleFields = async () => { + const { + remoteSchema, + gatsbyApi: { + helpers: { reporter }, + pluginOptions: { + debug: { + graphql: { copyNodeSourcingQueryAndExit }, + }, + }, + }, + } = store.getState() + + const { + fieldBlacklist, + nodeListFilter, + typeMap, + ingestibles: { nodeListRootFields }, + } = remoteSchema + + const rootFields = typeMap.get(`RootQuery`).fields + + const nodeQueries = {} + + for (const { type, name } of nodeListRootFields) { + if (fieldBlacklist.includes(name)) { + continue + } + + // nested fields + const fieldFields = typeMap.get(type.name).fields + + // a nested field containing a list of nodes + const nodesField = fieldFields.find(nodeListFilter) + + // the type of this query + const nodesType = typeMap.get(nodesField.type.ofType.name) + + const { fields, possibleTypes } = nodesType + + const settings = getTypeSettingsByType(nodesType) + + if (settings.exclude) { + continue + } + + let nodeListQueries = [] + + const singleNodeRootFieldInfo = rootFields.find( + field => field.type.name === nodesType.name + ) + + if (!singleNodeRootFieldInfo) { + // @todo handle cases where there is a nodelist field but no individual field. we can't do data updates or preview on this type. + reporter.warn( + formatLogMessage( + `Unable to find a single Node query for ${nodesType.name}\n\tThis type will not be available in Gatsby.\n` + ) + ) + continue + } + + const fragments = {} + + const singleFieldName = singleNodeRootFieldInfo?.name + + const transformedFields = recursivelyTransformFields({ + fields, + fragments, + parentType: type, + mainType: type, + }) + + // we need this for node interface types on the WPGQL side + transformedFields.push(`__typename`) + + let transformedInlineFragments + + if (possibleTypes) { + transformedInlineFragments = transformInlineFragments({ + possibleTypes, + fragments, + parentType: nodesType, + mainType: nodesType, + debug: true, + // normally we only want the id for gatsby node fields + // but in this case we're at the top level and need to query + // these fields + buildGatsbyNodeFields: true, + }) + + // alias conflicting inline fragment fields + transformedInlineFragments = transformedInlineFragments.map( + ({ fields, ...inlineFragment }) => { + return { + ...inlineFragment, + fields: aliasConflictingFields({ + transformedFields: fields, + }), + } + } + ) + } + + // mutates the fragments.. + aliasConflictingFragmentFields({ fragments }) + + const aliasedTransformedFields = aliasConflictingFields({ + transformedFields, + parentType: type, + }) + + const selectionSet = buildSelectionSet(aliasedTransformedFields, { + fieldPath: name, + fragments, + transformedInlineFragments, + }) + + const builtFragments = generateReusableFragments({ + fragments, + selectionSet, + }) + + const nodeQuery = buildNodeQueryOnFieldName({ + fields: transformedFields, + fieldName: singleFieldName, + settings, + builtFragments, + builtSelectionSet: selectionSet, + }) + + const previewQuery = buildNodeQueryOnFieldName({ + fields: transformedFields, + fieldName: singleFieldName, + fieldInputArguments: `id: $id, idType: ID, asPreview: true`, + queryName: `PREVIEW_QUERY`, + settings, + builtFragments, + builtSelectionSet: selectionSet, + }) + + const fieldVariables = settings.where ? `where: { ${settings.where} }` : `` + + if ( + settings.nodeListQueries && + typeof settings.nodeListQueries === `function` + ) { + const queries = settings.nodeListQueries({ + name, + fields, + selectionSet, + builtFragments, + singleFieldName, + singleNodeRootFieldInfo, + settings, + store, + fieldVariables, + remoteSchema, + transformedFields, + helpers: { + recursivelyTransformFields, + buildNodesQueryOnFieldName, + }, + }) + + if (queries && queries.length) { + nodeListQueries = queries + } + } + + if (!nodeListQueries || !nodeListQueries.length) { + const nodeListQuery = buildNodesQueryOnFieldName({ + fields: transformedFields, + fieldName: name, + fieldVariables, + settings, + builtFragments, + builtSelectionSet: selectionSet, + }) + + nodeListQueries = [nodeListQuery] + } + + if ( + process.env.NODE_ENV === `development` && + nodesType.name === copyNodeSourcingQueryAndExit + ) { + try { + reporter.log(``) + reporter.warn( + formatLogMessage( + `Query debug mode. Writing node list query for the ${nodesType.name} node type to the system clipboard and exiting\n\n` + ) + ) + await clipboardy.write( + prettier.format(nodeListQueries[0], { parser: `graphql` }) + ) + process.exit() + } catch (e) { + reporter.log(``) + reporter.error(e) + reporter.log(``) + reporter.warn( + formatLogMessage( + `Query debug mode failed. There was a failed attempt to copy the query for the ${nodesType.name} node type to your clipboard.\n\n` + ) + ) + reporter.error(e) + } + } + + // build a query info object containing gql query strings for fetching + // node lists or single nodes, as well as type info and plugin + // settings for this type + nodeQueries[name] = { + typeInfo: { + singularName: singleFieldName, + pluralName: name, + nodesTypeName: nodesType.name, + }, + nodeListQueries, + nodeQuery, + previewQuery, + selectionSet, + builtFragments, + settings, + } + } + + return nodeQueries +} + +export default generateNodeQueriesFromIngestibleFields diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/recursively-transform-fields.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/recursively-transform-fields.js new file mode 100644 index 0000000000000..0ee6a7bca018f --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/build-queries-from-introspection/recursively-transform-fields.js @@ -0,0 +1,730 @@ +import store from "~/store" +import { + getTypeSettingsByType, + findTypeName, + findTypeKind, +} from "~/steps/create-schema-customization/helpers" +import { fieldIsExcludedOnParentType } from "~/steps/ingest-remote-schema/is-excluded" +import { returnAliasedFieldName } from "~/steps/create-schema-customization/transform-fields" + +export const transformInlineFragments = ({ + possibleTypes, + gatsbyNodesInfo, + typeMap, + maxDepth, + parentType, + mainType, + parentField, + fragments, + circularQueryLimit, + buildGatsbyNodeFields = false, + depth = 0, + buildingFragment = false, + ancestorTypeNames: parentAncestorTypeNames = [], +}) => { + const state = store.getState() + + if (!typeMap) { + typeMap = state.remoteSchema.typeMap + } + + const { pluginOptions } = state.gatsbyApi + + if (!maxDepth) { + maxDepth = pluginOptions.schema.queryDepth + } + + if (!circularQueryLimit) { + circularQueryLimit = pluginOptions.circularQueryLimit + } + + if (!gatsbyNodesInfo) { + gatsbyNodesInfo = state.remoteSchema.gatsbyNodesInfo + } + + const ancestorTypeNames = [...parentAncestorTypeNames] + + const transformedInlineFragments = possibleTypes + .map(possibleType => { + possibleType = { ...possibleType } + + const type = typeMap.get(possibleType.name) + + if (!type) { + return false + } + + const typeSettings = getTypeSettingsByType(type) + + if (typeSettings.exclude) { + return false + } + + possibleType.type = { ...type } + + // save this type so we can use it in schema customization + store.dispatch.remoteSchema.addFetchedType(type) + + const isAGatsbyNode = gatsbyNodesInfo.typeNames.includes( + possibleType.name + ) + + if (isAGatsbyNode && !buildGatsbyNodeFields) { + // we use the id to link to the top level Gatsby node + possibleType.fields = [`id`] + return possibleType + } + + const typeInfo = typeMap.get(possibleType.name) + + let filteredFields = [...typeInfo.fields] + + if (parentType?.kind === `INTERFACE`) { + // remove any fields from our fragment if the parent type already has them as shared fields + filteredFields = filteredFields.filter( + filteredField => + !parentType.fields.find( + parentField => parentField.name === filteredField.name + ) + ) + } + + if (typeInfo) { + const fields = recursivelyTransformFields({ + fields: filteredFields, + parentType: type, + depth, + ancestorTypeNames, + fragments, + buildingFragment, + circularQueryLimit, + mainType, + parentField, + }) + + if (!fields || !fields.length) { + return false + } + + possibleType.fields = [...fields] + return possibleType + } + + return false + }) + .filter(Boolean) + + return possibleTypes && depth <= maxDepth ? transformedInlineFragments : null +} + +// since we're counting circular types that may be on fields many levels up, incarnation felt like it works here ;) the types are born again in later generations +const countIncarnations = ({ typeName, ancestorTypeNames }) => + ancestorTypeNames.length + ? ancestorTypeNames.filter( + ancestorTypeName => ancestorTypeName === typeName + )?.length + : 0 + +export function transformField({ + field, + gatsbyNodesInfo, + typeMap, + maxDepth, + depth, + fieldBlacklist, + fieldAliases, + ancestorTypeNames: parentAncestorTypeNames, + circularQueryLimit, + fragments, + buildingFragment, + mainType, +} = {}) { + const ancestorTypeNames = [...parentAncestorTypeNames] + + // we're potentially infinitely recursing when fields are connected to other types that have fields that are connections to other types + // so we need a maximum limit for that + if (depth > maxDepth) { + return false + } + + depth++ + + // if the field has no type we can't use it. + if (!field || !field.type) { + return false + } + + const typeSettings = getTypeSettingsByType(field.type) + + if (typeSettings.exclude) { + return false + } + + // count the number of times this type has appeared as an ancestor of itself + // somewhere up the tree + const typeName = findTypeName(field.type) + const typeKind = findTypeKind(field.type) + + const typeIncarnationCount = countIncarnations({ + typeName, + ancestorTypeNames, + }) + + if (typeIncarnationCount > 0) { + // this type is nested within itself atleast once + // create a fragment here that can be reused + createFragment({ + fields: typeMap.get(typeName).fields, + type: field.type, + fragments, + field, + ancestorTypeNames: parentAncestorTypeNames, + depth, + fieldBlacklist, + fieldAliases, + typeMap, + gatsbyNodesInfo, + circularQueryLimit, + queryDepth: maxDepth, + buildingFragment, + mainType, + }) + } + + if (typeIncarnationCount >= circularQueryLimit) { + return false + } + + // this is used to alias fields that conflict with Gatsby node fields + // for ex Gatsby and WPGQL both have a `parent` field + const fieldName = returnAliasedFieldName({ fieldAliases, field }) + + if ( + fieldBlacklist.includes(field.name) || + fieldBlacklist.includes(fieldName) + ) { + return false + } + + // remove fields that have required args. They'll cause query errors if ommitted + // and we can't determine how to use those args programatically. + if ( + field.args && + field.args.length && + field.args.find(arg => arg?.type?.kind === `NON_NULL`) + ) { + return false + } + + const fieldType = typeMap.get(findTypeName(field.type)) || {} + const ofType = typeMap.get(findTypeName(fieldType.ofType)) || {} + + if ( + fieldType.kind === `SCALAR` || + fieldType.kind === `ENUM` || + (fieldType.kind === `NON_NULL` && ofType.kind === `SCALAR`) || + (fieldType.kind === `LIST` && fieldType.ofType.kind === `SCALAR`) || + // a list of enums has no type name, so findTypeName above finds the enum type + // instead of the field type. Need to explicitly check here + // instead of using helpers + (field.type.kind === `LIST` && field.type?.ofType?.kind === `ENUM`) + ) { + return { + fieldName, + fieldType, + } + } + + const isListOfGatsbyNodes = + ofType && gatsbyNodesInfo.typeNames.includes(typeName) + + const isListOfMediaItems = ofType && typeName === `MediaItem` + + const hasIdField = fieldType?.fields?.find(({ name }) => name === `id`) + if ( + fieldType.kind === `LIST` && + isListOfGatsbyNodes && + !isListOfMediaItems && + hasIdField + ) { + return { + fieldName: fieldName, + fields: [`id`], + fieldType, + } + } else if (fieldType.kind === `LIST` && isListOfMediaItems && hasIdField) { + return { + fieldName: fieldName, + fields: [`__typename`, `id`], + fieldType, + } + } else if (fieldType.kind === `LIST`) { + const listOfType = typeMap.get(findTypeName(fieldType)) + + const transformedFields = recursivelyTransformFields({ + fields: listOfType.fields, + parentType: listOfType || fieldType, + depth, + ancestorTypeNames, + fragments, + circularQueryLimit, + buildingFragment, + mainType, + }) + + const transformedInlineFragments = transformInlineFragments({ + possibleTypes: listOfType.possibleTypes, + parentType: listOfType || fieldType, + parentField: field, + mainType, + gatsbyNodesInfo, + typeMap, + depth, + maxDepth, + ancestorTypeNames, + fragments, + circularQueryLimit, + buildingFragment, + }) + + if (!transformedFields?.length && !transformedInlineFragments?.length) { + return false + } + + // if we have either inlineFragments or fields + return { + fieldName: fieldName, + fields: transformedFields, + inlineFragments: transformedInlineFragments, + fieldType, + } + } + + const isAGatsbyNode = + // if this is a gatsby node type + gatsbyNodesInfo.typeNames.includes(typeName) || + // or this type has a possible type which is a gatsby node type + typeMap + .get(typeName) + ?.possibleTypes?.find(possibleType => + gatsbyNodesInfo.typeNames.includes(possibleType.name) + ) + + const isAMediaItemNode = isAGatsbyNode && typeName === `MediaItem` + + // pull the id and __typename for connections to media item gatsby nodes + if (isAMediaItemNode && hasIdField) { + return { + fieldName: fieldName, + fields: [`__typename`, `id`], + fieldType, + } + } else if (isAGatsbyNode && hasIdField) { + const isAnInterfaceType = + // if this is an interface + typeKind === `INTERFACE` || fieldType.kind === `INTERFACE` + + return { + fieldName: fieldName, + fields: isAnInterfaceType + ? // we need the typename for interfaces + [`id`, `__typename`] + : // or just the id for 1:1 connections to gatsby nodes + [`id`], + fieldType, + } + } + + const typeInfo = typeMap.get(findTypeName(fieldType)) + + const { fields } = typeInfo || {} + + let transformedInlineFragments + + if (typeInfo.possibleTypes) { + transformedInlineFragments = transformInlineFragments({ + possibleTypes: typeInfo.possibleTypes, + parentType: typeInfo, + parentField: field, + mainType, + gatsbyNodesInfo, + typeMap, + depth, + maxDepth, + ancestorTypeNames, + fragments, + circularQueryLimit, + buildingFragment, + }) + } + + if (fields || transformedInlineFragments) { + const transformedFields = recursivelyTransformFields({ + parentType: typeInfo, + parentFieldName: field.name, + mainType, + fields, + depth, + ancestorTypeNames, + parentField: field, + fragments, + circularQueryLimit, + buildingFragment, + }) + + if (!transformedFields?.length && !transformedInlineFragments?.length) { + return false + } + + return { + fieldName: fieldName, + fields: transformedFields, + inlineFragments: transformedInlineFragments, + fieldType, + } + } + + if (fieldType.kind === `UNION`) { + const typeInfo = typeMap.get(fieldType.name) + + const transformedFields = recursivelyTransformFields({ + fields: typeInfo.fields, + parentType: fieldType, + mainType, + depth, + ancestorTypeNames, + fragments, + circularQueryLimit, + buildingFragment, + }) + + const inlineFragments = transformInlineFragments({ + possibleTypes: typeInfo.possibleTypes, + gatsbyNodesInfo, + typeMap, + mainType, + depth, + maxDepth, + ancestorTypeNames, + parentField: field, + fragments, + circularQueryLimit, + buildingFragment, + }) + + return { + fieldName: fieldName, + fields: transformedFields, + inlineFragments, + fieldType, + } + } + + return false +} + +const createFragment = ({ + fields, + field, + type, + fragments, + fieldBlacklist, + fieldAliases, + typeMap, + gatsbyNodesInfo, + queryDepth, + ancestorTypeNames, + mainType, + buildingFragment = false, +}) => { + const typeName = findTypeName(type) + + if (buildingFragment) { + // this fragment is inside a fragment that's already being built so we should exit + return null + } + + const previouslyCreatedFragment = fragments?.[typeName] + + if (previouslyCreatedFragment && buildingFragment === typeName) { + return previouslyCreatedFragment + } + + const fragmentFields = fields.reduce((fragmentFields, field) => { + const fieldTypeName = findTypeName(field.type) + const fieldType = typeMap.get(fieldTypeName) + + if ( + // if this field is a different type than the fragment but has a field of the same type as the fragment, + // we need to skip this field in the fragment to prevent nesting this type in itself a level down + fieldType.name !== typeName && + fieldType?.fields?.find( + innerFieldField => findTypeName(innerFieldField.type) === typeName + ) + ) { + return fragmentFields + } + + const transformedField = transformField({ + field, + gatsbyNodesInfo, + typeMap, + maxDepth: queryDepth, + depth: 0, + fieldBlacklist, + fieldAliases, + ancestorTypeNames, + mainType, + circularQueryLimit: 1, + fragments, + buildingFragment: typeName, + }) + + if (findTypeName(field.type) !== typeName && !!transformedField) { + fragmentFields.push(transformedField) + } + + return fragmentFields + }, []) + + const queryType = typeMap.get(typeName) + + const transformedInlineFragments = queryType?.possibleTypes?.length + ? transformInlineFragments({ + possibleTypes: queryType.possibleTypes, + parentType: queryType, + parentField: field, + mainType, + gatsbyNodesInfo, + typeMap, + depth: 0, + maxDepth: queryDepth, + circularQueryLimit: 1, + ancestorTypeNames, + fragments, + buildingFragment: typeName, + }) + : null + + if (fragments) { + fragments[typeName] = { + name: `${typeName}Fragment`, + type: typeName, + fields: fragmentFields, + inlineFragments: transformedInlineFragments, + } + } + + return fragmentFields +} + +const transformFields = ({ + fields, + parentType, + mainType, + fragments, + parentField, + ancestorTypeNames, + depth, + fieldBlacklist, + fieldAliases, + typeMap, + gatsbyNodesInfo, + queryDepth, + circularQueryLimit, + pluginOptions, + buildingFragment, +}) => + fields + ?.filter( + field => + !fieldIsExcludedOnParentType({ + pluginOptions, + field, + parentType, + mainType, + parentField, + }) + ) + .map(field => { + const transformedField = transformField({ + maxDepth: queryDepth, + gatsbyNodesInfo, + fieldBlacklist, + fieldAliases, + typeMap, + field, + depth, + ancestorTypeNames, + circularQueryLimit, + fragments, + buildingFragment, + mainType, + parentField, + }) + + if (transformedField) { + // save this type so we know to use it in schema customization + store.dispatch.remoteSchema.addFetchedType(field.type) + } + + const typeName = findTypeName(field.type) + const fragment = fragments?.[typeName] + + // @todo add any adjacent fields and inline fragments directly to the stored fragment object so this logic can be changed to if (fragment) useTheFragment() + // once that's done it can be added above and below transformField() above ☝️ + // and potentially short circuit expensive work that will be thrown away anyway + if (fragment && transformedField && buildingFragment !== typeName) { + // if (fragment && buildingFragment !== typeName && transformedField) { + // remove fields from this query that already exist in the fragment + if (transformedField?.fields?.length) { + transformedField.fields = transformedField.fields.filter( + field => + !fragment.fields.find( + fragmentField => fragmentField.fieldName === field.fieldName + ) + ) + } + + // if this field has no fields (because it has inline fragments only) + // we need to create an empty array since we treat reusable fragments as + // a field + if (!transformedField.fields) { + transformedField.fields = [] + } + + transformedField.fields.push({ + internalType: `Fragment`, + fragment, + }) + + if (transformedField?.inlineFragments?.length) { + transformedField.inlineFragments = transformedField.inlineFragments.filter( + fieldInlineFragment => + // yes this is a horrible use of .find(). @todo refactor this for better perf + !fragment.inlineFragments.find( + fragmentInlineFragment => + fragmentInlineFragment.name === fieldInlineFragment.name + ) + ) + } + } + + if (field.fields && !transformedField) { + return null + } + + const fieldTypeKind = findTypeKind(field.type) + const fieldOfTypeKind = findTypeKind(field.type.ofType) + const typeKindsRequiringSelectionSets = [`OBJECT`, `UNION`, `INTERFACE`] + const fieldNeedsSelectionSet = + typeKindsRequiringSelectionSets.includes(fieldTypeKind) || + typeKindsRequiringSelectionSets.includes(fieldOfTypeKind) + + if ( + // if our field needs a selectionset + fieldNeedsSelectionSet && + // but we have no fields + !transformedField.fields && + // and no inline fragments + !transformedField.inlineFragments + ) { + // we need to discard this field to prevent GraphQL errors + // we're likely at the very bottom of the query depth + // so that this fields children were omitted + return null + } + + return transformedField + }) + .filter(Boolean) + +const recursivelyTransformFields = ({ + fields, + parentType, + mainType, + fragments, + parentField, + ancestorTypeNames: parentAncestorTypeNames, + depth = 0, + buildingFragment = false, +}) => { + if (!fields || !fields.length) { + return null + } + + if (!parentAncestorTypeNames) { + parentAncestorTypeNames = [] + } + + const ancestorTypeNames = [...parentAncestorTypeNames] + + const { + gatsbyApi: { pluginOptions }, + remoteSchema: { fieldBlacklist, fieldAliases, typeMap, gatsbyNodesInfo }, + } = store.getState() + + const { + schema: { queryDepth, circularQueryLimit }, + } = pluginOptions + + if (depth > queryDepth && ancestorTypeNames.length) { + return null + } + + const typeName = findTypeName(parentType) + + const grandParentTypeName = ancestorTypeNames.length + ? ancestorTypeNames[ancestorTypeNames.length - 1] + : null + + if (grandParentTypeName && typeName !== grandParentTypeName) { + // if a field has fields of the same type as the field above it + // we shouldn't fetch them. 2 types that are circular between each other + // are dangerous as they will generate very large queries and fetch data we don't need + // these types should instead be proper connections so we can identify + // that only an id needs to be fetched. + // @todo maybe move this into transformFields() instead of here + fields = fields.filter(field => { + const fieldTypeName = findTypeName(field.type) + return fieldTypeName !== grandParentTypeName + }) + } + + const typeIncarnationCount = countIncarnations({ + typeName, + ancestorTypeNames, + }) + + if (typeIncarnationCount >= circularQueryLimit) { + return null + } + + parentAncestorTypeNames.push(typeName) + + const recursivelyTransformedFields = transformFields({ + fields, + parentType, + mainType, + fragments, + parentField, + ancestorTypeNames: parentAncestorTypeNames, + depth, + fieldBlacklist, + fieldAliases, + typeMap, + gatsbyNodesInfo, + queryDepth, + circularQueryLimit, + pluginOptions, + buildingFragment, + }) + + if (!recursivelyTransformedFields.length) { + return null + } + + return recursivelyTransformedFields +} + +export default recursivelyTransformFields diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/cache-fetched-types.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/cache-fetched-types.js new file mode 100644 index 0000000000000..2a27df3c8a363 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/cache-fetched-types.js @@ -0,0 +1,11 @@ +import store from "~/store" +import { setPersistentCache } from "~/utils/cache" +export const cacheFetchedTypes = async () => { + const state = store.getState() + const { fetchedTypes } = state.remoteSchema + + await setPersistentCache({ + key: `previously-fetched-types`, + value: Array.from([...fetchedTypes]), + }) +} diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/diff-schemas.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/diff-schemas.js new file mode 100644 index 0000000000000..088d9c5b7bb80 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/diff-schemas.js @@ -0,0 +1,174 @@ +import url from "url" +import fetchGraphql from "~/utils/fetch-graphql" +import store from "~/store" +import { formatLogMessage } from "~/utils/format-log-message" +import { LAST_COMPLETED_SOURCE_TIME, MD5_CACHE_KEY } from "~/constants" + +import { ensurePluginRequirementsAreMet } from "../check-plugin-requirements" + +import { createContentDigest } from "gatsby-core-utils" + +import { + clearHardCache, + getHardCachedData, + getHardCachedNodes, + setPersistentCache, + getPersistentCache, +} from "~/utils/cache" + +const checkIfSchemaHasChanged = async ({ traceId }) => { + const state = store.getState() + + const { helpers, pluginOptions } = state.gatsbyApi + + const lastCompletedSourceTime = await helpers.cache.get( + LAST_COMPLETED_SOURCE_TIME + ) + + const activity = helpers.reporter.activityTimer( + formatLogMessage(`diff schemas`) + ) + + if (pluginOptions.verbose && lastCompletedSourceTime) { + activity.start() + } + + const { data } = await fetchGraphql({ + query: /* GraphQL */ ` + { + schemaMd5 + # also get the wpUrl to save on # of requests + # @todo maybe there's a better place for this + generalSettings { + url + } + } + `, + }) + + const { + schemaMd5, + generalSettings: { url: wpUrl }, + } = data + + if (url.parse(wpUrl).protocol !== url.parse(pluginOptions.url).protocol) { + helpers.reporter.log(``) + helpers.reporter.warn( + formatLogMessage(` + +The Url set in plugin options has a different protocol than the Url saved in WordPress general settings. + +options.url: ${pluginOptions.url} +WordPress settings: ${wpUrl} + +This may cause subtle bugs, or it may be fine. +Please consider addressing this issue by changing your WordPress settings or plugin options accordingly. + +`) + ) + } + + let cachedSchemaMd5 = await helpers.cache.get(MD5_CACHE_KEY) + + let foundUsableHardCachedData + + if (!cachedSchemaMd5) { + cachedSchemaMd5 = await getHardCachedData({ + key: MD5_CACHE_KEY, + }) + + foundUsableHardCachedData = + cachedSchemaMd5 && !!(await getHardCachedNodes()) + } + + await setPersistentCache({ key: MD5_CACHE_KEY, value: schemaMd5 }) + + const schemaWasChanged = schemaMd5 !== cachedSchemaMd5 + + // if the schema was changed and we had a cached schema + // we need to re-check to see if all plugin requirements are met + // this is also run as a step in gatsby-node.js but is skipped + // during refreshes. If the schema changes and this is a refresh + // we do want to re-check to make sure everything's good. + if ( + schemaWasChanged && + cachedSchemaMd5 && + traceId !== `initial-createSchemaCustomization` + ) { + await ensurePluginRequirementsAreMet({ + ...helpers, + traceId: `schemaWasChanged`, + }) + } + + const pluginOptionsMD5Key = `plugin-options-md5` + const lastPluginOptionsMD5 = await getPersistentCache({ + key: pluginOptionsMD5Key, + }) + + const pluginOptionsMD5 = createContentDigest({ + url: pluginOptions.url, + type: pluginOptions.type, + }) + + const shouldClearHardCache = + schemaWasChanged || lastPluginOptionsMD5 !== pluginOptionsMD5 + + if (shouldClearHardCache && foundUsableHardCachedData) { + await clearHardCache() + + foundUsableHardCachedData = false + } + + await setPersistentCache({ + key: pluginOptionsMD5Key, + value: pluginOptionsMD5, + }) + + if ( + lastCompletedSourceTime && + schemaWasChanged && + pluginOptions && + pluginOptions.verbose + ) { + helpers.reporter.log(``) + helpers.reporter.warn( + formatLogMessage(`The remote schema has changed, updating local schema.`) + ) + if (process.env.NODE_ENV === `development`) { + helpers.reporter.warn( + formatLogMessage( + `If the schema change includes a data change\nyou'll need to run \`gatsby clean && gatsby develop\` to see the data update.` + ) + ) + } + helpers.reporter.info( + formatLogMessage(`Cached schema md5: ${cachedSchemaMd5}`) + ) + helpers.reporter.info(formatLogMessage(`Remote schema md5: ${schemaMd5}`)) + helpers.reporter.log(``) + } else if (!lastCompletedSourceTime && pluginOptions.verbose) { + helpers.reporter.log(``) + helpers.reporter.info( + formatLogMessage( + `\n\n\tThis is either your first build or the cache was cleared.\n\tPlease wait while your WordPress data is synced to your Gatsby cache.\n\n\tMaybe now's a good time to get up and stretch? :D\n` + ) + ) + } + + // record wether the schema changed so other logic can beware + // as well as the wpUrl because we need this sometimes :p + store.dispatch.remoteSchema.setState({ + schemaWasChanged, + wpUrl, + foundUsableHardCachedData, + }) + + if (pluginOptions.verbose && lastCompletedSourceTime) { + activity.end() + } + + return schemaWasChanged +} + +export { checkIfSchemaHasChanged } diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/identify-and-store-ingestable-types.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/identify-and-store-ingestable-types.js new file mode 100644 index 0000000000000..c2a64131f195c --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/identify-and-store-ingestable-types.js @@ -0,0 +1,193 @@ +import store from "~/store" +import { typeIsExcluded } from "~/steps/ingest-remote-schema/is-excluded" +import { typeIsABuiltInScalar } from "../create-schema-customization/helpers" +import { findTypeName } from "~/steps/create-schema-customization/helpers" +import { getPersistentCache } from "~/utils/cache" + +const identifyAndStoreIngestableFieldsAndTypes = async () => { + const nodeListFilter = field => field.name === `nodes` + + const state = store.getState() + const { introspectionData, fieldBlacklist, typeMap } = state.remoteSchema + const { pluginOptions } = state.gatsbyApi + + const cachedFetchedTypes = await getPersistentCache({ + key: `previously-fetched-types`, + }) + + if (cachedFetchedTypes) { + const restoredFetchedTypesMap = new Map(cachedFetchedTypes) + + store.dispatch.remoteSchema.setState({ + fetchedTypes: restoredFetchedTypesMap, + }) + } + + if (pluginOptions.type) { + Object.entries(pluginOptions.type).forEach(([typeName, typeSettings]) => { + // our lazy types won't initially be fetched, + // so we need to mark them as fetched here + if ( + (typeSettings.lazyNodes || pluginOptions.type?.__all?.lazyNodes) && + !typeIsExcluded({ pluginOptions, typeName }) + ) { + const lazyType = typeMap.get(typeName) + store.dispatch.remoteSchema.addFetchedType(lazyType) + } + }) + } + + const interfaces = introspectionData.__schema.types.filter( + type => type.kind === `INTERFACE` + ) + + for (const interfaceType of interfaces) { + if (typeIsExcluded({ pluginOptions, typeName: interfaceType.name })) { + continue + } + + store.dispatch.remoteSchema.addFetchedType(interfaceType) + + if (interfaceType.fields) { + for (const interfaceField of interfaceType.fields) { + if (interfaceField.type) { + store.dispatch.remoteSchema.addFetchedType(interfaceField.type) + } + } + } + } + + const rootFields = typeMap.get(`RootQuery`).fields + + const nodeInterfaceTypes = [] + const nodeListRootFields = [] + const nonNodeRootFields = [] + const nodeInterfacePossibleTypeNames = [] + + for (const field of rootFields) { + const fieldHasNonNullArgs = field.args.some( + arg => arg.type.kind === `NON_NULL` + ) + + if (fieldHasNonNullArgs) { + // we can't know what those args should be, so skip this field + continue + } + + if (typeIsExcluded({ pluginOptions, typeName: field.type.name })) { + continue + } + + if (field.type.kind === `OBJECT`) { + const type = typeMap.get(field.type.name) + + const nodeField = type?.fields?.find(nodeListFilter) + + if (nodeField && nodeField.type.ofType.kind === `INTERFACE`) { + const nodeListField = type.fields.find(nodeListFilter) + + if (nodeListField) { + nodeInterfaceTypes.push(nodeListField.type.ofType.name) + + store.dispatch.remoteSchema.addFetchedType(nodeListField.type) + + const nodeListFieldType = typeMap.get(nodeListField.type.ofType.name) + + for (const innerField of nodeListFieldType.fields) { + store.dispatch.remoteSchema.addFetchedType(innerField.type) + } + + if ( + // if we haven't marked this as a nodeInterface type then push this to root fields to fetch it + // nodeInterface is different than a node which is an interface type. + // In Gatsby nodeInterface means the node data is pulled from a different type. On the WP side we can also have nodes that are of an interface type, but we only pull them from a single root field + // the problem is that if we don't mark them as a node list root field + // we don't know to identify them later as being a node type that will have been fetched and we also wont try to fetch this type during node sourcing. + !pluginOptions?.type?.[nodeListField.type.ofType.name] + ?.nodeInterface + ) { + const nodeInterfaceType = typeMap.get( + findTypeName(nodeListField.type) + ) + + // we need to mark all the possible types as being fetched + // and also need to record the possible type as a node type + for (const type of nodeInterfaceType?.possibleTypes || []) { + nodeInterfacePossibleTypeNames.push(type.name) + store.dispatch.remoteSchema.addFetchedType(type) + } + + nodeListRootFields.push(field) + } + + continue + } + } else if (nodeField) { + if (fieldBlacklist.includes(field.name)) { + continue + } + + store.dispatch.remoteSchema.addFetchedType(nodeField.type) + + nodeListRootFields.push(field) + continue + } + } + + if (fieldBlacklist.includes(field.name)) { + continue + } + + const takesIDinput = field?.args?.find(arg => arg.type.name === `ID`) + + // if a non-node root field takes an id input, we 99% likely can't use it. + // so don't fetch it and don't add it to the schema. + if (takesIDinput) { + continue + } + + if ( + // if this type is excluded on the RootQuery, skip it + pluginOptions.type.RootQuery?.excludeFieldNames?.find( + excludedFieldName => excludedFieldName === field.name + ) + ) { + continue + } + + // we don't need to mark types as fetched if they're supported SCALAR types + if (!typeIsABuiltInScalar(field.type)) { + store.dispatch.remoteSchema.addFetchedType(field.type) + } + + nonNodeRootFields.push(field) + } + + const nodeListFieldNames = nodeListRootFields.map(field => field.name) + + const nodeListTypeNames = [ + ...nodeInterfacePossibleTypeNames, + ...nodeListRootFields.map(field => { + const connectionType = typeMap.get(field.type.name) + + const nodesField = connectionType.fields.find(nodeListFilter) + return nodesField.type.ofType.name + }), + ] + + const gatsbyNodesInfo = { + fieldNames: nodeListFieldNames, + typeNames: nodeListTypeNames, + } + + store.dispatch.remoteSchema.setState({ + gatsbyNodesInfo, + ingestibles: { + nodeListRootFields, + nonNodeRootFields, + nodeInterfaceTypes, + }, + }) +} + +export { identifyAndStoreIngestableFieldsAndTypes } diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/index.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/index.js new file mode 100644 index 0000000000000..0ffe59e69f1f7 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/index.js @@ -0,0 +1,52 @@ +import { runSteps } from "~/utils/run-steps" +import { formatLogMessage } from "~/utils/format-log-message" + +import { checkIfSchemaHasChanged } from "./diff-schemas" +import { introspectAndStoreRemoteSchema } from "./introspect-remote-schema" +import { identifyAndStoreIngestableFieldsAndTypes } from "./identify-and-store-ingestable-types" +import { buildNonNodeQueries } from "./build-and-store-ingestible-root-field-non-node-queries" +import { buildNodeQueries } from "./build-queries-from-introspection/build-node-queries" +import { cacheFetchedTypes } from "./cache-fetched-types" +import { writeQueriesToDisk } from "./write-queries-to-disk" + +const ingestRemoteSchema = async (helpers, pluginOptions) => { + const schemaTimeKey = `lastIngestRemoteSchemaTime` + const lastIngestRemoteSchemaTime = await helpers.cache.get(schemaTimeKey) + + const ingestedSchemaInLastTenSeconds = + Date.now() - lastIngestRemoteSchemaTime <= 10000 + + if (lastIngestRemoteSchemaTime && ingestedSchemaInLastTenSeconds) { + // only allow this to run once every ten seconds + // this prevents thrashing when many webhooks are received at once + return + } + + await helpers.cache.set(schemaTimeKey, Date.now()) + + const activity = helpers.reporter.activityTimer( + formatLogMessage(`ingest WPGraphQL schema`) + ) + + activity.start() + + try { + await runSteps( + [ + checkIfSchemaHasChanged, + introspectAndStoreRemoteSchema, + identifyAndStoreIngestableFieldsAndTypes, + [buildNodeQueries, buildNonNodeQueries], + [cacheFetchedTypes, writeQueriesToDisk], + ], + helpers, + pluginOptions + ) + } catch (e) { + helpers.reporter.panic(e) + } + + activity.end() +} + +export { ingestRemoteSchema } diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/introspect-remote-schema.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/introspect-remote-schema.js new file mode 100644 index 0000000000000..2e9a8b694b1e6 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/introspect-remote-schema.js @@ -0,0 +1,93 @@ +import chalk from "chalk" +import * as diff from "diff" +import { uniqBy } from "lodash" +import store from "~/store" +import { setPersistentCache, getPersistentCache } from "~/utils/cache" +import fetchGraphql from "~/utils/fetch-graphql" +import { introspectionQuery } from "~/utils/graphql-queries" + +const introspectAndStoreRemoteSchema = async () => { + const state = store.getState() + const { pluginOptions } = state.gatsbyApi + const { schemaWasChanged } = state.remoteSchema + + const INTROSPECTION_CACHE_KEY = `${pluginOptions.url}--introspection-data` + let introspectionData = await getPersistentCache({ + key: INTROSPECTION_CACHE_KEY, + }) + + const printSchemaDiff = + pluginOptions?.debug?.graphql?.printIntrospectionDiff || + pluginOptions?.debug?.preview + + let staleIntrospectionData + + if (!introspectionData || schemaWasChanged) { + const { data } = await fetchGraphql({ + query: introspectionQuery, + }) + + if (introspectionData) { + staleIntrospectionData = introspectionData + } + + introspectionData = data + + // cache introspection response + await setPersistentCache({ + key: INTROSPECTION_CACHE_KEY, + value: introspectionData, + }) + } + + if (staleIntrospectionData && printSchemaDiff) { + console.log(`\nData changed in WordPress schema:`) + staleIntrospectionData.__schema.types.forEach(type => { + const staleTypeJSON = JSON.stringify(type, null, 2) + + const newType = introspectionData.__schema.types.find( + ({ name }) => name === type.name + ) + const newTypeJSON = JSON.stringify(newType, null, 2) + + if (staleTypeJSON === newTypeJSON) { + return + } + + const typeDiff = + type && newType ? uniqBy(diff.diffJson(type, newType), `value`) : null + + if (typeDiff?.length) { + console.log(`\nFound changes to the ${type.name} type\n`) + typeDiff.forEach(part => { + if (part.added || part.removed) { + console.log( + chalk.green( + chalk.bold(`${part.added ? `Added` : `Removed`}:\n`) + + part.value + .trim() + .split(`\n`) + .map( + (line, index) => + `${part.added ? `+` : `-`}${ + index === 0 ? `\t` : ` ` + }${line}` + ) + .join(`\n`) + ) + ) + } + }) + console.log(`\n`) + } + }) + } + + const typeMap = new Map( + introspectionData.__schema.types.map(type => [type.name, type]) + ) + + store.dispatch.remoteSchema.setState({ introspectionData, typeMap }) +} + +export { introspectAndStoreRemoteSchema } diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/is-excluded.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/is-excluded.js new file mode 100644 index 0000000000000..929dfe7596084 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/is-excluded.js @@ -0,0 +1,36 @@ +import store from "~/store" +import { findTypeName } from "~/steps/create-schema-customization/helpers" + +const typeIsExcluded = ({ pluginOptions, typeName }) => + pluginOptions && + pluginOptions.type[typeName] && + pluginOptions.type[typeName].exclude + +const fieldIsExcludedOnParentType = ({ pluginOptions, field, parentType }) => { + const allTypeSettings = pluginOptions.type + + const state = store.getState() + const { typeMap } = state.remoteSchema + + const fullType = typeMap.get(findTypeName(parentType)) + + const parentTypeNodesField = fullType?.fields?.find( + field => field.name === `nodes` + ) + + const parentTypeNodesFieldTypeName = findTypeName(parentTypeNodesField?.type) + + const fieldIsExcludedOnParentType = + // if this field is excluded on either the parent type + allTypeSettings[parentType?.name]?.excludeFieldNames?.includes( + field?.name + ) || + // or the parent type has a "nodes" field and that type has this field excluded + allTypeSettings[parentTypeNodesFieldTypeName]?.excludeFieldNames?.includes( + field?.name + ) + + return !!fieldIsExcludedOnParentType +} + +export { typeIsExcluded, fieldIsExcludedOnParentType } diff --git a/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/write-queries-to-disk.js b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/write-queries-to-disk.js new file mode 100644 index 0000000000000..dec94c0fd21f2 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/ingest-remote-schema/write-queries-to-disk.js @@ -0,0 +1,68 @@ +import fs from "fs-extra" +import store from "~/store" +import prettier from "prettier" +import { formatLogMessage } from "~/utils/format-log-message" + +export const writeQueriesToDisk = async ({ reporter }, pluginOptions) => { + if (!pluginOptions?.debug?.graphql?.writeQueriesToDisk) { + return + } + + const { remoteSchema } = store.getState() + + // the queries only change when the remote schema changes + // no need to write them to disk in that case + if (!remoteSchema.schemaWasChanged) { + return + } + + const activity = reporter.activityTimer( + formatLogMessage(`writing GraphQL queries to disk at ./WordPress/GraphQL/`) + ) + + activity.start() + const wordPressGraphQLDirectory = `${process.cwd()}/WordPress/GraphQL` + + // remove before writing in case there are old types + await fs.remove(wordPressGraphQLDirectory) + + for (const { + nodeListQueries, + nodeQuery, + previewQuery, + typeInfo, + } of Object.values(remoteSchema.nodeQueries)) { + const directory = `${wordPressGraphQLDirectory}/${typeInfo.nodesTypeName}` + + await fs.ensureDir(directory) + + await fs.writeFile( + `${directory}/node-list-query.graphql`, + prettier.format(nodeListQueries[0], { parser: `graphql` }), + `utf8` + ) + + await fs.writeFile( + `${directory}/node-single-query.graphql`, + prettier.format(nodeQuery, { parser: `graphql` }), + `utf8` + ) + + await fs.writeFile( + `${directory}/node-preview-query.graphql`, + prettier.format(previewQuery, { parser: `graphql` }), + `utf8` + ) + } + + const directory = `${wordPressGraphQLDirectory}/RootQuery` + + await fs.ensureDir(directory) + + await fs.writeFile( + `${directory}/non-node-root-query.graphql`, + prettier.format(remoteSchema.nonNodeQuery, { parser: `graphql` }) + ) + + activity.end() +} diff --git a/packages/gatsby-source-wordpress/src/steps/persist-cached-images.ts b/packages/gatsby-source-wordpress/src/steps/persist-cached-images.ts new file mode 100644 index 0000000000000..776a9c9b6919b --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/persist-cached-images.ts @@ -0,0 +1,29 @@ +import { Step } from "./../utils/run-steps" +import store from "~/store" +import { getGatsbyApi } from "~/utils/get-gatsby-api" +import { getPersistentCache } from "~/utils/cache" + +const persistPreviouslyCachedImages: Step = async (): Promise => { + const { helpers, pluginOptions } = getGatsbyApi() + + // get all existing media item nodes + const mediaItemNodes = helpers.getNodesByType( + `${pluginOptions.schema.typePrefix}MediaItem` + ) + + // and touch them so they aren't garbage collected. + // we will remove them as needed when receiving DELETE events from WP + mediaItemNodes.forEach(({ id }) => helpers.actions.touchNode({ nodeId: id })) + + const imageNodeMetaByUrl = await getPersistentCache({ + key: `image-node-meta-by-url`, + }) + + if (imageNodeMetaByUrl) { + store.dispatch.imageNodes.setState({ + nodeMetaByUrl: imageNodeMetaByUrl, + }) + } +} + +export { persistPreviouslyCachedImages } diff --git a/packages/gatsby-source-wordpress/src/steps/preview/cleanup.ts b/packages/gatsby-source-wordpress/src/steps/preview/cleanup.ts new file mode 100644 index 0000000000000..cd8eb2f1a6ab0 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/preview/cleanup.ts @@ -0,0 +1,91 @@ +import { inPreviewMode, PreviewStatusUnion } from "." +import { OnPageCreatedCallback } from "~/models/preview" +import store from "~/store" +import { NodePluginArgs } from "gatsby" + +/** + * This callback is invoked to send WP the preview status. In this case the status + * is that we couldn't find a page for the node being previewed + */ +const invokeLeftoverPreviewCallback = ({ + getNode, + status, + context, + error, +}: { + status: PreviewStatusUnion + context?: string + error?: Error + getNode: NodePluginArgs["getNode"] +}) => async ([nodeId, callback]: [string, OnPageCreatedCallback]): Promise< + void +> => { + const passedNode = getNode(nodeId) + + await callback({ + passedNode, + nodeId, + // we pass null as the path because no page was created for this node. + // if it had been, this callback would've been removed earlier in the process + pageNode: { path: null }, + status, + context, + error, + }) +} + +export const invokeAndCleanupLeftoverPreviewCallbacks = async ({ + status, + context, + error, +}: { + status: PreviewStatusUnion + context?: string + error?: Error +}): Promise => { + const state = store.getState() + + const { getNode } = state.gatsbyApi.helpers + + const leftoverCallbacks = state.previewStore.nodePageCreatedCallbacks + + const leftoverCallbacksExist = Object.keys(leftoverCallbacks).length + + if (leftoverCallbacksExist) { + await Promise.all( + Object.entries(leftoverCallbacks).map( + invokeLeftoverPreviewCallback({ getNode, status, context, error }) + ) + ) + + // after processing our callbacks, we need to remove them all so they don't get called again in the future + store.dispatch.previewStore.clearPreviewCallbacks() + } +} + +/** + * Preview callbacks are usually invoked during onCreatePage in Gatsby Preview + * so that we can send back the preview status of a created page to WP + * In the case that no page is created for the node we're previewing, we'll + * have callbacks hanging around and WP will not know the status of the preview + * So in onPreExtractQueries (which runs after pages are created), we check which + * preview callbacks haven't been invoked, and invoke them with a "NO_PAGE_CREATED_FOR_PREVIEWED_NODE" status, which sends that status to WP + * After invoking all these leftovers, we clear them out from the store so they aren't called again later. + */ +export const onPreExtractQueriesInvokeLeftoverPreviewCallbacks = async (): Promise< + void +> => { + if (!inPreviewMode()) { + return invokeAndCleanupLeftoverPreviewCallbacks({ + status: `GATSBY_PREVIEW_PROCESS_ERROR`, + context: `Gatsby is not in Preview mode.`, + }) + } + + // check for any onCreatePageCallbacks that weren't called during createPages + // we need to tell WP that a page wasn't created for the preview + return invokeAndCleanupLeftoverPreviewCallbacks({ + status: `NO_PAGE_CREATED_FOR_PREVIEWED_NODE`, + context: `invokeAndCleanupLeftoverPreviewCallbacks`, + }) +} diff --git a/packages/gatsby-source-wordpress/src/steps/preview/index.ts b/packages/gatsby-source-wordpress/src/steps/preview/index.ts new file mode 100644 index 0000000000000..e2a4454ab4c49 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/preview/index.ts @@ -0,0 +1,401 @@ +import { getPluginOptions } from "./../../utils/get-gatsby-api" +import { GatsbyHelpers } from "~/utils/gatsby-types" +import path from "path" +import fs from "fs-extra" +import chalk from "chalk" +import urlUtil from "url" +import PQueue from "p-queue" +import { dump } from "dumper.js" + +import { paginatedWpNodeFetch } from "~/steps/source-nodes/fetch-nodes/fetch-nodes-paginated" +import fetchGraphql from "~/utils/fetch-graphql" + +import store from "~/store" + +import { fetchAndCreateSingleNode } from "~/steps/source-nodes/update-nodes/wp-actions/update" +import { formatLogMessage } from "~/utils/format-log-message" +import { touchValidNodes } from "../source-nodes/update-nodes/fetch-node-updates" + +import { IPluginOptions } from "~/models/gatsby-api" +import { Reporter } from "gatsby" + +export const inPreviewMode = (): boolean => + !!process.env.ENABLE_GATSBY_REFRESH_ENDPOINT && + !!store.getState().previewStore.inPreviewMode + +export type PreviewStatusUnion = + | `PREVIEW_SUCCESS` + | `NO_PAGE_CREATED_FOR_PREVIEWED_NODE` + | `GATSBY_PREVIEW_PROCESS_ERROR` + | `RECEIVED_PREVIEW_DATA_FROM_WRONG_URL` + +export interface IWebhookBody { + previewDatabaseId: number + userDatabaseId: number + token: string + remoteUrl: string + modified: string + parentDatabaseId: number + id: string + isDraft: boolean + singleName: string + since?: number + refreshing?: boolean + preview?: boolean +} + +interface IPageNode { + path: string +} + +let previewQueue: PQueue + +const getPreviewQueue = (): PQueue => { + if (!previewQueue) { + const { + previewRequestConcurrency, + } = store.getState().gatsbyApi.pluginOptions.schema + + previewQueue = new PQueue({ + concurrency: previewRequestConcurrency, + carryoverConcurrencyCount: true, + }) + } + + return previewQueue +} + +// This checks wether or not we're already currently processing a preview +// for the passed preview id. +const previewForIdIsAlreadyBeingProcessed = (id: string): boolean => { + if (!id) { + return false + } + + const existingCallbacks = store.getState().previewStore + .nodePageCreatedCallbacks + + const alreadyProcessingThisPreview = !!existingCallbacks?.[id] + + return alreadyProcessingThisPreview +} + +/** + * For previews of draft posts, gatsby develop will throw a bunch of 404 errors + * while WPGatsby is trying to read page-data.json + * So we can write a dummy page-data.json if one doesn't exist. + * that way there will be no 404's and Gatsby will overwrite our dummy file when it + * needs to. + */ +const writeDummyPageDataJsonIfNeeded = async ({ + previewData, + pageNode, +}: { + previewData: IWebhookBody + pageNode: IPageNode +}): Promise => { + if (!previewData.isDraft) { + return + } + + const pageDataDirectory = path.join( + process.cwd(), + `public/page-data`, + pageNode.path + ) + + await fs.ensureDir(pageDataDirectory) + + const pageDataPath = path.join(pageDataDirectory, `page-data.json`) + + const pageDataExists = await fs.pathExists(pageDataPath) + + if (!pageDataExists) { + await fs.writeJSON(pageDataPath, { + isDraft: previewData.isDraft, + }) + } +} + +interface IOnPreviewStatusInput { + status: PreviewStatusUnion + context?: string + nodeId?: string + passedNode?: { + modified?: string + databaseId: number + } + pageNode?: IPageNode + graphqlEndpoint?: string + error?: Error +} + +const createPreviewStatusCallback = ({ + previewData, + reporter, +}: { + previewData: IWebhookBody + reporter: Reporter +}) => async ({ + passedNode, + pageNode, + context, + status, + graphqlEndpoint, + error, +}: IOnPreviewStatusInput): Promise => { + if (status === `PREVIEW_SUCCESS`) { + // we might need to write a dummy page-data.json so that + // Gatsby doesn't throw 404 errors when WPGatsby tries to read this file + // that maybe doesn't exist yet + await writeDummyPageDataJsonIfNeeded({ previewData, pageNode }) + } + + const statusContext = error?.message + ? `${context}\n\n${error.message}` + : context + + const { data } = await fetchGraphql({ + url: graphqlEndpoint, + query: /* GraphQL */ ` + mutation MUTATE_PREVIEW_NODE($input: WpGatsbyRemotePreviewStatusInput!) { + wpGatsbyRemotePreviewStatus(input: $input) { + success + } + } + `, + variables: { + input: { + clientMutationId: `sendPreviewStatus`, + modified: passedNode?.modified, + pagePath: pageNode?.path, + parentDatabaseId: + previewData.parentDatabaseId || previewData.previewDatabaseId, // if the parentDatabaseId is 0 we want to use the previewDatabaseId + status, + statusContext, + }, + }, + errorContext: `Error occurred while mutating WordPress Preview node meta.`, + forceReportCriticalErrors: true, + headers: { + WPGatsbyPreview: previewData.token, + WPGatsbyPreviewUser: previewData.userDatabaseId, + }, + }) + + if (data?.wpGatsbyRemotePreviewStatus?.success) { + reporter.log( + formatLogMessage( + `Successfully sent Preview status back to WordPress post ${previewData.id} during ${context}` + ) + ) + } else { + reporter.log( + formatLogMessage( + `failed to mutate WordPress post ${previewData.id} during Preview ${context}.\nCheck your WP server logs for more information.` + ) + ) + } +} + +/** + * This is called and passed the result from the ActionMonitor.previewData object along with a JWT token + * It sources a single preview and creates the callback that's invoked to send preview status back to WPGatsby. + * When the preview status is sent back to Gatsby, the preview action that this + * logic is processing is deleted in the WP instance. That's why we call + * previewForIdIsAlreadyBeingProcessed to see if another preview webhook + * already started processing for this action + */ +export const sourcePreview = async ( + { previewData, reporter }: { previewData: IWebhookBody; reporter: Reporter }, + { url }: IPluginOptions +): Promise => { + if (previewForIdIsAlreadyBeingProcessed(previewData?.id)) { + return + } + + const requiredProperties = [ + `previewDatabaseId`, + `id`, + `token`, + `remoteUrl`, + `parentDatabaseId`, + `modified`, + `userDatabaseId`, + ] + + const missingProperties = requiredProperties.filter( + property => !(property in previewData) + ) + + if (!previewData || missingProperties.length) { + reporter.warn( + formatLogMessage( + `sourcePreview was called but the required previewData properties weren't provided.` + ) + ) + reporter.info( + formatLogMessage( + `Missing properties: \n${JSON.stringify(missingProperties, null, 2)}` + ) + ) + reporter.log( + formatLogMessage(`previewData: \n${JSON.stringify(previewData, null, 2)}`) + ) + return + } + + await touchValidNodes() + + const { hostname: settingsHostname } = urlUtil.parse(url) + const { hostname: remoteHostname } = urlUtil.parse(previewData.remoteUrl) + + const sendPreviewStatus = createPreviewStatusCallback({ + previewData, + reporter, + }) + + if (settingsHostname !== remoteHostname) { + await sendPreviewStatus({ + status: `RECEIVED_PREVIEW_DATA_FROM_WRONG_URL`, + context: `check that the preview data came from the right URL.`, + passedNode: { + modified: previewData.modified, + databaseId: previewData.parentDatabaseId, + }, + graphqlEndpoint: previewData.remoteUrl, + }) + + reporter.warn( + formatLogMessage( + `Received preview data from a different remote URL than the one specified in plugin options. \n\n ${chalk.bold( + `Remote URL:` + )} ${previewData.remoteUrl}\n ${chalk.bold( + `Plugin options URL:` + )} ${url}` + ) + ) + + return + } + + store.dispatch.previewStore.setInPreviewMode(true) + + // this callback will be invoked when the page is created/updated for this node + // then it'll send a mutation to WPGraphQL so that WP knows the preview is ready + store.dispatch.previewStore.subscribeToPagesCreatedFromNodeById({ + nodeId: previewData.id, + modified: previewData.modified, + sendPreviewStatus, + }) + + await fetchAndCreateSingleNode({ + actionType: `PREVIEW`, + ...previewData, + previewParentId: previewData.parentDatabaseId, + isPreview: true, + }) +} + +/** + * This is called when the /__refresh endpoint is posted to from WP previews. + * It should only ever run in Preview mode, which is process.env.ENABLE_GATSBY_REFRESH_ENDPOINT = true + * It first sources all pending preview actions, then calls sourcePreview() for each of them. + */ +export const sourcePreviews = async ( + { webhookBody, reporter }: GatsbyHelpers, + pluginOptions: IPluginOptions +): Promise => { + const { + debug: { preview: inPreviewDebugMode }, + } = getPluginOptions() + + if (inPreviewDebugMode) { + reporter.info(`Sourcing previews for the following webhook:`) + dump(webhookBody) + } + + if (previewForIdIsAlreadyBeingProcessed(webhookBody?.id)) { + if (inPreviewDebugMode) { + reporter.info( + `Preview for id ${webhookBody?.id} is already being sourced.` + ) + } + return + } + + const previewActions = await paginatedWpNodeFetch({ + contentTypePlural: `actionMonitorActions`, + nodeTypeName: `ActionMonitor`, + headers: { + WPGatsbyPreview: webhookBody.token, + WPGatsbyPreviewUser: webhookBody.userDatabaseId, + }, + query: /* GraphQL */ ` + query PREVIEW_ACTIONS($after: String) { + actionMonitorActions( + where: { + previewStream: true + status: PRIVATE + orderby: { field: MODIFIED, order: DESC } + sinceTimestamp: ${ + // only source previews made in the last 10 minutes + Date.now() - 1000 * 60 * 10 + } + } + first: 100 + after: $after + ) { + nodes { + previewData { + id + isDraft + modified + parentDatabaseId + previewDatabaseId + remoteUrl + singleName + userDatabaseId + } + } + pageInfo { + hasNextPage + endCursor + } + } + } + `, + }) + + if (!previewActions?.length) { + if (inPreviewDebugMode) { + reporter.info( + `Preview for id ${webhookBody?.id} returned no action monitor actions.` + ) + } + return + } + + if (inPreviewDebugMode) { + reporter.info( + `Preview for id ${webhookBody?.id} returned the following actions:` + ) + dump(previewActions) + } + + const queue = getPreviewQueue() + + for (const { previewData } of previewActions) { + queue.add(() => + sourcePreview( + { + previewData: { ...previewData, token: webhookBody.token }, + reporter, + }, + pluginOptions + ) + ) + } + + await Promise.all([queue.onEmpty(), queue.onIdle()]) +} diff --git a/packages/gatsby-source-wordpress/src/steps/preview/on-create-page.ts b/packages/gatsby-source-wordpress/src/steps/preview/on-create-page.ts new file mode 100644 index 0000000000000..61397fccb8d3d --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/preview/on-create-page.ts @@ -0,0 +1,119 @@ +import { formatLogMessage } from "~/utils/format-log-message" +import store from "~/store" +import { GatsbyNodeApiHelpers } from "~/utils/gatsby-types" +import { inPreviewMode } from "." + +/** + * during onCreatePage we want to figure out which node the page is dependant on +and then store that page in state so we can return info about the page to WordPress +when the page is updated during Previews. +We do that by finding the node id on pageContext.id +Ideally we could detect this without the need for pageContext.id. +There was an attempt to use store.componentDataDependencies but my implementation +was buggy and unreliable. @todo it's worth trying to remove the need for +pageContext.id again in the future. + */ +export const onCreatepageSavePreviewNodeIdToPageDependency = ( + helpers: GatsbyNodeApiHelpers +): void => { + // if we're not in preview mode we don't want to track this + if (!inPreviewMode()) { + return + } + + const { page, getNode } = helpers + + const nodeThatCreatedThisPage = + page.context && page.context.id && getNode(page.context.id) + + if (nodeThatCreatedThisPage) { + store.dispatch.previewStore.saveNodePageState({ + nodeId: nodeThatCreatedThisPage.id, + page: { + path: page.path, + updatedAt: page.updatedAt, + }, + }) + } +} + +/** + * during onCreatePage we check if the node this page was created from + * has been updated and if it has a callback waiting for it + * if both of those things are true we invoke the callback to + * respond to the WP instance preview client + */ +export const onCreatePageRespondToPreviewStatusQuery = async ( + helpers: GatsbyNodeApiHelpers +): Promise => { + // if we're not in preview mode we don't want to set this up + if (!inPreviewMode()) { + return + } + + const { + nodePageCreatedCallbacks, + pagePathToNodeDependencyId, + } = store.getState().previewStore + + const { page, getNode } = helpers + + if ( + !nodePageCreatedCallbacks || + !Object.keys(nodePageCreatedCallbacks).length + ) { + return + } + + const nodeIdThatCreatedThisPage = + pagePathToNodeDependencyId?.[page.path]?.nodeId + + if (!nodeIdThatCreatedThisPage) { + return + } + + const nodePageCreatedCallback = + nodeIdThatCreatedThisPage && + nodePageCreatedCallbacks[nodeIdThatCreatedThisPage] + + if ( + !nodeIdThatCreatedThisPage || + typeof nodePageCreatedCallback !== `function` + ) { + return + } + + store.dispatch.previewStore.unSubscribeToPagesCreatedFromNodeById({ + nodeId: nodeIdThatCreatedThisPage, + }) + + const nodeThatCreatedThisPage = getNode(nodeIdThatCreatedThisPage) + + if (!nodeThatCreatedThisPage) { + helpers.reporter.warn( + formatLogMessage( + `There was an attempt to call a Preview onPageCreated callback for node ${nodeIdThatCreatedThisPage}, but no node was found.` + ) + ) + return + } + + // We need to add the modified time to pageContext so we can read it in WP + // This way can tell when the updated page has been deployed + if (!page.context.__wpGatsbyNodeModified) { + const pageCopy = { ...page } + pageCopy.context.__wpGatsbyNodeModified = nodeThatCreatedThisPage.modified + + const { deletePage, createPage } = helpers.actions + + deletePage(page) + createPage(pageCopy) + } + + await nodePageCreatedCallback({ + passedNode: nodeThatCreatedThisPage, + pageNode: page, + context: `onCreatePage Preview callback invocation`, + status: `PREVIEW_SUCCESS`, + }) +} diff --git a/packages/gatsby-source-wordpress/src/steps/preview/preview.md b/packages/gatsby-source-wordpress/src/steps/preview/preview.md new file mode 100644 index 0000000000000..759f7b188f74e --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/preview/preview.md @@ -0,0 +1,57 @@ +# Preview + +## How to set it up and use it + +- If you haven't already, you'll need + - A Gatsby site running on Gatsby Cloud, with CMS Previews enabled + - A publicly available WordPress instance with the following plugins installed: + - `WPGraphQL >= v0.15.0` + - `WPGatsby >= v0.6.0` +- Your Gatsby site should be configured to source data from your WordPress instance using `gatsby-source-wordpress`. This means pointing the `url` plugin option for that source plugin at your WordPress instance's `/graphql` endpoint. +- Visit the "CMS Previews" tab in Gatsby Cloud. +- Once your first Preview build has completed with all the necessary plugin versions mentioned above, copy the front-end url of your Preview instance from above the top of the list of completed preview builds. +- Go to your WPGatsby settings and paste the Preview frontend url there. +- Go back to Gatsby Cloud and visit the "Site Settings" tab. Scroll down to the webhook section and copy the Preview webhook. +- Go back to your WPGatsby settings and paste the Preview webhook url there. +- Go to a post or page you want to preview and click "preview" like you normally would in WordPress. +- If anything is misconfigured you will see an error with steps on how to proceed, otherwise you'll see a loading screen which will unveil your preview page once it's ready. + +## Caveats + +- Gutenberg and ACF do not work together for WP Previews. Gutenberg breaks ACF preview (this is not a Gatsby or WPGatsby problem), so if you want to preview ACF, you cannot use Gutenberg. +- You must add a node id to pageContext when creating pages if you want to be able to preview that page. If you don't do this, you'll see a misconfiguration error in the preview window. + +## How it works internally + +- The user presses "preview" from the WordPress admin screen +- There are some checks in place to determine wether or not this is a new preview or if it's a draft, regular post update or duplicate. If it is new a webhook should be sent to the Preview instance. +- Preview "save_post" calls are debounced (per-post) so that many webhooks within a 5 second interval for the same post will only send a single webhook. Different posts that are previewed at the same time will still trigger multiple preview builds (for now) but the preview loading logic will still work great in this case. +- The Preview webhook is POST'ed to with the following information: + - A JWT token which Gatsby can use to query private preview revision data. + - The parent database id of the revision + - Wether or not the preview is for a new post draft (or a regular draft) + - The type of the node being previewed + - The id of the revision (or draft) being previewed + - The URL of the WordPress instance which is sending the Preview + - Wether or not revisions are disabled + - The modified time of the node being previewed + - `preview: true` (the source plugin uses this to tell wether or not previews are being sourced) +- WPGatsby records wether or not the preview webhook was a success (to be used in optimistically loading the preview frontend) +- If the webhook is not online, WPGatsby will record an error in the WP debug log. +- On the Gatsby side, `sourceNodes` as a refresh is invoked via the refresh webhook and the source plugin detects this and invokes `sourcePreviews` instead of sourcing nodes. +- If the Preview was sent from a WP instance other than the one which the source plugin is configured to use, a preview status of `RECEIVED_PREVIEW_DATA_FROM_WRONG_URL` is sent back to WPGatsby for processing. +- The source plugin then stores (in memory) a callback which when invoked will send the preview status back to WPGatsby. +- Separately we have 2 functions that are invoked in `onCreatePage`, + - `onCreatepageSavePreviewNodeIdToPageDependency` which (in preview mode) stores up a map of node id's to pages created from them. In order to make this performant enough, WPGatsby Preview has a requirement that there's a node id in the pageContext of any page created in Gatsby that should be previewable. The node id in pageContext is used to create the nodeId → page map. + - `onCreatePageRespondToPreviewStatusQuery` This function checks if the currently created page's node has a preview status callback assigned to it. If it does it invokes the callback with a `PREVIEW_SUCCESS` status type, sending the preview status back to WPGatsby. After invoking it, the callback is removed from the internal store so that it can't be called again. +- In addition, there are a couple more places these preview status callbacks can be invoked. + - During `onPreExtractQueries` we check for any leftover callbacks which haven't been invoked earlier during `onCreatePage`. Any that haven't been invoked are not previewable. This is either because the created page didn't have a node id in pageContext, or because no page was created for the node being previewed. These leftover callbacks are invoked with a `NO_PAGE_CREATED_FOR_PREVIEWED_NODE` status and WPGatsby processes this status and displays steps on how to debug & fix. + - In the error boundary of `runSteps` any existing callbacks are invoked with a `GATSBY_PREVIEW_PROCESS_ERROR` status. A very generic error about which step the detailed error occurred in is passed along to WPGatsby on the `context` property of the callback. WPGatsby displays this generic error and encourages the user to check their preview logs. +- The preview logic sources the WPGraphQL node being previewed using the `asPreview` api from WPGraphQL and updates the Gatsby node. If a page is created as a result of this, the above `onCreatePage` logic will run which will in turn update the preview status in WPGatsby. +- While all of this is happening, WP has already opened the preview template. If the webhook that the current preview was posted to returned a `204` or `200` status, we optimistically try to load the preview ui and so display a Gatsby branded loading indicator. If the webhook returned another status, we show an error about the Gatsby Preview instance being offline. In both cases, we do a second in-browser check to see if the Preview instance really is online or offline. The reason for this is the webhook will not always be hit when the preview window is loaded or re-loaded. So the Preview instance could come online or offline in the meantime. +- If it takes longer than 45 seconds for the preview to be loaded, a loader warning will appear below the loading animation saying something may be wrong. There is also a "cancel and troubleshoot" button below the warning which when pressed will cancel the preview client from waiting for a response, and show debugging steps. +- In the case of WPGatsby misconfiguration (No preview frontend url/webhook set, or the current post type is not set to show in graphql) a different preview template will be loaded which displays an error with steps on how to remedy. +- If the preview client receives any error status (any status besides `PREVIEW_SUCCESS`) the error will be displayed and the loading icon animation will be removed. +- If the `PREVIEW_SUCCESS` status is received (along with the path the preview can be viewed at), the iframe will be updated to point to the preview frontend url + path. Once the iframe emits it's loaded event, the loader will be removed, unveiling the preview via the Gatsby Preview site. +- In addition to the above, to make the preview logic fast, Diffing the local and remote schemas before pulling preview data has been removed. Instead, we catch any GraphQL errors when updating previews, then re-run schema diffing. If the schemas are different, we regenerate our node sourcing queries and re-fetch the preview data. This means removing a field in WPGraphQL will not break previews unless the preview was specifically querying for that field. +- Upon realizing the above, it was trivial to enable similar functionality for all `gatsby develop`. Now whenever an action is received from WPGatsby, the source plugin will diff the schemas. If they're different, it will re-run `createSchemaCustomization` which will fetch the updated schema and update the Gatsby queries. This means you don't need to re-start Preview or `gatsby develop` when updating your remote schema! diff --git a/packages/gatsby-source-wordpress/src/steps/process-and-validate-plugin-options.ts b/packages/gatsby-source-wordpress/src/steps/process-and-validate-plugin-options.ts new file mode 100644 index 0000000000000..97e3c64973097 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/process-and-validate-plugin-options.ts @@ -0,0 +1,90 @@ +import { formatLogMessage } from "~/utils/format-log-message" +import isInteger from "lodash/isInteger" +import { IPluginOptions } from "~/models/gatsby-api" +import { GatsbyNodeApiHelpers } from "~/utils/gatsby-types" +interface IProcessorOptions { + userPluginOptions: IPluginOptions + helpers: GatsbyNodeApiHelpers +} + +interface IOptionsProcessor { + name: string + test: (options: IProcessorOptions) => boolean + processor: (options: IProcessorOptions) => IPluginOptions | void +} + +const optionsProcessors: Array = [ + { + name: `pluginOptions.type.MediaItem.limit is not allowed`, + test: ({ userPluginOptions }): boolean => + !!userPluginOptions?.type?.MediaItem?.limit, + processor: ({ helpers, userPluginOptions }): void => { + helpers.reporter.panic( + formatLogMessage( + `PluginOptions.type.MediaItem.limit is an disallowed plugin option.\nPlease remove the MediaItem.limit option from gatsby-config.js (currently set to ${userPluginOptions?.type?.MediaItem?.limit})\n\nMediaItem nodes are automatically limited to 0 and then fetched only when referenced by other node types. For example as a featured image, in custom fields, or in post_content.` + ) + ) + }, + }, + { + name: `queryDepth-is-not-a-positive-int`, + test: ({ userPluginOptions }: IProcessorOptions): boolean => + typeof userPluginOptions?.schema?.queryDepth !== `undefined` && + (!isInteger(userPluginOptions?.schema?.queryDepth) || + userPluginOptions?.schema?.queryDepth <= 0), + processor: ({ + helpers, + userPluginOptions, + }: IProcessorOptions): IPluginOptions => { + helpers.reporter.log(``) + helpers.reporter.warn( + formatLogMessage( + `\n\npluginOptions.schema.queryDepth is not a positive integer.\nUsing default value in place of provided value.\n`, + { useVerboseStyle: true } + ) + ) + + delete userPluginOptions.schema.queryDepth + + return userPluginOptions + }, + }, +] + +export const processAndValidatePluginOptions = ( + helpers: GatsbyNodeApiHelpers, + pluginOptions: IPluginOptions +): IPluginOptions => { + let userPluginOptions = { + ...pluginOptions, + } + + optionsProcessors.forEach(({ test, processor, name }) => { + if (!name) { + helpers.reporter.panic( + formatLogMessage( + `Plugin option filter is unnamed\n\n${test.toString()}\n\n${processor.toString()}` + ) + ) + } + + if (test({ helpers, userPluginOptions })) { + const filteredUserPluginOptions = processor({ + helpers, + userPluginOptions, + }) + + if (filteredUserPluginOptions) { + userPluginOptions = filteredUserPluginOptions + } else { + helpers.reporter.panic( + formatLogMessage( + `Plugin option filter ${name} didn't return a filtered options object` + ) + ) + } + } + }) + + return userPluginOptions +} diff --git a/packages/gatsby-source-wordpress/src/steps/set-error-map.ts b/packages/gatsby-source-wordpress/src/steps/set-error-map.ts new file mode 100644 index 0000000000000..b573a2b4caa93 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/set-error-map.ts @@ -0,0 +1,8 @@ +import { GatsbyReporter } from "~/utils/gatsby-types" +import { ERROR_MAP } from "../utils/report" + +export function setErrorMap({ reporter }: { reporter: GatsbyReporter }): void { + if (reporter.setErrorMap) { + reporter.setErrorMap(ERROR_MAP) + } +} diff --git a/packages/gatsby-source-wordpress/src/steps/set-gatsby-api-to-state.ts b/packages/gatsby-source-wordpress/src/steps/set-gatsby-api-to-state.ts new file mode 100644 index 0000000000000..85fbc5d1f7f77 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/set-gatsby-api-to-state.ts @@ -0,0 +1,51 @@ +import store from "~/store" +import { processAndValidatePluginOptions } from "./process-and-validate-plugin-options" +import { formatLogMessage } from "../utils/format-log-message" +import { IPluginOptions } from "~/models/gatsby-api" +import { GatsbyNodeApiHelpers } from "~/utils/gatsby-types" + +let hasDisplayedPreviewPresetMessage = false + +const setGatsbyApiToState = ( + helpers: GatsbyNodeApiHelpers, + pluginOptions: IPluginOptions +): void => { + if (helpers.traceId === `refresh-createSchemaCustomization`) { + return + } + + const filteredPluginOptions = processAndValidatePluginOptions( + helpers, + pluginOptions + ) + + // + // add the plugin options and Gatsby API helpers to our store + // to access them more easily + store.dispatch.gatsbyApi.setState({ + helpers, + pluginOptions: filteredPluginOptions, + }) + + if (!hasDisplayedPreviewPresetMessage) { + const { activePluginOptionsPresets, helpers } = store.getState().gatsbyApi + + if (activePluginOptionsPresets?.length) { + const previewOptimizationPreset = activePluginOptionsPresets.find( + ({ presetName }) => presetName === `PREVIEW_OPTIMIZATION` + ) + + if (previewOptimizationPreset) { + helpers.reporter.info( + formatLogMessage( + `\nSince the "Preview Optimization" plugin option preset is enabled\nwe aren't fetching more than ${previewOptimizationPreset.options.type.__all.limit} nodes of each type.\nAdditionally, Gatsby image and static file links in HTML fields are disabled.\nIf you want to change this, please check the Preview docs for this plugin.\nhttps://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/features/preview.md` + ) + ) + } + } + + hasDisplayedPreviewPresetMessage = true + } +} + +export { setGatsbyApiToState } diff --git a/packages/gatsby-source-wordpress/src/steps/set-image-node-id-cache.ts b/packages/gatsby-source-wordpress/src/steps/set-image-node-id-cache.ts new file mode 100644 index 0000000000000..f75f79b68295f --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/set-image-node-id-cache.ts @@ -0,0 +1,21 @@ +import store from "~/store" +import { setPersistentCache } from "~/utils/cache" + +// since we create image nodes in resolvers +// we cache our image node id's on post build for production +// and on create dev server for development +// so we can touch our image nodes in both develop and build +// so they don't get garbage collected by Gatsby +const setImageNodeIdCache = async (): Promise => { + const state = store.getState() + const { imageNodes } = state + + if (imageNodes.nodeMetaByUrl) { + await setPersistentCache({ + key: `image-node-meta-by-url`, + value: imageNodes.nodeMetaByUrl, + }) + } +} + +export { setImageNodeIdCache } diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/before-change-node/menu.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/before-change-node/menu.js new file mode 100644 index 0000000000000..dd4391287ef20 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/before-change-node/menu.js @@ -0,0 +1,31 @@ +import { getGatsbyApi } from "~/utils/get-gatsby-api" + +const deleteMenuNodeChildMenuItems = node => { + const { + pluginOptions, + helpers: { getNodesByType, actions }, + } = getGatsbyApi() + + const allMenuItems = getNodesByType( + `${pluginOptions.schema.typePrefix}MenuItem` + ) + + const allMenuItemsNodesWithThisMenuIdAsAParent = allMenuItems.filter( + menuItemNode => menuItemNode.menu.node.id === node.id + ) + + for (const menuItemNode of allMenuItemsNodesWithThisMenuIdAsAParent) { + actions.deleteNode({ + node: menuItemNode, + }) + } +} + +export const menuBeforeChangeNode = async api => { + if (api.remoteNode && api.actionType === `DELETE`) { + // delete child menu items + return deleteMenuNodeChildMenuItems(api.remoteNode) + } + + return null +} diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-nodes.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-nodes.js new file mode 100644 index 0000000000000..262056ebd449d --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-nodes.js @@ -0,0 +1,177 @@ +import PQueue from "p-queue" +import fetchReferencedMediaItemsAndCreateNodes from "../fetch-nodes/fetch-referenced-media-items" +import urlToPath from "~/utils/url-to-path" +import store from "~/store" +import fetchGraphql from "~/utils/fetch-graphql" + +import { + buildTypeName, + getTypeSettingsByType, +} from "~/steps/create-schema-customization/helpers" +import { processNode } from "./process-node" + +// @todo concurrency is currently set so low because side effects can overwhelm +// the remote server. A queue for the entire source plugin should be created so that +// everything can share a queue and we can speed some of these things up +const createNodesQueue = new PQueue({ + concurrency: 2, +}) + +export const createNodeWithSideEffects = ({ + node, + state, + wpgqlNodesGroup = null, + referencedMediaItemNodeIds = new Set(), + createdNodeIds = [], + createNodesActivity = null, + totalSideEffectNodes = null, + type = null, +}) => async () => { + const { wpUrl } = state.remoteSchema + const { helpers, pluginOptions } = state.gatsbyApi + + const { actions, createContentDigest } = helpers + + if (node.link) { + // @todo is this still necessary? I don't think it is but double check + // create a pathname for the node using the WP permalink + node.path = urlToPath(node.link) + } + + if (wpgqlNodesGroup?.plural !== `mediaItems`) { + node = await processNode({ + node, + pluginOptions, + referencedMediaItemNodeIds, + wpUrl, + helpers, + }) + } + + let remoteNode = { + ...node, + id: node.id, + parent: null, + internal: { + contentDigest: createContentDigest(node), + type: type || buildTypeName(node.type), + }, + } + + const typeSettings = getTypeSettingsByType({ + name: node.type, + }) + + if (typeof typeSettings?.beforeChangeNode === `function`) { + const { additionalNodeIds, remoteNode: changedRemoteNode } = + (await typeSettings.beforeChangeNode({ + actionType: `CREATE_ALL`, + remoteNode, + actions, + helpers, + type: node.type, + fetchGraphql, + typeSettings, + buildTypeName, + wpStore: store, + })) || {} + + if (changedRemoteNode) { + remoteNode = changedRemoteNode + } + + if (additionalNodeIds?.length && totalSideEffectNodes) { + additionalNodeIds.forEach( + id => createdNodeIds.push(id) && totalSideEffectNodes.push(id) + ) + } + + if ( + totalSideEffectNodes && + typeof totalSideEffectNodes?.length === `number` && + totalSideEffectNodes.length > 0 && + createNodesActivity + ) { + createNodesActivity.setStatus( + `awaiting async side effects - ${totalSideEffectNodes.length} additional nodes fetched` + ) + } + } + + await actions.createNode(remoteNode) + + createdNodeIds.push(node.id) +} + +export const createGatsbyNodesFromWPGQLContentNodes = async ({ + wpgqlNodesByContentType, + createNodesActivity, +}) => { + const state = store.getState() + const { helpers, pluginOptions } = state.gatsbyApi + + const { reporter } = helpers + + // wp supports these file extensions + // jpeg|jpg|png|gif|ico|pdf|doc|docx|ppt|pptx|pps|ppsx|odt|xls|psd|mp3|m4a|ogg|wav|mp4|m4v|mov|wmv|avi|mpg|ogv|3gp|3g2|svg|bmp|tif|tiff|asf|asx|wm|wmx|divx|flv|qt|mpe|webm|mkv|txt|asc|c|cc|h|csv|tsv|ics|rtx|css|htm|html|m4b|ra|ram|mid|midi|wax|mka|rtf|js|swf|class|tar|zip|gz|gzip|rar|7z|exe|pot|wri|xla|xlt|xlw|mdb|mpp|docm|dotx|dotm|xlsm|xlsb|xltx|xltm|xlam|pptm|ppsm|potx|potm|ppam|sldx|sldm|onetoc|onetoc2|onetmp|onepkg|odp|ods|odg|odc|odb|odf|wp|wpd|key|numbers|pages + + // gatsby-image supports these file types + // const imgSrcRemoteFileRegex = /]+>/gim + + store.dispatch.logger.createActivityTimer({ + typeName: `MediaItem`, + pluginOptions, + reporter, + }) + + const createdNodeIds = [] + const totalSideEffectNodes = [] + const referencedMediaItemNodeIds = new Set() + + for (const wpgqlNodesGroup of wpgqlNodesByContentType) { + const wpgqlNodes = wpgqlNodesGroup.allNodesOfContentType + + for (const node of wpgqlNodes.values()) { + createNodesQueue.add( + createNodeWithSideEffects({ + state, + node, + wpgqlNodesGroup, + referencedMediaItemNodeIds, + createdNodeIds, + createNodesActivity, + totalSideEffectNodes, + }) + ) + } + } + + await createNodesQueue.onIdle() + + const referencedMediaItemNodeIdsArray = [...referencedMediaItemNodeIds] + + /** + * if we're not lazy fetching media items, we need to fetch them + * upfront here + */ + if ( + !pluginOptions.type.MediaItem.lazyNodes && + referencedMediaItemNodeIdsArray.length + ) { + await fetchReferencedMediaItemsAndCreateNodes({ + referencedMediaItemNodeIds: referencedMediaItemNodeIdsArray, + }) + + store.dispatch.logger.stopActivityTimer({ + typeName: `MediaItem`, + }) + + return [...createdNodeIds, ...referencedMediaItemNodeIdsArray] + } + + store.dispatch.logger.stopActivityTimer({ + typeName: `MediaItem`, + }) + + return createdNodeIds +} diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-file-node/index.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-file-node/index.js new file mode 100644 index 0000000000000..9272667adaba5 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-file-node/index.js @@ -0,0 +1,462 @@ +const fs = require(`fs-extra`) +import btoa from "btoa" +const { remoteFileDownloaderBarPromise } = require(`./progress-bar-promise`) +const got = require(`got`) +const { createContentDigest } = require(`gatsby-core-utils`) +const path = require(`path`) +const { isWebUri } = require(`valid-url`) +const Queue = require(`better-queue`) +const readChunk = require(`read-chunk`) +const fileType = require(`file-type`) +const { createProgress } = require(`gatsby-source-filesystem/utils`) + +const { createFileNode } = require(`gatsby-source-filesystem/create-file-node`) +const { + getRemoteFileExtension, + getRemoteFileName, + createFilePath, +} = require(`gatsby-source-filesystem/utils`) +const cacheId = url => `create-remote-file-node-${url}` + +let bar +// Keep track of the total number of jobs we push in the queue +let totalJobs = 0 + +/** ****************** + * Type Definitions * + ********************/ + +/** + * @typedef {GatsbyCache} + * @see gatsby/packages/gatsby/utils/cache.js + */ + +/** + * @typedef {Reporter} + * @see gatsby/packages/gatsby-cli/lib/reporter.js + */ + +/** + * @typedef {Auth} + * @type {Object} + * @property {String} htaccess_pass + * @property {String} htaccess_user + */ + +/** + * @typedef {CreateRemoteFileNodePayload} + * @typedef {Object} + * @description Create Remote File Node Payload + * + * @param {String} options.url + * @param {GatsbyCache} options.cache + * @param {Function} options.createNode + * @param {Function} options.getCache + * @param {Auth} [options.auth] + * @param {Reporter} [options.reporter] + */ + +const STALL_RETRY_LIMIT = 3 +const STALL_TIMEOUT = 30000 + +const CONNECTION_RETRY_LIMIT = 5 +const CONNECTION_TIMEOUT = 30000 + +/** ****************** + * Queue Management * + ********************/ + +/** + * Queue + * Use the task's url as the id + * When pushing a task with a similar id, prefer the original task + * as it's already in the processing cache + */ + +let queue = null + +const getQueue = limit => { + if (!queue) { + queue = new Queue(pushToQueue, { + id: `url`, + merge: (old, _, cb) => cb(old), + concurrent: limit || 100, + }) + // when the queue is empty we stop the progressbar + queue.on(`drain`, async () => { + if (awaitingCreateRemoteFileNodePromise) { + return + } + + awaitingCreateRemoteFileNodePromise = true + await remoteFileDownloaderBarPromise + awaitingCreateRemoteFileNodePromise = false + + if (bar) { + // this is to give us a little time to wait and see if there + // will be more jobs added with a break between + // sometimes the queue empties but then is recreated within 2 secs + doneQueueTimeout = setTimeout(() => { + bar.done() + totalJobs = 0 + }, 2000) + } + }) + } + return queue +} + +let doneQueueTimeout + +let awaitingCreateRemoteFileNodePromise + +/** + * @callback {Queue~queueCallback} + * @param {*} error + * @param {*} result + */ + +/** + * pushToQueue + * -- + * Handle tasks that are pushed in to the Queue + * + * + * @param {CreateRemoteFileNodePayload} task + * @param {Queue~queueCallback} cb + * @return {Promise} + */ +async function pushToQueue(task, cb) { + try { + const node = await processRemoteNode(task) + return cb(null, node) + } catch (e) { + return cb(e) + } +} + +/** **************** + * Core Functions * + ******************/ + +/** + * requestRemoteNode + * -- + * Download the requested file + * + * @param {String} url + * @param {Headers} headers + * @param {String} tmpFilename + * @param {Object} httpOpts + * @param {number} attempt + * @return {Promise} Resolves with the [http Result Object]{@link https://nodejs.org/api/http.html#http_class_http_serverresponse} + */ +const requestRemoteNode = (url, headers, tmpFilename, httpOpts, attempt = 1) => + new Promise((resolve, reject) => { + let timeout + + // Called if we stall for 30s without receiving any data + const handleTimeout = async () => { + fsWriteStream.close() + fs.removeSync(tmpFilename) + if (attempt < STALL_RETRY_LIMIT) { + // Retry by calling ourself recursively + resolve( + requestRemoteNode(url, headers, tmpFilename, httpOpts, attempt + 1) + ) + } else { + processingCache[url] = null + totalJobs -= 1 + bar.total = totalJobs + reject( + new Error( + `Failed to download ${url} after ${STALL_RETRY_LIMIT} attempts` + ) + ) + } + } + + const resetTimeout = () => { + if (timeout) { + clearTimeout(timeout) + } + timeout = setTimeout(handleTimeout, STALL_TIMEOUT) + } + + const responseStream = got.stream(url, { + headers, + timeout: CONNECTION_TIMEOUT, + retries: CONNECTION_RETRY_LIMIT, + ...httpOpts, + }) + const fsWriteStream = fs.createWriteStream(tmpFilename) + responseStream.pipe(fsWriteStream) + + // If there's a 400/500 response or other error. + responseStream.on(`error`, error => { + if (timeout) { + clearTimeout(timeout) + } + processingCache[url] = null + totalJobs -= 1 + bar.total = totalJobs + fs.removeSync(tmpFilename) + console.error(error) + reject(error) + }) + + fsWriteStream.on(`error`, error => { + if (timeout) { + clearTimeout(timeout) + } + processingCache[url] = null + totalJobs -= 1 + bar.total = totalJobs + reject(error) + }) + + responseStream.on(`response`, response => { + resetTimeout() + + fsWriteStream.on(`finish`, () => { + if (timeout) { + clearTimeout(timeout) + } + resolve(response) + }) + }) + }) + +/** + * processRemoteNode + * -- + * Request the remote file and return the fileNode + * + * @param {CreateRemoteFileNodePayload} options + * @return {Promise} Resolves with the fileNode + */ +async function processRemoteNode({ + url, + cache, + createNode, + parentNodeId, + auth = {}, + httpHeaders = {}, + createNodeId, + ext, + name, +}) { + const pluginCacheDir = cache.directory + // See if there's response headers for this url + // from a previous request. + const cachedHeaders = await cache.get(cacheId(url)) + + const headers = { ...httpHeaders } + if (cachedHeaders && cachedHeaders.etag) { + headers[`If-None-Match`] = cachedHeaders.etag + } + + // Add htaccess authentication if passed in. This isn't particularly + // extensible. We should define a proper API that we validate. + const httpOpts = {} + if (auth?.htaccess_pass && auth?.htaccess_user) { + headers[`Authorization`] = `Basic ${btoa( + `${auth.htaccess_user}:${auth.htaccess_pass}` + )}` + } + + // Create the temp and permanent file names for the url. + const digest = createContentDigest(url) + if (!name) { + name = getRemoteFileName(url) + } + if (!ext) { + ext = getRemoteFileExtension(url) + } + + const tmpFilename = createFilePath(pluginCacheDir, `tmp-${digest}`, ext) + + // Fetch the file. + const response = await requestRemoteNode(url, headers, tmpFilename, httpOpts) + + if (response.statusCode == 200) { + // Save the response headers for future requests. + await cache.set(cacheId(url), response.headers) + } + + // If the user did not provide an extension and we couldn't get one from remote file, try and guess one + if (ext === ``) { + const buffer = readChunk.sync(tmpFilename, 0, fileType.minimumBytes) + const filetype = fileType(buffer) + if (filetype) { + ext = `.${filetype.ext}` + } + } + + const filename = createFilePath( + path.join(pluginCacheDir, digest), + String(name), + ext + ) + + // If the status code is 200, move the piped temp file to the real name. + if (response.statusCode === 200) { + await fs.move(tmpFilename, filename, { overwrite: true }) + // Else if 304, remove the empty response. + } else { + processingCache[url] = null + totalJobs -= 1 + + bar.total = totalJobs + + await fs.remove(tmpFilename) + } + + // Create the file node. + const fileNode = await createFileNode(filename, createNodeId, {}) + fileNode.internal.description = `File "${url}"` + fileNode.url = url + fileNode.parent = parentNodeId + // Override the default plugin as gatsby-source-filesystem needs to + // be the owner of File nodes or there'll be conflicts if any other + // File nodes are created through normal usages of + // gatsby-source-filesystem. + await createNode(fileNode, { name: `gatsby-source-filesystem` }) + + return fileNode +} + +/** + * Index of promises resolving to File node from remote url + */ +const processingCache = {} +/** + * pushTask + * -- + * pushes a task in to the Queue and the processing cache + * + * Promisfy a task in queue + * @param {CreateRemoteFileNodePayload} task + * @return {Promise} + */ +const pushTask = task => + new Promise((resolve, reject) => { + getQueue(task.limit) + .push(task) + .on(`finish`, task => { + resolve(task) + }) + .on(`failed`, err => { + reject(new Error(`failed to process ${task.url}\n${err}`)) + }) + }) + +/** ************* + * Entry Point * + ***************/ + +/** + * createRemoteFileNode + * -- + * + * Download a remote file + * First checks cache to ensure duplicate requests aren't processed + * Then pushes to a queue + * + * @param {CreateRemoteFileNodePayload} options + * @return {Promise} Returns the created node + */ +module.exports = ({ + url, + cache, + createNode, + getCache, + parentNodeId = null, + auth = {}, + httpHeaders = {}, + createNodeId, + ext = null, + name = null, + reporter, + pluginOptions, +}) => { + const limit = pluginOptions?.type?.MediaItem?.localFile?.requestConcurrency + if (doneQueueTimeout) { + // this is to give the bar a little time to wait when there are pauses + // between file downloads. + clearTimeout(doneQueueTimeout) + } + + // if the url isn't already encoded + // so decoding it doesn't do anything + if (decodeURI(url) === url) { + // encode the uri + // this accounts for special characters in filenames + url = encodeURI(url) + } + + // validation of the input + // without this it's notoriously easy to pass in the wrong `createNodeId` + // see gatsbyjs/gatsby#6643 + if (typeof createNodeId !== `function`) { + throw new Error( + `createNodeId must be a function, was ${typeof createNodeId}` + ) + } + if (typeof createNode !== `function`) { + throw new Error(`createNode must be a function, was ${typeof createNode}`) + } + if (typeof getCache === `function`) { + // use cache of this plugin and not cache of function caller + cache = getCache(`gatsby-source-filesystem`) + } + if (typeof cache !== `object`) { + throw new Error( + `Neither "cache" or "getCache" was passed. getCache must be function that return Gatsby cache, "cache" must be the Gatsby cache, was ${typeof cache}` + ) + } + + // Check if we already requested node for this remote file + // and return stored promise if we did. + if (processingCache[url]) { + return processingCache[url] + } + + if (!url || isWebUri(url) === undefined) { + return Promise.reject( + new Error( + `url passed to create-remote-file-node is either missing or not a proper web uri: ${url}` + ) + ) + } + + if (totalJobs === 0) { + bar = createProgress(`Downloading remote files`, reporter) + bar.start() + } + + totalJobs += 1 + + bar.total = totalJobs + + const fileDownloadPromise = pushTask({ + url, + cache, + createNode, + parentNodeId, + createNodeId, + auth, + httpHeaders, + ext, + name, + limit, + }) + + processingCache[url] = fileDownloadPromise.then(node => { + bar.tick() + + return node + }) + + return processingCache[url] +} diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-file-node/progress-bar-promise.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-file-node/progress-bar-promise.js new file mode 100644 index 0000000000000..ac53593b76176 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-file-node/progress-bar-promise.js @@ -0,0 +1,9 @@ +let resolveFileDownloaderProgressBarPromise + +export const allowFileDownloaderProgressBarToClear = () => { + resolveFileDownloaderProgressBarPromise() +} + +export const remoteFileDownloaderBarPromise = new Promise(resolve => { + resolveFileDownloaderProgressBarPromise = resolve +}) diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-media-item-node.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-media-item-node.js new file mode 100644 index 0000000000000..2679398744024 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/create-remote-media-item-node.js @@ -0,0 +1,360 @@ +import fs from "fs-extra" +import path from "path" +import url from "url" +import { bold } from "chalk" + +import retry from "async-retry" + +import { createFileNodeFromBuffer } from "gatsby-source-filesystem" + +import createRemoteFileNode from "./create-remote-file-node/index" + +import store from "~/store" + +import urlToPath from "~/utils/url-to-path" +import { formatLogMessage } from "~/utils/format-log-message" +import { stripImageSizesFromUrl } from "~/steps/source-nodes/fetch-nodes/fetch-referenced-media-items" +import { ensureSrcHasHostname } from "./process-node" + +export const getFileNodeMetaBySourceUrl = sourceUrl => { + const fileNodesMetaByUrls = store.getState().imageNodes.nodeMetaByUrl + + return fileNodesMetaByUrls[stripImageSizesFromUrl(sourceUrl)] +} + +export const getMediaItemEditLink = node => { + const { helpers, pluginOptions } = store.getState().gatsbyApi + + const { protocol, hostname } = url.parse(node?.link || pluginOptions.url) + const baseUrl = `${protocol}//${hostname}` + + const databaseId = node.databaseId + + if (!databaseId) { + const parentNode = node.parentHtmlNode || helpers.getNode(node.id) + + if (!parentNode?.databaseId) { + return null + } + + return `${baseUrl}/wp-admin/post.php?post=${parentNode.databaseId}&action=edit` + } + + return `${baseUrl}/wp-admin/upload.php?item=${node.databaseId}` +} + +export const errorPanicker = ({ + error, + reporter, + node, + fetchState, + parentName, +}) => { + const editUrl = getMediaItemEditLink(node) + + const stepMessage = parentName ? ` in step:\n\n"${parentName}"` : `` + const mediaItemLink = node.link ? `\nMedia item link: ${node.link}` : `` + const editLink = `\nEdit link: ${editUrl || `N/A`}` + const fileUrl = `\nFile url: ${node.mediaItemUrl}` + + const sharedError = `occurred while fetching media item${ + node.databaseId ? ` #${node.databaseId}` : `` + }${stepMessage}\n${mediaItemLink}${editLink}${fileUrl}` + + const errorString = + typeof error === `string` ? error : error && error.toString() + + const { pluginOptions } = store.getState().gatsbyApi + const allow404ImagesInProduction = pluginOptions.production.allow404Images + + if ( + (allow404ImagesInProduction || process.env.NODE_ENV !== `production`) && + errorString.includes(`Response code 404`) + ) { + fetchState.shouldBail = true + + reporter.log(``) + reporter.warn( + formatLogMessage( + `Error ${sharedError}${ + !allow404ImagesInProduction + ? `\n\nThis error will fail production builds.` + : `` + }` + ) + ) + reporter.log(``) + + return + } + + if (errorString.includes(`Response code 4`)) { + reporter.log(``) + reporter.info( + formatLogMessage( + `Unrecoverable error ${sharedError}\n\nFailing the build to prevent deploying a broken site.${ + errorString.includes(`Response code 404`) + ? `\n\nIf you don't want 404's to fail your production builds, you can set the following option: + +{ + options: { + production: { + allow404Images: true + } + } +}` + : `` + }` + ) + ) + reporter.panic(error) + } else if (errorString.includes(`Response code 5`)) { + reporter.log(``) + reporter.info( + formatLogMessage( + [ + `Unrecoverable error ${sharedError}`, + `\nYour wordpress host appears to be overloaded by our requests for images`, + `\nIn ${bold(`gatsby-config.js`)}, try lowering the ${bold( + `requestConcurrency` + )} for MediaItems:`, + `\nplugins: [ + { + resolve: 'gatsby-source-wordpress', + options: { + url: 'https://mysite.com/graphql', + type: { + MediaItem: { + localFile: { + requestConcurrency: 50 + } + } + } + }, + } +]`, + `\nnote that GATSBY_CONCURRENT_REQUEST environment variable has been retired for these options`, + ].join(`\n`) + ) + ) + reporter.panic(error) + } +} + +export const getFileNodeByMediaItemNode = async ({ + mediaItemNode, + helpers, +}) => { + const { sourceUrl, modifiedGmt, mediaItemUrl, databaseId } = mediaItemNode + + const fileUrl = sourceUrl || mediaItemUrl + + if (!fileUrl) { + helpers.reporter.warn( + formatLogMessage(`Couldn't find source url for media item #${databaseId}`) + ) + return null + } + + const existingNodeMeta = getFileNodeMetaBySourceUrl(fileUrl) + + if ( + // if we already have this image + existingNodeMeta && + existingNodeMeta.id && + // and it hasn't been modified + existingNodeMeta.modifiedGmt === modifiedGmt + ) { + let node = await helpers.getNode(existingNodeMeta.id) + + // some of the cached node metas dont necessarily need to be a File + // so make sure we return a File node if what we get isn't one + if (node && node.internal && node.internal.type !== `File`) { + if (node.localFile && node.localFile.id) { + // look up the corresponding file node + node = await helpers.getNode(node.localFile.id) + } else { + return null + } + } + + return node + } + + return null +} + +const failedImageUrls = new Set() + +export const createRemoteMediaItemNode = async ({ + mediaItemNode, + parentName, + skipExistingNode = false, +}) => { + const state = store.getState() + const { helpers, pluginOptions } = state.gatsbyApi + + const existingNode = !skipExistingNode + ? await getFileNodeByMediaItemNode({ + mediaItemNode, + helpers, + }) + : null + + if (existingNode) { + return existingNode + } + + const { + store: gatsbyStore, + cache, + createNodeId, + reporter, + actions: { createNode }, + } = helpers + + let { mediaItemUrl, modifiedGmt, mimeType, title, fileSize } = mediaItemNode + + if (!mediaItemUrl || failedImageUrls.has(mediaItemUrl)) { + return null + } + + const { wpUrl } = state.remoteSchema + mediaItemUrl = ensureSrcHasHostname({ wpUrl, src: mediaItemUrl }) + + const { + excludeByMimeTypes, + maxFileSizeBytes, + } = pluginOptions.type?.MediaItem?.localFile + + // if this file is larger than maxFileSizeBytes, don't fetch the remote file + if (fileSize > maxFileSizeBytes) { + return null + } + + // if this type of file is excluded, don't fetch the remote file + if (excludeByMimeTypes.includes(mimeType)) { + return null + } + + const hardCachedFileRelativePath = urlToPath(mediaItemUrl) + const hardCachedMediaFilesDirectory = `${process.cwd()}/.wordpress-cache` + + const hardCachedFilePath = + hardCachedMediaFilesDirectory + hardCachedFileRelativePath + + const hardCacheMediaFiles = + (process.env.NODE_ENV === `development` && + pluginOptions.develop.hardCacheMediaFiles) || + (process.env.NODE_ENV === `production` && + pluginOptions.production.hardCacheMediaFiles) + + const fetchState = { + shouldBail: false, + } + // Otherwise we need to download it + const remoteFileNode = await retry( + async () => { + if (fetchState.shouldBail) { + failedImageUrls.add(mediaItemUrl) + return null + } + + const createFileNodeRequirements = { + parentNodeId: mediaItemNode.id, + store: gatsbyStore, + cache, + createNode, + createNodeId, + reporter, + } + + if (hardCacheMediaFiles) { + // check for file in .wordpress-cache/wp-content + // if it exists, use that to create a node from instead of + // fetching from wp + try { + const buffer = await fs.readFile(hardCachedFilePath) + const node = await createFileNodeFromBuffer({ + buffer, + name: title, + ext: path.extname(mediaItemUrl), + ...createFileNodeRequirements, + }) + + if (node) { + return node + } + } catch (e) { + // ignore errors, we'll download the image below if it doesn't exist + } + } + + const { hostname: wpUrlHostname } = url.parse(wpUrl) + const { hostname: mediaItemHostname } = url.parse(mediaItemUrl) + + const htaccessCredentials = pluginOptions.auth.htaccess + + // if media items are hosted on another url like s3, + // using the htaccess creds will throw 400 errors + const shouldUseHtaccessCredentials = wpUrlHostname === mediaItemHostname + + const auth = + htaccessCredentials && shouldUseHtaccessCredentials + ? { + htaccess_pass: htaccessCredentials?.password, + htaccess_user: htaccessCredentials?.username, + } + : null + + // if this errors, it's caught one level above in fetch-referenced-media-items.js so it can be placed on the end of the request queue + const node = await createRemoteFileNode({ + url: mediaItemUrl, + auth, + ...createFileNodeRequirements, + }) + + return node + }, + { + retries: 3, + factor: 1.1, + minTimeout: 5000, + onRetry: error => + errorPanicker({ + error, + reporter, + node: mediaItemNode, + fetchState, + parentName, + }), + } + ) + + if (!remoteFileNode) { + return null + } + + // push it's id and url to our store for caching, + // so we can touch this node next time + // and so we can easily access the id by source url later + store.dispatch.imageNodes.pushNodeMeta({ + id: remoteFileNode.id, + sourceUrl: mediaItemUrl, + modifiedGmt, + }) + + if (hardCacheMediaFiles) { + try { + // make sure the directory exists + await fs.ensureDir(path.dirname(hardCachedFilePath)) + // copy our downloaded file to our existing directory + await fs.copyFile(remoteFileNode.absolutePath, hardCachedFilePath) + } catch (e) { + helpers.reporter.panic(e) + } + } + + // and use it + return remoteFileNode +} diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/fetch-and-create-non-node-root-fields.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/fetch-and-create-non-node-root-fields.js new file mode 100644 index 0000000000000..a623e36bd5d53 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/fetch-and-create-non-node-root-fields.js @@ -0,0 +1,95 @@ +import store from "~/store" +import fetchGraphql from "~/utils/fetch-graphql" +import { formatLogMessage } from "~/utils/format-log-message" +import { createNodeWithSideEffects } from "./create-nodes" +import fetchReferencedMediaItemsAndCreateNodes from "../fetch-nodes/fetch-referenced-media-items" +import { CREATED_NODE_IDS } from "~/constants" +import { getPersistentCache, setPersistentCache } from "~/utils/cache" + +const fetchAndCreateNonNodeRootFields = async () => { + const state = store.getState() + + const { + remoteSchema: { nonNodeQuery }, + gatsbyApi: { helpers, pluginOptions }, + } = state + + const { reporter } = helpers + + const activity = reporter.activityTimer(formatLogMessage(`fetch root fields`)) + + activity.start() + + const { data } = await fetchGraphql({ + query: nonNodeQuery, + errorContext: `Error occurred while fetching non-Node root fields.`, + }) + + const createdNodeIds = [] + // const totalSideEffectNodes = [] + const referencedMediaItemNodeIds = new Set() + + const type = pluginOptions.schema.typePrefix + + const node = { + ...data, + id: `${pluginOptions.url}--rootfields`, + type, + } + + const createRootNode = createNodeWithSideEffects({ + node, + state, + referencedMediaItemNodeIds, + createdNodeIds, + type, + // totalSideEffectNodes, + }) + + createRootNode() + + const referencedMediaItemNodeIdsArray = [...referencedMediaItemNodeIds] + + const newMediaItemIds = referencedMediaItemNodeIdsArray.filter( + id => !helpers.getNode(id) + ) + + /** + * if we're not lazy fetching media items, we need to fetch them + * upfront here + */ + if (!pluginOptions.type.MediaItem.lazyNodes && newMediaItemIds.length) { + store.dispatch.logger.createActivityTimer({ + typeName: `MediaItems`, + pluginOptions, + reporter, + }) + + await fetchReferencedMediaItemsAndCreateNodes({ + referencedMediaItemNodeIds: newMediaItemIds, + }) + + const previouslyCachedNodeIds = await getPersistentCache({ + key: CREATED_NODE_IDS, + }) + + const createdNodeIds = [ + ...new Set([ + ...(previouslyCachedNodeIds || []), + ...referencedMediaItemNodeIdsArray, + ]), + ] + + // save the node id's so we can touch them on the next build + // so that we don't have to refetch all nodes + await setPersistentCache({ key: CREATED_NODE_IDS, value: createdNodeIds }) + + store.dispatch.logger.stopActivityTimer({ + typeName: `MediaItems`, + }) + } + + activity.end() +} + +export default fetchAndCreateNonNodeRootFields diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/process-node.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/process-node.js new file mode 100644 index 0000000000000..4ac9c42581c9b --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/create-nodes/process-node.js @@ -0,0 +1,904 @@ +import { isWebUri } from "valid-url" +import { fluid } from "gatsby-plugin-sharp" +import Img from "gatsby-image" +import React from "react" +import ReactDOMServer from "react-dom/server" +import stringify from "fast-json-stable-stringify" +import execall from "execall" +import cheerio from "cheerio" +import url from "url" +import path from "path" +import fs from "fs-extra" +import { supportedExtensions } from "gatsby-transformer-sharp/supported-extensions" +import replaceAll from "replaceall" + +import { formatLogMessage } from "~/utils/format-log-message" + +import fetchReferencedMediaItemsAndCreateNodes, { + stripImageSizesFromUrl, +} from "../fetch-nodes/fetch-referenced-media-items" +import btoa from "btoa" +import store from "~/store" +import { createRemoteMediaItemNode } from "./create-remote-media-item-node" + +const getNodeEditLink = node => { + const { protocol, hostname } = url.parse(node.link) + const editUrl = `${protocol}//${hostname}/wp-admin/post.php?post=${node.databaseId}&action=edit` + + return editUrl +} + +const findReferencedImageNodeIds = ({ nodeString, pluginOptions, node }) => { + // if the lazyNodes plugin option is set we don't need to find + // image node id's because those nodes will be fetched lazily in resolvers + if (pluginOptions.type.MediaItem.lazyNodes) { + return [] + } + + // get an array of all referenced media file ID's + const matchedIds = execall( + /"__typename":"MediaItem","id":"([^"]*)"/gm, + nodeString + ) + .map(match => match.subMatches[0]) + .filter(id => id !== node.id) + + return matchedIds +} + +const getCheerioImgDbId = cheerioImg => { + // try to get the db id from data attributes + const dataAttributeId = + cheerioImg.attribs[`data-id`] || cheerioImg.attribs[`data-image-id`] + + if (dataAttributeId) { + return dataAttributeId + } + + if (!cheerioImg.attribs.class) { + return null + } + + // try to get the db id from the wp-image-id classname + const wpImageClass = cheerioImg.attribs.class + .split(` `) + .find(className => className.includes(`wp-image-`)) + + if (wpImageClass) { + const wpImageClassDashArray = wpImageClass.split(`-`) + const wpImageClassId = Number( + wpImageClassDashArray[wpImageClassDashArray.length - 1] + ) + + if (wpImageClassId) { + return wpImageClassId + } + } + + return null +} + +// media items are of the "post" type +const dbIdToMediaItemRelayId = dbId => (dbId ? btoa(`post:${dbId}`) : null) + +const getCheerioImgRelayId = cheerioImg => + dbIdToMediaItemRelayId(getCheerioImgDbId(cheerioImg)) + +export const ensureSrcHasHostname = ({ src, wpUrl }) => { + const { protocol, host } = url.parse(wpUrl) + + if (src.startsWith(`/wp-content`)) { + src = `${protocol}//${host}${src}` + } + + return src +} + +const pickNodeBySourceUrlOrCheerioImg = ({ + url, + cheerioImg, + mediaItemNodes, +}) => { + const possibleHtmlSrcs = [ + // try to match the media item source url by original html src + url, + // or by the src minus any image sizes string + stripImageSizesFromUrl(url), + ] + + const imageNode = mediaItemNodes.find( + mediaItemNode => + // either find our node by the source url + possibleHtmlSrcs.includes(mediaItemNode.sourceUrl) || + possibleHtmlSrcs.includes( + // try to match without -scaled in the sourceUrl as well + // since WP adds -scaled to image urls if they were too large + // at upload time but image urls in html don't have this requirement. + // the sourceUrl may have -scaled in it but the full size image is still + // stored on the server (just not in the db) + (mediaItemNode.sourceUrl || mediaItemNode.mediaItemUrl).replace( + `-scaled`, + `` + ) + ) || + // or by id for cases where the src url didn't return a node + (!!cheerioImg && getCheerioImgRelayId(cheerioImg) === mediaItemNode.id) + ) + + return imageNode +} + +let displayedFailedToRestoreMessage = false + +const fetchNodeHtmlImageMediaItemNodes = async ({ + cheerioImages, + node, + helpers, + wpUrl, +}) => { + // get all the image nodes we've cached from elsewhere + const { nodeMetaByUrl } = store.getState().imageNodes + + const previouslyCachedNodesByUrl = ( + await Promise.all( + Object.entries(nodeMetaByUrl).map(([sourceUrl, { id } = {}]) => { + if (!sourceUrl || !id) { + return null + } + + sourceUrl = ensureSrcHasHostname({ wpUrl, src: sourceUrl }) + + const existingNode = helpers.getNode(id) + + if (!existingNode) { + if (!displayedFailedToRestoreMessage) { + helpers.reporter.warn( + formatLogMessage( + `File node failed to restore from cache. This is a bug in gatsby-source-wordpress. Please open an issue so we can help you out :)` + ) + ) + displayedFailedToRestoreMessage = true + } + + return null + } + + return { + sourceUrl, + ...existingNode, + } + }) + ) + ).filter(Boolean) + + const mediaItemUrls = cheerioImages + // filter out nodes we already have + .filter(({ cheerioImg }) => { + const url = ensureSrcHasHostname({ wpUrl, src: cheerioImg.attribs.src }) + + const existingNode = pickNodeBySourceUrlOrCheerioImg({ + url, + mediaItemNodes: previouslyCachedNodesByUrl, + }) + + return !existingNode + }) + // get remaining urls + .map(({ cheerioImg }) => { + const src = ensureSrcHasHostname({ + src: cheerioImg.attribs.src, + wpUrl, + }) + + return src + }) + + // build a query to fetch all media items that we don't already have + const mediaItemNodesBySourceUrl = await fetchReferencedMediaItemsAndCreateNodes( + { + mediaItemUrls, + } + ) + + // images that have been edited from the media library that were previously + // uploaded to a post/page will have a different sourceUrl so they can't be fetched by it + // in many cases we have data-id or data-image-id as attributes on the img + // we can try to use those to fetch media item nodes as well + // this will keep us from missing nodes + const mediaItemDbIds = cheerioImages + .map(({ cheerioImg }) => getCheerioImgDbId(cheerioImg)) + .filter(Boolean) + + const mediaItemRelayIds = mediaItemDbIds + .map(dbId => dbIdToMediaItemRelayId(dbId)) + .filter( + // filter out any media item ids we already fetched + relayId => + ![...mediaItemNodesBySourceUrl, ...previouslyCachedNodesByUrl].find( + ({ id } = {}) => id === relayId + ) + ) + + const mediaItemNodesById = await fetchReferencedMediaItemsAndCreateNodes({ + referencedMediaItemNodeIds: mediaItemRelayIds, + }) + + const createdNodes = [...mediaItemNodesById, ...mediaItemNodesBySourceUrl] + + const mediaItemNodes = [...createdNodes, ...previouslyCachedNodesByUrl] + + const htmlMatchesToMediaItemNodesMap = new Map() + for (const { cheerioImg, match } of cheerioImages) { + const htmlImgSrc = ensureSrcHasHostname({ + src: cheerioImg.attribs.src, + wpUrl, + }) + + let imageNode = pickNodeBySourceUrlOrCheerioImg({ + url: htmlImgSrc, + cheerioImg, + mediaItemNodes, + }) + + if (!imageNode && htmlImgSrc) { + // if we didn't get a media item node for this image, + // we need to fetch it and create a file node for it with no + // media item node. + try { + imageNode = await createRemoteMediaItemNode({ + skipExistingNode: true, + parentName: `Creating File node from URL where we couldn't find a MediaItem node`, + mediaItemNode: { + id: node.id, + mediaItemUrl: htmlImgSrc, + modifiedGmt: null, + mimeType: null, + title: null, + fileSize: null, + parentHtmlNode: node, + }, + }) + } catch (e) { + const sharedError = `when trying to fetch\n${htmlImgSrc}\nfrom ${ + node.__typename + } #${node.databaseId} "${node.title ?? node.id}"` + const nodeEditLink = getNodeEditLink(node) + + if (typeof e === `string` && e.includes(`404`)) { + helpers.reporter.log(``) + helpers.reporter.warn( + formatLogMessage( + `\n\nReceived a 404 ${sharedError}\n\nMost likely this image was uploaded to this ${node.__typename} and then deleted from the media library.\nYou'll need to fix this and re-save this ${node.__typename} to remove this warning at\n${nodeEditLink}.\n\n` + ) + ) + imageNode = null + } else { + helpers.reporter.warn( + `Received the below error ${sharedError}\n\n${nodeEditLink}\n\n` + ) + helpers.reporter.panic(formatLogMessage(e)) + } + } + } + + cacheCreatedFileNodeBySrc({ node: imageNode, src: htmlImgSrc }) + + if (imageNode) { + // match is the html string of the img tag + htmlMatchesToMediaItemNodesMap.set(match, { imageNode, cheerioImg }) + } + } + + return htmlMatchesToMediaItemNodesMap +} + +const getCheerioElementFromMatch = wpUrl => ({ match, tag = `img` }) => { + // unescape quotes + const parsedMatch = JSON.parse(`"${match}"`) + + // load our matching img tag into cheerio + const $ = cheerio.load(parsedMatch, { + xml: { + // make sure it's not wrapped in + withDomLvl1: false, + // no need to normalize whitespace, we're dealing with a single element here + normalizeWhitespace: false, + xmlMode: true, + // entity decoding isn't our job here, that will be the responsibility of WPGQL + // or of the source plugin elsewhere. + decodeEntities: false, + }, + }) + + // there's only ever one element due to our match matching a single tag + // $(tag) isn't an array, it's an object with a key of 0 + const cheerioElement = $(tag)[0] + + if (cheerioElement?.attribs?.src?.startsWith(`/wp-content`)) { + cheerioElement.attribs.src = `${wpUrl}${cheerioElement.attribs.src}` + } + + return { + match, + cheerioElement, + // @todo this is from when this function was just used for images + // remove this by refactoring + cheerioImg: cheerioElement, + } +} + +const getLargestSizeFromSizesAttribute = sizesString => { + const sizesStringsArray = sizesString.split(`,`) + + return sizesStringsArray.reduce((largest, currentSizeString) => { + const maxWidth = currentSizeString + .substring( + currentSizeString.indexOf(`max-width: `) + 1, + currentSizeString.indexOf(`px`) + ) + .trim() + + const maxWidthNumber = Number(maxWidth) + const noLargestAndMaxWidthIsANumber = !largest && !isNaN(maxWidthNumber) + const maxWidthIsALargerNumberThanLargest = + largest && !isNaN(maxWidthNumber) && maxWidthNumber > largest + + if (noLargestAndMaxWidthIsANumber || maxWidthIsALargerNumberThanLargest) { + largest = maxWidthNumber + } + + return largest + }, null) +} + +const findImgTagMaxWidthFromCheerioImg = cheerioImg => { + const { + attribs: { width, sizes }, + } = cheerioImg || { attribs: { width: null, sizes: null } } + + if (width) { + const widthNumber = Number(width) + + if (!isNaN(widthNumber)) { + return widthNumber + } + } + + if (sizes) { + const largestSize = getLargestSizeFromSizesAttribute(sizes) + + if (largestSize && !isNaN(largestSize)) { + return largestSize + } + } + + return null +} + +const getFileNodeRelativePathname = fileNode => { + const fileName = `${fileNode.internal.contentDigest}/${fileNode.base}` + + return fileName +} + +const getFileNodePublicPath = fileNode => { + const fileName = getFileNodeRelativePathname(fileNode) + + const publicPath = path.join(process.cwd(), `public`, `static`, fileName) + + return publicPath +} + +const copyFileToStaticAndReturnUrlPath = async (fileNode, helpers) => { + const publicPath = getFileNodePublicPath(fileNode) + + if (!fs.existsSync(publicPath)) { + await fs.copy( + fileNode.absolutePath, + publicPath, + { dereference: true }, + err => { + if (err) { + console.error( + `error copying file from ${fileNode.absolutePath} to ${publicPath}`, + err + ) + } + } + ) + } + + const fileName = getFileNodeRelativePathname(fileNode) + + const relativeUrl = `${helpers.pathPrefix ?? ``}/static/${fileName}` + + return relativeUrl +} + +const filterMatches = wpUrl => ({ match }) => { + const { hostname: wpHostname } = url.parse(wpUrl) + + // @todo make it a plugin option to fetch non-wp images + // here we're filtering out image tags that don't contain our site url + const isHostedInWp = + // if it has the full WP url + match.includes(wpHostname) || + // or it's an absolute path + match.includes(`src=\\"/wp-content`) + + // six backslashes means we're looking for three backslashes + // since we're looking for JSON encoded strings inside of our JSON encoded string + const isInJSON = match.includes(`src=\\\\\\"`) + + return isHostedInWp && !isInJSON +} + +const cacheCreatedFileNodeBySrc = ({ node, src }) => { + if (node) { + // save any fetched media items in our global media item cache + store.dispatch.imageNodes.pushNodeMeta({ + sourceUrl: src, + id: node.id, + modifiedGmt: node.modifiedGmt, + }) + } +} + +const replaceNodeHtmlImages = async ({ + nodeString, + node, + helpers, + wpUrl, + pluginOptions, +}) => { + // this prevents fetching inline html images + if (!pluginOptions?.html?.useGatsbyImage) { + return nodeString + } + + const imgSrcRemoteFileRegex = /(?:src=\\")((?:(?:https?|ftp|file):\/\/|www\.|ftp\.|\/)(?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#/%=~_|$?!:,.])*(?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)|[A-Z0-9+&@#/%=~_|$])\.(?:jpeg|jpg|png|gif|ico|mpg|ogv|svg|bmp|tif|tiff))(\?[^\\" .]*|)(?=\\"| |\.)/gim + + const imageUrlMatches = execall(imgSrcRemoteFileRegex, nodeString).filter( + ({ subMatches }) => { + // if our match is json encoded, that means it's inside a JSON + // encoded string field. + const isInJSON = subMatches[0].includes(`\\/\\/`) + + // we shouldn't process encoded JSON, so skip this match if it's JSON + return !isInJSON + } + ) + + const imgTagMatches = execall( + //gim, + nodeString + // we don't want to match images inside pre + .replace(/.*(<\/pre>)/gim, ``) + // and code tags, so temporarily remove those tags and everything inside them + .replace(/.*(<\/code>)/gim, ``) + ).filter(filterMatches(wpUrl)) + + if (imageUrlMatches.length && imgTagMatches.length) { + const cheerioImages = imgTagMatches + .map(getCheerioElementFromMatch(wpUrl)) + .filter(({ cheerioImg: { attribs } }) => { + if (!attribs.src) { + return false + } + + return isWebUri(attribs.src) + }) + + const htmlMatchesToMediaItemNodesMap = await fetchNodeHtmlImageMediaItemNodes( + { + cheerioImages, + nodeString, + node, + helpers, + pluginOptions, + wpUrl, + } + ) + + // generate gatsby images for each cheerioImage + const htmlMatchesWithImageResizes = await Promise.all( + imgTagMatches.map(async ({ match }) => { + const matchInfo = htmlMatchesToMediaItemNodesMap.get(match) + + if (!matchInfo) { + return null + } + + const { imageNode, cheerioImg } = matchInfo + + const isMediaItemNode = imageNode.__typename === `MediaItem` + + if (!imageNode) { + return null + } + + const fileNode = + // if we couldn't get a MediaItem node for this image in WPGQL + !isMediaItemNode + ? // this will already be a file node + imageNode + : // otherwise grab the file node + helpers.getNode(imageNode.localFile.id) + + const imgTagMaxWidth = findImgTagMaxWidthFromCheerioImg(cheerioImg) + + const mediaItemNodeWidth = isMediaItemNode + ? imageNode?.mediaDetails?.width + : null + + // if a max width can't be inferred from html, this value will be passed to Sharp + let fallbackImageMaxWidth = pluginOptions?.html?.fallbackImageMaxWidth + + if ( + // if the image is smaller than the fallback max width, + // the images width will be used instead if we have a media item node + fallbackImageMaxWidth > mediaItemNodeWidth && + // of course that means we have to have a media item node + // and a media item node max width + mediaItemNodeWidth && + typeof mediaItemNodeWidth === `number` && + mediaItemNodeWidth > 0 + ) { + fallbackImageMaxWidth = mediaItemNodeWidth + } + + let maxWidth = + // if we inferred a maxwidth from html + (imgTagMaxWidth && + // and we have a media item node to know it's full size max width + mediaItemNodeWidth && + // and this isn't an svg which has no maximum width + fileNode.extension !== `svg` && + // and the media item node max width is smaller than what we inferred + // from html + mediaItemNodeWidth < imgTagMaxWidth + ? // use the media item node width + mediaItemNodeWidth + : // otherwise use the width inferred from html + imgTagMaxWidth) ?? + // if we don't have a media item node and we inferred no width + // from html, then use the fallback max width from plugin options + fallbackImageMaxWidth + + const configuredMaxWidth = pluginOptions?.html?.imageMaxWidth + + // if the configured html.maxWidth property is less than the result, then + // override the resultant width + if (configuredMaxWidth && configuredMaxWidth < maxWidth) { + maxWidth = configuredMaxWidth + } + + const quality = pluginOptions?.html?.imageQuality + + const { reporter, cache, pathPrefix } = helpers + + const gatsbyTransformerSharpSupportsThisFileType = + supportedExtensions[fileNode?.extension] + + let fluidResult = null + + if (gatsbyTransformerSharpSupportsThisFileType) { + try { + fluidResult = await fluid({ + file: fileNode, + args: { + maxWidth, + quality, + pathPrefix, + }, + reporter, + cache, + }) + } catch (e) { + reporter.error(e) + reporter.warn( + formatLogMessage( + `${node.__typename} ${node.id} couldn't process inline html image ${fileNode.url}` + ) + ) + return null + } + } + + return { + match, + cheerioImg, + fileNode, + imageResize: fluidResult, + maxWidth, + } + }) + ) + + // find/replace mutate nodeString to replace matched images with rendered gatsby images + for (const matchResize of htmlMatchesWithImageResizes) { + if (!matchResize) { + continue + } + + const { match, imageResize, cheerioImg, maxWidth } = matchResize + + // @todo retain img tag classes and attributes from cheerioImg + const imgOptions = { + style: { + // these styles make it so that the image wont be stretched + // beyond it's max width, but it also wont exceed the width + // of it's parent element + maxWidth: `100%`, + width: `${imageResize?.presentationWidth || maxWidth}px`, + }, + placeholderStyle: { + opacity: 0, + }, + className: `${ + cheerioImg?.attribs?.class || `` + } inline-gatsby-image-wrapper`, + loading: `eager`, + alt: cheerioImg?.attribs?.alt, + fadeIn: true, + imgStyle: { + opacity: 1, + }, + } + + let ReactGatsbyImage + + if (imageResize) { + imgOptions.fluid = imageResize + ReactGatsbyImage = React.createElement(Img, imgOptions, null) + } else { + const { fileNode } = matchResize + + const relativeUrl = await copyFileToStaticAndReturnUrlPath( + fileNode, + helpers + ) + + imgOptions.src = relativeUrl + + delete imgOptions.imgStyle + delete imgOptions.fadeIn + delete imgOptions.placeholderStyle + + ReactGatsbyImage = React.createElement(`img`, imgOptions, null) + } + + const gatsbyImageStringJSON = JSON.stringify( + ReactDOMServer.renderToString(ReactGatsbyImage) + .replace(/
    { + if (!pluginOptions?.html?.createStaticFiles) { + return nodeString + } + + if (node.__typename === `MediaItem`) { + // we dont' want to replace file links on MediaItem nodes because they're processed specially from other node types. + // if we replace file links here then we wont be able to properly fetch the localFile node + return nodeString + } + + const hrefMatches = execall( + /(\\"|\\'|\()([^'"()]*)(\/wp-content\/uploads\/[^'">()]+)(\\"|\\'|>|\))/gm, + nodeString + ) + + if (hrefMatches.length) { + // eslint-disable-next-line arrow-body-style + const mediaItemUrlsAndMatches = hrefMatches.map(matchGroup => ({ + matchGroup, + url: `${wpUrl}${matchGroup.subMatches[2]}`, + })) + + const mediaItemUrls = mediaItemUrlsAndMatches + .map(({ url }) => url) + .filter(isWebUri) + + const mediaItemNodesBySourceUrl = await fetchReferencedMediaItemsAndCreateNodes( + { + mediaItemUrls, + } + ) + + const findReplaceMaps = [] + + await Promise.all( + mediaItemNodesBySourceUrl.map(async node => { + let fileNode + let mediaItemNode + + if (node.internal.type === `File`) { + fileNode = node + mediaItemNode = await helpers.getNode(node.parent) + } else if (node.localFile?.id) { + fileNode = await helpers.getNode(node.localFile.id) + mediaItemNode = node + } else { + return null + } + + const relativeUrl = await copyFileToStaticAndReturnUrlPath( + fileNode, + helpers + ) + + if (!relativeUrl || !mediaItemNode?.mediaItemUrl || !fileNode) { + return null + } + + const mediaItemMatchGroup = mediaItemUrlsAndMatches.find( + ({ + matchGroup: { + subMatches: [, , path], + }, + }) => mediaItemNode.mediaItemUrl.includes(path) + )?.matchGroup + + if (!mediaItemMatchGroup) { + return null + } + + const [, hostname, path] = mediaItemMatchGroup?.subMatches + + cacheCreatedFileNodeBySrc({ + node: mediaItemNode, + src: `${wpUrl}${path}`, + }) + + findReplaceMaps.push({ + find: `${hostname || ``}${path}`, + replace: relativeUrl, + }) + + findReplaceMaps.push({ + find: path, + replace: relativeUrl, + }) + + return null + }) + ) + + for (const { find, replace } of findReplaceMaps.filter(Boolean)) { + nodeString = replaceAll(find, replace, nodeString) + } + } + + return nodeString +} + +// replaces any url which is a front-end WP url with a relative path +const replaceNodeHtmlLinks = ({ wpUrl, nodeString, node }) => { + const wpLinkRegex = new RegExp( + `["']${wpUrl}(?!/wp-content|/wp-admin|/wp-includes)(/[^'"]+)["']`, + `gim` + ) + + const linkMatches = execall(wpLinkRegex, nodeString) + + if (linkMatches.length) { + linkMatches.forEach(({ match, subMatches: [path] }) => { + if (path) { + try { + // remove \, " and ' characters from match + const normalizedMatch = match + .replace(/['"\\]/g, ``) + // ensure that query params are properly quoted + .replace(/\?/, `\\?`) + + const normalizedPath = path.replace(/\\/g, ``) + + // replace normalized match with relative path + const thisMatchRegex = new RegExp(normalizedMatch, `g`) + nodeString = nodeString.replace(thisMatchRegex, normalizedPath) + } catch (e) { + console.error(e) + console.warning( + formatLogMessage( + `Failed to process inline html links in ${node.__typename} ${node.id}` + ) + ) + } + } + }) + } + + return nodeString +} + +const processNodeString = async ({ + nodeString, + node, + pluginOptions, + helpers, + wpUrl, +}) => { + const nodeStringFilters = [ + replaceNodeHtmlImages, + replaceFileLinks, + replaceNodeHtmlLinks, + ] + + for (const nodeStringFilter of nodeStringFilters) { + nodeString = await nodeStringFilter({ + nodeString, + node, + pluginOptions, + helpers, + wpUrl, + }) + } + + return nodeString +} + +const processNode = async ({ + node, + pluginOptions, + wpUrl, + helpers, + referencedMediaItemNodeIds, +}) => { + const nodeString = stringify(node) + + // find referenced node ids + // here we're searching for node id strings in our node + // we use this to download only the media items + // that are being used in posts + // this is important for downloading images nodes that are connected somewhere + // on a node field + const nodeMediaItemIdReferences = findReferencedImageNodeIds({ + nodeString, + pluginOptions, + node, + }) + + // push them to our store of referenced id's + if (nodeMediaItemIdReferences?.length && referencedMediaItemNodeIds) { + nodeMediaItemIdReferences.forEach(id => referencedMediaItemNodeIds.add(id)) + } + + const processedNodeString = await processNodeString({ + nodeString, + node, + pluginOptions, + helpers, + wpUrl, + }) + + // only parse if the nodeString has changed + if (processedNodeString !== nodeString) { + return JSON.parse(processedNodeString) + } else { + return node + } +} + +export { processNode } diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-nodes-paginated.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-nodes-paginated.js new file mode 100644 index 0000000000000..7ba9e7e69c539 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-nodes-paginated.js @@ -0,0 +1,122 @@ +import fetchGraphql from "~/utils/fetch-graphql" +import store from "~/store" + +export const normalizeNode = ({ node, nodeTypeName }) => { + const normalizedNodeTypeName = node.__typename || nodeTypeName + // @todo is node.type used anywhere?? + node.type = normalizedNodeTypeName + // this is used to filter node interfaces by content types + node.nodeType = normalizedNodeTypeName + + return node +} + +/** + * paginatedWpNodeFetch + * + * recursively fetches/paginates remote nodes + */ +const paginatedWpNodeFetch = async ({ + contentTypePlural, + query, + nodeTypeName, + helpers, + throwFetchErrors = false, + throwGqlErrors = false, + allContentNodes = [], + after = null, + settings = {}, + headers = {}, + ...variables +}) => { + if ( + !settings.limit && + typeof settings.limit === `number` && + settings.limit === 0 + ) { + // if the Type.limit plugin option is set to the number 0, + // we shouldn't fetch anything + return [] + } + + if ( + settings.limit && + // if we're about to fetch more than our limit + allContentNodes.length + variables.first > settings.limit + ) { + // just fetch whatever number is remaining + variables.first = settings.limit - allContentNodes.length + } + + // if the GQL var "first" is greater than our Type.limit plugin option, + // that's no good + if (settings.limit && settings.limit < variables.first) { + // so just fetch our limit + variables.first = settings.limit + } + + const errorContext = `Error occurred while fetching nodes of the "${nodeTypeName}" type.` + + const response = await fetchGraphql({ + query, + throwFetchErrors, + throwGqlErrors, + variables: { + ...variables, + after, + }, + errorContext, + headers, + }) + + const { data } = response + + if (!data?.[contentTypePlural]?.nodes) { + return allContentNodes + } + + let { + [contentTypePlural]: { nodes, pageInfo: { hasNextPage, endCursor } = {} }, + } = data + + // Sometimes private posts return as null. + // That causes problems for us so let's strip them out + nodes = nodes.filter(Boolean) + + if (nodes && nodes.length) { + nodes.forEach(node => { + node = normalizeNode({ node, nodeTypeName }) + allContentNodes.push(node) + }) + + // MediaItem type is incremented in createMediaItemNode + if (nodeTypeName !== `MediaItem`) { + store.dispatch.logger.incrementActivityTimer({ + typeName: nodeTypeName, + by: nodes.length, + }) + } + } + + if ( + hasNextPage && + endCursor && + (!settings.limit || settings.limit > allContentNodes.length) + ) { + return paginatedWpNodeFetch({ + ...variables, + contentTypePlural, + nodeTypeName, + query, + allContentNodes, + helpers, + settings, + after: endCursor, + headers, + }) + } else { + return allContentNodes + } +} + +export { paginatedWpNodeFetch } diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-nodes.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-nodes.js new file mode 100644 index 0000000000000..45fe49050df8f --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-nodes.js @@ -0,0 +1,210 @@ +import { createGatsbyNodesFromWPGQLContentNodes } from "../create-nodes/create-nodes" +import { paginatedWpNodeFetch } from "./fetch-nodes-paginated" +import { formatLogMessage } from "~/utils/format-log-message" +import { CREATED_NODE_IDS } from "~/constants" + +import store from "~/store" +import { getGatsbyApi, getPluginOptions } from "~/utils/get-gatsby-api" +import chunk from "lodash/chunk" + +import { + getHardCachedNodes, + restoreHardCachedNodes, + setHardCachedNodes, + setPersistentCache, +} from "~/utils/cache" + +/** + * fetchWPGQLContentNodes + * + * fetches and paginates remote nodes by post type while reporting progress + */ +export const fetchWPGQLContentNodes = async ({ queryInfo }) => { + const { pluginOptions, helpers } = store.getState().gatsbyApi + const { reporter } = helpers + const { + url, + schema: { perPage }, + } = pluginOptions + + const { nodeListQueries, typeInfo, settings } = queryInfo + + const typeName = typeInfo.nodesTypeName + + store.dispatch.logger.createActivityTimer({ + typeName, + pluginOptions, + reporter, + }) + + let allNodesOfContentType = [] + + // there's normally just one query here, but more can be added using the settings.nodeListQueries api + for (const nodeListQuery of nodeListQueries) { + const contentNodes = await paginatedWpNodeFetch({ + first: perPage, + after: null, + contentTypePlural: typeInfo.pluralName, + nodeTypeName: typeInfo.nodesTypeName, + query: nodeListQuery, + url, + settings, + helpers, + }) + + allNodesOfContentType = [...allNodesOfContentType, ...contentNodes] + } + + store.dispatch.logger.stopActivityTimer({ typeName }) + + if (allNodesOfContentType && allNodesOfContentType.length) { + return { + singular: queryInfo.typeInfo.singularName, + plural: queryInfo.typeInfo.pluralName, + allNodesOfContentType, + } + } + + return false +} + +/** + * getContentTypeQueryInfos + * + * returns query infos (Type info & GQL query strings) filtered to + * remove types that are excluded in the plugin options + * + * @returns {Array} Type info & GQL query strings + */ +export const getContentTypeQueryInfos = () => { + const { nodeQueries } = store.getState().remoteSchema + const queryInfos = Object.values(nodeQueries).filter( + ({ settings }) => !settings.exclude + ) + return queryInfos +} + +export const getGatsbyNodeTypeNames = () => { + const { typeMap } = store.getState().remoteSchema + + const queryableTypenames = getContentTypeQueryInfos().map( + query => query.typeInfo.nodesTypeName + ) + + const implementingNodeTypes = queryableTypenames.reduce( + (accumulator, typename) => { + const type = typeMap.get(typename) + + if (type.possibleTypes?.length) { + accumulator = [ + ...accumulator, + ...type.possibleTypes.map(({ name }) => name), + ] + } + + return accumulator + }, + [] + ) + + return [...new Set([...queryableTypenames, ...implementingNodeTypes])] +} + +/** + * fetchWPGQLContentNodesByContentType + * + * fetches nodes from the remote WPGQL server and groups them by post type + * + * @returns {Array} + */ +export const runFnForEachNodeQuery = async fn => { + const nodeQueries = getContentTypeQueryInfos() + + const chunkSize = getPluginOptions()?.schema?.requestConcurrency || 15 + const chunkedQueries = chunk(nodeQueries, chunkSize) + + for (const queries of chunkedQueries) { + await Promise.all( + queries.map(async queryInfo => { + if ( + // if the type settings call for lazyNodes, don't fetch them upfront here + queryInfo.settings.lazyNodes || + // if this is a media item and the nodes aren't lazy, we only want to fetch referenced nodes, so we don't fetch all of them here. + (!queryInfo.settings.lazyNodes && + queryInfo.typeInfo.nodesTypeName === `MediaItem`) + ) { + return + } + + await fn({ queryInfo }) + }) + ) + } +} + +export const fetchWPGQLContentNodesByContentType = async () => { + const contentNodeGroups = [] + + await runFnForEachNodeQuery(async ({ queryInfo }) => { + const contentNodeGroup = await fetchWPGQLContentNodes({ queryInfo }) + + if (contentNodeGroup) { + contentNodeGroups.push(contentNodeGroup) + } + }) + + return contentNodeGroups +} + +/** + * fetchAndCreateAllNodes + * + * uses query info (generated from introspection in onPreBootstrap) to + * fetch and create Gatsby nodes from any lists of nodes in the remote schema + */ +export const fetchAndCreateAllNodes = async () => { + const { helpers } = getGatsbyApi() + const { reporter } = helpers + + // + // fetch nodes from WPGQL + const activity = reporter.activityTimer(formatLogMessage(`fetching nodes`)) + activity.start() + + store.subscribe(() => { + activity.setStatus(`${store.getState().logger.entityCount} total`) + }) + + let createdNodeIds + + const hardCachedNodes = await getHardCachedNodes() + + if (!hardCachedNodes) { + const wpgqlNodesByContentType = await fetchWPGQLContentNodesByContentType() + + const createNodesActivity = reporter.activityTimer( + formatLogMessage(`creating nodes`) + ) + createNodesActivity.start() + + // + // Create Gatsby nodes from WPGQL response + createdNodeIds = await createGatsbyNodesFromWPGQLContentNodes({ + wpgqlNodesByContentType, + createNodesActivity, + }) + + await setHardCachedNodes({ helpers }) + + createNodesActivity.end() + activity.end() + } else if (hardCachedNodes) { + createdNodeIds = await restoreHardCachedNodes({ + hardCachedNodes, + }) + } + + // save the node id's so we can touch them on the next build + // so that we don't have to refetch all nodes + await setPersistentCache({ key: CREATED_NODE_IDS, value: createdNodeIds }) +} diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-referenced-media-items.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-referenced-media-items.js new file mode 100644 index 0000000000000..ac3112a4f4976 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/fetch-nodes/fetch-referenced-media-items.js @@ -0,0 +1,566 @@ +import chunk from "lodash/chunk" +import store from "~/store" +import atob from "atob" +import filesize from "filesize" +import PQueue from "p-queue" +import { createRemoteMediaItemNode } from "../create-nodes/create-remote-media-item-node" +import { paginatedWpNodeFetch, normalizeNode } from "./fetch-nodes-paginated" +import { buildTypeName } from "~/steps/create-schema-customization/helpers" +import fetchGraphql from "~/utils/fetch-graphql" +import { getFileNodeMetaBySourceUrl } from "~/steps/source-nodes/create-nodes/create-remote-media-item-node" +import uniq from "lodash/uniq" +import urlUtil from "url" +import path from "path" +import { getPluginOptions } from "~/utils/get-gatsby-api" +import { formatLogMessage } from "~/utils/format-log-message" + +const nodeFetchConcurrency = 2 + +const concurrency = Number(process.env.GATSBY_CONCURRENT_DOWNLOAD ?? 200) +const adjustedConcurrency = Number(concurrency ?? 200) - nodeFetchConcurrency +const normalizedConcurrency = + adjustedConcurrency <= nodeFetchConcurrency + ? concurrency + : adjustedConcurrency + +const mediaFileFetchQueue = new PQueue({ + concurrency: normalizedConcurrency, + carryoverConcurrencyCount: true, +}) + +const mediaNodeFetchQueue = new PQueue({ + concurrency: nodeFetchConcurrency, + carryoverConcurrencyCount: true, +}) + +const previouslyRetriedPromises = {} + +const pushPromiseOntoRetryQueue = ({ + node, + helpers, + createContentDigest, + actions, + queue, + retryKey, + retryPromise, +}) => { + queue.add(async () => { + const timesRetried = previouslyRetriedPromises[retryKey] || 0 + + if (timesRetried >= 2) { + // if we've retried this more than once, pause for a sec. + await new Promise(resolve => + setTimeout(() => resolve(), timesRetried * 500) + ) + } + + try { + await retryPromise({ + createContentDigest, + actions, + helpers, + node, + queue, + retryKey, + retryPromise, + timesRetried, + }) + } catch (error) { + // Errors that should exit are handled one level down + // in createRemoteMediaItemNode + // + // if we haven't reqeued this before, + // add it to the end of the queue to + // try once more later + if (timesRetried < 5) { + if (timesRetried > 1) { + helpers.reporter.info( + `pushing ${retryKey} to the end of the request queue.` + ) + + helpers.reporter.info( + `Previously retried ${timesRetried} times already.` + ) + } + + previouslyRetriedPromises[retryKey] = timesRetried + 1 + + pushPromiseOntoRetryQueue({ + node, + helpers, + createContentDigest, + actions, + queue, + retryKey, + retryPromise, + }) + } else { + helpers.reporter.info( + `\n\nalready re-queued ${retryKey} 5 times :( sorry.\nTry lowering process.env.GATSBY_CONCURRENT_DOWNLOAD.\nIt's currently set to ${process.env.GATSBY_CONCURRENT_DOWNLOAD}\n\n` + ) + // we already tried this earlier in the queue + // no choice but to give up :( + helpers.reporter.panic(error) + } + } + }) +} + +export const createMediaItemNode = async ({ + node, + helpers, + createContentDigest, + actions, + parentName, + allMediaItemNodes = [], +}) => { + const existingNode = await helpers.getNode(node.id) + + if (existingNode) { + return existingNode + } + + store.dispatch.logger.incrementActivityTimer({ + typeName: `MediaItem`, + by: 1, + }) + + allMediaItemNodes.push(node) + + let resolveFutureNode + const futureNode = new Promise(resolve => { + resolveFutureNode = resolve + }) + + pushPromiseOntoRetryQueue({ + node, + helpers, + createContentDigest, + actions, + queue: mediaFileFetchQueue, + retryKey: node.mediaItemUrl, + retryPromise: async ({ + createContentDigest, + actions, + helpers, + node, + retryKey, + timesRetried, + }) => { + const fetchTimeout = setTimeout(() => { + helpers.reporter.log( + formatLogMessage( + `Fetching ${ + node.mediaItemUrl + } is taking a long time time (longer than 15 seconds). This file is ${filesize( + node.fileSize + )}` + ) + ) + }, 15000) + + const localFileNode = await createRemoteMediaItemNode({ + mediaItemNode: node, + helpers, + parentName, + }) + + clearTimeout(fetchTimeout) + + if (timesRetried > 1) { + helpers.reporter.info( + `Successfully fetched ${retryKey} after retrying ${timesRetried} times` + ) + } + + if (!localFileNode) { + return resolveFutureNode(null) + } + + node = { + ...node, + localFile: { + id: localFileNode.id, + }, + parent: null, + internal: { + contentDigest: createContentDigest(node), + type: buildTypeName(`MediaItem`), + }, + } + + const normalizedNode = normalizeNode({ node, nodeTypeName: `MediaItem` }) + + await actions.createNode(normalizedNode) + return resolveFutureNode(node) + }, + }) + + return futureNode +} + +const urlToFileExtension = url => { + const { pathname } = urlUtil.parse(url) + + const fileExtension = path.extname(pathname) + + return fileExtension +} + +export const stripImageSizesFromUrl = url => { + const fileExtension = urlToFileExtension(url) + + const imageSizesPattern = new RegExp( + `(?:[-_]([0-9]+)x([0-9]+))${fileExtension ? `.${fileExtension}` : ``}` + ) + + let urlWithoutSizes = url.replace(imageSizesPattern, ``) + + if (urlWithoutSizes !== url && fileExtension) { + urlWithoutSizes = `${urlWithoutSizes}${fileExtension}` + } + + return urlWithoutSizes +} + +const createScaledImageUrl = url => { + const fileExtension = urlToFileExtension(url) + + const isAlreadyScaled = url.includes(`-scaled${fileExtension || ``}`) + + if (isAlreadyScaled) { + return url + } + + let scaledUrl + + if (fileExtension) { + scaledUrl = url.replace(fileExtension, `-scaled${fileExtension}`) + } else { + scaledUrl = `${url}-scaled` + } + + return scaledUrl +} + +// takes an array of image urls and returns them + additional urls if +// any of the provided image urls contain what appears to be an image resize signifier +// for ex https://site.com/wp-content/uploads/01/your-image-500x1000.jpeg +// that will add https://site.com/wp-content/uploads/01/your-image.jpeg to the array +// this is necessary because we can only get image nodes by the full source url. +// simply removing image resize signifiers from all urls would be a mistake since +// someone could upload a full-size image that contains that pattern - so the full +// size url would have 500x1000 in it, and removing it would make it so we can never +// fetch this image node. +const processAndDedupeImageUrls = urls => + uniq( + urls.reduce((accumulator, url) => { + const scaledUrl = createScaledImageUrl(url) + accumulator.push(scaledUrl) + + const strippedUrl = stripImageSizesFromUrl(url) + + // if the url had no image sizes, don't do anything special + if (strippedUrl === url) { + return accumulator + } + + accumulator.push(strippedUrl) + + const scaledStrippedUrl = createScaledImageUrl(strippedUrl) + accumulator.push(scaledStrippedUrl) + + return accumulator + }, urls) + ) + +const fetchMediaItemsBySourceUrl = async ({ + mediaItemUrls, + selectionSet, + builtFragments, + createContentDigest, + actions, + helpers, + allMediaItemNodes = [], +}) => { + const processedMediaItemUrls = processAndDedupeImageUrls(mediaItemUrls) + + const { + cachedMediaItemNodeIds, + uncachedMediaItemUrls, + } = processedMediaItemUrls.reduce( + (accumulator, url) => { + const { id } = getFileNodeMetaBySourceUrl(url) || {} + + // if we have a cached image and we haven't already recorded this cached image + if (id && !accumulator.cachedMediaItemNodeIds.includes(id)) { + // save it + accumulator.cachedMediaItemNodeIds.push(id) + } else if (!id) { + // otherwise we need to fetch this media item by url + accumulator.uncachedMediaItemUrls.push(url) + } + + return accumulator + }, + { cachedMediaItemNodeIds: [], uncachedMediaItemUrls: [] } + ) + + // take our previously cached id's and get nodes for them + const previouslyCachedMediaItemNodes = await Promise.all( + cachedMediaItemNodeIds.map(async nodeId => helpers.getNode(nodeId)) + ) + + const { + schema: { perPage }, + } = getPluginOptions() + + // chunk up all our uncached media items + const mediaItemUrlsPages = chunk(uncachedMediaItemUrls, perPage) + + // since we're using an async queue, we need a way to know when it's finished + // we pass this resolve function into the queue function so it can let us + // know when it's finished + let resolveFutureNodes + const futureNodes = new Promise(resolve => { + resolveFutureNodes = (nodes = []) => + // combine our resolved nodes we fetched with our cached nodes + resolve([...nodes, ...previouslyCachedMediaItemNodes]) + }) + + // we have no media items to fetch, + // so we need to resolve this promise + // otherwise it will never resolve below. + if (!mediaItemUrlsPages.length) { + resolveFutureNodes() + } + + // for all the images we don't have cached, loop through and get them all + for (const [index, sourceUrls] of mediaItemUrlsPages.entries()) { + pushPromiseOntoRetryQueue({ + helpers, + createContentDigest, + actions, + queue: mediaNodeFetchQueue, + retryKey: `Media Item by sourceUrl query #${index}, digest: ${createContentDigest( + sourceUrls.join() + )}`, + retryPromise: async () => { + const query = /* GraphQL */ ` + query MEDIA_ITEMS { + ${sourceUrls + .map( + (sourceUrl, index) => /* GraphQL */ ` + mediaItem__index_${index}: mediaItem(id: "${sourceUrl}", idType: SOURCE_URL) { + ...MediaItemFragment + } + ` + ) + .join(` `)} + } + + fragment MediaItemFragment on MediaItem { + ${selectionSet} + } + + ${builtFragments || ``} + ` + + const { data } = await fetchGraphql({ + query, + variables: { + first: perPage, + after: null, + }, + errorContext: `Error occurred while fetching "MediaItem" nodes in inline html.`, + }) + + // since we're getting each media item on it's single node root field + // we just needs the values of each property in the response + // anything that returns null is because we tried to get the source url + // plus the source url minus resize patterns. So there will be nulls + // since only the full source url will return data + const thisPagesNodes = Object.values(data).filter(Boolean) + + // take the WPGraphQL nodes we received and create Gatsby nodes out of them + const nodes = await Promise.all( + thisPagesNodes.map(node => + createMediaItemNode({ + node, + helpers, + createContentDigest, + actions, + allMediaItemNodes, + parentName: `Fetching referenced MediaItem nodes by sourceUrl`, + }) + ) + ) + + nodes.forEach((node, index) => { + if (!node) { + return + } + + // this is how we're caching nodes we've previously fetched. + store.dispatch.imageNodes.pushNodeMeta({ + id: node.localFile.id, + sourceUrl: sourceUrls[index], + modifiedGmt: node.modifiedGmt, + }) + }) + + resolveFutureNodes(nodes) + }, + }) + } + + await mediaNodeFetchQueue.onIdle() + await mediaFileFetchQueue.onIdle() + + return futureNodes +} + +const fetchMediaItemsById = async ({ + mediaItemIds, + settings, + url, + selectionSet, + builtFragments, + createContentDigest, + actions, + helpers, + typeInfo, +}) => { + const newMediaItemIds = mediaItemIds.filter(id => !helpers.getNode(id)) + + const { + schema: { perPage }, + } = getPluginOptions() + + const chunkedIds = chunk(newMediaItemIds, perPage) + + let resolveFutureNodes + const futureNodes = new Promise(resolve => { + resolveFutureNodes = resolve + }) + + if (!newMediaItemIds.length) { + resolveFutureNodes([]) + } + + const allMediaItemNodes = [] + + for (const [index, relayIds] of chunkedIds.entries()) { + pushPromiseOntoRetryQueue({ + helpers, + createContentDigest, + actions, + queue: mediaNodeFetchQueue, + retryKey: `Media Item query #${index}, digest: ${createContentDigest( + relayIds.join() + )}`, + retryPromise: async () => { + // relay id's are base64 encoded from strings like attachment:89381 + // where 89381 is the id we want for our query + // so we split on the : and get the last item in the array, which is the id + // once we can get a list of media items by relay id's, we can remove atob + const ids = relayIds.map(id => atob(id).split(`:`).slice(-1)[0]) + + const query = ` + query MEDIA_ITEMS($in: [ID]) { + mediaItems(first: ${perPage}, where:{ in: $in }) { + nodes { + ${selectionSet} + } + } + } + + ${builtFragments || ``} + ` + + const allNodesOfContentType = await paginatedWpNodeFetch({ + first: perPage, + contentTypePlural: typeInfo.pluralName, + nodeTypeName: typeInfo.nodesTypeName, + query, + url, + helpers, + settings, + in: ids, + // this allows us to retry-on-end-of-queue + throwFetchErrors: true, + }) + + const nodes = await Promise.all( + allNodesOfContentType.map(node => + createMediaItemNode({ + node, + helpers, + createContentDigest, + actions, + allMediaItemNodes, + referencedMediaItemNodeIds: mediaItemIds, + parentName: `Fetching referenced MediaItem nodes by id`, + }) + ) + ) + + resolveFutureNodes(nodes) + }, + }) + } + + await mediaNodeFetchQueue.onIdle() + await mediaFileFetchQueue.onIdle() + + return futureNodes +} + +export default async function fetchReferencedMediaItemsAndCreateNodes({ + referencedMediaItemNodeIds, + mediaItemUrls, +}) { + const state = store.getState() + const queryInfo = state.remoteSchema.nodeQueries.mediaItems + + const { helpers, pluginOptions } = state.gatsbyApi + const { createContentDigest, actions } = helpers + const { url } = pluginOptions + const { typeInfo, settings, selectionSet, builtFragments } = queryInfo + + let createdNodes = [] + + if (referencedMediaItemNodeIds?.length) { + const nodesSourcedById = await fetchMediaItemsById({ + mediaItemIds: referencedMediaItemNodeIds, + settings, + url, + selectionSet, + builtFragments, + createContentDigest, + actions, + helpers, + typeInfo, + }) + + createdNodes = nodesSourcedById + } + + if (mediaItemUrls?.length) { + const nodesSourcedByUrl = await fetchMediaItemsBySourceUrl({ + mediaItemUrls, + settings, + url, + selectionSet, + builtFragments, + createContentDigest, + actions, + helpers, + typeInfo, + }) + + createdNodes = [...createdNodes, ...nodesSourcedByUrl] + } + + return createdNodes.filter(Boolean) +} diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/helpers.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/helpers.js new file mode 100644 index 0000000000000..9d6faad5d2870 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/helpers.js @@ -0,0 +1,35 @@ +import store from "~/store" + +export const getTypeInfoBySingleName = singleName => { + const { typeMap } = store.getState().remoteSchema + + const rootField = typeMap + .get(`RootQuery`) + .fields.find(field => field.name === singleName) + + const typeName = rootField.type.name || rootField.type.ofType.name + + const type = typeMap.get(typeName) + + return type +} + +export const getQueryInfoBySingleFieldName = singleName => { + const { nodeQueries } = store.getState().remoteSchema + + const queryInfo = Object.values(nodeQueries).find( + q => q.typeInfo.singularName === singleName + ) + + return queryInfo +} + +export const getQueryInfoByTypeName = typeName => { + const { nodeQueries } = store.getState().remoteSchema + + const queryInfo = Object.values(nodeQueries).find( + q => q.typeInfo.nodesTypeName === typeName + ) + + return queryInfo +} diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/index.ts b/packages/gatsby-source-wordpress/src/steps/source-nodes/index.ts new file mode 100644 index 0000000000000..18459fb44cfcd --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/index.ts @@ -0,0 +1,76 @@ +import { Step } from "./../../utils/run-steps" +import fetchAndApplyNodeUpdates from "./update-nodes/fetch-node-updates" + +import { fetchAndCreateAllNodes } from "./fetch-nodes/fetch-nodes" + +import { LAST_COMPLETED_SOURCE_TIME } from "~/constants" +import store from "~/store" +import fetchAndCreateNonNodeRootFields from "./create-nodes/fetch-and-create-non-node-root-fields" +import { allowFileDownloaderProgressBarToClear } from "./create-nodes/create-remote-file-node/progress-bar-promise" +import { sourcePreviews } from "~/steps/preview" + +const sourceNodes: Step = async (helpers, pluginOptions) => { + const { cache, webhookBody } = helpers + + // if this is a preview we want to process it and return early + if (webhookBody.preview) { + await sourcePreviews(helpers, pluginOptions) + + return + } + // if it's not a preview but we have a token + // we should source any pending previews then continue sourcing + else if (webhookBody.token && webhookBody.userDatabaseId) { + await sourcePreviews(helpers, pluginOptions) + } + + const now = Date.now() + + // fetch non-node root fields such as settings. + // For now, we're refetching them on every build + const nonNodeRootFieldsPromise = fetchAndCreateNonNodeRootFields() + + const lastCompletedSourceTime = + webhookBody.refreshing && webhookBody.since + ? webhookBody.since + : await cache.get(LAST_COMPLETED_SOURCE_TIME) + + const { + schemaWasChanged, + foundUsableHardCachedData, + } = store.getState().remoteSchema + + const fetchEverything = + foundUsableHardCachedData || + !lastCompletedSourceTime || + // don't refetch everything in development + (process.env.NODE_ENV !== `development` && + // and the schema was changed + schemaWasChanged) + + // If this is an uncached build, + // or our initial build to fetch and cache everything didn't complete, + // pull everything from WPGQL + if (fetchEverything) { + await fetchAndCreateAllNodes() + } + + // If we've already successfully pulled everything from WPGraphQL + // just pull the latest changes + else if (!fetchEverything) { + await fetchAndApplyNodeUpdates({ + since: lastCompletedSourceTime, + }) + } + + await nonNodeRootFieldsPromise + + allowFileDownloaderProgressBarToClear() + await helpers.cache.set(LAST_COMPLETED_SOURCE_TIME, now) + + const { dispatch } = store + dispatch.remoteSchema.setSchemaWasChanged(false) + dispatch.develop.resumeRefreshPolling() +} + +export { sourceNodes } diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/content-update-interval.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/content-update-interval.js new file mode 100644 index 0000000000000..d9d1cdd1d4f5b --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/content-update-interval.js @@ -0,0 +1,135 @@ +import { formatLogMessage } from "~/utils/format-log-message" +import store from "~/store" +import { getGatsbyApi } from "~/utils/get-gatsby-api" +import { contentPollingQuery } from "../../../utils/graphql-queries" +import fetchGraphql from "../../../utils/fetch-graphql" +import { LAST_COMPLETED_SOURCE_TIME } from "../../../constants" + +/** + * This function checks wether there is atleast 1 WPGatsby action ready to be processed by Gatsby + * If there is, it calls the refresh webhook so that schema customization and source nodes run again. + */ +const checkForNodeUpdates = async ({ cache, emitter }) => { + // get the last sourced time + const lastCompletedSourceTime = await cache.get(LAST_COMPLETED_SOURCE_TIME) + const since = lastCompletedSourceTime - 500 + + // make a graphql request for any actions that have happened since + const { + data: { + actionMonitorActions: { nodes: newActions }, + }, + } = await fetchGraphql({ + query: contentPollingQuery, + variables: { + since, + }, + // throw fetch errors and graphql errors so we can auto recover in refetcher() + throwGqlErrors: true, + throwFetchErrors: true, + }) + + if (newActions.length) { + // if there's atleast 1 new action, pause polling, + // refresh Gatsby schema+nodes and continue on + store.dispatch.develop.pauseRefreshPolling() + + emitter.emit(`WEBHOOK_RECEIVED`, { + webhookBody: { + since, + refreshing: true, + }, + }) + } else { + // set new last completed source time and move on + await cache.set(LAST_COMPLETED_SOURCE_TIME, Date.now()) + } +} + +const refetcher = async ( + msRefetchInterval, + helpers, + { reconnectionActivity = null, retryCount = 1 } = {} +) => { + try { + const { refreshPollingIsPaused } = store.getState().develop + + if (!refreshPollingIsPaused) { + await checkForNodeUpdates(helpers) + } + + if (reconnectionActivity) { + reconnectionActivity.end() + helpers.reporter.success( + formatLogMessage( + `Content updates re-connected after ${retryCount} ${ + retryCount === 1 ? `try` : `tries` + }` + ) + ) + + reconnectionActivity = null + retryCount = 1 + } + } catch (e) { + const { pluginOptions } = getGatsbyApi() + if (pluginOptions?.debug?.throwRefetchErrors) { + throw e + } + + if (!reconnectionActivity) { + reconnectionActivity = helpers.reporter.activityTimer( + formatLogMessage(`Content update error: "${e.message}"`) + ) + reconnectionActivity.start() + reconnectionActivity.setStatus(`retrying...`) + } else { + retryCount++ + reconnectionActivity.setStatus(`retried ${retryCount} times`) + } + + // retry after retry count times 5 seconds + const retryTime = retryCount * 5000 + // if the retry time is greater than or equal to the max (60 seconds) + // use the max, otherwise use the retry time + const maxWait = 60000 + const waitFor = retryTime >= maxWait ? maxWait : retryTime + + await new Promise(resolve => setTimeout(resolve, waitFor)) + } + + setTimeout( + () => + refetcher(msRefetchInterval, helpers, { + reconnectionActivity, + retryCount, + }), + msRefetchInterval + ) +} + +/** + * Starts constantly refetching the latest WordPress changes + * so we can update Gatsby nodes when data changes + */ +const startPollingForContentUpdates = helpers => { + if ( + process.env.WP_DISABLE_POLLING || + process.env.ENABLE_GATSBY_REFRESH_ENDPOINT + ) { + return + } + + const { verbose, develop } = store.getState().gatsbyApi.pluginOptions + + const msRefetchInterval = develop.nodeUpdateInterval + + if (verbose) { + helpers.reporter.log(``) + helpers.reporter.info(formatLogMessage`Watching for WordPress changes`) + } + + refetcher(msRefetchInterval, helpers) +} + +export { startPollingForContentUpdates } diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/fetch-node-updates.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/fetch-node-updates.js new file mode 100644 index 0000000000000..d98a961c1d488 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/fetch-node-updates.js @@ -0,0 +1,59 @@ +import { CREATED_NODE_IDS, LAST_COMPLETED_SOURCE_TIME } from "~/constants" +import { fetchAndRunWpActions } from "./wp-actions" +import { formatLogMessage } from "~/utils/format-log-message" +import { getGatsbyApi } from "~/utils/get-gatsby-api" +import { getPersistentCache } from "~/utils/cache" + +export const touchValidNodes = async () => { + const { helpers } = getGatsbyApi() + const { actions } = helpers + + const validNodeIds = await getPersistentCache({ key: CREATED_NODE_IDS }) + + if (validNodeIds?.length) { + validNodeIds.forEach(nodeId => actions.touchNode({ nodeId })) + } +} + +/** + * fetchAndApplyNodeUpdates + * + * uses query info (types and gql query strings) fetched/generated in + * onPreBootstrap to ask WordPress for the latest changes, and then + * apply creates, updates, and deletes to Gatsby nodes + */ +const fetchAndApplyNodeUpdates = async ({ + since, + throwFetchErrors = false, + throwGqlErrors = false, +}) => { + const { helpers, pluginOptions } = getGatsbyApi() + + const { cache, reporter } = helpers + + const activity = reporter.activityTimer( + formatLogMessage(`pull updates since last build`) + ) + activity.start() + + if (!since) { + since = await cache.get(LAST_COMPLETED_SOURCE_TIME) + } + + // Check with WPGQL to create, delete, or update cached WP nodes + const { wpActions, didUpdate } = await fetchAndRunWpActions({ + since, + helpers, + pluginOptions, + throwFetchErrors, + throwGqlErrors, + }) + + await touchValidNodes() + + activity.end() + + return { wpActions, didUpdate } +} + +export default fetchAndApplyNodeUpdates diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/find-connected-nodes.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/find-connected-nodes.js new file mode 100644 index 0000000000000..a6b8b4223af1a --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/find-connected-nodes.js @@ -0,0 +1,62 @@ +import flattenDeep from "lodash/flattenDeep" +import { dump } from "dumper.js" + +// After all nodes are created while building the schema, store possible node type relationships. So for example when building the WpPost type, for every gatsby node discovered as a potential connected node type WpPost's fields, record that in redux as WpPost => [...ConnectedTypeNames]. + +// when creating or updating a Page incrementally, we should find all connected node ids, check the types of each of those id's, if any connected id type has the current node type as a potential connected node type, AND this node is not a connected node of that node, we should refetch that node in case it's now a connected node. + +// So we create a new Page, we then check the connected node id's and determine that one of them is a User type. The User type has Page as a potential connected node. So we check if this node is a connected node of that node. If it's not we can't be sure that that User node isn't missing this node as a connected node. So we refetch the connected node of our Page which is a User. Do this for all connected nodes where we can't find a relationship back. + +const recursivelySearchForIds = ([key, value]) => { + if (!key || !value) { + return null + } + + if (key === `id`) { + return value + } else if (typeof value === `string` || typeof value === `number`) { + return null + } + + if (Array.isArray(value)) { + dump(key) + // loop through each value of the array. If it's an object recurse on it's fields + // if it's anything else skip it. + value.map(innerValue => { + if (innerValue === null) { + return null + } + + if (key === `id` && typeof innerValue === `string`) { + return innerValue + } + + if (typeof innerValue === `object`) { + return Object.values(innerValue).map(recursivelySearchForIds) + } + + return null + }) + } else if (typeof value === `object`) { + dump(key) + return Object.entries(value).map(recursivelySearchForIds) + } + + return null +} + +export const findConnectedNodeIds = node => { + const childNodeIds = [ + ...new Set( + flattenDeep(Object.entries(node).map(recursivelySearchForIds)).filter( + id => id !== node.id && !!id + ) + ), + ] + + if (!childNodeIds.length) { + return null + } + + return childNodeIds +} diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/delete.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/delete.js new file mode 100644 index 0000000000000..fb3d58e9a4eda --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/delete.js @@ -0,0 +1,98 @@ +import chalk from "chalk" + +import { formatLogMessage } from "~/utils/format-log-message" +import store from "~/store" +import { + getTypeSettingsByType, + buildTypeName, +} from "~/steps/create-schema-customization/helpers" +import { fetchGraphql } from "~/utils/fetch-graphql" +import { getQueryInfoBySingleFieldName } from "../../helpers" +import { CREATED_NODE_IDS } from "~/constants" +import { setPersistentCache, getPersistentCache } from "~/utils/cache" + +const wpActionDELETE = async ({ + helpers, + // cachedNodeIds, + wpAction, +}) => { + const { reporter, actions, getNode } = helpers + + try { + const cachedNodeIds = await getPersistentCache({ key: CREATED_NODE_IDS }) + + // get the node ID from the WPGQL id + const nodeId = wpAction.referencedNodeGlobalRelayID + + const node = await getNode(nodeId) + + const { typeInfo } = + getQueryInfoBySingleFieldName(wpAction.referencedNodeSingularName) || {} + + if (!typeInfo) { + reporter.info( + formatLogMessage( + `A ${wpAction.referencedNodeSingularName} was deleted, but this node type is excluded in plugin options.` + ) + ) + reporter.log(``) + return + } + + const typeSettings = getTypeSettingsByType({ + name: typeInfo.nodesTypeName, + }) + + if ( + typeSettings.beforeChangeNode && + typeof typeSettings.beforeChangeNode === `function` + ) { + const { additionalNodeIds } = + (await typeSettings.beforeChangeNode({ + actionType: `DELETE`, + remoteNode: node, + actions, + helpers, + typeInfo, + fetchGraphql, + typeSettings, + buildTypeName, + wpStore: store, + })) || {} + + if (additionalNodeIds && additionalNodeIds.length) { + additionalNodeIds.forEach(id => cachedNodeIds.push(id)) + } + } + + if (node) { + await actions.touchNode({ nodeId }) + await actions.deleteNode({ node }) + + reporter.log(``) + reporter.info( + formatLogMessage( + `${chalk.bold(`deleted ${wpAction.referencedNodeSingularName}`)} ${ + wpAction.title + } (#${wpAction.referencedNodeID})` + ) + ) + + reporter.log(``) + } + + // Remove this from cached node id's so we don't try to touch it + const validNodeIds = cachedNodeIds.filter(cachedId => cachedId !== nodeId) + + await setPersistentCache({ key: CREATED_NODE_IDS, value: validNodeIds }) + + // return validNodeIds + } catch (e) { + Object.entries(wpAction).forEach(([key, value]) => { + reporter.warn(`${key} ${JSON.stringify(value)}`) + }) + throw Error(e) + } +} + +module.exports = wpActionDELETE diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/index.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/index.js new file mode 100644 index 0000000000000..a62228baa0a58 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/index.js @@ -0,0 +1,110 @@ +import { actionMonitorQuery } from "~/utils/graphql-queries" +import wpActionDELETE from "./delete" +import wpActionUPDATE from "./update" +import { LAST_COMPLETED_SOURCE_TIME } from "~/constants" +import { paginatedWpNodeFetch } from "~/steps/source-nodes/fetch-nodes/fetch-nodes-paginated" + +import fetchAndCreateNonNodeRootFields from "~/steps/source-nodes/create-nodes/fetch-and-create-non-node-root-fields" +import { setHardCachedNodes } from "~/utils/cache" + +/** + * getWpActions + * + * pull the latest changes from WP and determine which of those changes + * require updates in Gatsby, then return valid changes + * An example of a non-valid change would be a post that was created + * and then immediately deleted. + */ +export const getWpActions = async ({ + variables, + helpers, + throwFetchErrors = false, + throwGqlErrors = false, +}) => { + const sourceTime = Date.now() + + // @todo add pagination in case there are more than 100 actions since the last build + const actionMonitorActions = await paginatedWpNodeFetch({ + contentTypePlural: `actionMonitorActions`, + query: actionMonitorQuery, + nodeTypeName: `ActionMonitor`, + helpers, + throwFetchErrors, + throwGqlErrors, + ...variables, + }) + + if (!actionMonitorActions || !actionMonitorActions.length) { + return [] + } + + await helpers.cache.set(LAST_COMPLETED_SOURCE_TIME, sourceTime) + + return actionMonitorActions +} + +/** + * Acts on changes in WordPress to call functions that sync Gatsby with + * the latest WP changes + */ +export const handleWpActions = async api => { + const { cachedNodeIds, helpers } = api + + switch (api.wpAction.actionType) { + case `DELETE`: + await wpActionDELETE(api) + break + case `UPDATE`: + case `CREATE`: + await wpActionUPDATE(api) + break + case `NON_NODE_ROOT_FIELDS`: + await fetchAndCreateNonNodeRootFields() + } + + await setHardCachedNodes({ helpers }) + + return cachedNodeIds +} + +/** + * fetchAndRunWpActions + * + * fetches a list of latest changes in WordPress + * and then acts on those changes + */ +export const fetchAndRunWpActions = async ({ + helpers, + pluginOptions, + since, + throwFetchErrors = false, + throwGqlErrors = false, +}) => { + // check for new, edited, or deleted posts in WP "Action Monitor" + const wpActions = await getWpActions({ + variables: { + since, + }, + helpers, + throwFetchErrors, + throwGqlErrors, + }) + + const didUpdate = !!wpActions.length + + if (didUpdate) { + for (const wpAction of wpActions) { + // Create, update, and delete nodes + await handleWpActions({ + helpers, + pluginOptions, + wpAction, + }) + } + } + + return { + wpActions, + didUpdate, + } +} diff --git a/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js new file mode 100644 index 0000000000000..de2f00d957a92 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/source-nodes/update-nodes/wp-actions/update.js @@ -0,0 +1,342 @@ +import fetchGraphql from "~/utils/fetch-graphql" +import store from "~/store" +import { formatLogMessage } from "~/utils/format-log-message" +import chalk from "chalk" +import { getQueryInfoBySingleFieldName } from "../../helpers" +import { getGatsbyApi } from "~/utils/get-gatsby-api" +import { CREATED_NODE_IDS } from "~/constants" +import { dump } from "dumper.js" +import { atob } from "atob" + +import { + buildTypeName, + getTypeSettingsByType, +} from "~/steps/create-schema-customization/helpers" +import { processNode } from "~/steps/source-nodes/create-nodes/process-node" +import { getPersistentCache, setPersistentCache } from "~/utils/cache" + +export const fetchAndCreateSingleNode = async ({ + singleName, + id, + actionType, + cachedNodeIds, + isDraft, + token = null, + isPreview = false, + userDatabaseId = null, +}) => { + function getNodeQuery() { + const { nodeQuery, previewQuery } = + getQueryInfoBySingleFieldName(singleName) || {} + + // if this is a preview use the preview query + // if it's a preview but it's the initial blank node + // then use the regular node query as the preview query wont + // return anything + const query = isPreview && !isDraft ? previewQuery : nodeQuery + + return query + } + + const query = getNodeQuery() + + const { + helpers: { reporter }, + pluginOptions, + } = getGatsbyApi() + + if (!query) { + reporter.info( + formatLogMessage( + `A ${singleName} was updated, but no query was found for this node type. This node type is either excluded in plugin options or this is a bug.` + ) + ) + return { node: null } + } + + const headers = + token && userDatabaseId + ? { + WPGatsbyPreview: token, + WPGatsbyPreviewUser: userDatabaseId, + } + : {} + + const { data } = await fetchGraphql({ + headers, + query, + variables: { + id, + }, + errorContext: `Error occurred while updating a single "${singleName}" node.`, + }) + + const remoteNode = data[singleName] + + if (!data || !remoteNode) { + reporter.warn( + formatLogMessage( + `${id} ${singleName} was updated, but no data was returned for this node.` + ) + ) + + return { node: null } + } + + remoteNode.uri = normalizeUri({ + uri: remoteNode.uri, + singleName, + id, + }) + + data[singleName] = remoteNode + + const { additionalNodeIds, node } = await createSingleNode({ + singleName, + id, + actionType, + data, + cachedNodeIds, + }) + + if (isPreview) { + reporter.info( + formatLogMessage(`Preview for ${singleName} ${node.id} was updated.`) + ) + + if (pluginOptions.debug.preview) { + reporter.info(formatLogMessage(`Raw remote node data:`)) + dump(data) + } + } + + return { node, additionalNodeIds } +} + +export const createSingleNode = async ({ + singleName, + id, + actionType, + data, + cachedNodeIds, +}) => { + const state = store.getState() + const { helpers, pluginOptions } = state.gatsbyApi + const { wpUrl } = state.remoteSchema + + const { typeInfo } = getQueryInfoBySingleFieldName(singleName) + + if (!cachedNodeIds) { + cachedNodeIds = await getPersistentCache({ key: CREATED_NODE_IDS }) + } + + const updatedNodeContent = { + ...data[singleName], + nodeType: typeInfo.nodesTypeName, + type: typeInfo.nodesTypeName, + } + + const processedNode = await processNode({ + node: updatedNodeContent, + pluginOptions, + wpUrl, + helpers, + }) + + const { actions } = helpers + + const { createContentDigest } = helpers + + let remoteNode = { + ...processedNode, + id: id, + parent: null, + internal: { + contentDigest: createContentDigest(updatedNodeContent), + type: buildTypeName(typeInfo.nodesTypeName), + }, + } + + const typeSettings = getTypeSettingsByType({ + name: typeInfo.nodesTypeName, + }) + + let additionalNodeIds + let cancelUpdate + + if ( + typeSettings.beforeChangeNode && + typeof typeSettings.beforeChangeNode === `function` + ) { + const { + additionalNodeIds: receivedAdditionalNodeIds, + remoteNode: receivedRemoteNode, + cancelUpdate: receivedCancelUpdate, + } = + (await typeSettings.beforeChangeNode({ + actionType: actionType, + remoteNode, + actions, + helpers, + fetchGraphql, + typeSettings, + buildTypeName, + type: typeInfo.nodesTypeName, + wpStore: store, + })) || {} + + additionalNodeIds = receivedAdditionalNodeIds + cancelUpdate = receivedCancelUpdate + + if (receivedRemoteNode) { + remoteNode = receivedRemoteNode + } + } + + if (cancelUpdate) { + return { + additionalNodeIds, + remoteNode: null, + } + } + + if (remoteNode) { + actions.createNode(remoteNode) + + cachedNodeIds.push(remoteNode.id) + + if (additionalNodeIds && additionalNodeIds.length) { + additionalNodeIds.forEach(id => cachedNodeIds.push(id)) + } + + await setPersistentCache({ key: CREATED_NODE_IDS, value: cachedNodeIds }) + } + + return { additionalNodeIds, node: remoteNode } +} + +const wpActionUPDATE = async ({ helpers, wpAction }) => { + const reportUpdate = ({ setAction } = {}) => { + const actionType = setAction || wpAction.actionType + + reporter.log(``) + reporter.info( + formatLogMessage( + `${chalk.bold( + `${actionType.toLowerCase()} ${wpAction.referencedNodeSingularName}` + )} ${wpAction.title} (#${wpAction.referencedNodeID})` + ) + ) + reporter.log(``) + } + + const { reporter, actions } = helpers + + const cachedNodeIds = await getPersistentCache({ key: CREATED_NODE_IDS }) + + const state = store.getState() + const { + gatsbyApi: { + pluginOptions: { verbose }, + helpers: { getNode }, + }, + } = state + + const nodeId = wpAction.referencedNodeGlobalRelayID + + const existingNode = await getNode(nodeId) + + if (wpAction.referencedNodeStatus !== `publish`) { + // if the post status isn't publish anymore, we need to remove the node + // by removing it from cached nodes so it's garbage collected by Gatsby + const validNodeIds = cachedNodeIds.filter(cachedId => cachedId !== nodeId) + + await setPersistentCache({ key: CREATED_NODE_IDS, value: validNodeIds }) + + if (existingNode) { + await actions.touchNode({ nodeId }) + await actions.deleteNode({ node: existingNode }) + reportUpdate({ setAction: `DELETE` }) + } + + return + } + + const { node } = await fetchAndCreateSingleNode({ + id: nodeId, + actionType: wpAction.actionType, + singleName: wpAction.referencedNodeSingularName, + cachedNodeIds, + }) + + if (node) { + reportUpdate() + + if (verbose) { + const nodeEntries = existingNode ? Object.entries(existingNode) : null + + if (nodeEntries?.length) { + const loggableEntries = nodeEntries.filter( + ([key]) => !key.includes(`modifiedGmt`) && key !== `modified` + ) + + for (const [key, value] of loggableEntries) { + if (!node || !node[key] || !value) { + return + } + + if ( + // if the value of this field changed, log it + typeof node[key] === `string` && + value !== node[key] + ) { + reporter.log(``) + reporter.info(chalk.bold(`${key} changed`)) + + if (value.length < 250 && node[key].length < 250) { + reporter.log(``) + reporter.log(`${chalk.italic.bold(` from`)}`) + reporter.log(` ${value}`) + reporter.log(chalk.italic.bold(` to`)) + reporter.log(` ${node[key]}`) + reporter.log(``) + } + } + } + + reporter.log(``) + } + } + } + + // return cachedNodeIds +} + +const getDbIdFromRelayId = relayId => atob(relayId).split(`:`).reverse()[0] + +const normalizeUri = ({ uri, id, singleName }) => { + // remove the preview query params as they're not relevant in Gatsby + uri = uri?.replace(`preview=true`, ``) + + // if removing the preview string leaves us with either of these + // characters at the end, trim em off! + if (uri?.endsWith(`?`) || uri?.endsWith(`&`)) { + uri = uri.slice(0, -1) + } + + // if this is a draft url which could look like + // this /?p=543534 or /?page=4324 or /?something=yep&page=543543 or /?p=4534&what=yes + // we will create a proper path that Gatsby can handle + // /post_graphql_name/post_db_id/ + // this same logic is on the WP side in the preview template + // to account for this situation. + if (uri?.startsWith(`/?`)) { + const dbId = getDbIdFromRelayId(id) + + return `/generated-preview-path/${singleName}/${dbId}/` + } + + return uri +} + +export default wpActionUPDATE diff --git a/packages/gatsby-source-wordpress/src/steps/temp-prevent-multiple-instances.ts b/packages/gatsby-source-wordpress/src/steps/temp-prevent-multiple-instances.ts new file mode 100644 index 0000000000000..c6e8a3571abcb --- /dev/null +++ b/packages/gatsby-source-wordpress/src/steps/temp-prevent-multiple-instances.ts @@ -0,0 +1,26 @@ +import { Reporter } from "gatsby" +import { formatLogMessage } from "../utils/format-log-message" +let isWpSourcePluginInstalled = false + +/** + * Temporarily break the build when a user defines multiple source configs for the plugin + * See https://github.com/gatsbyjs/gatsby-source-wordpress/issues/251 + * @param {Reporter} reporter + */ + +export function tempPreventMultipleInstances({ + reporter, +}: { + reporter: Reporter +}): void { + if (isWpSourcePluginInstalled) { + reporter.panic( + formatLogMessage( + `Multiple instances of this plugin aren't currently supported yet.`, + { useVerboseStyle: true } + ) + ) + } else { + isWpSourcePluginInstalled = true + } +} diff --git a/packages/gatsby-source-wordpress/src/store.ts b/packages/gatsby-source-wordpress/src/store.ts new file mode 100644 index 0000000000000..e39577f78170a --- /dev/null +++ b/packages/gatsby-source-wordpress/src/store.ts @@ -0,0 +1,14 @@ +import { init } from "@rematch/core" +import immerPlugin from "@rematch/immer" +import models from "./models" + +// import type { RematchStore } from "@rematch/core" +// @todo any used to be RematchStore but this isn't exactly right.. +// need to revisit this later. newer versions of rematch sorted TS out but +// there are a lot of breaking changes for us it seems +const store: any = init({ + models, + plugins: [immerPlugin()], +}) + +export default store diff --git a/packages/gatsby-source-wordpress/src/supported-remote-plugin-versions.ts b/packages/gatsby-source-wordpress/src/supported-remote-plugin-versions.ts new file mode 100644 index 0000000000000..0aedf604eb887 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/supported-remote-plugin-versions.ts @@ -0,0 +1,16 @@ +// this doesn't indicate which versions actually work, +// it indicates which versions we will actually support AND which versions work. +const supportedWpPluginVersions = { + WPGraphQL: { + version: `>=1.1.2 <2.0.0`, + reason: null, + }, + WPGatsby: { + version: `>=0.9.0 <2.0.0`, + reason: null, + }, +} + +const genericDownloadMessage = `\n\n\tVisit https://github.com/wp-graphql/wp-graphql/releases and https://github.com/gatsbyjs/wp-gatsby/releases\n\tto download versions of WPGatsby and WPGraphL that satisfy these requirements.\n\n\tAlternatively you can find both of these plugins on the WordPress.org plugin repo.` + +export { supportedWpPluginVersions, genericDownloadMessage } diff --git a/packages/gatsby-source-wordpress/src/utils/cache.ts b/packages/gatsby-source-wordpress/src/utils/cache.ts new file mode 100644 index 0000000000000..f8ddd6b1d01c7 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/utils/cache.ts @@ -0,0 +1,379 @@ +import { GatsbyHelpers } from "~/utils/gatsby-types" +import manager from "cache-manager" +import fs from "fs-extra" +import fsStore from "cache-manager-fs-hash" +import path from "path" +import rimraf from "rimraf" + +import store from "~/store" +import { getGatsbyApi } from "~/utils/get-gatsby-api" + +import fetchGraphql from "~/utils/fetch-graphql" + +import { + getTypeSettingsByType, + buildTypeName, +} from "~/steps/create-schema-customization/helpers" + +import { createMediaItemNode } from "~/steps/source-nodes/fetch-nodes/fetch-referenced-media-items" +import type { Node } from "gatsby" + +const MAX_CACHE_SIZE = 250 +const TTL = Number.MAX_SAFE_INTEGER +const cacheDir = `.wordpress-cache/caches` + +type Store = manager.StoreConfig["store"] + +interface ICacheOptions { + name?: string + store?: Store +} +export default class Cache { + private store: Store + private name: string + private cacheDirectory: string + private cache: manager.MultiCache + constructor({ name = `db`, store = fsStore }: ICacheOptions = {}) { + this.name = name + this.store = store + this.cacheDirectory = cacheDir + } + + get cacheBase(): string { + return path.join(process.cwd(), this.cacheDirectory) + } + + get directory(): string { + return `${this.cacheBase}/${this.name}` + } + + init(): Cache { + fs.ensureDirSync(this.directory) + + const configs: Array = [ + { + store: `memory`, + max: MAX_CACHE_SIZE, + ttl: TTL, + }, + { + store: this.store, + ttl: TTL, + options: { + path: this.directory, + ttl: TTL, + }, + }, + ] + + const caches = configs.map(cache => manager.caching(cache)) + + this.cache = manager.multiCaching(caches) + + return this + } + + get(key: string): Promise { + return new Promise(resolve => { + if (!this.cache) { + throw new Error( + `Cache wasn't initialised yet, please run the init method first` + ) + } + this.cache.get(key, (err, res) => { + resolve(err ? undefined : res) + }) + }) + } + + set(key: string, value: unknown, args = { ttl: TTL }): Promise { + return new Promise(resolve => { + if (!this.cache) { + throw new Error( + `Cache wasn't initialised yet, please run the init method first` + ) + } + this.cache.set(key, value, args, err => { + resolve(err ? undefined : value) + }) + }) + } +} + +const caches = new Map() + +export const getCacheInstance = (name: string): Cache => { + let cache = caches.get(name) + if (!cache) { + cache = new Cache({ name }).init() + caches.set(name, cache) + } + return cache +} + +export const shouldHardCacheData = (): boolean => { + const isDevelop = process.env.NODE_ENV === `development` + + if (!isDevelop) { + return false + } + + const { + pluginOptions: { + develop: { hardCacheData }, + }, + } = store.getState().gatsbyApi + + return hardCacheData +} + +export const setHardCachedData = async ({ + key, + value, +}: { + key: string + value: unknown +}): Promise => { + if (!shouldHardCacheData()) { + return + } + + const hardCache = getCacheInstance(`wordpress-data`) + + await hardCache.set(key, value) +} + +export const getHardCachedData = async ({ + key, +}: { + key: string +}): Promise => { + if (!shouldHardCacheData()) { + return null + } + + const hardCache = getCacheInstance(`wordpress-data`) + + const data = await hardCache.get(key) + + return data as T +} + +export const getHardCachedNodes = async (): Promise> => { + const allWpNodes = await getHardCachedData>({ key: `allWpNodes` }) + + const shouldUseHardDataCache = allWpNodes?.length + + if (shouldUseHardDataCache) { + return allWpNodes + } + + return null +} + +const staticFileCacheDirectory = `${process.cwd()}/.wordpress-cache/caches/public/static` +const staticFileDirectory = `${process.cwd()}/public/static` + +export const restoreStaticDirectory = async (): Promise => { + await fs.copy(staticFileCacheDirectory, staticFileDirectory) +} + +const copyStaticDirectory = async (): Promise => { + await fs.copy(staticFileDirectory, staticFileCacheDirectory) +} + +export const setHardCachedNodes = async ({ + helpers, +}: { + helpers: GatsbyHelpers +}): Promise => { + if (!shouldHardCacheData()) { + return + } + + const allNodes = await helpers.getNodes() + + const allWpNodes = allNodes.filter( + (node: Node) => node.internal.owner === `gatsby-source-wordpress` + ) + + await setHardCachedData({ + key: `allWpNodes`, + value: allWpNodes, + }) + + // if we're hard caching data, + // that means any inline html images paths will be baked into + // the processed hard cached nodes. + // so we need to copy the static directory + await copyStaticDirectory() +} + +export const clearHardCache = async (): Promise => { + await new Promise(resolve => { + const directory = new Cache().cacheBase + + rimraf(directory, resolve) + }) +} + +export const clearHardCachedNodes = async (): Promise => { + const hardCachedNodes = !!(await getHardCachedNodes()) + + if (hardCachedNodes) { + await setHardCachedData({ + key: `allWpNodes`, + value: null, + }) + } +} + +// persistant cache +export const setPersistentCache = async ({ + key, + value, +}: { + key: string + value: unknown +}): Promise => { + const { helpers } = getGatsbyApi() + + await Promise.all([ + // set Gatsby cache + helpers.cache.set(key, value), + // and hard cache + setHardCachedData({ key, value }), + ]) +} + +export const getPersistentCache = async ({ + key, +}: { + key: string +}): Promise => { + const { helpers } = getGatsbyApi() + + const cachedData = await helpers.cache.get(key) + + if (cachedData) { + return cachedData + } + + const hardCachedData = await getHardCachedData({ key }) + + return hardCachedData +} + +export const restoreHardCachedNodes = async ({ + hardCachedNodes, +}: { + hardCachedNodes: Array +}): Promise> => { + const loggerTypeCounts = {} + + const { helpers, pluginOptions } = getGatsbyApi() + const { reporter } = helpers + + // restore nodes + await Promise.all( + hardCachedNodes.map(async node => { + if (!loggerTypeCounts[node.internal.type]) { + loggerTypeCounts[node.internal.type] = 0 + } + + loggerTypeCounts[node.internal.type] += 1 + + // media items are created in a special way + if (node.internal.type.endsWith(`MediaItem`)) { + delete node.internal + + const { createContentDigest, actions } = helpers + + return createMediaItemNode({ + node, + helpers, + createContentDigest, + actions, + parentName: `Hard cache restoration`, + // referencedMediaItemNodeIds, + // allMediaItemNodes = [], + }) + } + + node.internal = { + contentDigest: node.internal.contentDigest, + type: node.internal.type, + } as Node["internal"] + + const typeSettingsCache = {} + + const typeSettings = + // TODO: extend node type for wordpress? + typeSettingsCache[node.type as string] ?? + getTypeSettingsByType({ + name: node.type, + }) + + let remoteNode = node + + if ( + typeSettings.beforeChangeNode && + typeof typeSettings.beforeChangeNode === `function` + ) { + const { + // additionalNodeIds: receivedAdditionalNodeIds, + remoteNode: receivedRemoteNode, + // cancelUpdate: receivedCancelUpdate, + } = + (await typeSettings.beforeChangeNode({ + actionType: `CREATE_ALL`, + remoteNode, + actions: helpers.actions, + helpers, + fetchGraphql, + typeSettings, + buildTypeName, + type: node.type, + wpStore: store, + })) || {} + + if (receivedRemoteNode) { + remoteNode = receivedRemoteNode + } + } + + // restore each node + // TODO: update gatsby types + await helpers.actions.createNode(remoteNode) + + return null + }) + ) + + Object.entries(loggerTypeCounts).forEach(([typeName, count]) => { + store.dispatch.logger.createActivityTimer({ + typeName, + pluginOptions, + reporter, + }) + + store.dispatch.logger.incrementActivityTimer({ + typeName, + by: count, + action: `restored`, + }) + + store.dispatch.logger.stopActivityTimer({ + typeName, + action: `restored`, + }) + }) + + // restore static directory + await restoreStaticDirectory() + + // build createdNodeIds id array to be cached 1 level above + const createdNodeIds = hardCachedNodes.map(node => node.id) + + return createdNodeIds +} diff --git a/packages/gatsby-source-wordpress/src/utils/fetch-graphql.ts b/packages/gatsby-source-wordpress/src/utils/fetch-graphql.ts new file mode 100644 index 0000000000000..82ffe600928f4 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/utils/fetch-graphql.ts @@ -0,0 +1,719 @@ +import { IPluginOptions } from "~/models/gatsby-api" +import { GatsbyReporter } from "./gatsby-types" +import prettier from "prettier" +import clipboardy from "clipboardy" +import axios, { AxiosRequestConfig, AxiosResponse } from "axios" +import rateLimit, { RateLimitedAxiosInstance } from "axios-rate-limit" +import { bold } from "chalk" +import { formatLogMessage } from "./format-log-message" +import store from "~/store" +import { getPluginOptions } from "./get-gatsby-api" +import urlUtil from "url" +import { CODES } from "./report" + +let http = null + +const getHttp = (limit = 50): RateLimitedAxiosInstance => { + if (!http) { + http = rateLimit(axios.create(), { + maxRPS: limit, + }) + } + return http +} + +interface IHandleErrorOptionsInput { + variables: IJSON + query: string + pluginOptions: IPluginOptions + reporter: GatsbyReporter +} + +const handleErrorOptions = async ({ + variables, + query, + pluginOptions, + reporter, +}: IHandleErrorOptionsInput): Promise => { + if ( + variables && + Object.keys(variables).length && + pluginOptions.debug.graphql.showQueryVarsOnError + ) { + reporter.info( + formatLogMessage(`GraphQL vars: ${JSON.stringify(variables)}`) + ) + } + + try { + query = prettier.format(query, { parser: `graphql` }) + } catch (e) { + // do nothing + } + + if (pluginOptions.debug.graphql.showQueryOnError) { + reporter.error(formatLogMessage(`GraphQL query: ${query}`)) + } + + if (pluginOptions.debug.graphql.copyQueryOnError) { + try { + await clipboardy.write(query) + } catch (e) { + // do nothing + } + } +} + +interface IHandleErrors { + variables: IJSON + query: string + pluginOptions: IPluginOptions + reporter: GatsbyReporter + responseJSON: IJSON + panicOnError: boolean + errorContext: string +} + +const handleErrors = async ({ + variables, + query, + pluginOptions, + reporter, + responseJSON, + panicOnError, + errorContext, +}: IHandleErrors): Promise => { + await handleErrorOptions({ + variables, + query, + pluginOptions, + reporter, + }) + + if (!responseJSON) { + return + } + + if ( + !responseJSON.data || + panicOnError || + pluginOptions.debug.graphql.panicOnError + ) { + reporter.panic({ + id: CODES.BadResponse, + context: { + sourceMessage: formatLogMessage( + errorContext || `Encountered errors. See above for details.` + ), + }, + }) + } +} + +interface IHandleGraphQLErrorsInput { + query: string + variables: IJSON + response: AxiosResponse + errorMap: IErrorMap + panicOnError: boolean + reporter: GatsbyReporter + errorContext: string + forceReportCriticalErrors: boolean +} + +const handleGraphQLErrors = async ({ + query, + variables, + response, + errorMap, + panicOnError, + reporter, + errorContext, + forceReportCriticalErrors = false, +}: IHandleGraphQLErrorsInput): Promise => { + const pluginOptions = getPluginOptions() + + const json = response.data + const { errors } = json + + if (!errors) { + return + } + + // if we have json data, the error wasn't critical. + if ( + json && + json.data && + pluginOptions.debug.graphql.onlyReportCriticalErrors && + // only return if we're not force disabling this. + // this is used when we make GraphQL requests intentionally rather than programmatically + // for ex during the Preview process + !forceReportCriticalErrors + ) { + return + } + + for (const error of errors) { + const errorWasMapped = + errorMap && + errorMap.from && + errorMap.to && + error.message === errorMap.from + + if (errorWasMapped && panicOnError) { + reporter.panic({ + id: CODES.RemoteGraphQLError, + context: { + sourceMessage: formatLogMessage(errorMap.to), + }, + }) + } else if (errorWasMapped) { + reporter.error({ + id: CODES.RemoteGraphQLError, + context: { + sourceMessage: formatLogMessage(errorMap.to), + }, + }) + } + + // convert the error path array into a string like "mediaItems.nodes[55].mediaDetails.meta.focalLength" + let errorPath = error?.path + ?.map((field, index) => { + // if this is a number it's the index of a node + if (typeof field === `number`) { + return `[${field}].` + } else if ( + // otherwise if the next field isn't a number + typeof error.path[index + 1] !== `number` + ) { + // add dot notation + return `${field}.` + } + + // or just return the field + return field + }) + ?.join(``) + + if (errorPath?.endsWith(`.`)) { + // trim "." off the end of the errorPath + errorPath = errorPath.slice(0, -1) + } + + if (error.debugMessage) { + reporter.error( + formatLogMessage( + `Error category: ${error.category} \n\nError: \n ${error.message} \n\n Debug message: \n ${error.debugMessage} \n\n Error path: ${errorPath}` + ) + ) + } else { + reporter.error( + formatLogMessage( + `(${error.category}) ${ + error?.locations?.length + ? error.locations + .map( + location => + `location: line ${location.line}, column: ${location.column}` + ) + ?.join(`. `) + : `` + } \n\t ${ + error.message + } \n\n Error path: ${errorPath} \n\n If you haven't already, try adding ${bold( + `define( 'GRAPHQL_DEBUG', true );` + )} to your wp-config.php for more detailed error messages.` + ) + ) + } + } + + await handleErrors({ + responseJSON: json, + variables, + pluginOptions, + reporter, + query, + panicOnError, + errorContext, + }) +} + +const ensureStatementsAreTrue = `${bold( + `Please ensure the following statements are true` +)} \n - your WordPress URL is correct in gatsby-config.js\n - your server is responding to requests \n - WPGraphQL and WPGatsby are installed in your WordPress backend` + +// @todo add a link to docs page for debugging +const genericError = ({ url }: { url: string }): string => + `GraphQL request to ${bold(url)} failed.\n\n${ensureStatementsAreTrue}` + +const slackChannelSupportMessage = `If you're still having issues, please visit https://www.wpgraphql.com/community-and-support/\nand follow the link to join the WPGraphQL Slack.\nThere are a lot of folks there in the #gatsby channel who are happy to help with debugging.` + +interface IHandleFetchErrors { + e: Error + reporter: GatsbyReporter + url: string + timeout: number + pluginOptions: IPluginOptions + query: string + response: AxiosResponse + errorContext: string + variables?: IJSON + isFirstRequest?: boolean + headers?: IFetchGraphQLHeaders +} + +const handleFetchErrors = async ({ + e, + reporter, + url, + timeout, + variables, + pluginOptions, + query, + response, + errorContext, + isFirstRequest, + headers, +}: IHandleFetchErrors): Promise => { + await handleErrors({ + panicOnError: false, + reporter, + variables, + pluginOptions, + query, + errorContext, + responseJSON: null, + }) + + if (e.message.includes(`timeout of ${timeout}ms exceeded`)) { + reporter.error(e.message) + reporter.panic({ + id: CODES.Timeout, + context: { + sourceMessage: formatLogMessage( + `It took too long for ${url} to respond (longer than ${ + timeout / 1000 + } seconds).\n\nEither your URL is wrong, you need to increase server resources, or you need to decrease the amount of resources each request takes.\n\nYou can configure how much resources each request takes by lowering your \`options.schema.perPage\` value from the default of 100 nodes per request.\nAlternatively you can increase the request timeout by setting a value in milliseconds to \`options.schema.timeout\`, the current setting is ${timeout}.\n\n${genericError( + { url } + )}`, + { useVerboseStyle: true } + ), + }, + }) + } + if (e.message.includes(`Request failed with status code 50`)) { + const { + requestConcurrency, + previewRequestConcurrency, + } = store.getState().gatsbyApi.pluginOptions.schema + + console.error(e) + reporter.panic({ + id: CODES.WordPress500ishError, + context: { + sourceMessage: formatLogMessage( + [ + `Your wordpress server at ${bold(url)} appears to be overloaded.`, + `\nTry reducing the ${bold( + `requestConcurrency` + )} for content updates or the ${bold( + `previewRequestConcurrency` + )} for previews:`, + `\n{ + resolve: 'gatsby-source-wordpress', + options: { + schema: { + requestConcurrency: 5, // currently set to ${requestConcurrency} + previewRequestConcurrency: 2, // currently set to ${previewRequestConcurrency} + } + }, +}`, + `\nThe ${bold( + `GATSBY_CONCURRENT_REQUEST` + )} environment variable is no longer used to control concurrency.\nIf you were previously using that, you'll need to use the settings above instead.`, + ].join(`\n`), + { useVerboseStyle: true } + ), + }, + }) + } + + const unauthorized = e.message.includes(`Request failed with status code 401`) + + const htaccessCredentials = pluginOptions.auth.htaccess + + const missingCredentials = + !htaccessCredentials.password || !htaccessCredentials.username + + if (unauthorized && !missingCredentials) { + reporter.panic({ + id: CODES.Authentication, + context: { + sourceMessage: formatLogMessage( + `Request failed with status code 401.\n\nThe HTTP Basic Auth credentials you've provided in plugin options were rejected.\nDouble check that your credentials are correct. + \n${genericError({ url })}`, + { useVerboseStyle: true } + ), + }, + }) + } else if (unauthorized) { + reporter.panic({ + id: CODES.Authentication, + context: { + sourceMessage: formatLogMessage( + `Request failed with status code 401.\n\n Your WordPress instance may be protected with HTTP Basic authentication.\n If it is you will need to add the following to your plugin options: + + { + resolve: \`gatsby-source-wordpress\`, + options: { + auth: { + htaccess: { + username: process.env.HTTPBASICAUTH_USERNAME, + password: process.env.HTTPBASICAUTH_PASSWORD, + } + } + } + } + \n${genericError({ url })}`, + { useVerboseStyle: true } + ), + }, + }) + } + + const forbidden = e.message.includes(`Request failed with status code 403`) + + if (forbidden) { + reporter.panic({ + id: CODES.RequestDenied, + context: { + sourceMessage: formatLogMessage( + `${e.message}\n\nThe GraphQL request was forbidden.\nIf you are using a security plugin like WordFence or a server firewall you may need to whitelist your IP address or adjust your firewall settings for your GraphQL endpoint.\n\n${errorContext}` + ), + }, + }) + } + + const redirected = e.message.includes(`GraphQL request was redirected`) + + if (redirected) { + await handleErrorOptions({ variables, query, pluginOptions, reporter }) + reporter.panic({ + id: CODES.WordPressFilters, + context: { + sourceMessage: formatLogMessage( + `${e.message}\n\n${errorContext}\n\nThis can happen due to custom code or redirection plugins which redirect the request when a post is accessed.\nThis redirection code will need to be patched to not run during GraphQL requests.\n\nThat can be achieved by adding something like the following to your WP PHP code:\n +if ( defined( 'GRAPHQL_REQUEST' ) && true === GRAPHQL_REQUEST ) { + return examplePreventRedirect(); +} + +${slackChannelSupportMessage}` + ), + }, + }) + } + + const responseReturnedHtml = !!response?.headers[`content-type`].includes( + `text/html;` + ) + const limit = pluginOptions?.schema?.requestConcurrency + + if (responseReturnedHtml && isFirstRequest) { + const requestOptions: AxiosRequestConfig = { + timeout, + headers, + } + + if (!missingCredentials) { + requestOptions.auth = htaccessCredentials + } + try { + const urlWithoutTrailingSlash = url.replace(/\/$/, ``) + + const response: AxiosResponse = await getHttp(limit).post( + [urlWithoutTrailingSlash, `/graphql`].join(``), + { query, variables }, + requestOptions + ) + + const contentType = response?.headers[`content-type`] + + if (contentType?.includes(`application/json;`)) { + const docsLink = `https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/plugin-options.md#url-string` + + // if adding `/graphql` works, panic with a useful message + reporter.panic({ + id: CODES.MissingAppendedPath, + context: { + sourceMessage: formatLogMessage( + `${ + errorContext ? `${errorContext}` : `` + }\n\nThe supplied url ${bold( + urlWithoutTrailingSlash + )} is invalid,\nhowever ${bold( + urlWithoutTrailingSlash + `/graphql` + )} works!\n\nFor this plugin to consume the wp-graphql schema, you'll need to specify the full URL\n(${bold( + urlWithoutTrailingSlash + `/graphql` + )}) in your gatsby-config.\n\nYou can learn more about configuring the source plugin URL here:\n${docsLink}\n\n` + ), + }, + }) + } + } catch (err) { + // elsewise, continue to handle HTML response as normal + } + + const copyHtmlResponseOnError = + pluginOptions?.debug?.graphql?.copyHtmlResponseOnError + + if (copyHtmlResponseOnError) { + try { + if (`writeSync` in clipboardy) { + clipboardy.writeSync(response.data) + } + } catch (e) { + reporter.error( + formatLogMessage( + `Unable to copy html response on error.\n\n${e.message ?? ``}` + ) + ) + } + } + + reporter.panic({ + id: CODES.BadResponse, + context: { + sourceMessage: formatLogMessage( + `${errorContext || ``}\n\n${ + e.message + } \n\nReceived HTML as a response. Are you sure ${url} is the correct URL?\n\nIf that URL redirects to the correct URL via WordPress in the browser,\nor you've entered the wrong URL in settings,\nyou might receive this error.\nVisit that URL in your browser, and if it looks good, copy/paste it from your URL bar to your config.\n\n${ensureStatementsAreTrue}${ + copyHtmlResponseOnError + ? `\n\nCopied HTML response to your clipboard.` + : `\n\n${bold( + `Further debugging` + )}\nIf you still receive this error after following the steps above, this may be a problem with your WordPress instance.\nA plugin or theme may be adding additional output for some posts or pages.\nAdd the following plugin option to copy the html response to your clipboard for debugging.\nYou can paste the response into an html file to see what's being returned.\n +{ + resolve: "gatsby-source-wordpress", + options: { + debug: { + graphql: { + copyHtmlResponseOnError: true + } + } + } +}` + } + `, + { + useVerboseStyle: true, + } + ), + }, + }) + } else if (responseReturnedHtml && !isFirstRequest) { + reporter.panic({ + id: CODES.WordPressFilters, + context: { + sourceMessage: formatLogMessage( + `${errorContext}\n\n${e.message}\n\nThere are some WordPress PHP filters in your site which are adding additional output to the GraphQL response.\nThese may have been added via custom code or via a plugin.\n\nYou will need to debug this and remove these filters during GraphQL requests using something like the following: + +if ( defined( 'GRAPHQL_REQUEST' ) && true === GRAPHQL_REQUEST ) { + return exampleReturnEarlyInFilter( $data ); +}\n\nYou can use the gatsby-source-wordpress debug options to determine which GraphQL request is causing this error.\nhttps://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress/docs/plugin-options.md#debuggraphql-object\n\n${slackChannelSupportMessage}` + ), + }, + }) + } + + const sharedEmptyStringReponseError = `\n\nAn empty string was returned instead of a response when making a GraphQL request.\nThis may indicate that you have a WordPress filter running which is causing WPGraphQL\nto return an empty string instead of a response.\nPlease open an issue with a reproduction at\nhttps://github.com/gatsbyjs/gatsby/issues/new\nfor more help\n\n${errorContext}\n` + + const emptyStringResponse = + e.message === `GraphQL request returned an empty string.` + + if (emptyStringResponse) { + reporter.log(``) + if (process.env.NODE_ENV === `development`) { + reporter.warn(formatLogMessage(sharedEmptyStringReponseError)) + } else { + reporter.panic({ + id: CODES.BadResponse, + context: { + sourceMessage: formatLogMessage(sharedEmptyStringReponseError), + }, + }) + } + + return + } + + reporter.panic({ + id: CODES.BadResponse, + context: { + sourceMessage: formatLogMessage( + `${e.message} ${ + errorContext ? `\n\n` + errorContext : `` + }\n\n${genericError({ url })}`, + { + useVerboseStyle: true, + } + ), + }, + }) +} + +export interface IJSON { + // these will always be different depending on where this is used + // we need this for GraphQL results and the node filter api + // which can be used in any way by users + // eslint-disable-next-line @typescript-eslint/no-explicit-any + [key: string]: any +} + +interface IFetchGraphQLHeaders { + WPGatsbyPreview?: string + Authorization?: string + WPGatsbyPreviewUser?: number +} + +interface IErrorMap { + from: string + to: string +} + +interface IFetchGraphQLInput { + url?: string + query: string + errorContext?: string + ignoreGraphQLErrors?: boolean + panicOnError?: boolean + throwGqlErrors?: boolean + throwFetchErrors?: boolean + isFirstRequest?: boolean + forceReportCriticalErrors?: boolean + errorMap?: IErrorMap + variables?: IJSON + headers?: IFetchGraphQLHeaders +} + +type IGraphQLDataResponse = IJSON + +const fetchGraphql = async ({ + query, + errorMap, + ignoreGraphQLErrors = false, + panicOnError = false, + throwGqlErrors = false, + throwFetchErrors = false, + url, + variables = {}, + headers = {}, + errorContext = null, + isFirstRequest = false, + forceReportCriticalErrors = false, +}: IFetchGraphQLInput): Promise => { + const { helpers, pluginOptions } = store.getState().gatsbyApi + const limit = pluginOptions?.schema?.requestConcurrency + + const { url: pluginOptionsUrl } = pluginOptions + let { reporter } = helpers + + if (!reporter || typeof reporter === `undefined`) { + reporter = { + panic: (message: { id: string; context: { sourceMessage: string } }) => { + throw new Error(message?.context?.sourceMessage) + }, + error: console.error as GatsbyReporter["error"], + } as GatsbyReporter + } + + if (!url) { + url = pluginOptionsUrl + } + + const timeout = pluginOptions.schema.timeout + + const htaccessCredentials = pluginOptions.auth.htaccess + + const missingCredentials = + !htaccessCredentials.password || !htaccessCredentials.username + + let response: AxiosResponse + + try { + const requestOptions: AxiosRequestConfig = { + timeout, + headers, + } + + if (!missingCredentials) { + requestOptions.auth = htaccessCredentials + } + + response = await getHttp(limit).post( + url, + { query, variables }, + requestOptions + ) + + if (response.data === ``) { + throw new Error(`GraphQL request returned an empty string.`) + } + + const { path }: { path: string } = urlUtil.parse(url) + + const responsePath = response.request.path + + if (path !== responsePath && responsePath !== undefined) { + throw new Error(`GraphQL request was redirected to ${responsePath}`) + } + + const contentType: string = response.headers[`content-type`] + + if (!contentType.includes(`application/json;`)) { + throw new Error(`Unable to connect to WPGraphQL.`) + } + } catch (e) { + if (throwFetchErrors) { + throw e + } + + await handleFetchErrors({ + e, + reporter, + url, + timeout, + variables, + pluginOptions, + query, + response, + errorContext, + isFirstRequest, + }) + } + + if (throwGqlErrors && response.data.errors) { + const stringifiedErrors: string = response.data.errors + .map((error: { message: string }) => error.message) + .join(`\n\n`) + + throw new Error(stringifiedErrors) + } + + if (!ignoreGraphQLErrors) { + await handleGraphQLErrors({ + query, + variables, + response, + errorMap, + panicOnError, + reporter, + errorContext, + forceReportCriticalErrors, + }) + } + + return response.data +} + +export default fetchGraphql diff --git a/packages/gatsby-source-wordpress/src/utils/format-log-message.ts b/packages/gatsby-source-wordpress/src/utils/format-log-message.ts new file mode 100644 index 0000000000000..44bb71fc84dd0 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/utils/format-log-message.ts @@ -0,0 +1,26 @@ +import chalk from "chalk" +import store from "~/store" + +const formatLogMessage = ( + input: string | Array, + { useVerboseStyle }: { useVerboseStyle?: boolean } = {} +): string => { + let verbose = false + + if (typeof useVerboseStyle === `undefined`) { + verbose = store.getState().gatsbyApi.pluginOptions.verbose + } + + let message + if (typeof input === `string`) { + message = input + } else { + message = input[0] + } + + return verbose || useVerboseStyle + ? `${chalk.blue(` gatsby-source-wordpress `)} ${message}` + : `[gatsby-source-wordpress] ${message}` +} + +export { formatLogMessage } diff --git a/packages/gatsby-source-wordpress/src/utils/gatsby-types.ts b/packages/gatsby-source-wordpress/src/utils/gatsby-types.ts new file mode 100644 index 0000000000000..cd349f0c46ff4 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/utils/gatsby-types.ts @@ -0,0 +1,14 @@ +import { IWebhookBody } from "./../steps/preview/index" +import type { NodePluginArgs, Reporter } from "gatsby" +export type GatsbyNodeApiHelpers = NodePluginArgs & { + Joi?: any + webhookBody?: IWebhookBody + page?: { + path: string + component: string + context: any + updatedAt: number + } +} +export type GatsbyHelpers = GatsbyNodeApiHelpers +export type GatsbyReporter = Reporter diff --git a/packages/gatsby-source-wordpress/src/utils/get-gatsby-api.ts b/packages/gatsby-source-wordpress/src/utils/get-gatsby-api.ts new file mode 100644 index 0000000000000..310d8010939df --- /dev/null +++ b/packages/gatsby-source-wordpress/src/utils/get-gatsby-api.ts @@ -0,0 +1,9 @@ +import { GatsbyNodeApiHelpers } from "~/utils/gatsby-types" +import { IPluginOptions, IGatsbyApiState } from "./../models/gatsby-api" +import store from "~/store" + +export const getPluginOptions = (): IPluginOptions => + store.getState().gatsbyApi.pluginOptions +export const getHelpers = (): GatsbyNodeApiHelpers => + store.getState().gatsbyApi.helpers +export const getGatsbyApi = (): IGatsbyApiState => store.getState().gatsbyApi diff --git a/packages/gatsby-source-wordpress/src/utils/graphql-queries.ts b/packages/gatsby-source-wordpress/src/utils/graphql-queries.ts new file mode 100644 index 0000000000000..b466283c209de --- /dev/null +++ b/packages/gatsby-source-wordpress/src/utils/graphql-queries.ts @@ -0,0 +1,118 @@ +/** + * Used to check if there have been any updates at all. A single action is enough to trigger refreshing in gatsby develop + */ +export const contentPollingQuery = /* GraphQL */ ` + query GET_SINGLE_ACTION_MONITOR_ACTION($since: Float!) { + actionMonitorActions(where: { sinceTimestamp: $since }, first: 1) { + nodes { + id + } + } + } +` + +/** + * Used to fetch WP changes since a unix timestamp + * so we can do incremental data fetches + */ +export const actionMonitorQuery = /* GraphQL */ ` + query GET_ACTION_MONITOR_ACTIONS($since: Float!, $after: String) { + actionMonitorActions( + where: { + sinceTimestamp: $since + orderby: { field: MODIFIED, order: DESC } + } + first: 100 + after: $after + ) { + nodes { + id + title + actionType + referencedNodeID + referencedNodeStatus + referencedNodeGlobalRelayID + referencedNodeSingularName + referencedNodePluralName + } + pageInfo { + hasNextPage + endCursor + } + } + } +` + +export const introspectionQuery = /* GraphQL */ ` + { + __schema { + types { + kind + name + description + + possibleTypes { + kind + name + } + interfaces { + kind + name + } + enumValues { + name + } + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + } + } + } + fields { + name + description + args { + name + type { + kind + name + inputFields { + name + } + } + } + type { + name + kind + ofType { + kind + name + ofType { + kind + name + ofType { + kind + name + } + } + } + } + } + } + + mutationType { + fields { + type { + name + } + } + } + } + } +` diff --git a/packages/gatsby-source-wordpress/src/utils/report.ts b/packages/gatsby-source-wordpress/src/utils/report.ts new file mode 100644 index 0000000000000..41c0b70bf2023 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/utils/report.ts @@ -0,0 +1,75 @@ +import { IErrorMapEntry } from "gatsby-cli/lib/structured-errors/error-map" + +export const CODES = { + /* Fetch errors */ + WordPressFilters: `111001`, + BadResponse: `111002`, + RequestDenied: `111004`, + Authentication: `111005`, + Timeout: `111006`, + WordPress500ishError: `111007`, + + /* GraphQL Errors */ + RemoteGraphQLError: `112001`, + MissingAppendedPath: `112002`, + + /* CodeErrors */ + SourcePluginCodeError: `112003`, +} + +interface IErrorContext { + sourceMessage: string +} +interface IErrorMap { + [code: string]: IErrorMapEntry +} + +const getErrorText = (context: IErrorContext): string => context.sourceMessage + +export const ERROR_MAP: IErrorMap = { + [CODES.WordPressFilters]: { + text: getErrorText, + level: `ERROR`, + category: `USER`, + }, + [CODES.BadResponse]: { + text: getErrorText, + level: `ERROR`, + category: `USER`, + }, + [CODES.RequestDenied]: { + text: getErrorText, + level: `ERROR`, + category: `USER`, + }, + [CODES.Authentication]: { + text: getErrorText, + level: `ERROR`, + category: `USER`, + }, + [CODES.Timeout]: { + text: getErrorText, + level: `ERROR`, + category: `USER`, + }, + [CODES.RemoteGraphQLError]: { + text: getErrorText, + level: `ERROR`, + category: `THIRD_PARTY`, + }, + [CODES.MissingAppendedPath]: { + text: getErrorText, + level: `ERROR`, + category: `THIRD_PARTY`, + }, + [CODES.SourcePluginCodeError]: { + text: getErrorText, + level: `ERROR`, + category: `SYSTEM`, + }, + [CODES.WordPress500ishError]: { + text: getErrorText, + level: `ERROR`, + category: `THIRD_PARTY`, + }, +} diff --git a/packages/gatsby-source-wordpress/src/utils/run-steps.ts b/packages/gatsby-source-wordpress/src/utils/run-steps.ts new file mode 100644 index 0000000000000..433fa4e1b3ff0 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/utils/run-steps.ts @@ -0,0 +1,96 @@ +import { GatsbyNodeApiHelpers, GatsbyReporter } from "./gatsby-types" +import { IPluginOptions } from "~/models/gatsby-api" +import { formatLogMessage } from "~/utils/format-log-message" +import { invokeAndCleanupLeftoverPreviewCallbacks } from "../steps/preview/cleanup" +import { CODES } from "./report" + +export type Step = ( + helpers?: GatsbyNodeApiHelpers, + pluginOptions?: IPluginOptions +) => Promise | void + +export type ActivityTimer = ReturnType + +const runSteps = async ( + steps: Array, + helpers: GatsbyNodeApiHelpers, + pluginOptions: IPluginOptions, + apiName: string +): Promise => { + for (const step of steps) { + try { + const { timeBuildSteps } = pluginOptions?.debug ?? {} + const timeStep = + typeof timeBuildSteps === `boolean` + ? timeBuildSteps + : timeBuildSteps?.includes(step.name) || + timeBuildSteps?.includes(apiName) + + let activity: ActivityTimer + + if (timeStep) { + activity = helpers.reporter.activityTimer( + formatLogMessage(`step -${!apiName ? `-` : ``}> ${step.name}`, { + useVerboseStyle: true, + }) + ) + activity.start() + } + + if (typeof step === `function`) { + await step(helpers, pluginOptions) + } else if (Array.isArray(step)) { + await runSteps(step, helpers, pluginOptions, apiName) + } + + if (activity) { + activity.end() + } + } catch (e) { + const sharedError = `Encountered a critical error when running the ${ + apiName ? `${apiName}.` : `` + }${step.name} build step.` + + // on errors, invoke any preview callbacks to send news of this error back to the WP Preview window. + await invokeAndCleanupLeftoverPreviewCallbacks({ + status: `GATSBY_PREVIEW_PROCESS_ERROR`, + context: sharedError, + error: e, + }) + + console.error(e) + helpers.reporter.panic({ + id: CODES.SourcePluginCodeError, + context: { + sourceMessage: formatLogMessage( + `\n\n\t${sharedError}\n\tSee above for more information.`, + { useVerboseStyle: true } + ), + }, + }) + } + } +} + +const runApiSteps = (steps: Array, apiName: string) => async ( + helpers: GatsbyNodeApiHelpers, + pluginOptions: IPluginOptions +): Promise => runSteps(steps, helpers, pluginOptions, apiName) + +const runApisInSteps = (nodeApis: { + [apiName: string]: Array | Step +}): { [apiName: string]: Promise | void } => + Object.entries(nodeApis).reduce( + (gatsbyNodeExportObject, [apiName, apiSteps]) => { + return { + ...gatsbyNodeExportObject, + [apiName]: + typeof apiSteps === `function` + ? apiSteps + : runApiSteps(apiSteps, apiName), + } + }, + {} + ) + +export { runSteps, runApisInSteps } diff --git a/packages/gatsby-source-wordpress/src/utils/url-to-path.ts b/packages/gatsby-source-wordpress/src/utils/url-to-path.ts new file mode 100644 index 0000000000000..70ec268e93114 --- /dev/null +++ b/packages/gatsby-source-wordpress/src/utils/url-to-path.ts @@ -0,0 +1,3 @@ +import { parse } from "url" + +export default (link: string): string => parse(link).pathname diff --git a/packages/gatsby-source-wordpress/style.css b/packages/gatsby-source-wordpress/style.css new file mode 100644 index 0000000000000..c96b2b814dae0 --- /dev/null +++ b/packages/gatsby-source-wordpress/style.css @@ -0,0 +1,4 @@ +.inline-gatsby-image-wrapper, +.inline-gatsby-image-wrapper span { + display: inline-block; +} diff --git a/packages/gatsby-source-wordpress/tsconfig.json b/packages/gatsby-source-wordpress/tsconfig.json new file mode 100644 index 0000000000000..da2e858380af0 --- /dev/null +++ b/packages/gatsby-source-wordpress/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "baseUrl": "./src", + "paths": { + "~/*": ["*"] + }, + "lib": ["ESNext", "DOM"], + "target": "ES6", + "moduleResolution": "node", + "allowSyntheticDefaultImports": true + }, + "include": ["src"] +} diff --git a/starters/gatsby-starter-wordpress-blog/.gitignore b/starters/gatsby-starter-wordpress-blog/.gitignore new file mode 100644 index 0000000000000..0170f1351c4de --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/.gitignore @@ -0,0 +1,71 @@ +.wordpress-cache + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# dotenv environment variable files +.env* + +# gatsby files +.cache/ +public + +# Mac files +.DS_Store + +# Yarn +yarn-error.log +.pnp/ +.pnp.js +# Yarn Integrity file +.yarn-integrity diff --git a/starters/gatsby-starter-wordpress-blog/.prettierignore b/starters/gatsby-starter-wordpress-blog/.prettierignore new file mode 100644 index 0000000000000..bb4b596850aa9 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/.prettierignore @@ -0,0 +1,5 @@ +.cache +.wordpress-cache +package.json +package-lock.json +public diff --git a/starters/gatsby-starter-wordpress-blog/.prettierrc b/starters/gatsby-starter-wordpress-blog/.prettierrc new file mode 100644 index 0000000000000..33d2cfa3f6193 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/.prettierrc @@ -0,0 +1,4 @@ +{ + "arrowParens": "avoid", + "semi": false +} diff --git a/starters/gatsby-starter-wordpress-blog/LICENSE b/starters/gatsby-starter-wordpress-blog/LICENSE new file mode 100644 index 0000000000000..7e964c1ee5f4f --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/LICENSE @@ -0,0 +1,14 @@ +The BSD Zero Clause License (0BSD) + +Copyright (c) 2020 Gatsby Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. diff --git a/starters/gatsby-starter-wordpress-blog/README.md b/starters/gatsby-starter-wordpress-blog/README.md new file mode 100644 index 0000000000000..6b957994a7a89 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/README.md @@ -0,0 +1,99 @@ + +

    + + Gatsby + +

    +

    + Gatsby's blog starter +

    + +Kick off your project with this blog boilerplate. This starter ships with the main Gatsby configuration files you might need to get up and running blazing fast with the blazing fast app generator for React. + +_Have another more specific idea? You may want to check out our vibrant collection of [official and community-created starters](https://www.gatsbyjs.com/docs/gatsby-starters/)._ + +## 🚀 Quick start + +1. **Create a Gatsby site.** + + Use the Gatsby CLI to create a new site, specifying the blog starter. + + ```shell + # create a new Gatsby site using the blog starter + gatsby new my-blog-starter https://github.com/gatsbyjs/gatsby-starter-blog + ``` + +1. **Start developing.** + + Navigate into your new site’s directory and start it up. + + ```shell + cd my-blog-starter/ + gatsby develop + ``` + +1. **Open the source code and start editing!** + + Your site is now running at `http://localhost:8000`! + + _Note: You'll also see a second link: _`http://localhost:8000/___graphql`_. This is a tool you can use to experiment with querying your data. Learn more about using this tool in the [Gatsby tutorial](https://www.gatsbyjs.com/tutorial/part-five/#introducing-graphiql)._ + + Open the `my-blog-starter` directory in your code editor of choice and edit `src/pages/index.js`. Save your changes and the browser will update in real time! + +## 🧐 What's inside? + +A quick look at the top-level files and directories you'll see in a Gatsby project. + + . + ├── node_modules + ├── src + ├── .gitignore + ├── .prettierrc + ├── gatsby-browser.js + ├── gatsby-config.js + ├── gatsby-node.js + ├── gatsby-ssr.js + ├── LICENSE + ├── package-lock.json + ├── package.json + └── README.md + +1. **`/node_modules`**: This directory contains all of the modules of code that your project depends on (npm packages) are automatically installed. + +2. **`/src`**: This directory will contain all of the code related to what you will see on the front-end of your site (what you see in the browser) such as your site header or a page template. `src` is a convention for “source code”. + +3. **`.gitignore`**: This file tells git which files it should not track / not maintain a version history for. + +4. **`.prettierrc`**: This is a configuration file for [Prettier](https://prettier.io/). Prettier is a tool to help keep the formatting of your code consistent. + +5. **`gatsby-browser.js`**: This file is where Gatsby expects to find any usage of the [Gatsby browser APIs](https://www.gatsbyjs.com/docs/browser-apis/) (if any). These allow customization/extension of default Gatsby settings affecting the browser. + +6. **`gatsby-config.js`**: This is the main configuration file for a Gatsby site. This is where you can specify information about your site (metadata) like the site title and description, which Gatsby plugins you’d like to include, etc. (Check out the [config docs](https://www.gatsbyjs.com/docs/gatsby-config/) for more detail). + +7. **`gatsby-node.js`**: This file is where Gatsby expects to find any usage of the [Gatsby Node APIs](https://www.gatsbyjs.com/docs/node-apis/) (if any). These allow customization/extension of default Gatsby settings affecting pieces of the site build process. + +8. **`gatsby-ssr.js`**: This file is where Gatsby expects to find any usage of the [Gatsby server-side rendering APIs](https://www.gatsbyjs.com/docs/ssr-apis/) (if any). These allow customization of default Gatsby settings affecting server-side rendering. + +9. **`LICENSE`**: This Gatsby starter is licensed under the 0BSD license. This means that you can see this file as a placeholder and replace it with your own license. + +10. **`package-lock.json`** (See `package.json` below, first). This is an automatically generated file based on the exact versions of your npm dependencies that were installed for your project. **(You won’t change this file directly).** + +11. **`package.json`**: A manifest file for Node.js projects, which includes things like metadata (the project’s name, author, etc). This manifest is how npm knows which packages to install for your project. + +12. **`README.md`**: A text file containing useful reference information about your project. + +## 🎓 Learning Gatsby + +Looking for more guidance? Full documentation for Gatsby lives [on the website](https://www.gatsbyjs.com/). Here are some places to start: + +- **For most developers, we recommend starting with our [in-depth tutorial for creating a site with Gatsby](https://www.gatsbyjs.com/tutorial/).** It starts with zero assumptions about your level of ability and walks through every step of the process. + +- **To dive straight into code samples, head [to our documentation](https://www.gatsbyjs.com/docs/).** In particular, check out the _Guides_, _API Reference_, and _Advanced Tutorials_ sections in the sidebar. + +## 💫 Deploy + +[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/gatsbyjs/gatsby-starter-blog) + +[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/import/project?template=https://github.com/gatsbyjs/gatsby-starter-blog) + + diff --git a/starters/gatsby-starter-wordpress-blog/content/assets/gatsby-icon.png b/starters/gatsby-starter-wordpress-blog/content/assets/gatsby-icon.png new file mode 100644 index 0000000000000..908bc78a7f559 Binary files /dev/null and b/starters/gatsby-starter-wordpress-blog/content/assets/gatsby-icon.png differ diff --git a/starters/gatsby-starter-wordpress-blog/gatsby-browser.js b/starters/gatsby-starter-wordpress-blog/gatsby-browser.js new file mode 100644 index 0000000000000..c785c9297ada9 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/gatsby-browser.js @@ -0,0 +1,7 @@ +// custom typefaces +import "typeface-montserrat" +import "typeface-merriweather" +// normalize CSS across browsers +import "./src/normalize.css" +// custom CSS styles +import "./src/style.css" diff --git a/starters/gatsby-starter-wordpress-blog/gatsby-config.js b/starters/gatsby-starter-wordpress-blog/gatsby-config.js new file mode 100644 index 0000000000000..9d964c4dcda39 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/gatsby-config.js @@ -0,0 +1,66 @@ +/** + * 👋 Hey there! + * This file is the starting point for your new WordPress/Gatsby site! 🚀 + * For more information about what this file is and does, see + * https://www.gatsbyjs.com/docs/gatsby-config/ + * + */ + +module.exports = { + /** + * Adding plugins to this array adds them to your Gatsby site. + * + * Gatsby has a rich ecosystem of plugins. + * If you need any more you can search here: https://www.gatsbyjs.com/plugins/ + */ + plugins: [ + { + /** + * First up is the WordPress source plugin that connects Gatsby + * to your WordPress site. + * + * visit the plugin docs to learn more + * https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-source-wordpress-experimental/README.md + * + */ + resolve: `gatsby-source-wordpress-experimental`, + options: { + // the only required plugin option for WordPress is the GraphQL url. + url: + process.env.WPGRAPHQL_URL || + `https://wpgatsbydemo.wpengine.com/graphql`, + }, + }, + + /** + * The following two plugins are required if you want to use Gatsby image + * See https://www.gatsbyjs.com/docs/gatsby-image/#setting-up-gatsby-image + * if you're curious about it. + */ + `gatsby-transformer-sharp`, + `gatsby-plugin-sharp`, + + { + // See https://www.gatsbyjs.com/plugins/gatsby-plugin-manifest/?=gatsby-plugin-manifest + resolve: `gatsby-plugin-manifest`, + options: { + name: `Gatsby Starter WordPress Blog`, + short_name: `GatsbyJS & WP`, + start_url: `/`, + background_color: `#ffffff`, + theme_color: `#663399`, + display: `minimal-ui`, + icon: `content/assets/gatsby-icon.png`, + }, + }, + + // See https://www.gatsbyjs.com/plugins/gatsby-plugin-react-helmet/?=gatsby-plugin-react-helmet + `gatsby-plugin-react-helmet`, + + /** + * this (optional) plugin enables Progressive Web App + Offline functionality + * To learn more, visit: https://gatsby.dev/offline + */ + // `gatsby-plugin-offline`, + ], +} diff --git a/starters/gatsby-starter-wordpress-blog/gatsby-node.js b/starters/gatsby-starter-wordpress-blog/gatsby-node.js new file mode 100644 index 0000000000000..f53e96550f976 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/gatsby-node.js @@ -0,0 +1,192 @@ +const path = require(`path`) +const chunk = require(`lodash/chunk`) + +// This is a simple debugging tool +// dd() will prettily dump to the terminal and kill the process +// const { dd } = require(`dumper.js`) + +/** + * exports.createPages is a built-in Gatsby Node API. + * It's purpose is to allow you to create pages for your site! 💡 + * + * See https://www.gatsbyjs.com/docs/node-apis/#createPages for more info. + */ +exports.createPages = async gatsbyUtilities => { + // Query our posts from the GraphQL server + const posts = await getNodes(gatsbyUtilities) + + // If there are no posts in WordPress, don't do anything + if (!posts.length) { + return + } + + // If there are posts and pages, create Gatsby pages for them + await createSinglePages({ posts, gatsbyUtilities }) + + // And a paginated archive + await createBlogPostArchive({ posts, gatsbyUtilities }) +} + +/** + * This function creates all the individual blog pages in this site + */ +const createSinglePages = async ({ posts, gatsbyUtilities }) => + Promise.all( + posts.map(({ previous, post, next }) => + // createPage is an action passed to createPages + // See https://www.gatsbyjs.com/docs/actions#createPage for more info + gatsbyUtilities.actions.createPage({ + // Use the WordPress uri as the Gatsby page path + // This is a good idea so that internal links and menus work 👍 + path: post.uri, + + // use the blog post template as the page component + component: path.resolve( + `./src/templates/${post.__typename.replace(`Wp`, ``)}.js` + ), + + // `context` is available in the template as a prop and + // as a variable in GraphQL. + context: { + // we need to add the post id here + // so our blog post template knows which blog post + // the current page is (when you open it in a browser) + id: post.id, + + // We also use the next and previous id's to query them and add links! + previousPostId: previous ? previous.id : null, + nextPostId: next ? next.id : null, + }, + }) + ) + ) + +/** + * This function creates all the individual blog pages in this site + */ +async function createBlogPostArchive({ posts, gatsbyUtilities }) { + const graphqlResult = await gatsbyUtilities.graphql(/* GraphQL */ ` + { + wp { + readingSettings { + postsPerPage + } + } + } + `) + + const { postsPerPage } = graphqlResult.data.wp.readingSettings + + const postsChunkedIntoArchivePages = chunk(posts, postsPerPage) + const totalPages = postsChunkedIntoArchivePages.length + + return Promise.all( + postsChunkedIntoArchivePages.map(async (_posts, index) => { + const pageNumber = index + 1 + + const getPagePath = page => { + if (page > 0 && page <= totalPages) { + // Since our homepage is our blog page + // we want the first page to be "/" and any additional pages + // to be numbered. + // "/blog/2" for example + return page === 1 ? `/` : `/blog/${page}` + } + + return null + } + + // createPage is an action passed to createPages + // See https://www.gatsbyjs.com/docs/actions#createPage for more info + await gatsbyUtilities.actions.createPage({ + path: getPagePath(pageNumber), + + // use the blog post archive template as the page component + component: path.resolve(`./src/templates/blog-post-archive.js`), + + // `context` is available in the template as a prop and + // as a variable in GraphQL. + context: { + // the index of our loop is the offset of which posts we want to display + // so for page 1, 0 * 10 = 0 offset, for page 2, 1 * 10 = 10 posts offset, + // etc + offset: index * postsPerPage, + + // We need to tell the template how many posts to display too + postsPerPage, + + nextPagePath: getPagePath(pageNumber + 1), + previousPagePath: getPagePath(pageNumber - 1), + }, + }) + }) + ) +} + +/** + * This function queries Gatsby's GraphQL server and asks for + * All WordPress blog posts. If there are any GraphQL error it throws an error + * Otherwise it will return the posts 🙌 + * + * We're passing in the utilities we got from createPages. + * So see https://www.gatsbyjs.com/docs/node-apis/#createPages for more info! + */ +async function getNodes({ graphql, reporter }) { + const graphqlResult = await graphql(/* GraphQL */ ` + query WpPosts { + # Query all WordPress blog posts sorted by date + allWpPost(sort: { fields: [date], order: DESC }) { + edges { + previous { + id + } + + # note: this is a GraphQL alias. It renames "node" to "post" for this query + # We're doing this because this "node" is a post! It makes our code more readable further down the line. + post: node { + __typename + id + uri + } + + next { + id + } + } + } + + allWpPage(sort: { fields: [date], order: DESC }) { + edges { + previous { + id + } + + # note: this is a GraphQL alias. It renames "node" to "post" for this query + # We're doing this because this "node" is a post! It makes our code more readable further down the line. + post: node { + __typename + id + uri + } + + next { + id + } + } + } + } + `) + + if (graphqlResult.errors) { + reporter.panicOnBuild( + `There was an error loading your blog posts`, + graphqlResult.errors + ) + return + } + + return [ + ...graphqlResult.data.allWpPost.edges, + ...graphqlResult.data.allWpPage.edges, + ] +} diff --git a/starters/gatsby-starter-wordpress-blog/package-lock.json b/starters/gatsby-starter-wordpress-blog/package-lock.json new file mode 100644 index 0000000000000..1af2611a355f5 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/package-lock.json @@ -0,0 +1,22778 @@ +{ + "name": "gatsby-starter-wordpress-blog", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@ardatan/aggregate-error": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@ardatan/aggregate-error/-/aggregate-error-0.0.6.tgz", + "integrity": "sha512-vyrkEHG1jrukmzTPtyWB4NLPauUw5bQeg4uhn8f+1SSynmrOcyvlb1GKQjjgoBzElLdfXCRYX8UnBlhklOHYRQ==", + "requires": { + "tslib": "~2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/compat-data": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", + "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==" + }, + "@babel/core": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", + "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "requires": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", + "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", + "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "requires": { + "@babel/compat-data": "^7.12.5", + "@babel/helper-validator-option": "^7.12.1", + "browserslist": "^4.14.5", + "semver": "^5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", + "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", + "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "regexpu-core": "^4.7.1" + } + }, + "@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", + "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "requires": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "requires": { + "@babel/types": "^7.12.7" + } + }, + "@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "requires": { + "@babel/types": "^7.12.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", + "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", + "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-replace-supers": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", + "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.7", + "@babel/helper-optimise-call-expression": "^7.12.10", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "requires": { + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" + }, + "@babel/helper-validator-option": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", + "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==" + }, + "@babel/helper-wrap-function": { + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", + "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helpers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "requires": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==" + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", + "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", + "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", + "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", + "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", + "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", + "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", + "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", + "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", + "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", + "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", + "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz", + "integrity": "sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", + "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", + "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", + "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", + "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", + "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", + "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", + "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", + "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", + "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", + "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", + "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", + "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", + "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", + "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", + "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.12.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", + "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "requires": { + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-identifier": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", + "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", + "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", + "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", + "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", + "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", + "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz", + "integrity": "sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.12.tgz", + "integrity": "sha512-JDWGuzGNWscYcq8oJVCtSE61a5+XAOos+V0HrxnDieUus4UMnBEosDnY1VJqU5iZ4pA04QY7l0+JvHL1hZEfsw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.12.10", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-jsx": "^7.12.1", + "@babel/types": "^7.12.12" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.12.tgz", + "integrity": "sha512-i1AxnKxHeMxUaWVXQOSIco4tvVvvCxMSfeBMnMM06mpaJt3g+MpxYQQrDfojUQldP1xxraPSJYSMEljoWM/dCg==", + "requires": { + "@babel/plugin-transform-react-jsx": "^7.12.12" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz", + "integrity": "sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", + "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", + "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz", + "integrity": "sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==", + "requires": { + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "semver": "^5.5.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", + "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", + "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", + "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", + "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", + "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz", + "integrity": "sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-typescript": "^7.12.1" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", + "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", + "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/preset-env": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", + "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "requires": { + "@babel/compat-data": "^7.12.7", + "@babel/helper-compilation-targets": "^7.12.5", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.11", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.7", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.11", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.7", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.10", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.12.11", + "core-js-compat": "^3.8.0", + "semver": "^5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.10.tgz", + "integrity": "sha512-vtQNjaHRl4DUpp+t+g4wvTHsLQuye+n0H/wsXIZRn69oz/fvNC7gQ4IK73zGJBaxvHoxElDvnYCthMcT7uzFoQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-transform-react-display-name": "^7.12.1", + "@babel/plugin-transform-react-jsx": "^7.12.10", + "@babel/plugin-transform-react-jsx-development": "^7.12.7", + "@babel/plugin-transform-react-pure-annotations": "^7.12.1" + } + }, + "@babel/preset-typescript": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.7.tgz", + "integrity": "sha512-nOoIqIqBmHBSEgBXWR4Dv/XBehtIFcw9PqZw6rFYuKrzsZmOQm3PR5siLBnKZFEsDb03IegG8nSjU/iXXXYRmw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.1", + "@babel/plugin-transform-typescript": "^7.12.1" + } + }, + "@babel/runtime": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/runtime-corejs3": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.5.tgz", + "integrity": "sha512-roGr54CsTmNPPzZoCP1AmDXuBoNao7tnSA83TXTwt+UK5QVyh1DIJnrgYRPWKCF2flqZQXwa7Yr8v7VmLzF0YQ==", + "requires": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/standalone": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.12.12.tgz", + "integrity": "sha512-sHuNDN9NvPHsDAmxPD3RpsIeqCoFSW+ySa6+3teInrYe9y0Gn5swLQ2ZE7Zk6L8eBBESZM2ob1l98qWauQfDMA==" + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "requires": { + "@babel/code-frame": "^7.12.11", + "@babel/generator": "^7.12.11", + "@babel/helper-function-name": "^7.12.11", + "@babel/helper-split-export-declaration": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/types": "^7.12.12", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + } + } + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "@choojs/findup": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@choojs/findup/-/findup-0.2.1.tgz", + "integrity": "sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw==", + "requires": { + "commander": "^2.15.1" + } + }, + "@emotion/cache": { + "version": "10.0.29", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz", + "integrity": "sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==", + "requires": { + "@emotion/sheet": "0.9.4", + "@emotion/stylis": "0.8.5", + "@emotion/utils": "0.11.3", + "@emotion/weak-memoize": "0.2.5" + } + }, + "@emotion/core": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.1.1.tgz", + "integrity": "sha512-ZMLG6qpXR8x031NXD8HJqugy/AZSkAuMxxqB46pmAR7ze47MhNJ56cdoX243QPZdGctrdfo+s08yZTiwaUcRKA==", + "requires": { + "@babel/runtime": "^7.5.5", + "@emotion/cache": "^10.0.27", + "@emotion/css": "^10.0.27", + "@emotion/serialize": "^0.11.15", + "@emotion/sheet": "0.9.4", + "@emotion/utils": "0.11.3" + } + }, + "@emotion/css": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.27.tgz", + "integrity": "sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==", + "requires": { + "@emotion/serialize": "^0.11.15", + "@emotion/utils": "0.11.3", + "babel-plugin-emotion": "^10.0.27" + } + }, + "@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + }, + "@emotion/is-prop-valid": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", + "requires": { + "@emotion/memoize": "0.7.4" + } + }, + "@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==" + }, + "@emotion/native": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/native/-/native-10.0.27.tgz", + "integrity": "sha512-3qxR2XFizGfABKKbX9kAYc0PHhKuCEuyxshoq3TaMEbi9asWHdQVChg32ULpblm4XAf9oxaitAU7J9SfdwFxtw==", + "requires": { + "@emotion/primitives-core": "10.0.27" + } + }, + "@emotion/primitives-core": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/primitives-core/-/primitives-core-10.0.27.tgz", + "integrity": "sha512-fRBEDNPSFFOrBJ0OcheuElayrNTNdLF9DzMxtL0sFgsCFvvadlzwJHhJMSwEJuxwARm9GhVLr1p8G8JGkK98lQ==", + "requires": { + "css-to-react-native": "^2.2.1" + } + }, + "@emotion/serialize": { + "version": "0.11.16", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz", + "integrity": "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==", + "requires": { + "@emotion/hash": "0.8.0", + "@emotion/memoize": "0.7.4", + "@emotion/unitless": "0.7.5", + "@emotion/utils": "0.11.3", + "csstype": "^2.5.7" + }, + "dependencies": { + "csstype": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.14.tgz", + "integrity": "sha512-2mSc+VEpGPblzAxyeR+vZhJKgYg0Og0nnRi7pmRXFYYxSfnOnW8A5wwQb4n4cE2nIOzqKOAzLCaEX6aBmNEv8A==" + } + } + }, + "@emotion/sheet": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.4.tgz", + "integrity": "sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==" + }, + "@emotion/styled": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz", + "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==", + "requires": { + "@emotion/styled-base": "^10.0.27", + "babel-plugin-emotion": "^10.0.27" + } + }, + "@emotion/styled-base": { + "version": "10.0.31", + "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.0.31.tgz", + "integrity": "sha512-wTOE1NcXmqMWlyrtwdkqg87Mu6Rj1MaukEoEmEkHirO5IoHDJ8LgCQL4MjJODgxWxXibGR3opGp1p7YvkNEdXQ==", + "requires": { + "@babel/runtime": "^7.5.5", + "@emotion/is-prop-valid": "0.8.8", + "@emotion/serialize": "^0.11.15", + "@emotion/utils": "0.11.3" + } + }, + "@emotion/stylis": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", + "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" + }, + "@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "@emotion/utils": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz", + "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==" + }, + "@emotion/weak-memoize": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz", + "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" + }, + "@endemolshinegroup/cosmiconfig-typescript-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz", + "integrity": "sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==", + "requires": { + "lodash.get": "^4", + "make-error": "^1", + "ts-node": "^9", + "tslib": "^2" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@graphql-tools/batch-execute": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-7.0.0.tgz", + "integrity": "sha512-+ywPfK6N2Ddna6oOa5Qb1Mv7EA8LOwRNOAPP9dL37FEhksJM9pYqPSceUcqMqg7S9b0+Cgr78s408rgvurV3/Q==", + "requires": { + "@graphql-tools/utils": "^7.0.0", + "dataloader": "2.0.0", + "is-promise": "4.0.0", + "tslib": "~2.0.1" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.2.5.tgz", + "integrity": "sha512-S9RUkPimq+5eEDohDjiq/JCPUsiZblKRG8ve+diUwF1f8+r6FV2xGXrOt0qhQJiMxIO+BOK3DU9c+U3tX9Jo0w==", + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "@graphql-tools/delegate": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-7.0.9.tgz", + "integrity": "sha512-nlelOb354cyweV+SpTXkoGZHKgJ1PwPkHWq/0RXM5LllQsR3OrSQKKWMrd1g9dyawEZbadCF3fDJJWSQ4HOg2g==", + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "@graphql-tools/batch-execute": "^7.0.0", + "@graphql-tools/schema": "^7.0.0", + "@graphql-tools/utils": "^7.1.6", + "dataloader": "2.0.0", + "is-promise": "4.0.0", + "tslib": "~2.1.0" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.2.5.tgz", + "integrity": "sha512-S9RUkPimq+5eEDohDjiq/JCPUsiZblKRG8ve+diUwF1f8+r6FV2xGXrOt0qhQJiMxIO+BOK3DU9c+U3tX9Jo0w==", + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@graphql-tools/graphql-file-loader": { + "version": "6.2.7", + "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-6.2.7.tgz", + "integrity": "sha512-5k2SNz0W87tDcymhEMZMkd6/vs6QawDyjQXWtqkuLTBF3vxjxPD1I4dwHoxgWPIjjANhXybvulD7E+St/7s9TQ==", + "requires": { + "@graphql-tools/import": "^6.2.6", + "@graphql-tools/utils": "^7.0.0", + "tslib": "~2.1.0" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.2.5.tgz", + "integrity": "sha512-S9RUkPimq+5eEDohDjiq/JCPUsiZblKRG8ve+diUwF1f8+r6FV2xGXrOt0qhQJiMxIO+BOK3DU9c+U3tX9Jo0w==", + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@graphql-tools/import": { + "version": "6.2.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-6.2.6.tgz", + "integrity": "sha512-/0H/bDjNK1MnKonk8fMbB7wIYU6QLCwbQOHtSHbFJ4j2qki5CqfAxpF+fGX6KovDtkdigcgRMvSKKi14oiuHPA==", + "requires": { + "resolve-from": "5.0.0", + "tslib": "~2.1.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@graphql-tools/json-file-loader": { + "version": "6.2.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-6.2.6.tgz", + "integrity": "sha512-CnfwBSY5926zyb6fkDBHnlTblHnHI4hoBALFYXnrg0Ev4yWU8B04DZl/pBRUc459VNgO2x8/mxGIZj2hPJG1EA==", + "requires": { + "@graphql-tools/utils": "^7.0.0", + "tslib": "~2.0.1" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.2.5.tgz", + "integrity": "sha512-S9RUkPimq+5eEDohDjiq/JCPUsiZblKRG8ve+diUwF1f8+r6FV2xGXrOt0qhQJiMxIO+BOK3DU9c+U3tX9Jo0w==", + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "@graphql-tools/load": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-6.2.5.tgz", + "integrity": "sha512-TpDgp+id0hhD1iMhdFSgWgWumdI/IpFWwouJeaEhEEAEBkdvH4W9gbBiJBSbPQwMPRNWx8/AZtry0cYKLW4lHg==", + "requires": { + "@graphql-tools/merge": "^6.2.5", + "@graphql-tools/utils": "^7.0.0", + "globby": "11.0.1", + "import-from": "3.0.0", + "is-glob": "4.0.1", + "p-limit": "3.0.2", + "tslib": "~2.0.1", + "unixify": "1.0.0", + "valid-url": "1.0.9" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.2.5.tgz", + "integrity": "sha512-S9RUkPimq+5eEDohDjiq/JCPUsiZblKRG8ve+diUwF1f8+r6FV2xGXrOt0qhQJiMxIO+BOK3DU9c+U3tX9Jo0w==", + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "p-limit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz", + "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==", + "requires": { + "p-try": "^2.0.0" + } + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "@graphql-tools/merge": { + "version": "6.2.7", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-6.2.7.tgz", + "integrity": "sha512-9acgDkkYeAHpuqhOa3E63NZPCX/iWo819Q320sCCMkydF1xgx0qCRYz/V03xPdpQETKRqBG2i2N2csneeEYYig==", + "requires": { + "@graphql-tools/schema": "^7.0.0", + "@graphql-tools/utils": "^7.0.0", + "tslib": "~2.1.0" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.2.5.tgz", + "integrity": "sha512-S9RUkPimq+5eEDohDjiq/JCPUsiZblKRG8ve+diUwF1f8+r6FV2xGXrOt0qhQJiMxIO+BOK3DU9c+U3tX9Jo0w==", + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@graphql-tools/schema": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-7.1.2.tgz", + "integrity": "sha512-GabNT51ErVHE2riDH4EQdRusUsI+nMElT8LdFHyuP53v8gwtleAj+LePQ9jif4NYUe/JQVqO8V28vPcHrA7gfQ==", + "requires": { + "@graphql-tools/utils": "^7.1.2", + "tslib": "~2.0.1" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.2.5.tgz", + "integrity": "sha512-S9RUkPimq+5eEDohDjiq/JCPUsiZblKRG8ve+diUwF1f8+r6FV2xGXrOt0qhQJiMxIO+BOK3DU9c+U3tX9Jo0w==", + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "@graphql-tools/url-loader": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-6.8.0.tgz", + "integrity": "sha512-x4f93UnH7kNr9iHFpJHL6kYWogRFlxMEnXybHS9xNCFd08+ftMO22bUb8esnFsyNrtMMlkLtshDSyNb3LbIMQg==", + "requires": { + "@graphql-tools/delegate": "^7.0.1", + "@graphql-tools/utils": "^7.1.5", + "@graphql-tools/wrap": "^7.0.4", + "@types/websocket": "1.0.1", + "cross-fetch": "3.0.6", + "eventsource": "1.0.7", + "extract-files": "9.0.0", + "graphql-upload": "^11.0.0", + "graphql-ws": "4.1.0", + "is-promise": "4.0.0", + "isomorphic-form-data": "2.0.0", + "isomorphic-ws": "4.0.1", + "sse-z": "0.3.0", + "sync-fetch": "0.3.0", + "tslib": "~2.1.0", + "valid-url": "1.0.9", + "ws": "7.4.2" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.2.5.tgz", + "integrity": "sha512-S9RUkPimq+5eEDohDjiq/JCPUsiZblKRG8ve+diUwF1f8+r6FV2xGXrOt0qhQJiMxIO+BOK3DU9c+U3tX9Jo0w==", + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "@graphql-tools/utils": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.2.4.tgz", + "integrity": "sha512-ybgZ9EIJE3JMOtTrTd2VcIpTXtDrn2q6eiYkeYMKRVh3K41+LZa6YnR2zKERTXqTWqhobROwLt4BZbw2O3Aeeg==", + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.1", + "tslib": "~2.0.1" + }, + "dependencies": { + "camel-case": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.1.tgz", + "integrity": "sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q==", + "requires": { + "pascal-case": "^3.1.1", + "tslib": "^1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "@graphql-tools/wrap": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-7.0.5.tgz", + "integrity": "sha512-KCWBXsDfvG46GNUawRltJL4j9BMGoOG7oo3WEyCQP+SByWXiTe5cBF45SLDVQgdjljGNZhZ4Lq/7avIkF7/zDQ==", + "requires": { + "@graphql-tools/delegate": "^7.0.7", + "@graphql-tools/schema": "^7.1.2", + "@graphql-tools/utils": "^7.2.1", + "is-promise": "4.0.0", + "tslib": "~2.0.1" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.2.5.tgz", + "integrity": "sha512-S9RUkPimq+5eEDohDjiq/JCPUsiZblKRG8ve+diUwF1f8+r6FV2xGXrOt0qhQJiMxIO+BOK3DU9c+U3tX9Jo0w==", + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==" + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==" + }, + "@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==" + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "requires": { + "@hapi/hoek": "^8.3.0" + } + }, + "@iarna/toml": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", + "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==" + }, + "@itsjonq/is": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@itsjonq/is/-/is-0.0.2.tgz", + "integrity": "sha512-P0Ug+chfjCV1JV8MUxAGPz0BM76yDlR76AIfPwRZ6mAJW56k6b9j0s2cIcEsEAu0gNj/RJD1STw777AQyBN3CQ==" + }, + "@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jimp/bmp": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.14.0.tgz", + "integrity": "sha512-5RkX6tSS7K3K3xNEb2ygPuvyL9whjanhoaB/WmmXlJS6ub4DjTqrapu8j4qnIWmO4YYtFeTbDTXV6v9P1yMA5A==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0", + "bmp-js": "^0.1.0" + } + }, + "@jimp/core": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.14.0.tgz", + "integrity": "sha512-S62FcKdtLtj3yWsGfJRdFXSutjvHg7aQNiFogMbwq19RP4XJWqS2nOphu7ScB8KrSlyy5nPF2hkWNhLRLyD82w==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0", + "any-base": "^1.1.0", + "buffer": "^5.2.0", + "exif-parser": "^0.1.12", + "file-type": "^9.0.0", + "load-bmfont": "^1.3.1", + "mkdirp": "^0.5.1", + "phin": "^2.9.1", + "pixelmatch": "^4.0.2", + "tinycolor2": "^1.4.1" + }, + "dependencies": { + "file-type": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz", + "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==" + } + } + }, + "@jimp/custom": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.14.0.tgz", + "integrity": "sha512-kQJMeH87+kWJdVw8F9GQhtsageqqxrvzg7yyOw3Tx/s7v5RToe8RnKyMM+kVtBJtNAG+Xyv/z01uYQ2jiZ3GwA==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/core": "^0.14.0" + } + }, + "@jimp/gif": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.14.0.tgz", + "integrity": "sha512-DHjoOSfCaCz72+oGGEh8qH0zE6pUBaBxPxxmpYJjkNyDZP7RkbBkZJScIYeQ7BmJxmGN4/dZn+MxamoQlr+UYg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0", + "gifwrap": "^0.9.2", + "omggif": "^1.0.9" + } + }, + "@jimp/jpeg": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.14.0.tgz", + "integrity": "sha512-561neGbr+87S/YVQYnZSTyjWTHBm9F6F1obYHiyU3wVmF+1CLbxY3FQzt4YolwyQHIBv36Bo0PY2KkkU8BEeeQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0", + "jpeg-js": "^0.4.0" + } + }, + "@jimp/plugin-blit": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.14.0.tgz", + "integrity": "sha512-YoYOrnVHeX3InfgbJawAU601iTZMwEBZkyqcP1V/S33Qnz9uzH1Uj1NtC6fNgWzvX6I4XbCWwtr4RrGFb5CFrw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugin-blur": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.14.0.tgz", + "integrity": "sha512-9WhZcofLrT0hgI7t0chf7iBQZib//0gJh9WcQMUt5+Q1Bk04dWs8vTgLNj61GBqZXgHSPzE4OpCrrLDBG8zlhQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugin-circle": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.14.0.tgz", + "integrity": "sha512-o5L+wf6QA44tvTum5HeLyLSc5eVfIUd5ZDVi5iRfO4o6GT/zux9AxuTSkKwnjhsG8bn1dDmywAOQGAx7BjrQVA==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugin-color": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.14.0.tgz", + "integrity": "sha512-JJz512SAILYV0M5LzBb9sbOm/XEj2fGElMiHAxb7aLI6jx+n0agxtHpfpV/AePTLm1vzzDxx6AJxXbKv355hBQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0", + "tinycolor2": "^1.4.1" + } + }, + "@jimp/plugin-contain": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.14.0.tgz", + "integrity": "sha512-RX2q233lGyaxiMY6kAgnm9ScmEkNSof0hdlaJAVDS1OgXphGAYAeSIAwzESZN4x3ORaWvkFefeVH9O9/698Evg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugin-cover": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.14.0.tgz", + "integrity": "sha512-0P/5XhzWES4uMdvbi3beUgfvhn4YuQ/ny8ijs5kkYIw6K8mHcl820HahuGpwWMx56DJLHRl1hFhJwo9CeTRJtQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugin-crop": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.14.0.tgz", + "integrity": "sha512-Ojtih+XIe6/XSGtpWtbAXBozhCdsDMmy+THUJAGu2x7ZgKrMS0JotN+vN2YC3nwDpYkM+yOJImQeptSfZb2Sug==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugin-displace": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.14.0.tgz", + "integrity": "sha512-c75uQUzMgrHa8vegkgUvgRL/PRvD7paFbFJvzW0Ugs8Wl+CDMGIPYQ3j7IVaQkIS+cAxv+NJ3TIRBQyBrfVEOg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugin-dither": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.14.0.tgz", + "integrity": "sha512-g8SJqFLyYexXQQsoh4dc1VP87TwyOgeTElBcxSXX2LaaMZezypmxQfLTzOFzZoK8m39NuaoH21Ou1Ftsq7LzVQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugin-fisheye": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.14.0.tgz", + "integrity": "sha512-BFfUZ64EikCaABhCA6mR3bsltWhPpS321jpeIQfJyrILdpFsZ/OccNwCgpW1XlbldDHIoNtXTDGn3E+vCE7vDg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugin-flip": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.14.0.tgz", + "integrity": "sha512-WtL1hj6ryqHhApih+9qZQYA6Ye8a4HAmdTzLbYdTMrrrSUgIzFdiZsD0WeDHpgS/+QMsWwF+NFmTZmxNWqKfXw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugin-gaussian": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.14.0.tgz", + "integrity": "sha512-uaLwQ0XAQoydDlF9tlfc7iD9drYPriFe+jgYnWm8fbw5cN+eOIcnneEX9XCOOzwgLPkNCxGox6Kxjn8zY6GxtQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugin-invert": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.14.0.tgz", + "integrity": "sha512-UaQW9X9vx8orQXYSjT5VcITkJPwDaHwrBbxxPoDG+F/Zgv4oV9fP+udDD6qmkgI9taU+44Fy+zm/J/gGcMWrdg==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugin-mask": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.14.0.tgz", + "integrity": "sha512-tdiGM69OBaKtSPfYSQeflzFhEpoRZ+BvKfDEoivyTjauynbjpRiwB1CaiS8En1INTDwzLXTT0Be9SpI3LkJoEA==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugin-normalize": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.14.0.tgz", + "integrity": "sha512-AfY8sqlsbbdVwFGcyIPy5JH/7fnBzlmuweb+Qtx2vn29okq6+HelLjw2b+VT2btgGUmWWHGEHd86oRGSoWGyEQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugin-print": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.14.0.tgz", + "integrity": "sha512-MwP3sH+VS5AhhSTXk7pui+tEJFsxnTKFY3TraFJb8WFbA2Vo2qsRCZseEGwpTLhENB7p/JSsLvWoSSbpmxhFAQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0", + "load-bmfont": "^1.4.0" + } + }, + "@jimp/plugin-resize": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.14.0.tgz", + "integrity": "sha512-qFeMOyXE/Bk6QXN0GQo89+CB2dQcXqoxUcDb2Ah8wdYlKqpi53skABkgVy5pW3EpiprDnzNDboMltdvDslNgLQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugin-rotate": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.14.0.tgz", + "integrity": "sha512-aGaicts44bvpTcq5Dtf93/8TZFu5pMo/61lWWnYmwJJU1RqtQlxbCLEQpMyRhKDNSfPbuP8nyGmaqXlM/82J0Q==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugin-scale": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.14.0.tgz", + "integrity": "sha512-ZcJk0hxY5ZKZDDwflqQNHEGRblgaR+piePZm7dPwPUOSeYEH31P0AwZ1ziceR74zd8N80M0TMft+e3Td6KGBHw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugin-shadow": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.14.0.tgz", + "integrity": "sha512-p2igcEr/iGrLiTu0YePNHyby0WYAXM14c5cECZIVnq/UTOOIQ7xIcWZJ1lRbAEPxVVXPN1UibhZAbr3HAb5BjQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugin-threshold": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.14.0.tgz", + "integrity": "sha512-N4BlDgm/FoOMV/DQM2rSpzsgqAzkP0DXkWZoqaQrlRxQBo4zizQLzhEL00T/YCCMKnddzgEhnByaocgaaa0fKw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0" + } + }, + "@jimp/plugins": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.14.0.tgz", + "integrity": "sha512-vDO3XT/YQlFlFLq5TqNjQkISqjBHT8VMhpWhAfJVwuXIpilxz5Glu4IDLK6jp4IjPR6Yg2WO8TmRY/HI8vLrOw==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/plugin-blit": "^0.14.0", + "@jimp/plugin-blur": "^0.14.0", + "@jimp/plugin-circle": "^0.14.0", + "@jimp/plugin-color": "^0.14.0", + "@jimp/plugin-contain": "^0.14.0", + "@jimp/plugin-cover": "^0.14.0", + "@jimp/plugin-crop": "^0.14.0", + "@jimp/plugin-displace": "^0.14.0", + "@jimp/plugin-dither": "^0.14.0", + "@jimp/plugin-fisheye": "^0.14.0", + "@jimp/plugin-flip": "^0.14.0", + "@jimp/plugin-gaussian": "^0.14.0", + "@jimp/plugin-invert": "^0.14.0", + "@jimp/plugin-mask": "^0.14.0", + "@jimp/plugin-normalize": "^0.14.0", + "@jimp/plugin-print": "^0.14.0", + "@jimp/plugin-resize": "^0.14.0", + "@jimp/plugin-rotate": "^0.14.0", + "@jimp/plugin-scale": "^0.14.0", + "@jimp/plugin-shadow": "^0.14.0", + "@jimp/plugin-threshold": "^0.14.0", + "timm": "^1.6.1" + } + }, + "@jimp/png": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.14.0.tgz", + "integrity": "sha512-0RV/mEIDOrPCcNfXSPmPBqqSZYwGADNRVUTyMt47RuZh7sugbYdv/uvKmQSiqRdR0L1sfbCBMWUEa5G/8MSbdA==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/utils": "^0.14.0", + "pngjs": "^3.3.3" + } + }, + "@jimp/tiff": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.14.0.tgz", + "integrity": "sha512-zBYDTlutc7j88G/7FBCn3kmQwWr0rmm1e0FKB4C3uJ5oYfT8645lftUsvosKVUEfkdmOaMAnhrf4ekaHcb5gQw==", + "requires": { + "@babel/runtime": "^7.7.2", + "utif": "^2.0.1" + } + }, + "@jimp/types": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.14.0.tgz", + "integrity": "sha512-hx3cXAW1KZm+b+XCrY3LXtdWy2U+hNtq0rPyJ7NuXCjU7lZR3vIkpz1DLJ3yDdS70hTi5QDXY3Cd9kd6DtloHQ==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/bmp": "^0.14.0", + "@jimp/gif": "^0.14.0", + "@jimp/jpeg": "^0.14.0", + "@jimp/png": "^0.14.0", + "@jimp/tiff": "^0.14.0", + "timm": "^1.6.1" + } + }, + "@jimp/utils": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.14.0.tgz", + "integrity": "sha512-MY5KFYUru0y74IsgM/9asDwb3ERxWxXEu3CRCZEvE7DtT86y1bR1XgtlSliMrptjz4qbivNGMQSvUBpEFJDp1A==", + "requires": { + "@babel/runtime": "^7.7.2", + "regenerator-runtime": "^0.13.3" + } + }, + "@mdx-js/util": { + "version": "2.0.0-next.8", + "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-2.0.0-next.8.tgz", + "integrity": "sha512-T0BcXmNzEunFkuxrO8BFw44htvTPuAoKbLvTG41otyZBDV1Rs+JMddcUuaP5vXpTWtgD3grhcrPEwyx88RUumQ==" + }, + "@mikaelkristiansson/domready": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@mikaelkristiansson/domready/-/domready-1.0.10.tgz", + "integrity": "sha512-6cDuZeKSCSJ1KvfEQ25Y8OXUjqDJZ+HgUs6dhASWbAX8fxVraTfPsSeRe2bN+4QJDsgUaXaMWBYfRomCr04GGg==" + }, + "@nodelib/fs.scandir": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "requires": { + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==" + }, + "@nodelib/fs.walk": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "requires": { + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.0" + } + }, + "@pieh/friendly-errors-webpack-plugin": { + "version": "1.7.0-chalk-2", + "resolved": "https://registry.npmjs.org/@pieh/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0-chalk-2.tgz", + "integrity": "sha512-65+vYGuDkHBCWWjqzzR/Ck318+d6yTI00EqII9qe3aPD1J3Olhvw0X38uM5moQb1PK/ksDXwSoPGt/5QhCiotw==", + "requires": { + "chalk": "^2.4.2", + "error-stack-parser": "^2.0.0", + "string-width": "^2.0.0", + "strip-ansi": "^3" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + } + } + } + } + }, + "@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz", + "integrity": "sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ==", + "requires": { + "ansi-html": "^0.0.7", + "error-stack-parser": "^2.0.6", + "html-entities": "^1.2.1", + "native-url": "^0.2.6", + "schema-utils": "^2.6.5", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "@popperjs/core": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.6.0.tgz", + "integrity": "sha512-cPqjjzuFWNK3BSKLm0abspP0sp/IGOli4p5I5fKFAzdS8fvjdOwDCfZqAaIiXd9lPkOWi3SUUfZof3hEb7J/uw==" + }, + "@reach/router": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@reach/router/-/router-1.3.4.tgz", + "integrity": "sha512-+mtn9wjlB9NN2CNnnC/BRYtwdKBfSyyasPYraNAyvaV1occr/5NnB4CVzjEZipNHwYebQwcndGUmpFzxAUoqSA==", + "requires": { + "create-react-context": "0.3.0", + "invariant": "^2.2.3", + "prop-types": "^15.6.1", + "react-lifecycles-compat": "^3.0.4" + } + }, + "@rematch/core": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@rematch/core/-/core-1.4.0.tgz", + "integrity": "sha512-1zy9cTYxbvDHP0PwIL1QqkwagCEnqA0uWMmPf8v2BYvLi2OsxIfX1xiV+vCP3sdJAjjZ0b9+IbSmj0DL2MEgLQ==", + "requires": { + "redux": "^4.0.5" + } + }, + "@rematch/immer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@rematch/immer/-/immer-1.2.0.tgz", + "integrity": "sha512-nFfNwvlAcWqE8A6e+RImlTLFZcyUkCx593uVZ8nSGfbRkxDgDYM0/rSBxx432yLBExmMupeRrsYUgRVc+jmw4A==", + "requires": { + "immer": "^4.0.0" + } + }, + "@sideway/address": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.0.tgz", + "integrity": "sha512-wAH/JYRXeIFQRsxerIuLjgUu2Xszam+O5xKeatJ4oudShOOirfmsQ1D6LL54XOU2tizpCYku+s1wmU0SYdpoSA==", + "requires": { + "@hapi/hoek": "^9.0.0" + }, + "dependencies": { + "@hapi/hoek": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.1.1.tgz", + "integrity": "sha512-CAEbWH7OIur6jEOzaai83jq3FmKmv4PmX1JYfs9IrYcGEVI/lyL1EXJGCj7eFVJ0bg5QR8LMxBlEtA+xKiLpFw==" + } + } + }, + "@sideway/formula": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", + "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" + }, + "@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "@sindresorhus/slugify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-1.1.0.tgz", + "integrity": "sha512-ujZRbmmizX26yS/HnB3P9QNlNa4+UvHh+rIse3RbOXLp8yl6n1TxB4t7NHggtVgS8QmmOtzXo48kCxZGACpkPw==", + "requires": { + "@sindresorhus/transliterate": "^0.1.1", + "escape-string-regexp": "^4.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + } + } + }, + "@sindresorhus/transliterate": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-0.1.1.tgz", + "integrity": "sha512-QSdIQ5keUFAZ3KLbfbsntW39ox0Ym8183RqTwBq/ZEFoN3NQAtGV+qWaNdzKpIDHgj9J2CQ2iNDRVU11Zyr7MQ==", + "requires": { + "escape-string-regexp": "^2.0.0", + "lodash.deburr": "^4.1.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + } + } + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@tannin/compile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@tannin/compile/-/compile-1.1.0.tgz", + "integrity": "sha512-n8m9eNDfoNZoxdvWiTfW/hSPhehzLJ3zW7f8E7oT6mCROoMNWCB4TYtv041+2FMAxweiE0j7i1jubQU4MEC/Gg==", + "requires": { + "@tannin/evaluate": "^1.2.0", + "@tannin/postfix": "^1.1.0" + } + }, + "@tannin/evaluate": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@tannin/evaluate/-/evaluate-1.2.0.tgz", + "integrity": "sha512-3ioXvNowbO/wSrxsDG5DKIMxC81P0QrQTYai8zFNY+umuoHWRPbQ/TuuDEOju9E+jQDXmj6yI5GyejNuh8I+eg==" + }, + "@tannin/plural-forms": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@tannin/plural-forms/-/plural-forms-1.1.0.tgz", + "integrity": "sha512-xl9R2mDZO/qiHam1AgMnAES6IKIg7OBhcXqy6eDsRCdXuxAFPcjrej9HMjyCLE0DJ/8cHf0i5OQTstuBRhpbHw==", + "requires": { + "@tannin/compile": "^1.1.0" + } + }, + "@tannin/postfix": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@tannin/postfix/-/postfix-1.1.0.tgz", + "integrity": "sha512-oocsqY7g0cR+Gur5jRQLSrX2OtpMLMse1I10JQBm8CdGMrDkh1Mg2gjsiquMHRtBs4Qwu5wgEp5GgIYHk4SNPw==" + }, + "@tokenizer/token": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.1.1.tgz", + "integrity": "sha512-XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w==" + }, + "@turist/fetch": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/@turist/fetch/-/fetch-7.1.7.tgz", + "integrity": "sha512-XP20kvfyMNlWdPVQXyuzA40LoCHbbJptikt7W+TlZ5sS+NNjk70xjXCtHBLEudp7li3JldXEFSIUzpW1a0WEhA==", + "requires": { + "@types/node-fetch": "2" + } + }, + "@turist/time": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@turist/time/-/time-0.0.1.tgz", + "integrity": "sha512-M2BiThcbxMxSKX8W4z5u9jKZn6datnM3+FpEU+eYw0//l31E2xhqi7vTAuJ/Sf0P3yhp66SDJgPu3bRRpvrdQQ==" + }, + "@types/cache-manager": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/cache-manager/-/cache-manager-2.10.3.tgz", + "integrity": "sha512-PbaxAeU8SZhbVd6+IuepvyWN7KAjEThsrkdvITDxKAlN6/abIr3NW3WPzNLjJekqbVijg4YUYsyrVc84xXUHQw==" + }, + "@types/cacheable-request": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz", + "integrity": "sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==", + "requires": { + "@types/http-cache-semantics": "*", + "@types/keyv": "*", + "@types/node": "*", + "@types/responselike": "*" + } + }, + "@types/common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@types/common-tags/-/common-tags-1.8.0.tgz", + "integrity": "sha512-htRqZr5qn8EzMelhX/Xmx142z218lLyGaeZ3YR8jlze4TATRU9huKKvuBmAJEW4LCC4pnY1N6JAm6p85fMHjhg==" + }, + "@types/configstore": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@types/configstore/-/configstore-2.1.1.tgz", + "integrity": "sha1-zR6FU2M60xhcPy8jns/10mQ+krY=" + }, + "@types/debug": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-0.0.30.tgz", + "integrity": "sha512-orGL5LXERPYsLov6CWs3Fh6203+dXzJkR7OnddIr2514Hsecwc8xRpzCapshBbKFImCsvS/mk6+FWiN5LyZJAQ==" + }, + "@types/domhandler": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/domhandler/-/domhandler-2.4.1.tgz", + "integrity": "sha512-cfBw6q6tT5sa1gSPFSRKzF/xxYrrmeiut7E0TxNBObiLSBTuFEHibcfEe3waQPEDbqBsq+ql/TOniw65EyDFMA==" + }, + "@types/domutils": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@types/domutils/-/domutils-1.7.3.tgz", + "integrity": "sha512-EucnS75OnnEdypNt+UpARisSF8eJBq4no+aVOis3Bs5kyABDXm1hEDv6jJxcMJPjR+a2YCrEANaW+BMT2QVG2Q==", + "requires": { + "domhandler": "^2.4.0" + } + }, + "@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==" + }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" + }, + "@types/get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-TiNg8R1kjDde5Pub9F9vCwZA/BNW9HeXP5b9j7Qucqncy/McfPZ6xze/EyBdXS5FhMIGN6Fx3vg75l5KHy3V1Q==" + }, + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/htmlparser2": { + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/@types/htmlparser2/-/htmlparser2-3.10.2.tgz", + "integrity": "sha512-81vjuO800UMoHjYbCbqtBmfC3iCsrROKpqndo0acKiN6k/cpW+YOw9FzRP0ghujHeUNCOox2AQPrrMy6+j5UpQ==", + "requires": { + "@types/domutils": "*", + "@types/node": "*", + "domhandler": "^2.4.0" + } + }, + "@types/http-cache-semantics": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz", + "integrity": "sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==" + }, + "@types/http-proxy": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.5.tgz", + "integrity": "sha512-GNkDE7bTv6Sf8JbV2GksknKOsk7OznNYHSdrtvPJXO0qJ9odZig6IZKUi5RFGi6d1bf6dgIAe4uXi3DBc7069Q==", + "requires": { + "@types/node": "*" + } + }, + "@types/ink": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/ink/-/ink-2.0.3.tgz", + "integrity": "sha512-DYKIKEJqhsGfQ/jgX0t9BzfHmBJ/9dBBT2MDsHAQRAfOPhEe7LZm5QeNBx1J34/e108StCPuJ3r4bh1y38kCJA==", + "requires": { + "ink": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==" + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=" + }, + "@types/keyv": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.1.tgz", + "integrity": "sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==", + "requires": { + "@types/node": "*" + } + }, + "@types/lodash": { + "version": "4.14.168", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz", + "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==" + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" + }, + "@types/mkdirp": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", + "integrity": "sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==", + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "14.14.22", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", + "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==" + }, + "@types/node-fetch": { + "version": "2.5.8", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.8.tgz", + "integrity": "sha512-fbjI6ja0N5ZA8TV53RUqzsKNkl9fv8Oj3T7zxW7FGv1GSH7gwJaNF8dzCjrqKaxKeUpTz4yT1DaJFq/omNpGfw==", + "requires": { + "@types/node": "*", + "form-data": "^3.0.0" + }, + "dependencies": { + "form-data": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "@types/prop-types": { + "version": "15.7.3", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" + }, + "@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" + }, + "@types/reach__router": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@types/reach__router/-/reach__router-1.3.7.tgz", + "integrity": "sha512-cyBEb8Ef3SJNH5NYEIDGPoMMmYUxROatuxbICusVRQIqZUB85UCt6R2Ok60tKS/TABJsJYaHyNTW3kqbpxlMjg==", + "requires": { + "@types/react": "*" + } + }, + "@types/react": { + "version": "16.14.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.2.tgz", + "integrity": "sha512-BzzcAlyDxXl2nANlabtT4thtvbbnhee8hMmH/CcJrISDBVcJS1iOsP1f0OAgSdGE0MsY9tqcrb9YoZcOFv9dbQ==", + "requires": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "16.9.10", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.10.tgz", + "integrity": "sha512-ItatOrnXDMAYpv6G8UCk2VhbYVTjZT9aorLtA/OzDN9XJ2GKcfam68jutoAcILdRjsRUO8qb7AmyObF77Q8QFw==", + "requires": { + "@types/react": "^16" + } + }, + "@types/readable-stream": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.9.tgz", + "integrity": "sha512-sqsgQqFT7HmQz/V5jH1O0fvQQnXAJO46Gg9LRO/JPfjmVmGUlcx831TZZO3Y3HtWhIkzf3kTsNT0Z0kzIhIvZw==", + "requires": { + "@types/node": "*", + "safe-buffer": "*" + } + }, + "@types/responselike": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", + "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "requires": { + "@types/node": "*" + } + }, + "@types/rimraf": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-2.0.4.tgz", + "integrity": "sha512-8gBudvllD2A/c0CcEX/BivIDorHFt5UI5m46TsNj8DjWCCTTZT74kEe4g+QsY7P/B9WdO98d82zZgXO/RQzu2Q==", + "requires": { + "@types/glob": "*", + "@types/node": "*" + } + }, + "@types/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha1-EHPEvIJHVK49EM+riKsCN7qWTk0=" + }, + "@types/unist": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", + "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==" + }, + "@types/websocket": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.1.tgz", + "integrity": "sha512-f5WLMpezwVxCLm1xQe/kdPpQIOmL0TXYx2O15VYfYzc7hTIdxiOoOvez+McSIw3b7z/1zGovew9YSL7+h4h7/Q==", + "requires": { + "@types/node": "*" + } + }, + "@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==" + }, + "@types/yoga-layout": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@types/yoga-layout/-/yoga-layout-1.9.2.tgz", + "integrity": "sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", + "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", + "requires": { + "@typescript-eslint/experimental-utils": "2.34.0", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", + "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", + "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", + "requires": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.34.0", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "@typescript-eslint/typescript-estree": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", + "requires": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + } + } + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "requires": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@wordpress/a11y": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/@wordpress/a11y/-/a11y-2.14.1.tgz", + "integrity": "sha512-Edq5ZMgPcnMNed4EMjxJm53u/WcX8MDi19sLHaUrUmIKVYuB3xZmYKmFOgdVMFIcL9d0LJadByZ5LytEMGaq7g==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/dom-ready": "^2.12.1", + "@wordpress/i18n": "^3.17.1" + } + }, + "@wordpress/api-fetch": { + "version": "3.21.3", + "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-3.21.3.tgz", + "integrity": "sha512-QwGQJNjSXeE0eB40tABI8txMhYGrXa2K4fvE15QUA4lQO67rdexoTby4v6cMZ+1d7YoVIZ1K0rt8wbK2kYHeJA==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/i18n": "^3.17.1", + "@wordpress/url": "^2.21.2" + } + }, + "@wordpress/autop": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/@wordpress/autop/-/autop-2.11.1.tgz", + "integrity": "sha512-3TUAtcDneDqZeYF0AqGDm2RD/8Ed9eCWZwnMScx6zyvr6llmuhd4QKmGrnq02Rd//rqTSbsJEeFIT6FACxzJnA==", + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "@wordpress/blob": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/@wordpress/blob/-/blob-2.12.1.tgz", + "integrity": "sha512-6undS4OASjzY8YyNVoJp1jToQJd6hgvFLgcKugN5escOLqwsVJKbhFnUWBBSmtWLmcLOyTBXWQDp5ZUB8p35MQ==", + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "@wordpress/block-editor": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@wordpress/block-editor/-/block-editor-5.2.3.tgz", + "integrity": "sha512-XDmtjdu74YkK9Bazd8xHGUNKbekDb+fli/Sr32fXoccfI6SITOH8MKjpkMdGlGKFQ6lRNgpsDTDkhbcW1JrYCw==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/a11y": "^2.14.1", + "@wordpress/blob": "^2.12.1", + "@wordpress/blocks": "^7.0.0", + "@wordpress/components": "^12.0.3", + "@wordpress/compose": "^3.24.1", + "@wordpress/data": "^4.26.3", + "@wordpress/data-controls": "^1.20.3", + "@wordpress/deprecated": "^2.11.1", + "@wordpress/dom": "^2.16.2", + "@wordpress/element": "^2.19.1", + "@wordpress/hooks": "^2.11.1", + "@wordpress/html-entities": "^2.10.1", + "@wordpress/i18n": "^3.17.1", + "@wordpress/icons": "^2.9.1", + "@wordpress/is-shallow-equal": "^3.0.1", + "@wordpress/keyboard-shortcuts": "^1.13.3", + "@wordpress/keycodes": "^2.18.1", + "@wordpress/notices": "^2.12.3", + "@wordpress/rich-text": "^3.24.3", + "@wordpress/shortcode": "^2.12.1", + "@wordpress/token-list": "^1.14.1", + "@wordpress/url": "^2.21.2", + "@wordpress/wordcount": "^2.14.1", + "classnames": "^2.2.5", + "css-mediaquery": "^0.1.2", + "diff": "^4.0.2", + "dom-scroll-into-view": "^1.2.1", + "inherits": "^2.0.3", + "lodash": "^4.17.19", + "memize": "^1.1.0", + "react-autosize-textarea": "^7.1.0", + "react-merge-refs": "^1.0.0", + "react-spring": "^8.0.19", + "redux-multi": "^0.1.12", + "rememo": "^3.0.0", + "tinycolor2": "^1.4.2", + "traverse": "^0.6.6" + } + }, + "@wordpress/block-library": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/@wordpress/block-library/-/block-library-2.28.0.tgz", + "integrity": "sha512-pbtWEink2/yQ9RXWW/4jEohmEcsTq8/9wmPSL/2N3EA4WhFG1iPkD50caHS6Z653nlt3yJ9xMDpm7bgzz3adSw==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/a11y": "^2.14.1", + "@wordpress/api-fetch": "^3.21.3", + "@wordpress/autop": "^2.11.1", + "@wordpress/blob": "^2.12.1", + "@wordpress/block-editor": "^5.2.3", + "@wordpress/blocks": "^7.0.0", + "@wordpress/components": "^12.0.3", + "@wordpress/compose": "^3.24.1", + "@wordpress/core-data": "^2.25.3", + "@wordpress/data": "^4.26.3", + "@wordpress/date": "^3.13.1", + "@wordpress/deprecated": "^2.11.1", + "@wordpress/dom": "^2.16.2", + "@wordpress/editor": "^9.25.3", + "@wordpress/element": "^2.19.1", + "@wordpress/escape-html": "^1.11.1", + "@wordpress/hooks": "^2.11.1", + "@wordpress/i18n": "^3.17.1", + "@wordpress/icons": "^2.9.1", + "@wordpress/is-shallow-equal": "^3.0.1", + "@wordpress/keycodes": "^2.18.1", + "@wordpress/notices": "^2.12.3", + "@wordpress/primitives": "^1.11.1", + "@wordpress/reusable-blocks": "^1.1.3", + "@wordpress/rich-text": "^3.24.3", + "@wordpress/server-side-render": "^1.20.3", + "@wordpress/url": "^2.21.2", + "@wordpress/viewport": "^2.25.3", + "classnames": "^2.2.5", + "fast-average-color": "4.3.0", + "lodash": "^4.17.19", + "memize": "^1.1.0", + "moment": "^2.22.1", + "react-easy-crop": "^3.0.0", + "tinycolor2": "^1.4.2" + } + }, + "@wordpress/block-serialization-default-parser": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@wordpress/block-serialization-default-parser/-/block-serialization-default-parser-3.9.1.tgz", + "integrity": "sha512-Pr0JGWAX0xS3cP7kVBZCrzfVqgeVU0Nz8+FuIXAtKEyCtgCO+bbmdfGaaRMnlSh6lO6r7MZ7wjPMqdfoVMKl6Q==", + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "@wordpress/blocks": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/blocks/-/blocks-7.0.0.tgz", + "integrity": "sha512-PpiwSyoFgBokr1pS4H1EuMRRijklY8KmIDA6a0xdnTNWH6u3ZSbnCZRUnxI4SZ6giKHphNx69IkYrEOJjJnYRA==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/autop": "^2.11.1", + "@wordpress/blob": "^2.12.1", + "@wordpress/block-serialization-default-parser": "^3.9.1", + "@wordpress/compose": "^3.24.1", + "@wordpress/data": "^4.26.3", + "@wordpress/deprecated": "^2.11.1", + "@wordpress/dom": "^2.16.2", + "@wordpress/element": "^2.19.1", + "@wordpress/hooks": "^2.11.1", + "@wordpress/html-entities": "^2.10.1", + "@wordpress/i18n": "^3.17.1", + "@wordpress/icons": "^2.9.1", + "@wordpress/is-shallow-equal": "^3.0.1", + "@wordpress/shortcode": "^2.12.1", + "hpq": "^1.3.0", + "lodash": "^4.17.19", + "rememo": "^3.0.0", + "showdown": "^1.9.1", + "simple-html-tokenizer": "^0.5.7", + "tinycolor2": "^1.4.2", + "uuid": "^8.3.0" + } + }, + "@wordpress/components": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-12.0.3.tgz", + "integrity": "sha512-EubpLLwe8Oa2CJ6qmqQJQve0u2MercJu67NNLEQap/vaGyrrTZTWjwD+dDsFGVmc7AMwYUYr+lWvU1FDyF1OEQ==", + "requires": { + "@babel/runtime": "^7.12.5", + "@emotion/core": "^10.1.1", + "@emotion/css": "^10.0.22", + "@emotion/native": "^10.0.22", + "@emotion/styled": "^10.0.23", + "@wordpress/a11y": "^2.14.1", + "@wordpress/compose": "^3.24.1", + "@wordpress/date": "^3.13.1", + "@wordpress/deprecated": "^2.11.1", + "@wordpress/dom": "^2.16.2", + "@wordpress/element": "^2.19.1", + "@wordpress/hooks": "^2.11.1", + "@wordpress/i18n": "^3.17.1", + "@wordpress/icons": "^2.9.1", + "@wordpress/is-shallow-equal": "^3.0.1", + "@wordpress/keycodes": "^2.18.1", + "@wordpress/primitives": "^1.11.1", + "@wordpress/rich-text": "^3.24.3", + "@wordpress/warning": "^1.3.1", + "@wp-g2/components": "^0.0.140", + "@wp-g2/context": "^0.0.140", + "@wp-g2/styles": "^0.0.140", + "@wp-g2/utils": "^0.0.140", + "classnames": "^2.2.5", + "dom-scroll-into-view": "^1.2.1", + "downshift": "^6.0.15", + "gradient-parser": "^0.1.5", + "highlight-words-core": "^1.2.2", + "lodash": "^4.17.19", + "memize": "^1.1.0", + "moment": "^2.22.1", + "re-resizable": "^6.4.0", + "react-dates": "^17.1.1", + "react-merge-refs": "^1.0.0", + "react-resize-aware": "^3.1.0", + "react-spring": "^8.0.20", + "react-use-gesture": "^9.0.0", + "reakit": "^1.3.5", + "rememo": "^3.0.0", + "tinycolor2": "^1.4.2", + "uuid": "^8.3.0" + } + }, + "@wordpress/compose": { + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-3.24.1.tgz", + "integrity": "sha512-9OIUW5wHvYYysNNUnLA5JUB6cjOSddG12+As6TbFusSJoJtiJfVjn28JY2//4umslgMqR7cLh7ggF80uial/iA==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/deprecated": "^2.11.1", + "@wordpress/dom": "^2.16.2", + "@wordpress/element": "^2.19.1", + "@wordpress/is-shallow-equal": "^3.0.1", + "@wordpress/keycodes": "^2.18.1", + "@wordpress/priority-queue": "^1.10.1", + "clipboard": "^2.0.1", + "lodash": "^4.17.19", + "memize": "^1.1.0", + "mousetrap": "^1.6.5", + "react-merge-refs": "^1.0.0", + "react-resize-aware": "^3.1.0", + "use-memo-one": "^1.1.1" + } + }, + "@wordpress/core-data": { + "version": "2.25.3", + "resolved": "https://registry.npmjs.org/@wordpress/core-data/-/core-data-2.25.3.tgz", + "integrity": "sha512-PvtNR7HTN1PK7z7zaJY4mWzTu643feM24L8fcVMYfH5bvN6Z80WJvfajrcrcUEgut3rRtnaGgMXzLKAy4A9/Fw==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/api-fetch": "^3.21.3", + "@wordpress/blocks": "^7.0.0", + "@wordpress/data": "^4.26.3", + "@wordpress/data-controls": "^1.20.3", + "@wordpress/deprecated": "^2.11.1", + "@wordpress/element": "^2.19.1", + "@wordpress/i18n": "^3.17.1", + "@wordpress/is-shallow-equal": "^3.0.1", + "@wordpress/url": "^2.21.2", + "equivalent-key-map": "^0.2.2", + "lodash": "^4.17.19", + "rememo": "^3.0.0", + "uuid": "^8.3.0" + } + }, + "@wordpress/data": { + "version": "4.26.3", + "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-4.26.3.tgz", + "integrity": "sha512-nTgaWQbqHkZQiFDfSaqTg9VDZoKsaY883EtwqP+7hlSlguRIHPKGDD+ZAulApzm8pWhLaPUYnMFZ7xg3dIJ3jA==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/compose": "^3.24.1", + "@wordpress/deprecated": "^2.11.1", + "@wordpress/element": "^2.19.1", + "@wordpress/is-shallow-equal": "^3.0.1", + "@wordpress/priority-queue": "^1.10.1", + "@wordpress/redux-routine": "^3.13.1", + "equivalent-key-map": "^0.2.2", + "is-promise": "^4.0.0", + "lodash": "^4.17.19", + "memize": "^1.1.0", + "redux": "^4.0.0", + "turbo-combine-reducers": "^1.0.2", + "use-memo-one": "^1.1.1" + } + }, + "@wordpress/data-controls": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/@wordpress/data-controls/-/data-controls-1.20.3.tgz", + "integrity": "sha512-yRlopQdCnCxklIedcsjx3JrjWBYGxQLPzx67Nt8skrVUwx+2fy26v/lq1yJsxu5i8sDEDUFQUiGtJiDiN2goEw==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/api-fetch": "^3.21.3", + "@wordpress/data": "^4.26.3", + "@wordpress/deprecated": "^2.11.1" + } + }, + "@wordpress/date": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/@wordpress/date/-/date-3.13.1.tgz", + "integrity": "sha512-q1AQVF8OuVx2U3Srv/qvQxgoIe0nUCLu0vYtzxDIo0VjKSxDFrs90EdFlat3CfwOiqbVowAvQFRTxTlGEV8LoQ==", + "requires": { + "@babel/runtime": "^7.12.5", + "moment": "^2.22.1", + "moment-timezone": "^0.5.31" + } + }, + "@wordpress/deprecated": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/@wordpress/deprecated/-/deprecated-2.11.1.tgz", + "integrity": "sha512-ri5M3TSAhonRN9G67KDwu8AXthrxay/1lLwBVbRA+6Dpj6hpC4qUBxOP4Yx5VLYOJEJW2YJx3w3G3XFYiyqfFg==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/hooks": "^2.11.1" + } + }, + "@wordpress/dom": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-2.16.2.tgz", + "integrity": "sha512-w95LZR98sqmxkXm5RtynXi+/tIb5vw2gSBAWlbc0OHhZkC2DC9oy6QDR0pthUUYCa3NJht4KMyhBbwN/cePq8w==", + "requires": { + "@babel/runtime": "^7.12.5", + "lodash": "^4.17.19" + } + }, + "@wordpress/dom-ready": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/@wordpress/dom-ready/-/dom-ready-2.12.1.tgz", + "integrity": "sha512-nprG8FFPexRZ3t3m0ATNmpZQ2OJ524IoUivwL+YT9cpdKMQ3jjd/aNac3jhnTzeol+OlDnGUxft0V0ch/j3AaQ==", + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "@wordpress/editor": { + "version": "9.25.3", + "resolved": "https://registry.npmjs.org/@wordpress/editor/-/editor-9.25.3.tgz", + "integrity": "sha512-kLYOVf6bf/U5uIqDe9HfUrzfh2y8o5XVma2L6JEBBSbP5vCzWlIl/HeXVS6LtkDuD2S0oYbbL9ZIuFF5oPBvaA==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/api-fetch": "^3.21.3", + "@wordpress/autop": "^2.11.1", + "@wordpress/blob": "^2.12.1", + "@wordpress/block-editor": "^5.2.3", + "@wordpress/blocks": "^7.0.0", + "@wordpress/components": "^12.0.3", + "@wordpress/compose": "^3.24.1", + "@wordpress/core-data": "^2.25.3", + "@wordpress/data": "^4.26.3", + "@wordpress/data-controls": "^1.20.3", + "@wordpress/date": "^3.13.1", + "@wordpress/deprecated": "^2.11.1", + "@wordpress/element": "^2.19.1", + "@wordpress/hooks": "^2.11.1", + "@wordpress/html-entities": "^2.10.1", + "@wordpress/i18n": "^3.17.1", + "@wordpress/icons": "^2.9.1", + "@wordpress/is-shallow-equal": "^3.0.1", + "@wordpress/keyboard-shortcuts": "^1.13.3", + "@wordpress/keycodes": "^2.18.1", + "@wordpress/media-utils": "^1.19.3", + "@wordpress/notices": "^2.12.3", + "@wordpress/reusable-blocks": "^1.1.3", + "@wordpress/rich-text": "^3.24.3", + "@wordpress/server-side-render": "^1.20.3", + "@wordpress/url": "^2.21.2", + "@wordpress/wordcount": "^2.14.1", + "classnames": "^2.2.5", + "lodash": "^4.17.19", + "memize": "^1.1.0", + "react-autosize-textarea": "^7.1.0", + "rememo": "^3.0.0" + } + }, + "@wordpress/element": { + "version": "2.19.1", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.19.1.tgz", + "integrity": "sha512-mjgFYJzSCNlQBFXvVP806pJiKh9nSIB+NeAVUVwMOntek4aCdKk+t4aTU2cRmktZI2QRySmy+lyDrY2aVkwdyg==", + "requires": { + "@babel/runtime": "^7.12.5", + "@types/react": "^16.9.0", + "@types/react-dom": "^16.9.0", + "@wordpress/escape-html": "^1.11.1", + "lodash": "^4.17.19", + "react": "^16.13.1", + "react-dom": "^16.13.1" + } + }, + "@wordpress/escape-html": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-1.11.1.tgz", + "integrity": "sha512-kthpdAijVY1tSGnSy1kuKM5+L/u7uxzSBNDusqKcfeSgczfHlfKwkkA82SMHzsSR/WicXDaWBfcEMqfb4PENiQ==", + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "@wordpress/hooks": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-2.11.1.tgz", + "integrity": "sha512-20nsvmLH5/iw9P6M7kiEBBQ7X7G3pEbqED/aN5dqkMCklDyar+OZqYBzdpGGsthXVYgomfNy6QQZWELkGJbcbw==", + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "@wordpress/html-entities": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/@wordpress/html-entities/-/html-entities-2.10.1.tgz", + "integrity": "sha512-7nQY4ftrB1/kCDnoi3qyr/lQILWTGaNOEfAZ4ky7MvQvQ+7HTblfx0syrSy5P/rsEBaIjv69+nyaNeYI+9EbOQ==", + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "@wordpress/i18n": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-3.17.1.tgz", + "integrity": "sha512-2tFs5tdbG3at+ji9xNvozTx8wQj9MoW08LmQ/wk49Hx4vN35yfNy041dNQn5mlPAeXJ6TmWUAGQdAwO09Syosg==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/hooks": "^2.11.1", + "gettext-parser": "^1.3.1", + "lodash": "^4.17.19", + "memize": "^1.1.0", + "sprintf-js": "^1.1.1", + "tannin": "^1.2.0" + } + }, + "@wordpress/icons": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-2.9.1.tgz", + "integrity": "sha512-SLP3cJpnY2jNvoCpbBiaM37N3vZmfqqJsNspkRQXuPkLqBLu576GV+WX7l1Eqq6i12/nLUfHu3blhOAQrNtxYQ==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/element": "^2.19.1", + "@wordpress/primitives": "^1.11.1" + } + }, + "@wordpress/is-shallow-equal": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-3.0.1.tgz", + "integrity": "sha512-enrOrfArOImeqT207i3ayZ0yPCnc/LvvvSPEd4aSPNV27zC7sTor/ksoN2NNyrGaC9P2pZ6IlkMEr+BCN02OXw==", + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "@wordpress/keyboard-shortcuts": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/@wordpress/keyboard-shortcuts/-/keyboard-shortcuts-1.13.3.tgz", + "integrity": "sha512-TNoCgldSMlUwATtBoOo4EIOj4k0NNbozzDnzCbEdmkaQLDiCYGbqABoHmUj1Av5u0nP2kQqAEtPIGq+JGTSh4A==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/compose": "^3.24.1", + "@wordpress/data": "^4.26.3", + "@wordpress/element": "^2.19.1", + "@wordpress/keycodes": "^2.18.1", + "lodash": "^4.17.19", + "rememo": "^3.0.0" + } + }, + "@wordpress/keycodes": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-2.18.1.tgz", + "integrity": "sha512-DauQOoDw0xwzWgttjQDxOXS8bq22Z27JqGdZvzBoeQpu42pSdRqlXo6yIEb/E3PRZJxb0+AqaAdgrLILmvxwyQ==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/i18n": "^3.17.1", + "lodash": "^4.17.19" + } + }, + "@wordpress/media-utils": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/@wordpress/media-utils/-/media-utils-1.19.3.tgz", + "integrity": "sha512-FGKFH3+HR2AhgNXBa0CtwSTFTDF1EPt35cstkRZBkpZ/UVa6pHZbxKu0ufJzU3m8s8yspu1pvXGzy+nPM6Dxjg==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/api-fetch": "^3.21.3", + "@wordpress/blob": "^2.12.1", + "@wordpress/element": "^2.19.1", + "@wordpress/i18n": "^3.17.1", + "lodash": "^4.17.19" + } + }, + "@wordpress/notices": { + "version": "2.12.3", + "resolved": "https://registry.npmjs.org/@wordpress/notices/-/notices-2.12.3.tgz", + "integrity": "sha512-+ncjTOAqZELTXyobyqG2oxUI3WkjEjLorc4oTOaq++VhY6ph3slCfNhaeET1f/BurpnlWyTf7C0LUSvX9fI1ZA==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/a11y": "^2.14.1", + "@wordpress/data": "^4.26.3", + "lodash": "^4.17.19" + } + }, + "@wordpress/primitives": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@wordpress/primitives/-/primitives-1.11.1.tgz", + "integrity": "sha512-xYxcQ0JGnYjaSo1oXCapFl69jBjOPT8iuLf9RC1TulmZFnQsvqIv7Mu9VW9YPTg4gMXAavLD2EB+fqXdI1NNhQ==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/element": "^2.19.1", + "classnames": "^2.2.5" + } + }, + "@wordpress/priority-queue": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@wordpress/priority-queue/-/priority-queue-1.10.1.tgz", + "integrity": "sha512-O7W4ktSW6egVtW4fvyUnnetNODbtjuKj6G7AyXUPNyrmKBma0g/nGIRed3iA7rOfLyjzyzh7ZkP0sSENXKAvQQ==", + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "@wordpress/redux-routine": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/@wordpress/redux-routine/-/redux-routine-3.13.1.tgz", + "integrity": "sha512-4VPeA27BEmmiLW14EL0fZunxbiUrMKqnrbXH7KGQU6YOmarKWCw1efgD+jqpatW+3iUj38Fx4obnlVs40GcXsg==", + "requires": { + "@babel/runtime": "^7.12.5", + "is-promise": "^4.0.0", + "lodash": "^4.17.19", + "rungen": "^0.3.2" + } + }, + "@wordpress/reusable-blocks": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@wordpress/reusable-blocks/-/reusable-blocks-1.1.3.tgz", + "integrity": "sha512-A2NnKZiSYv/iH7rSLORUe0WvmNaV4p9W8fmTHeY3gwB8RBk574FT8CEc8TUqsowbYWtwVUikzyiFWQ59HniWMg==", + "requires": { + "@wordpress/block-editor": "^5.2.3", + "@wordpress/blocks": "^7.0.0", + "@wordpress/components": "^12.0.3", + "@wordpress/compose": "^3.24.1", + "@wordpress/core-data": "^2.25.3", + "@wordpress/data": "^4.26.3", + "@wordpress/element": "^2.19.1", + "@wordpress/i18n": "^3.17.1", + "@wordpress/icons": "^2.9.1", + "@wordpress/notices": "^2.12.3", + "@wordpress/url": "^2.21.2", + "lodash": "^4.17.19" + } + }, + "@wordpress/rich-text": { + "version": "3.24.3", + "resolved": "https://registry.npmjs.org/@wordpress/rich-text/-/rich-text-3.24.3.tgz", + "integrity": "sha512-JojXs0oGnVhn7Bd34wfxjXAMiA0koE5tHGq9M5iBAFvObUTwxoJ/SiE28mQoVKUyMoHfcr2HQgQCxotdajfN1w==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/compose": "^3.24.1", + "@wordpress/data": "^4.26.3", + "@wordpress/deprecated": "^2.11.1", + "@wordpress/dom": "^2.16.2", + "@wordpress/element": "^2.19.1", + "@wordpress/escape-html": "^1.11.1", + "@wordpress/is-shallow-equal": "^3.0.1", + "@wordpress/keycodes": "^2.18.1", + "classnames": "^2.2.5", + "lodash": "^4.17.19", + "memize": "^1.1.0", + "rememo": "^3.0.0" + } + }, + "@wordpress/server-side-render": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/@wordpress/server-side-render/-/server-side-render-1.20.3.tgz", + "integrity": "sha512-9Dp1MsFy7dw/NYH2lYX4W0SofsW4xZeWHA9fJwCp9zlWGfflV17sRt/uK2HUiNNoCZcJ6nkn/lvstXT3SHae9w==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/api-fetch": "^3.21.3", + "@wordpress/components": "^12.0.3", + "@wordpress/data": "^4.26.3", + "@wordpress/deprecated": "^2.11.1", + "@wordpress/element": "^2.19.1", + "@wordpress/i18n": "^3.17.1", + "@wordpress/url": "^2.21.2", + "lodash": "^4.17.19" + } + }, + "@wordpress/shortcode": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/@wordpress/shortcode/-/shortcode-2.12.1.tgz", + "integrity": "sha512-87oQbaDKXRRU8Tdn5/O7ykK5eTkmTs1cg3DYtoNQImpA9UWUJtC27LYia1IRzc8CvWh1yz3vNRYWlHmaolkdFQ==", + "requires": { + "@babel/runtime": "^7.12.5", + "lodash": "^4.17.19", + "memize": "^1.1.0" + } + }, + "@wordpress/token-list": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@wordpress/token-list/-/token-list-1.14.1.tgz", + "integrity": "sha512-XlSNeRtlkvF43Dkh+GFTy7tBaYFCAgWAwSJEe2F9SvURjjU0HiXnuwTrzVt5saG5EITurz+HC1+xnJNt51HUIA==", + "requires": { + "@babel/runtime": "^7.12.5", + "lodash": "^4.17.19" + } + }, + "@wordpress/url": { + "version": "2.21.2", + "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-2.21.2.tgz", + "integrity": "sha512-bLHg4pTo/9mQUkK1s1MU/Sjgnzfy2AkPvPn4ObGA8/4CFkMsDhQGAVhhw5YuezcxvaJkBiKJ+BxgFJ1QKksF6w==", + "requires": { + "@babel/runtime": "^7.12.5", + "lodash": "^4.17.19", + "react-native-url-polyfill": "^1.1.2" + } + }, + "@wordpress/viewport": { + "version": "2.25.3", + "resolved": "https://registry.npmjs.org/@wordpress/viewport/-/viewport-2.25.3.tgz", + "integrity": "sha512-Q1w080q8cHtP6v3MdeSaVoZa8kcvNJhK9RdQcXZ3iXrM8YqRzIr4KsAa2tH3ffAAI6SGBCCknxHBo+v1r8dgaA==", + "requires": { + "@babel/runtime": "^7.12.5", + "@wordpress/compose": "^3.24.1", + "@wordpress/data": "^4.26.3", + "lodash": "^4.17.19" + } + }, + "@wordpress/warning": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@wordpress/warning/-/warning-1.3.1.tgz", + "integrity": "sha512-MdZ/4k2KmdH4h71KfKUXPCm8eR4fnD1t9W70vIX5+MsdiA7uplkwcDWxybITYVOmVT0Zk4F5CJ29AcsJAvtgZg==" + }, + "@wordpress/wordcount": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/@wordpress/wordcount/-/wordcount-2.14.1.tgz", + "integrity": "sha512-Ns6880R5lBXsdz8TEjnSyKyAAOdGVnqRQJdteUGVPftXDMRCQclLwRgLAE+SBVsorQk1L56KuiQztbgTuFqBaw==", + "requires": { + "@babel/runtime": "^7.12.5", + "lodash": "^4.17.19" + } + }, + "@wp-g2/components": { + "version": "0.0.140", + "resolved": "https://registry.npmjs.org/@wp-g2/components/-/components-0.0.140.tgz", + "integrity": "sha512-bychuhZ3wPSB457CHYcogoPQPlP/eUA9GoTo0Fv0rj7f44Gr9XlPoqVT+GQa3CmPnvSCAl1sjoe75Vkaoo/O1w==", + "requires": { + "@popperjs/core": "^2.5.4", + "@wp-g2/context": "^0.0.140", + "@wp-g2/styles": "^0.0.140", + "@wp-g2/utils": "^0.0.140", + "csstype": "^3.0.3", + "downshift": "^6.0.15", + "framer-motion": "^2.1.0", + "highlight-words-core": "^1.2.2", + "history": "^4.9.0", + "lodash": "^4.17.19", + "path-to-regexp": "^1.7.0", + "react-colorful": "4.4.4", + "react-textarea-autosize": "^8.2.0", + "react-use-gesture": "^9.0.0", + "reakit": "1.1.0" + }, + "dependencies": { + "reakit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reakit/-/reakit-1.1.0.tgz", + "integrity": "sha512-d/ERtwgBndBPsyPBPUl5jueyfFgsglIfQCnLMKuxM0PaWiIZ6Ys3XsYaNy/AaG8k46Ee5cQPMdRrR30nVcSToQ==", + "requires": { + "@popperjs/core": "^2.4.2", + "body-scroll-lock": "^3.0.2", + "reakit-system": "^0.13.0", + "reakit-utils": "^0.13.0", + "reakit-warning": "^0.4.0" + } + }, + "reakit-utils": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/reakit-utils/-/reakit-utils-0.13.1.tgz", + "integrity": "sha512-NBKgsot3tU91gZgK5MTInI/PR0T3kIsTmbU5MbGggSOcwU2dG/kbE8IrM2lC6ayCSL2W2QWkijT6kewdrIX7Gw==" + }, + "reakit-warning": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/reakit-warning/-/reakit-warning-0.4.1.tgz", + "integrity": "sha512-AgnRN6cf8DYBF/mK2JEMFVL67Sbon8fDbFy1kfm0EDibtGsMOQtsFYfozZL7TwmJ4yg68VMhg8tmPHchVQRrlg==", + "requires": { + "reakit-utils": "^0.13.1" + } + } + } + }, + "@wp-g2/context": { + "version": "0.0.140", + "resolved": "https://registry.npmjs.org/@wp-g2/context/-/context-0.0.140.tgz", + "integrity": "sha512-z32fxZ2tCVmYQC+wyyziyrhEvWBPFBQfUhUHF85JmTUPzQQeEPiLC3rgDAT0fUTFlJHinPJQq6871RDqFSwCUA==", + "requires": { + "@wp-g2/styles": "^0.0.140", + "@wp-g2/utils": "^0.0.140", + "lodash": "^4.17.19" + } + }, + "@wp-g2/create-styles": { + "version": "0.0.140", + "resolved": "https://registry.npmjs.org/@wp-g2/create-styles/-/create-styles-0.0.140.tgz", + "integrity": "sha512-/60DxWjCAhsoYOqY7aiHVbkTAF+L6qZIyHyH50oNs9FTVkcRLHQFSC0kHgAam+Z9K3eImQ7hM52wfBDqae0q2Q==", + "requires": { + "@emotion/core": "^10.1.1", + "@emotion/is-prop-valid": "^0.8.8", + "@wp-g2/utils": "^0.0.140", + "create-emotion": "^10.0.27", + "emotion": "^10.0.27", + "emotion-theming": "^10.0.27", + "lodash": "^4.17.19", + "mitt": "^2.1.0", + "rtlcss": "^2.6.2", + "styled-griddie": "^0.1.3" + } + }, + "@wp-g2/styles": { + "version": "0.0.140", + "resolved": "https://registry.npmjs.org/@wp-g2/styles/-/styles-0.0.140.tgz", + "integrity": "sha512-wAvtqQOqX2zYpfEdVK4l4abH/hUUgw/+8+E5PvPgrsvqFg8IehNSksnjNF5/IloLRGAH70d8ytjMuMnUK8PVYA==", + "requires": { + "@wp-g2/create-styles": "^0.0.140", + "@wp-g2/utils": "^0.0.140" + } + }, + "@wp-g2/utils": { + "version": "0.0.140", + "resolved": "https://registry.npmjs.org/@wp-g2/utils/-/utils-0.0.140.tgz", + "integrity": "sha512-a4uYi/XQEDrOAIO3JUQ+L/oeSkgp+08pSy41xxQ1nIRHs7X+Du84X2EFQrvZfGBRuXuVlVuUIlN2e0IE8yUZKw==", + "requires": { + "copy-to-clipboard": "^3.3.1", + "create-emotion": "^10.0.27", + "deepmerge": "^4.2.2", + "fast-deep-equal": "^3.1.3", + "hoist-non-react-statics": "^3.3.2", + "json2mq": "^0.2.0", + "lodash": "^4.17.19", + "memize": "^1.1.0", + "react-merge-refs": "^1.1.0", + "react-resize-aware": "^3.1.0", + "reakit-warning": "^0.5.5", + "tinycolor2": "^1.4.2", + "use-enhanced-state": "^0.0.13", + "use-isomorphic-layout-effect": "^1.0.0" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==" + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==" + }, + "after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "airbnb-prop-types": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.16.0.tgz", + "integrity": "sha512-7WHOFolP/6cS96PhKNrslCLMYAI8yB1Pp6u6XmxozQOiZbsI5ycglZr5cHhBFfuRcQQjzCMith5ZPZdYiJCxUg==", + "requires": { + "array.prototype.find": "^2.1.1", + "function.prototype.name": "^1.1.2", + "is-regex": "^1.1.0", + "object-is": "^1.1.2", + "object.assign": "^4.1.0", + "object.entries": "^1.1.2", + "prop-types": "^15.7.2", + "prop-types-exact": "^1.2.0", + "react-is": "^16.13.1" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + }, + "anser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/anser/-/anser-2.0.1.tgz", + "integrity": "sha512-4g5Np4CVD3c5c/36Mj0jllEA5bQcuXF0dqakZcuHGeubBzw93EAhwRuQCzgFm4/ZwvyBMzFdtn9BcihOjnxIdQ==" + }, + "ansi-align": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "requires": { + "string-width": "^3.0.0" + } + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-base": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", + "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "application-config-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/application-config-path/-/application-config-path-0.1.0.tgz", + "integrity": "sha1-GTxfCoZUGkxm+6Hi3DhYM2LqXo8=" + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==" + }, + "archive-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", + "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=", + "requires": { + "file-type": "^4.2.0" + }, + "dependencies": { + "file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=" + } + } + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + } + } + }, + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "array-includes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz", + "integrity": "sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "get-intrinsic": "^1.0.1", + "is-string": "^1.0.5" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + } + } + } + }, + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=" + }, + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "array.prototype.find": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.1.1.tgz", + "integrity": "sha512-mi+MYNJYLTx2eNYy+Yh6raoQacCsNeeMUaspFPh9Y141lFSsWxxB8V9mM2ye+eqiRs917J6/pJ4M9ZPzenWckA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.4" + } + }, + "array.prototype.flat": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + } + } + } + }, + "array.prototype.flatmap": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", + "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "function-bind": "^1.1.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + } + } + } + }, + "arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=" + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + }, + "async-cache": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/async-cache/-/async-cache-1.1.0.tgz", + "integrity": "sha1-SppaidBl7F2OUlS9nulrp2xTK1o=", + "requires": { + "lru-cache": "^4.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "async-retry": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.1.tgz", + "integrity": "sha512-aiieFW/7h3hY0Bq5d+ktDBejxuwR78vRu9hDUdR8rNhSaQ29VzPL4AoIRG7D/c7tdenwOcKvgPM6tIxB3cB6HA==", + "requires": { + "retry": "0.12.0" + } + }, + "async-retry-ng": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/async-retry-ng/-/async-retry-ng-2.0.1.tgz", + "integrity": "sha512-iitlc2murdQ3/A5Re3CcplQBEf7vOmFrFQ6RFn3+/+zZUyIHYkZnnEziMSa6YIb2Bs2EJEPZWReTxjHqvQbDbw==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "auto-bind": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-4.0.0.tgz", + "integrity": "sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==" + }, + "autoprefixer": { + "version": "9.8.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", + "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "colorette": "^1.2.1", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "autosize": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/autosize/-/autosize-4.0.2.tgz", + "integrity": "sha512-jnSyH2d+qdfPGpWlcuhGiHmqBJ6g3X+8T+iRwFrHPLVcdoGJE/x6Qicm6aDHfTsbgZKxyV8UU/YB2p4cjKDRRA==" + }, + "axe-core": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.1.1.tgz", + "integrity": "sha512-5Kgy8Cz6LPC9DJcNb3yjAXTu3XihQgEdnIg50c//zOC/MyLP0Clg+Y8Sh9ZjjnvBrDZU4DgXS9C3T9r4/scGZQ==" + }, + "axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "requires": { + "follow-redirects": "^1.10.0" + } + }, + "axios-rate-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/axios-rate-limit/-/axios-rate-limit-1.3.0.tgz", + "integrity": "sha512-cKR5wTbU/CeeyF1xVl5hl6FlYsmzDVqxlN4rGtfO5x7J83UxKDckudsW0yW21/ZJRcO0Qrfm3fUFbhEbWTLayw==" + }, + "axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==" + }, + "babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + } + }, + "babel-extract-comments": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", + "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", + "requires": { + "babylon": "^6.18.0" + } + }, + "babel-loader": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", + "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + } + }, + "babel-plugin-add-module-exports": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-1.0.4.tgz", + "integrity": "sha512-g+8yxHUZ60RcyaUpfNzy56OtWW+x9cyEe9j+CranqLiqbju2yf/Cy6ZtYK40EZxtrdHllzlVZgLmcOUCTlJ7Jg==" + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-emotion": { + "version": "10.0.33", + "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.0.33.tgz", + "integrity": "sha512-bxZbTTGz0AJQDHm8k6Rf3RQJ8tX2scsfsRyKVgAbiUPUNIRtlK+7JxP+TAd1kRLABFxe0CFm2VdK4ePkoA9FxQ==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@emotion/hash": "0.8.0", + "@emotion/memoize": "0.7.4", + "@emotion/serialize": "^0.11.16", + "babel-plugin-macros": "^2.0.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^1.0.5", + "find-root": "^1.1.0", + "source-map": "^0.5.7" + } + }, + "babel-plugin-lodash": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/babel-plugin-lodash/-/babel-plugin-lodash-3.3.4.tgz", + "integrity": "sha512-yDZLjK7TCkWl1gpBeBGmuaDIFhZKmkoL+Cu2MUUjv5VxUZx/z7tBGBCBcQs5RI1Bkz5LLmNdjx7paOyQtMovyg==", + "requires": { + "@babel/helper-module-imports": "^7.0.0-beta.49", + "@babel/types": "^7.0.0-beta.49", + "glob": "^7.1.1", + "lodash": "^4.17.10", + "require-package-name": "^2.0.1" + } + }, + "babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "requires": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + } + }, + "babel-plugin-remove-graphql-queries": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.15.0.tgz", + "integrity": "sha512-4wzmihZGsAESRZsOHGq7XdNyfpeLEF+tvugt7LkGWYJK/lFbwwgGO1DV7T9m9QktgVG+Fku81MrmjuCCCmSf/A==" + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "babel-preset-gatsby": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/babel-preset-gatsby/-/babel-preset-gatsby-0.11.0.tgz", + "integrity": "sha512-0kZ5KK02RKmnCab897XOP1xWcFthumcmI6Y3R0gFBv4w4qZR4fTLk/iIeNz24oQGaRXO0QprsssdVEVfDlewNw==", + "requires": { + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@babel/runtime": "^7.12.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24", + "gatsby-core-utils": "^1.9.0", + "gatsby-legacy-polyfills": "^0.6.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" + }, + "bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "base64-arraybuffer": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", + "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" + }, + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "requires": { + "callsite": "1.0.0" + } + }, + "better-opn": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-2.1.1.tgz", + "integrity": "sha512-kIPXZS5qwyKiX/HcRvDYfmBQUa8XP17I0mYZZ0y4UhpYOSvtsLHDYqmomS+Mj20aDvD3knEiQ0ecQy2nhio3yA==", + "requires": { + "open": "^7.0.3" + } + }, + "better-queue": { + "version": "3.8.10", + "resolved": "https://registry.npmjs.org/better-queue/-/better-queue-3.8.10.tgz", + "integrity": "sha512-e3gwNZgDCnNWl0An0Tz6sUjKDV9m6aB+K9Xg//vYeo8+KiH8pWhLFxkawcXhm6FpM//GfD9IQv/kmvWCAVVpKA==", + "requires": { + "better-queue-memory": "^1.0.1", + "node-eta": "^0.9.0", + "uuid": "^3.0.0" + }, + "dependencies": { + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, + "better-queue-memory": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/better-queue-memory/-/better-queue-memory-1.0.4.tgz", + "integrity": "sha512-SWg5wFIShYffEmJpI6LgbL8/3Dqhku7xI1oEiy6FroP9DbcZlG0ZDjxvPdP9t7hTGW40IpIcC6zVoGT1oxjOuA==" + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "bin-build": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-3.0.0.tgz", + "integrity": "sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==", + "requires": { + "decompress": "^4.0.0", + "download": "^6.2.2", + "execa": "^0.7.0", + "p-map-series": "^1.0.0", + "tempfile": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, + "bin-check": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz", + "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==", + "requires": { + "execa": "^0.7.0", + "executable": "^4.1.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, + "bin-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz", + "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==", + "requires": { + "execa": "^1.0.0", + "find-versions": "^3.0.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + } + } + }, + "bin-version-check": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz", + "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==", + "requires": { + "bin-version": "^3.0.0", + "semver": "^5.6.0", + "semver-truncate": "^1.1.2" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "bin-wrapper": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz", + "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==", + "requires": { + "bin-check": "^4.1.0", + "bin-version-check": "^4.0.0", + "download": "^7.1.0", + "import-lazy": "^3.1.0", + "os-filter-obj": "^2.0.0", + "pify": "^4.0.1" + }, + "dependencies": { + "download": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", + "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", + "requires": { + "archive-type": "^4.0.0", + "caw": "^2.0.1", + "content-disposition": "^0.5.2", + "decompress": "^4.2.0", + "ext-name": "^5.0.0", + "file-type": "^8.1.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^8.3.1", + "make-dir": "^1.2.0", + "p-event": "^2.1.0", + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "file-type": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", + "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==" + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "import-lazy": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", + "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==" + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "p-event": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", + "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", + "requires": { + "p-timeout": "^2.0.1" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bl": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz", + "integrity": "sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "blob": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "bmp-js": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", + "integrity": "sha1-4Fpj95amwf8l9Hcex62twUjAcjM=" + }, + "bn.js": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "body-scroll-lock": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/body-scroll-lock/-/body-scroll-lock-3.1.5.tgz", + "integrity": "sha512-Yi1Xaml0EvNA0OYWxXiYNqY24AfWkbA6w5vxE7GWxtKfzIbZM+Qw+aSmkgsbWzbHiy/RCSkUZBplVxTA+E4jJg==" + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "boxen": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "cli-boxes": "^2.2.0", + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "brcast": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brcast/-/brcast-2.0.2.tgz", + "integrity": "sha512-Tfn5JSE7hrUlFcOoaLzVvkbgIemIorMIyoMr3TgvszWW7jFt2C9PdeMLtysYD9RU0MmU17b69+XJG1eRY2OBRg==" + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "requires": { + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.649", + "escalade": "^3.1.1", + "node-releases": "^1.1.70" + } + }, + "btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==" + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, + "buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "busboy": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.3.1.tgz", + "integrity": "sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==", + "requires": { + "dicer": "0.3.0" + } + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "cacache": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", + "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", + "requires": { + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "minipass": "^3.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "p-map": "^3.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^2.7.1", + "ssri": "^7.0.0", + "unique-filename": "^1.1.1" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "cache-manager": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/cache-manager/-/cache-manager-2.11.1.tgz", + "integrity": "sha512-XhUuc9eYwkzpK89iNewFwtvcDYMUsvtwzHeyEOPJna/WsVsXcrzsA1ft2M0QqPNunEzLhNCYPo05tEfG+YuNow==", + "requires": { + "async": "1.5.2", + "lodash.clonedeep": "4.5.0", + "lru-cache": "4.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.0.tgz", + "integrity": "sha1-tcvwFVbBaWb+vlTO7A+03JDfbCg=", + "requires": { + "pseudomap": "^1.0.1", + "yallist": "^2.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, + "cache-manager-fs-hash": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/cache-manager-fs-hash/-/cache-manager-fs-hash-0.0.9.tgz", + "integrity": "sha512-G0RUUSMZADiMx/0tHjPa+uzJyjtVB/Xt9yuFm6g/rBpm0p/IMr4atUWX2G2f1yGCPmDnyUcFz4RlSpgNRgvldg==", + "requires": { + "lockfile": "^1.0.4" + } + }, + "cacheable-lookup": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz", + "integrity": "sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==", + "requires": { + "@types/keyv": "^3.1.1", + "keyv": "^4.0.0" + }, + "dependencies": { + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "keyv": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz", + "integrity": "sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==", + "requires": { + "json-buffer": "3.0.1" + } + } + } + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + } + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + } + } + }, + "caller-id": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-id/-/caller-id-0.1.0.tgz", + "integrity": "sha1-Wb2sCJPRLDhxQIJ5Ix+XRYNk8Hs=", + "requires": { + "stack-trace": "~0.0.7" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + } + } + }, + "camelize": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", + "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=" + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001181", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001181.tgz", + "integrity": "sha512-m5ul/ARCX50JB8BSNM+oiPmQrR5UmngaQ3QThTTp5HcIIQGP/nPBs82BYLE+tigzm3VW+F4BJIhUyaVtEweelQ==" + }, + "caw": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", + "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", + "requires": { + "get-proxy": "^2.0.0", + "isurl": "^1.0.0-alpha5", + "tunnel-agent": "^0.6.0", + "url-to-options": "^1.0.1" + } + }, + "ccount": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", + "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" + }, + "character-entities-html4": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", + "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==" + }, + "character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" + }, + "character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "cheerio": { + "version": "1.0.0-rc.5", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.5.tgz", + "integrity": "sha512-yoqps/VCaZgN4pfXtenwHROTp8NG6/Hlt4Jpz2FEP0ZJQ+ZUkVDd0hAPDNKhj3nakpfPt/CNs57yEtxD1bXQiw==", + "requires": { + "cheerio-select-tmp": "^0.1.0", + "dom-serializer": "~1.2.0", + "domhandler": "^4.0.0", + "entities": "~2.1.0", + "htmlparser2": "^6.0.0", + "parse5": "^6.0.0", + "parse5-htmlparser2-tree-adapter": "^6.0.0" + }, + "dependencies": { + "dom-serializer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz", + "integrity": "sha512-n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" + }, + "domhandler": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz", + "integrity": "sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==", + "requires": { + "domelementtype": "^2.1.0" + } + }, + "domutils": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz", + "integrity": "sha512-jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0" + } + }, + "entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" + }, + "htmlparser2": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.0.0.tgz", + "integrity": "sha512-numTQtDZMoh78zJpaNdJ9MXb2cv5G3jwUoe3dMQODubZvLoGvTE/Ofp6sHvH8OGKcN/8A47pGLi/k58xHP/Tfw==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.4.4", + "entities": "^2.0.0" + } + } + } + }, + "cheerio-select-tmp": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/cheerio-select-tmp/-/cheerio-select-tmp-0.1.1.tgz", + "integrity": "sha512-YYs5JvbpU19VYJyj+F7oYrIE2BOll1/hRU7rEy/5+v9BzkSo3bK81iAeeQEMI92vRIxz677m72UmJUiVwwgjfQ==", + "requires": { + "css-select": "^3.1.2", + "css-what": "^4.0.0", + "domelementtype": "^2.1.0", + "domhandler": "^4.0.0", + "domutils": "^2.4.4" + }, + "dependencies": { + "css-select": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-3.1.2.tgz", + "integrity": "sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^4.0.0", + "domhandler": "^4.0.0", + "domutils": "^2.4.3", + "nth-check": "^2.0.0" + } + }, + "css-what": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-4.0.0.tgz", + "integrity": "sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A==" + }, + "dom-serializer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.2.0.tgz", + "integrity": "sha512-n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" + }, + "domhandler": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.0.0.tgz", + "integrity": "sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==", + "requires": { + "domelementtype": "^2.1.0" + } + }, + "domutils": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz", + "integrity": "sha512-jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0" + } + }, + "nth-check": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", + "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", + "requires": { + "boolbase": "^1.0.0" + } + } + } + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, + "cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" + }, + "clipboard": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz", + "integrity": "sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==", + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "requires": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + } + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "clone-regexp": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", + "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", + "requires": { + "is-regexp": "^2.0.0" + }, + "dependencies": { + "is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", + "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==" + } + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "code-excerpt": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/code-excerpt/-/code-excerpt-3.0.0.tgz", + "integrity": "sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw==", + "requires": { + "convert-to-spaces": "^1.0.1" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "collapse-white-space": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", + "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", + "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.4" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "color-string": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", + "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", + "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "compute-scroll-into-view": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.16.tgz", + "integrity": "sha512-a85LHKY81oQnikatZYA90pufpZ6sQx++BoCxOEMsjpZx+ZnaKGQnCyCehTRr/1p9GBIAHTjcU9k71kSYWloLiQ==" + }, + "computed-style": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/computed-style/-/computed-style-0.1.4.tgz", + "integrity": "sha1-fzRP2FhLLkJb7cpKGvwOMAuwXXQ=" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + } + } + }, + "configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "requires": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + } + }, + "confusing-browser-globals": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", + "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==" + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "console-stream": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", + "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=" + }, + "consolidated-events": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/consolidated-events/-/consolidated-events-2.0.2.tgz", + "integrity": "sha512-2/uRVMdRypf5z/TW/ncD/66l75P5hH2vM/GR8Jf8HLc2xnfJtmina6F6du8+v4Z2vTrMo7jC+W1tmEEuuELgkQ==" + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=" + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "contentful-management": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/contentful-management/-/contentful-management-7.5.4.tgz", + "integrity": "sha512-EYBX3HJTVa7DUcg69jc+CD03/d1xlB+0YELIUSQUbShNuf0Vf7FuvjC3t0wTBYIK9uinWE0UXCMgttmYQhMMaw==", + "requires": { + "axios": "^0.21.0", + "contentful-sdk-core": "^6.7.0", + "fast-copy": "^2.1.0", + "lodash.isplainobject": "^4.0.6", + "type-fest": "0.20.2" + }, + "dependencies": { + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + } + } + }, + "contentful-sdk-core": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/contentful-sdk-core/-/contentful-sdk-core-6.7.0.tgz", + "integrity": "sha512-+b8UXVE249Z6WzMLXvsu3CIvN/s5xXRZ9o+zY7zDdPkIYBMW15xcs9N2ATI6ncmc+s1uj4XZij/2skflletHiw==", + "requires": { + "fast-copy": "^2.1.0", + "qs": "^6.9.4" + }, + "dependencies": { + "qs": { + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==" + } + } + }, + "convert-hrtime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-3.0.0.tgz", + "integrity": "sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==" + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "requires": { + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "convert-to-spaces": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz", + "integrity": "sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU=" + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "copy-to-clipboard": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz", + "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==", + "requires": { + "toggle-selection": "^1.0.6" + } + }, + "copyfiles": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.4.1.tgz", + "integrity": "sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==", + "requires": { + "glob": "^7.0.5", + "minimatch": "^3.0.3", + "mkdirp": "^1.0.4", + "noms": "0.0.0", + "through2": "^2.0.1", + "untildify": "^4.0.0", + "yargs": "^16.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" + } + } + }, + "core-js": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz", + "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==" + }, + "core-js-compat": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz", + "integrity": "sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==", + "requires": { + "browserslist": "^4.16.1", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" + } + } + }, + "core-js-pure": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.3.tgz", + "integrity": "sha512-V5qQZVAr9K0xu7jXg1M7qTEwuxUgqr7dUOezGaNa7i+Xn9oXAU/d1fzqD9ObuwpVQOaorO5s70ckyi1woP9lVA==" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "cosmiconfig-toml-loader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-toml-loader/-/cosmiconfig-toml-loader-1.0.0.tgz", + "integrity": "sha512-H/2gurFWVi7xXvCyvsWRLCMekl4tITJcX0QEsDMpzxtuxDyM59xLatYNg4s/k9AA/HdtCYfj2su8mgA0GSDLDA==", + "requires": { + "@iarna/toml": "^2.2.5" + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "create-emotion": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/create-emotion/-/create-emotion-10.0.27.tgz", + "integrity": "sha512-fIK73w82HPPn/RsAij7+Zt8eCE8SptcJ3WoRMfxMtjteYxud8GDTKKld7MYwAX2TVhrw29uR1N/bVGxeStHILg==", + "requires": { + "@emotion/cache": "^10.0.27", + "@emotion/serialize": "^0.11.15", + "@emotion/sheet": "0.9.4", + "@emotion/utils": "0.11.3" + } + }, + "create-gatsby": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/create-gatsby/-/create-gatsby-0.4.0.tgz", + "integrity": "sha512-nP8JRnyl6294j4tbbvq+i1afodGpi7Mq/QokFcxrRBO8KAZZS3RQViPVszofAUtnZr9qFyXhqZ4CO0gvKSD3kw==" + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "create-react-context": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.3.0.tgz", + "integrity": "sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==", + "requires": { + "gud": "^1.0.0", + "warning": "^4.0.3" + } + }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, + "cross-fetch": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.6.tgz", + "integrity": "sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ==", + "requires": { + "node-fetch": "2.6.1" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + }, + "css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=" + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "css-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz", + "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==", + "requires": { + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash": "^4.17.11", + "postcss": "^6.0.23", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" + } + }, + "css-mediaquery": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz", + "integrity": "sha1-aiw3NEkoYYYxxUvTPO3TAdoYvqA=" + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "css-selector-tokenizer": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", + "requires": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "css-to-react-native": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.3.2.tgz", + "integrity": "sha512-VOFaeZA053BqvvvqIA8c9n0+9vFppVBAHCp6JgFTtTMU3Mzi+XnelJ9XC9ul3BqFzZyQ5N+H0SnwsWT2Ebchxw==", + "requires": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^3.3.0" + } + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssfilter": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", + "integrity": "sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=" + }, + "cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=" + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=" + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==" + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", + "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "csstype": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.6.tgz", + "integrity": "sha512-+ZAmfyWMT7TiIlzdqJgjMb7S4f1beorDbWbsocyK4RaiqA5RTX3K14bnBWmmA9QEM0gRdsjyyrEmcyga8Zsxmw==" + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cycle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=" + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" + }, + "damerau-levenshtein": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", + "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==" + }, + "dataloader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.0.0.tgz", + "integrity": "sha512-YzhyDAwA4TaQIhM5go+vCLmU0UikghC/t9DTQYZR2M/UvZ1MdOhPezSDZcjj9uqQJOMqjLcpWtyW2iNINdlatQ==" + }, + "date-fns": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.16.1.tgz", + "integrity": "sha512-sAJVKx/FqrLYHAQeN7VpJrPhagZc9R4ImZIWYRFZaaohR3KzmuK88touwsSwSVT8Qcbd4zoDsnGfX4GFB4imyQ==" + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "requires": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + } + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "requires": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "dependencies": { + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + } + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "requires": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "requires": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + } + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "requires": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + } + } + } + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + } + } + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "del": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", + "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", + "requires": { + "globby": "^10.0.1", + "graceful-fs": "^4.2.2", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.1", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + }, + "detect-newline": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-1.0.3.tgz", + "integrity": "sha1-6XsQA4d9cMCa8a81v63/Fo3kkg0=", + "requires": { + "get-stdin": "^4.0.1", + "minimist": "^1.1.0" + } + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" + }, + "detect-port": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", + "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "devcert": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/devcert/-/devcert-1.1.3.tgz", + "integrity": "sha512-7/nIzKdQ8y2K0imjIP7dyg2GJ2h38Ps6VOMXWZHIarNDV3p6mTXyEugKFnkmsZ2DD58JEG34ILyVb3qdOMmP9w==", + "requires": { + "@types/configstore": "^2.1.1", + "@types/debug": "^0.0.30", + "@types/get-port": "^3.2.0", + "@types/glob": "^5.0.34", + "@types/lodash": "^4.14.92", + "@types/mkdirp": "^0.5.2", + "@types/node": "^8.5.7", + "@types/rimraf": "^2.0.2", + "@types/tmp": "^0.0.33", + "application-config-path": "^0.1.0", + "command-exists": "^1.2.4", + "debug": "^3.1.0", + "eol": "^0.9.1", + "get-port": "^3.2.0", + "glob": "^7.1.2", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "password-prompt": "^1.0.4", + "rimraf": "^2.6.2", + "sudo-prompt": "^8.2.0", + "tmp": "^0.0.33", + "tslib": "^1.10.0" + }, + "dependencies": { + "@types/glob": { + "version": "5.0.36", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.36.tgz", + "integrity": "sha512-KEzSKuP2+3oOjYYjujue6Z3Yqis5HKA1BsIC+jZ1v3lrRNdsqyNNtX0rQf6LSuI4DJJ2z5UV//zBZCcvM0xikg==", + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + } + } + }, + "dicer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz", + "integrity": "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==", + "requires": { + "streamsearch": "0.1.2" + } + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + }, + "diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==" + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "direction": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/direction/-/direction-1.0.4.tgz", + "integrity": "sha512-GYqKi1aH7PJXxdhTeZBFrg8vUBeKXi+cNprXsC1kpJcbcVnV9wBsrOu1cQEdG0WeQwlfHiy3XvnKfIrJ2R0NzQ==" + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "requires": { + "esutils": "^2.0.2" + } + }, + "document.contains": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/document.contains/-/document.contains-1.0.2.tgz", + "integrity": "sha512-YcvYFs15mX8m3AO1QNQy3BlIpSMfNRj3Ujk2BEJxsZG+HZf7/hZ6jr7mDpXrF8q+ff95Vef5yjhiZxm8CGJr6Q==", + "requires": { + "define-properties": "^1.1.3" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "requires": { + "utila": "~0.4" + } + }, + "dom-scroll-into-view": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/dom-scroll-into-view/-/dom-scroll-into-view-1.2.1.tgz", + "integrity": "sha1-6PNnMt0ImwIBqI14Fdw/iObWbH4=" + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" + } + } + }, + "dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "requires": { + "is-obj": "^2.0.0" + } + }, + "dotenv": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" + }, + "download": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/download/-/download-6.2.5.tgz", + "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==", + "requires": { + "caw": "^2.0.0", + "content-disposition": "^0.5.2", + "decompress": "^4.0.0", + "ext-name": "^5.0.0", + "file-type": "5.2.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^7.0.0", + "make-dir": "^1.0.0", + "p-event": "^1.0.0", + "pify": "^3.0.0" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "requires": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + } + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" + }, + "p-event": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz", + "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=", + "requires": { + "p-timeout": "^1.1.1" + } + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "requires": { + "p-finally": "^1.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "requires": { + "prepend-http": "^1.0.1" + } + } + } + }, + "downshift": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/downshift/-/downshift-6.1.0.tgz", + "integrity": "sha512-MnEJERij+1pTVAsOPsH3q9MJGNIZuu2sT90uxOCEOZYH6sEzkVGtUcTBVDRQkE8y96zpB7uEbRn24aE9VpHnZg==", + "requires": { + "@babel/runtime": "^7.12.5", + "compute-scroll-into-view": "^1.0.16", + "prop-types": "^15.7.2", + "react-is": "^17.0.1" + }, + "dependencies": { + "react-is": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==" + } + } + }, + "dumper.js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dumper.js/-/dumper.js-1.3.1.tgz", + "integrity": "sha512-Ljxzo70hUKk5eC5x0TPpx2xZxpaphylef8aD0OgGhSv4a5suZrCZyyjMnYRwbmX260owlijmW2RUHh6m2tU+jQ==", + "requires": { + "caller-id": "^0.1.0", + "cycle": "^1.0.3", + "kind-of": "^6.0.2", + "kleur": "^3.0.2" + } + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "electron-to-chromium": { + "version": "1.3.650", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.650.tgz", + "integrity": "sha512-j6pRuNylFBbroG6NB8Lw/Im9oDY74s2zWHBP5TmdYg73cBuL6cz//SMgolVa0gIJk/DSL+kO7baJ1DSXW1FUZg==" + }, + "elliptic": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "emotion": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/emotion/-/emotion-10.0.27.tgz", + "integrity": "sha512-2xdDzdWWzue8R8lu4G76uWX5WhyQuzATon9LmNeCy/2BHVC6dsEpfhN1a0qhELgtDVdjyEA6J8Y/VlI5ZnaH0g==", + "requires": { + "babel-plugin-emotion": "^10.0.27", + "create-emotion": "^10.0.27" + } + }, + "emotion-theming": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/emotion-theming/-/emotion-theming-10.0.27.tgz", + "integrity": "sha512-MlF1yu/gYh8u+sLUqA0YuA9JX0P4Hb69WlKc/9OLo+WCXuX6sy/KoIa+qJimgmr2dWqnypYKYPX37esjDBbhdw==", + "requires": { + "@babel/runtime": "^7.5.5", + "@emotion/weak-memoize": "0.2.5", + "hoist-non-react-statics": "^3.3.0" + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "requires": { + "iconv-lite": "^0.6.2" + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "engine.io": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.2.tgz", + "integrity": "sha512-b4Q85dFkGw+TqgytGPrGgACRUhsdKc9S9ErRAXpPGy/CXKs4tYoHDkvIRdsseAF7NjfVwjRFIn6KTnbw7LwJZg==", + "requires": { + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "0.3.1", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "ws": "^7.1.2" + }, + "dependencies": { + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "engine.io-client": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.4.tgz", + "integrity": "sha512-iU4CRr38Fecj8HoZEnFtm2EiKGbYZcPn3cHxqNGl/tmdWRf60KhK+9vE0JeSjgnlS/0oynEfLgKbT9ALpim0sQ==", + "requires": { + "component-emitter": "~1.3.0", + "component-inherit": "0.0.3", + "debug": "~3.1.0", + "engine.io-parser": "~2.2.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.6", + "parseuri": "0.0.6", + "ws": "~6.1.0", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + }, + "dependencies": { + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "parseqs": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", + "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==" + }, + "parseuri": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", + "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==" + }, + "ws": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", + "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "engine.io-parser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz", + "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==", + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.4", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "envinfo": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.4.tgz", + "integrity": "sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ==" + }, + "eol": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/eol/-/eol-0.9.1.tgz", + "integrity": "sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==" + }, + "equivalent-key-map": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/equivalent-key-map/-/equivalent-key-map-0.2.2.tgz", + "integrity": "sha512-xvHeyCDbZzkpN4VHQj/n+j2lOwL0VWszG30X4cOrc9Y7Tuo2qCdZK/0AMod23Z5dCtNUbaju6p0rwOhHUk05ew==" + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "requires": { + "stackframe": "^1.1.1" + } + }, + "es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "requires": { + "type-fest": "^0.8.1" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "v8-compile-cache": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==" + } + } + }, + "eslint-config-react-app": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz", + "integrity": "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==", + "requires": { + "confusing-browser-globals": "^1.0.9" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", + "requires": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "eslint-loader": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", + "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", + "requires": { + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "eslint-module-utils": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", + "requires": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-flowtype": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz", + "integrity": "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==", + "requires": { + "lodash": "^4.17.15" + } + }, + "eslint-plugin-graphql": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-graphql/-/eslint-plugin-graphql-4.0.0.tgz", + "integrity": "sha512-d5tQm24YkVvCEk29ZR5ScsgXqAGCjKlMS8lx3mS7FS/EKsWbkvXQImpvic03EpMIvNTBW5e+2xnHzXB/VHNZJw==", + "requires": { + "@babel/runtime": "^7.10.0", + "graphql-config": "^3.0.2", + "lodash.flatten": "^4.4.0", + "lodash.without": "^4.4.0" + } + }, + "eslint-plugin-import": { + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", + "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", + "requires": { + "array-includes": "^3.1.1", + "array.prototype.flat": "^1.2.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-module-utils": "^2.6.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.1", + "read-pkg-up": "^2.0.0", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz", + "integrity": "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==", + "requires": { + "@babel/runtime": "^7.11.2", + "aria-query": "^4.2.2", + "array-includes": "^3.1.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.0.2", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.6", + "emoji-regex": "^9.0.0", + "has": "^1.0.3", + "jsx-ast-utils": "^3.1.0", + "language-tags": "^1.0.5" + }, + "dependencies": { + "emoji-regex": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.1.tgz", + "integrity": "sha512-117l1H6U4X3Krn+MrzYrL57d5H7siRHWraBs7s+LjRuFK7Fe7hJqnJ0skWlinqsycVLU5YAo6L8CsEYQ0V5prg==" + } + } + }, + "eslint-plugin-react": { + "version": "7.22.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.22.0.tgz", + "integrity": "sha512-p30tuX3VS+NWv9nQot9xIGAHBXR0+xJVaZriEsHoJrASGCJZDJ8JLNM0YqKqI0AKm6Uxaa1VUHoNEibxRCMQHA==", + "requires": { + "array-includes": "^3.1.1", + "array.prototype.flatmap": "^1.2.3", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "object.entries": "^1.1.2", + "object.fromentries": "^2.0.2", + "object.values": "^1.1.1", + "prop-types": "^15.7.2", + "resolve": "^1.18.1", + "string.prototype.matchall": "^4.0.2" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + } + } + }, + "eslint-plugin-react-hooks": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz", + "integrity": "sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA==" + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + }, + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "event-source-polyfill": { + "version": "1.0.22", + "resolved": "https://registry.npmjs.org/event-source-polyfill/-/event-source-polyfill-1.0.22.tgz", + "integrity": "sha512-Fnk9E2p4rkZ3eJGBn2HDeZoBTpyjPxj8RX/whdr4Pm5622xYgYo1k48SUD649Xlo6nnoKRr2WwcUlneil/AZ8g==" + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==" + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "execall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", + "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", + "requires": { + "clone-regexp": "^2.1.0" + } + }, + "executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "requires": { + "pify": "^2.2.0" + } + }, + "exif-parser": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", + "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "express-graphql": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/express-graphql/-/express-graphql-0.9.0.tgz", + "integrity": "sha512-wccd9Lb6oeJ8yHpUs/8LcnGjFUUQYmOG9A5BNLybRdCzGw0PeUrtBxsIR8bfiur6uSW4OvPkVDoYH06z6/N9+w==", + "requires": { + "accepts": "^1.3.7", + "content-type": "^1.0.4", + "http-errors": "^1.7.3", + "raw-body": "^2.4.1" + }, + "dependencies": { + "http-errors": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz", + "integrity": "sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "raw-body": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", + "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.3", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + } + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + } + } + }, + "ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "requires": { + "mime-db": "^1.28.0" + } + }, + "ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "requires": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extract-files": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz", + "integrity": "sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==" + }, + "fast-average-color": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/fast-average-color/-/fast-average-color-4.3.0.tgz", + "integrity": "sha512-k8FXd6+JeXoItmdNqB3hMwFgArryjdYBLuzEM8fRY/oztd/051yhSHU6GUrMOfIQU9dDHyFDcIAkGrQKlYtpDA==" + }, + "fast-copy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-2.1.1.tgz", + "integrity": "sha512-Qod3DdRgFZ8GUIM6ygeoZYpQ0QLW9cf/FS9KhhjlYggcSZXWAemAw8BOCO5LuYCrR3Uj3qXDVTUzOUwG8C7beQ==" + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "fast-memoize": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", + "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==" + }, + "fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==" + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" + }, + "fastq": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.1.tgz", + "integrity": "sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==", + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fd": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/fd/-/fd-0.0.3.tgz", + "integrity": "sha512-iAHrIslQb3U68OcMSP0kkNWabp7sSN6d2TBSb2JO3gcLJVDd4owr/hKM4SFJovFOUeeXeItjYgouEDTMWiVAnA==" + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "requires": { + "pend": "~1.2.0" + } + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==" + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-loader": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", + "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", + "requires": { + "loader-utils": "^1.0.2", + "schema-utils": "^0.4.5" + }, + "dependencies": { + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "file-type": { + "version": "12.4.2", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz", + "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==" + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=" + }, + "filenamify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", + "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + } + }, + "filesize": { + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.5.11.tgz", + "integrity": "sha512-ZH7loueKBoDb7yG9esn1U+fgq7BzlzW6NRi5/rMdxIZ05dj7GFD/Xc5rq2CDt5Yq86CyfSYVyx4242QQNZbx1g==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "find-versions": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", + "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", + "requires": { + "semver-regex": "^2.0.0" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "follow-redirects": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", + "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "framer-motion": { + "version": "2.9.5", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-2.9.5.tgz", + "integrity": "sha512-epSX4Co1YbDv0mjfHouuY0q361TpHE7WQzCp/xMTilxy4kXd+Z23uJzPVorfzbm1a/9q1Yu8T5bndaw65NI4Tg==", + "requires": { + "@emotion/is-prop-valid": "^0.8.2", + "framesync": "^4.1.0", + "hey-listen": "^1.0.8", + "popmotion": "9.0.0-rc.20", + "style-value-types": "^3.1.9", + "tslib": "^1.10.0" + } + }, + "framesync": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-4.1.0.tgz", + "integrity": "sha512-MmgZ4wCoeVxNbx2xp5hN/zPDCbLSKiDt4BbbslK7j/pM2lg5S0vhTNv1v8BCVb99JPIo6hXBFdwzU7Q4qcAaoQ==", + "requires": { + "hey-listen": "^1.0.5" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs-capacitor": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/fs-capacitor/-/fs-capacitor-6.2.0.tgz", + "integrity": "sha512-nKcE1UduoSKX27NSZlg879LdQc94OtbOsEmKMN2MBNudXREvijRKx2GEBsTMTfws+BrbkJoEuynbGSVRSpauvw==" + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs-exists-cached": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", + "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=" + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.3.tgz", + "integrity": "sha512-H51qkbNSp8mtkJt+nyW1gyStBiKZxfRqySNUR99ylq6BPXHKI4SEvIlTKp4odLfjRKJV04DFWMU3G/YRlQOsag==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "functions-have-names": "^1.2.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + } + } + } + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "functions-have-names": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.2.tgz", + "integrity": "sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA==" + }, + "gatsby": { + "version": "2.31.1", + "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.31.1.tgz", + "integrity": "sha512-Q6awOrn4k3d44/eJ90b715VMWzm4rqPB3cACqbO8RkqU9jODEpbpB8JTXjZpQMO9Sx1fMazo8VG26AktLC5MOw==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/core": "^7.12.3", + "@babel/parser": "^7.12.5", + "@babel/runtime": "^7.12.5", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.6", + "@hapi/joi": "^15.1.1", + "@mikaelkristiansson/domready": "^1.0.10", + "@nodelib/fs.walk": "^1.2.4", + "@pieh/friendly-errors-webpack-plugin": "1.7.0-chalk-2", + "@pmmmwh/react-refresh-webpack-plugin": "^0.4.1", + "@reach/router": "^1.3.4", + "@types/http-proxy": "^1.17.4", + "@typescript-eslint/eslint-plugin": "^2.24.0", + "@typescript-eslint/parser": "^2.24.0", + "address": "1.1.2", + "anser": "^2.0.1", + "ansi-html": "^0.0.7", + "autoprefixer": "^9.8.4", + "axios": "^0.21.1", + "babel-core": "7.0.0-bridge.0", + "babel-eslint": "^10.1.0", + "babel-loader": "^8.1.0", + "babel-plugin-add-module-exports": "^1.0.4", + "babel-plugin-dynamic-import-node": "^2.3.3", + "babel-plugin-lodash": "^3.3.4", + "babel-plugin-remove-graphql-queries": "^2.15.0", + "babel-preset-gatsby": "^0.11.0", + "better-opn": "^2.0.0", + "better-queue": "^3.8.10", + "bluebird": "^3.7.2", + "body-parser": "^1.19.0", + "browserslist": "^4.12.2", + "cache-manager": "^2.11.1", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "common-tags": "^1.8.0", + "compression": "^1.7.4", + "convert-hrtime": "^3.0.0", + "copyfiles": "^2.3.0", + "core-js": "^3.6.5", + "cors": "^2.8.5", + "css-loader": "^1.0.1", + "date-fns": "^2.14.0", + "debug": "^3.2.7", + "del": "^5.1.0", + "detect-port": "^1.3.0", + "devcert": "^1.1.3", + "dotenv": "^8.2.0", + "eslint": "^6.8.0", + "eslint-config-react-app": "^5.2.1", + "eslint-loader": "^2.2.1", + "eslint-plugin-flowtype": "^3.13.0", + "eslint-plugin-graphql": "^4.0.0", + "eslint-plugin-import": "^2.22.0", + "eslint-plugin-jsx-a11y": "^6.3.1", + "eslint-plugin-react": "^7.20.6", + "eslint-plugin-react-hooks": "^1.7.0", + "event-source-polyfill": "^1.0.15", + "execa": "^4.0.3", + "express": "^4.17.1", + "express-graphql": "^0.9.0", + "fastest-levenshtein": "^1.0.12", + "file-loader": "^1.1.11", + "find-cache-dir": "^3.3.1", + "fs-exists-cached": "1.0.0", + "fs-extra": "^8.1.0", + "gatsby-cli": "^2.18.0", + "gatsby-core-utils": "^1.9.0", + "gatsby-graphiql-explorer": "^0.10.0", + "gatsby-legacy-polyfills": "^0.6.0", + "gatsby-link": "^2.10.0", + "gatsby-plugin-page-creator": "^2.9.0", + "gatsby-plugin-typescript": "^2.11.0", + "gatsby-plugin-utils": "^0.8.0", + "gatsby-react-router-scroll": "^3.6.0", + "gatsby-telemetry": "^1.9.0", + "glob": "^7.1.6", + "got": "8.3.2", + "graphql": "^14.6.0", + "graphql-compose": "^6.3.8", + "graphql-playground-middleware-express": "^1.7.18", + "hasha": "^5.2.0", + "http-proxy": "^1.18.1", + "invariant": "^2.2.4", + "is-relative": "^1.0.0", + "is-relative-url": "^3.0.0", + "jest-worker": "^24.9.0", + "joi": "^17.2.1", + "json-loader": "^0.5.7", + "json-stringify-safe": "^5.0.1", + "latest-version": "5.1.0", + "lodash": "^4.17.20", + "md5-file": "^5.0.0", + "meant": "^1.0.1", + "micromatch": "^4.0.2", + "mime": "^2.4.6", + "mini-css-extract-plugin": "^0.11.2", + "mitt": "^1.2.0", + "mkdirp": "^0.5.1", + "moment": "^2.27.0", + "name-all-modules-plugin": "^1.0.1", + "normalize-path": "^3.0.0", + "null-loader": "^3.0.0", + "opentracing": "^0.14.4", + "optimize-css-assets-webpack-plugin": "^5.0.3", + "p-defer": "^3.0.0", + "parseurl": "^1.3.3", + "physical-cpu-count": "^2.0.0", + "pnp-webpack-plugin": "^1.6.4", + "postcss-flexbugs-fixes": "^4.2.1", + "postcss-loader": "^3.0.0", + "prompts": "^2.3.2", + "prop-types": "^15.7.2", + "query-string": "^6.13.1", + "raw-loader": "^0.5.1", + "react-dev-utils": "^4.2.3", + "react-error-overlay": "^3.0.0", + "react-hot-loader": "^4.12.21", + "react-refresh": "^0.8.3", + "redux": "^4.0.5", + "redux-thunk": "^2.3.0", + "semver": "^7.3.2", + "shallow-compare": "^1.2.2", + "signal-exit": "^3.0.3", + "slugify": "^1.4.4", + "socket.io": "2.3.0", + "socket.io-client": "2.3.0", + "source-map": "^0.7.3", + "source-map-support": "^0.5.19", + "st": "^2.0.0", + "stack-trace": "^0.0.10", + "string-similarity": "^1.2.2", + "strip-ansi": "^5.2.0", + "style-loader": "^0.23.1", + "terminal-link": "^2.1.1", + "terser-webpack-plugin": "^2.3.8", + "tmp": "^0.2.1", + "true-case-path": "^2.2.1", + "type-of": "^2.0.1", + "url-loader": "^1.1.2", + "util.promisify": "^1.0.1", + "uuid": "3.4.0", + "v8-compile-cache": "^1.1.2", + "webpack": "^4.44.1", + "webpack-dev-middleware": "^3.7.2", + "webpack-dev-server": "^3.11.2", + "webpack-hot-middleware": "^2.25.0", + "webpack-merge": "^4.2.2", + "webpack-stats-plugin": "^0.3.2", + "webpack-virtual-modules": "^0.2.2", + "xstate": "^4.11.0", + "yaml-loader": "^0.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "gatsby-cli": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.18.0.tgz", + "integrity": "sha512-IkO1ZXCzCbwmepg7iqwFIlhyFhFuTveP2ibyhBS386YY6gSoAvuRLYfHBy5L5z8e0US2W0F1cbe4NguiQS4qdg==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@hapi/joi": "^15.1.1", + "@types/common-tags": "^1.8.0", + "better-opn": "^2.0.0", + "chalk": "^4.1.0", + "clipboardy": "^2.3.0", + "common-tags": "^1.8.0", + "configstore": "^5.0.1", + "convert-hrtime": "^3.0.0", + "create-gatsby": "^0.4.0", + "envinfo": "^7.7.3", + "execa": "^3.4.0", + "fs-exists-cached": "^1.0.0", + "fs-extra": "^8.1.0", + "gatsby-core-utils": "^1.9.0", + "gatsby-recipes": "^0.8.0", + "gatsby-telemetry": "^1.9.0", + "hosted-git-info": "^3.0.6", + "is-valid-path": "^0.1.1", + "lodash": "^4.17.20", + "meant": "^1.0.2", + "node-fetch": "^2.6.1", + "opentracing": "^0.14.4", + "pretty-error": "^2.1.1", + "progress": "^2.0.3", + "prompts": "^2.3.2", + "redux": "^4.0.5", + "resolve-cwd": "^3.0.0", + "semver": "^7.3.2", + "signal-exit": "^3.0.3", + "source-map": "0.7.3", + "stack-trace": "^0.0.10", + "strip-ansi": "^5.2.0", + "update-notifier": "^5.0.1", + "uuid": "3.4.0", + "yargs": "^15.4.1", + "yoga-layout-prebuilt": "^1.9.6", + "yurnalist": "^2.1.0" + }, + "dependencies": { + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + } + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "mitt": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", + "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==" + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "gatsby-core-utils": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-1.9.0.tgz", + "integrity": "sha512-AWq9E+rBY+fWJrhdOx0rn/LlZ0eCjpqLYlDcUmLZ5NjwLARgkEXNf4JsvDETLtThcNlSOibEMQex8arsYatmkA==", + "requires": { + "ci-info": "2.0.0", + "configstore": "^5.0.1", + "fs-extra": "^8.1.0", + "node-object-hash": "^2.0.0", + "proper-lockfile": "^4.1.1", + "tmp": "^0.2.1", + "xdg-basedir": "^4.0.0" + } + }, + "gatsby-graphiql-explorer": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-0.10.0.tgz", + "integrity": "sha512-RO63HaIXVoSjiKH3GMi9B6biTSZk8UJlB3EbJnnYfpE8n3WEVw/narLVQ5GoBAVbKpNPdmPxnd/UhdKIQguI5A==", + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "gatsby-image": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/gatsby-image/-/gatsby-image-2.10.0.tgz", + "integrity": "sha512-LPBHWfnguwH5syGLUSv2SyWn+LPn++ulOU8THNOkaMDGCAOrQu/cVPKVsweRkAaDAB/8Sl9g1mPP4EERw/Ysfg==", + "requires": { + "@babel/runtime": "^7.12.5", + "object-fit-images": "^3.2.4", + "prop-types": "^15.7.2" + } + }, + "gatsby-legacy-polyfills": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/gatsby-legacy-polyfills/-/gatsby-legacy-polyfills-0.6.0.tgz", + "integrity": "sha512-w6ZnPi3JWhvfEwNgxGA42XFzytsKsGj5uQnEsQzDU8JgVD7WXT4vPlbLUF/RjqIjcVrbLWkYWkLLeZG4fdX28Q==", + "requires": { + "core-js-compat": "^3.6.5" + } + }, + "gatsby-link": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/gatsby-link/-/gatsby-link-2.10.0.tgz", + "integrity": "sha512-IErX4EOJBCMIJ1IhcTRu13kgayRCv+HCZyK9mr0VddgtXFXHvnKLWQvYDZHlBj9PS1KShLHzNCZ9lOEJ+dUIRw==", + "requires": { + "@babel/runtime": "^7.12.5", + "@types/reach__router": "^1.3.6", + "prop-types": "^15.7.2" + } + }, + "gatsby-page-utils": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/gatsby-page-utils/-/gatsby-page-utils-0.8.0.tgz", + "integrity": "sha512-u93fe4fwoAanDw/jQMbkeCHCQheSs2hTRmBLhe0gjozbxfxtojQRuqFvnoruzuiYSVQ3JZ/x8/arsWB5lxmNWg==", + "requires": { + "@babel/runtime": "^7.12.5", + "bluebird": "^3.7.2", + "chokidar": "^3.4.3", + "fs-exists-cached": "^1.0.0", + "gatsby-core-utils": "^1.9.0", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "micromatch": "^4.0.2" + } + }, + "gatsby-plugin-catch-links": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-catch-links/-/gatsby-plugin-catch-links-2.9.0.tgz", + "integrity": "sha512-PIOu7N5IAIBfRY8W2Kzs34+kAf8Oa0jz1nJfoxyQKvPdPQZDw5Fur23Go64QnhxbE9EHr9XUmFZE5b+7vMl4Mg==", + "requires": { + "@babel/runtime": "^7.12.5", + "escape-string-regexp": "^1.0.5" + } + }, + "gatsby-plugin-manifest": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-manifest/-/gatsby-plugin-manifest-2.11.0.tgz", + "integrity": "sha512-FyKye5egB4nBggKPIx4XlwcXAZYi0e7UoHYTGQkeRtci1nzHC3Q1/GLFfMi9F6jpmJ1Z4S3A+yYshxSap4ySJQ==", + "requires": { + "@babel/runtime": "^7.12.5", + "gatsby-core-utils": "^1.9.0", + "gatsby-plugin-utils": "^0.8.0", + "semver": "^7.3.2", + "sharp": "^0.27.0" + } + }, + "gatsby-plugin-offline": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-offline/-/gatsby-plugin-offline-3.9.0.tgz", + "integrity": "sha512-sLxU+QMYq7QLte+/gRNm0vTRgil6VvbkxtEjf/e/oXpAkuy+Pm9IeaWKRtNfWcThpr2CjQbdkZpELLr8PZrCDw==", + "requires": { + "@babel/runtime": "^7.12.5", + "cheerio": "^1.0.0-rc.3", + "gatsby-core-utils": "^1.9.0", + "glob": "^7.1.6", + "idb-keyval": "^3.2.0", + "lodash": "^4.17.20", + "workbox-build": "^4.3.1" + } + }, + "gatsby-plugin-page-creator": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.9.0.tgz", + "integrity": "sha512-GIZ9rEBeVLdyq82I5dguXm8HI8vaMPL5iKufNMtO7qRz9fXc00TONKCvI89V7jNB3q+dDAcQZbGK8tMSCz/MWg==", + "requires": { + "@babel/traverse": "^7.12.5", + "@sindresorhus/slugify": "^1.1.0", + "chokidar": "^3.4.2", + "fs-exists-cached": "^1.0.0", + "gatsby-page-utils": "^0.8.0", + "gatsby-telemetry": "^1.9.0", + "globby": "^11.0.1", + "lodash": "^4.17.20" + }, + "dependencies": { + "globby": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", + "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + } + } + }, + "gatsby-plugin-react-helmet": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-3.9.0.tgz", + "integrity": "sha512-u9KAVomMMYvX5swwMF2ToyyVWwwduLMuRggeydYGVae9IOz9pRK4QZYpN303tWeuOSKNSAOVo4tcSQ40//jgVg==", + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "gatsby-plugin-sharp": { + "version": "2.13.4", + "resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.13.4.tgz", + "integrity": "sha512-51k2/aCHGw3Cic8wRyPR5ny59OVUTXs+AhHOe3BwEOTWiAtpZ5eDKVMPHNviYDHOmiUpn17L08Ht6njbohs39g==", + "requires": { + "@babel/runtime": "^7.12.5", + "async": "^3.2.0", + "bluebird": "^3.7.2", + "fs-extra": "^9.0.1", + "gatsby-core-utils": "^1.9.0", + "gatsby-telemetry": "^1.9.0", + "got": "^10.7.0", + "imagemin": "^7.0.1", + "imagemin-mozjpeg": "^9.0.0", + "imagemin-pngquant": "^9.0.1", + "lodash": "^4.17.20", + "mini-svg-data-uri": "^1.2.3", + "potrace": "^2.1.8", + "probe-image-size": "^6.0.0", + "progress": "^2.0.3", + "semver": "^7.3.4", + "sharp": "^0.27.0", + "svgo": "1.3.2", + "uuid": "3.4.0" + }, + "dependencies": { + "@sindresorhus/is": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.1.tgz", + "integrity": "sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==" + }, + "@szmarczak/http-timer": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.5.tgz", + "integrity": "sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==", + "requires": { + "defer-to-connect": "^2.0.0" + } + }, + "async": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", + "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" + }, + "cacheable-request": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.1.tgz", + "integrity": "sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^2.0.0" + } + }, + "decompress-response": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-5.0.0.tgz", + "integrity": "sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==", + "requires": { + "mimic-response": "^2.0.0" + } + }, + "defer-to-connect": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.0.tgz", + "integrity": "sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg==" + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "got": { + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/got/-/got-10.7.0.tgz", + "integrity": "sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==", + "requires": { + "@sindresorhus/is": "^2.0.0", + "@szmarczak/http-timer": "^4.0.0", + "@types/cacheable-request": "^6.0.1", + "cacheable-lookup": "^2.0.0", + "cacheable-request": "^7.0.1", + "decompress-response": "^5.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^5.0.0", + "lowercase-keys": "^2.0.0", + "mimic-response": "^2.1.0", + "p-cancelable": "^2.0.0", + "p-event": "^4.0.0", + "responselike": "^2.0.0", + "to-readable-stream": "^2.0.0", + "type-fest": "^0.10.0" + } + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "keyv": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz", + "integrity": "sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==", + "requires": { + "json-buffer": "3.0.1" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + }, + "mimic-response": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==" + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + }, + "p-cancelable": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz", + "integrity": "sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==" + }, + "responselike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "requires": { + "lowercase-keys": "^2.0.0" + } + }, + "to-readable-stream": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-2.1.0.tgz", + "integrity": "sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==" + }, + "type-fest": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.10.0.tgz", + "integrity": "sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==" + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, + "gatsby-plugin-typescript": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.11.0.tgz", + "integrity": "sha512-CZuM3DW5vVBysQf9h775q6iM+Dusx4EKSnhZAsxUBo2CwWlcjTgCysStUe4SLqMS+x/FAx+ZpJxnnHX2LylQlg==", + "requires": { + "@babel/core": "^7.12.3", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.5", + "@babel/plugin-proposal-optional-chaining": "^7.12.1", + "@babel/preset-typescript": "^7.12.1", + "@babel/runtime": "^7.12.5", + "babel-plugin-remove-graphql-queries": "^2.15.0" + } + }, + "gatsby-plugin-utils": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-utils/-/gatsby-plugin-utils-0.8.0.tgz", + "integrity": "sha512-EQC1U7LQVHaI6jXMbx4ryvA8rV1yYrlyxwO2T4nuLUDOO1STUpKTYCH4ySOEtXi6f4P5v7NxgHkFoid6ayY9HA==", + "requires": { + "joi": "^17.2.1" + } + }, + "gatsby-react-router-scroll": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/gatsby-react-router-scroll/-/gatsby-react-router-scroll-3.6.0.tgz", + "integrity": "sha512-KhM3LFED6BlNWQHq2ctJ7Txj+p5wIQsx8mBDvkFFnU5jT7GaUXQRSwoMjoAWt7Dq/Q1TrFXZqgbTYIDZr33tlQ==", + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "gatsby-recipes": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.8.0.tgz", + "integrity": "sha512-AkH9up3nbEf9RaSCkEmPxfpCa7d2jtXVq23e27UsprY0H3sTEiydxWTF1f5spxEjfH7yzZKpCoN+MyfZ/ZZGZA==", + "requires": { + "@babel/core": "^7.12.3", + "@babel/generator": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-proposal-optional-chaining": "^7.12.1", + "@babel/plugin-transform-react-jsx": "^7.12.5", + "@babel/standalone": "^7.12.6", + "@babel/template": "^7.10.4", + "@babel/types": "^7.12.6", + "@graphql-tools/schema": "^7.0.0", + "@graphql-tools/utils": "^7.0.2", + "@hapi/hoek": "8.x.x", + "@hapi/joi": "^15.1.1", + "better-queue": "^3.8.10", + "chokidar": "^3.4.2", + "contentful-management": "^7.5.1", + "cors": "^2.8.5", + "debug": "^4.3.1", + "detect-port": "^1.3.0", + "dotenv": "^8.2.0", + "execa": "^4.0.2", + "express": "^4.17.1", + "express-graphql": "^0.9.0", + "fs-extra": "^8.1.0", + "gatsby-core-utils": "^1.9.0", + "gatsby-telemetry": "^1.9.0", + "glob": "^7.1.6", + "graphql": "^14.6.0", + "graphql-compose": "^6.3.8", + "graphql-subscriptions": "^1.1.0", + "graphql-type-json": "^0.3.2", + "hicat": "^0.8.0", + "is-binary-path": "^2.1.0", + "is-url": "^1.2.4", + "jest-diff": "^25.5.0", + "lock": "^1.0.0", + "lodash": "^4.17.20", + "mitt": "^1.2.0", + "mkdirp": "^0.5.1", + "node-fetch": "^2.5.0", + "pkg-dir": "^4.2.0", + "prettier": "^2.0.5", + "prop-types": "^15.6.1", + "remark-mdx": "^2.0.0-next.4", + "remark-mdxjs": "^2.0.0-next.4", + "remark-parse": "^6.0.3", + "remark-stringify": "^8.1.0", + "resolve-from": "^5.0.0", + "semver": "^7.3.2", + "single-trailing-newline": "^1.0.0", + "strip-ansi": "^6.0.0", + "style-to-object": "^0.3.0", + "unified": "^8.4.2", + "unist-util-remove": "^2.0.0", + "unist-util-visit": "^2.0.2", + "uuid": "3.4.0", + "ws": "^7.3.0", + "xstate": "^4.9.1", + "yoga-layout-prebuilt": "^1.9.6" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-7.2.5.tgz", + "integrity": "sha512-S9RUkPimq+5eEDohDjiq/JCPUsiZblKRG8ve+diUwF1f8+r6FV2xGXrOt0qhQJiMxIO+BOK3DU9c+U3tX9Jo0w==", + "requires": { + "@ardatan/aggregate-error": "0.0.6", + "camel-case": "4.1.2", + "tslib": "~2.1.0" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "mitt": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", + "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==" + }, + "prettier": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==" + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, + "gatsby-source-filesystem": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/gatsby-source-filesystem/-/gatsby-source-filesystem-2.10.0.tgz", + "integrity": "sha512-kf1D25wBe+mXa+c4C0HgI+5bwgEoTUQupP1q7nk4Q1+RC2mHlWSm3X+lNPWVfxg8MKNWrLmrX1GrXorW8cEtEQ==", + "requires": { + "@babel/runtime": "^7.12.5", + "better-queue": "^3.8.10", + "chokidar": "^3.4.3", + "file-type": "^16.0.0", + "fs-extra": "^8.1.0", + "gatsby-core-utils": "^1.9.0", + "got": "^9.6.0", + "md5-file": "^5.0.0", + "mime": "^2.4.6", + "pretty-bytes": "^5.4.1", + "progress": "^2.0.3", + "valid-url": "^1.0.9", + "xstate": "^4.14.0" + }, + "dependencies": { + "file-type": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.2.0.tgz", + "integrity": "sha512-1Wwww3mmZCMmLjBfslCluwt2mxH80GsAXYrvPnfQ42G1EGWag336kB1iyCgyn7UXiKY3cJrNykXPrCwA7xb5Ag==", + "requires": { + "readable-web-to-node-stream": "^3.0.0", + "strtok3": "^6.0.3", + "token-types": "^2.0.0", + "typedarray-to-buffer": "^3.1.5" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readable-web-to-node-stream": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.1.tgz", + "integrity": "sha512-4zDC6CvjUyusN7V0QLsXVB7pJCD9+vtrM9bYDRv6uBQ+SKfx36rp5AFNPRgh9auKRul/a1iFZJYXcCbwRL+SaA==", + "requires": { + "@types/readable-stream": "^2.3.9", + "readable-stream": "^3.6.0" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "gatsby-source-wordpress-experimental": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/gatsby-source-wordpress-experimental/-/gatsby-source-wordpress-experimental-7.0.4.tgz", + "integrity": "sha512-U5Nb5jQ/t6xtAOFRDYb1aHXPwALp7TNUkXNKMb0wB7gQafN4bl0zqbBG9jIht76bSzdfwjqoV0Mq/CQJs18C9A==", + "requires": { + "@babel/runtime": "^7.6.3", + "@rematch/core": "^1.3.0", + "@rematch/immer": "^1.2.0", + "@types/cache-manager": "^2.10.3", + "@types/ink": "^2.0.3", + "async-retry": "^1.3.1", + "atob": "^2.1.2", + "axios": "^0.21.1", + "axios-rate-limit": "^1.3.0", + "better-queue": "^3.8.10", + "btoa": "^1.2.1", + "cache-manager": "^3.4.0", + "cache-manager-fs-hash": "^0.0.9", + "chalk": "^4.1.0", + "cheerio": "^1.0.0-rc.3", + "clipboardy": "^2.1.0", + "diff": "^5.0.0", + "dumper.js": "^1.3.1", + "execall": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "file-type": "^15.0.1", + "filesize": "^6.1.0", + "fs-extra": "^9.0.1", + "gatsby-core-utils": "^1.3.20", + "gatsby-image": "^2.4.14", + "gatsby-plugin-catch-links": "^2.3.11", + "gatsby-source-filesystem": "^2.3.37", + "glob": "^7.1.6", + "got": "^11.7.0", + "graphql-query-compress": "^1.2.2", + "lodash": "^4.17.19", + "node-fetch": "^2.6.0", + "p-queue": "^6.3.0", + "prettier": "^2.0.5", + "react": "^16.13.1", + "react-dom": "^16.13.1", + "read-chunk": "^3.2.0", + "replaceall": "^0.1.6", + "semver": "^7.3.2", + "valid-url": "^1.0.9" + }, + "dependencies": { + "@sindresorhus/is": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.0.tgz", + "integrity": "sha512-FyD2meJpDPjyNQejSjvnhpgI/azsQkA4lGbuu5BQZfjvJ9cbRZXzeWL2HceCekW4lixO9JPesIIQkSoLjeJHNQ==" + }, + "@szmarczak/http-timer": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.5.tgz", + "integrity": "sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==", + "requires": { + "defer-to-connect": "^2.0.0" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "async": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", + "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" + }, + "cache-manager": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/cache-manager/-/cache-manager-3.4.0.tgz", + "integrity": "sha512-+WtL5sKHGngtnzTHNFA6+gC0wjpAAUmwmprXOSeaCBOkohM8Nh7GvV8fC90NFrDh7m3i87AshGd39/yYbWNtWA==", + "requires": { + "async": "^3.2.0", + "lodash": "^4.17.20", + "lru-cache": "6.0.0" + } + }, + "cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" + }, + "cacheable-request": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.1.tgz", + "integrity": "sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^2.0.0" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "requires": { + "mimic-response": "^3.1.0" + } + }, + "defer-to-connect": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.0.tgz", + "integrity": "sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg==" + }, + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" + }, + "file-type": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-15.0.1.tgz", + "integrity": "sha512-0LieQlSA3bWUdErNrxzxfI4rhsvNAVPBO06R8pTc1hp9SE6nhqlVyvhcaXoMmtXkBTPnQenbMPLW9X76hH76oQ==", + "requires": { + "readable-web-to-node-stream": "^2.0.0", + "strtok3": "^6.0.3", + "token-types": "^2.0.0", + "typedarray-to-buffer": "^3.1.5" + } + }, + "filesize": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz", + "integrity": "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==" + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "got": { + "version": "11.8.1", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.1.tgz", + "integrity": "sha512-9aYdZL+6nHmvJwHALLwKSUZ0hMwGaJGYv3hoPLPgnT8BoBXm1SjnZeky+91tfwJaDzun2s4RsBRy48IEYv2q2Q==", + "requires": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.1", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "keyv": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz", + "integrity": "sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==", + "requires": { + "json-buffer": "3.0.1" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + }, + "p-cancelable": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz", + "integrity": "sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==" + }, + "responselike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "requires": { + "lowercase-keys": "^2.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + } + } + }, + "gatsby-telemetry": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-1.9.0.tgz", + "integrity": "sha512-RWjA7/oG+Z2m/gNhv9/rvOjcKxSNm9n+PaVfTJGcQa5M3BTLwkf9tPSswpo8WAPu2kgnlql3bH12eKB61f5VAw==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@turist/fetch": "^7.1.7", + "@turist/time": "^0.0.1", + "async-retry-ng": "^2.0.1", + "boxen": "^4.2.0", + "configstore": "^5.0.1", + "fs-extra": "^8.1.0", + "gatsby-core-utils": "^1.9.0", + "git-up": "^4.0.2", + "is-docker": "^2.1.1", + "lodash": "^4.17.20", + "node-fetch": "^2.6.1", + "uuid": "3.4.0" + }, + "dependencies": { + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, + "gatsby-transformer-sharp": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/gatsby-transformer-sharp/-/gatsby-transformer-sharp-2.11.0.tgz", + "integrity": "sha512-esL884HBUGhZdoa6M7sP1aFC4JqCDh6PVReEEA2O0k26a4IC6cWTbIPeNa106vjrvYOEpSd359wUSFET9hpBMA==", + "requires": { + "@babel/runtime": "^7.12.5", + "bluebird": "^3.7.2", + "fs-extra": "^9.0.1", + "potrace": "^2.1.8", + "probe-image-size": "^6.0.0", + "semver": "^7.3.4", + "sharp": "^0.27.0" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + } + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-intrinsic": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.0.tgz", + "integrity": "sha512-M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=" + }, + "get-proxy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", + "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", + "requires": { + "npm-conf": "^1.1.0" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "gettext-parser": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.4.0.tgz", + "integrity": "sha512-sedZYLHlHeBop/gZ1jdg59hlUEcpcZJofLq2JFwJT1zTqAU3l2wFv6IsuwFHGqbiT9DWzMUW4/em2+hspnmMMA==", + "requires": { + "encoding": "^0.1.12", + "safe-buffer": "^5.1.1" + } + }, + "gifwrap": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.9.2.tgz", + "integrity": "sha512-fcIswrPaiCDAyO8xnWvHSZdWChjKXUanKKpAiWWJ/UTkEi/aYKn5+90e7DE820zbEaVR9CE2y4z9bzhQijZ0BA==", + "requires": { + "image-q": "^1.1.1", + "omggif": "^1.0.10" + } + }, + "git-up": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.2.tgz", + "integrity": "sha512-kbuvus1dWQB2sSW4cbfTeGpCMd8ge9jx9RKnhXhuJ7tnvT+NIrTVfYZxjtflZddQYcmdOTlkAcjmx7bor+15AQ==", + "requires": { + "is-ssh": "^1.3.0", + "parse-url": "^5.0.0" + } + }, + "github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "global-cache": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/global-cache/-/global-cache-1.2.1.tgz", + "integrity": "sha512-EOeUaup5DgWKlCMhA9YFqNRIlZwoxt731jCh47WBV9fQqHgXhr3Fa55hfgIUqilIcPsfdNKN7LHjrNY+Km40KA==", + "requires": { + "define-properties": "^1.1.2", + "is-symbol": "^1.0.1" + } + }, + "global-dirs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", + "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", + "requires": { + "ini": "2.0.0" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + } + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "requires": { + "delegate": "^3.1.2" + } + }, + "got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "requires": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + }, + "dependencies": { + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" + } + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "requires": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + } + }, + "p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + } + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "gradient-parser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/gradient-parser/-/gradient-parser-0.1.5.tgz", + "integrity": "sha1-DH4heVWeXOfY1x9EI6+TcQCyJIw=" + }, + "graphql": { + "version": "14.7.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.7.0.tgz", + "integrity": "sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==", + "requires": { + "iterall": "^1.2.2" + } + }, + "graphql-compose": { + "version": "6.3.8", + "resolved": "https://registry.npmjs.org/graphql-compose/-/graphql-compose-6.3.8.tgz", + "integrity": "sha512-o0/jzQEMIpSjryLKwmD1vGrCubiPxD0LxlGTgWDSu38TBepu2GhugC9gYgTEbtiCZAHPtvkZ90SzzABOWZyQLA==", + "requires": { + "graphql-type-json": "^0.2.4", + "object-path": "^0.11.4" + }, + "dependencies": { + "graphql-type-json": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/graphql-type-json/-/graphql-type-json-0.2.4.tgz", + "integrity": "sha512-/tq02ayMQjrG4oDFDRLLrPk0KvJXue0nVXoItBe7uAdbNXjQUu+HYCBdAmPLQoseVzUKKMzrhq2P/sfI76ON6w==" + } + } + }, + "graphql-config": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-3.2.0.tgz", + "integrity": "sha512-ygEKDeQNZKpm4137560n2oY3bGM0D5zyRsQVaJntKkufWdgPg6sb9/4J1zJW2y/yC1ortAbhNho09qmeJeLa9g==", + "requires": { + "@endemolshinegroup/cosmiconfig-typescript-loader": "3.0.2", + "@graphql-tools/graphql-file-loader": "^6.0.0", + "@graphql-tools/json-file-loader": "^6.0.0", + "@graphql-tools/load": "^6.0.0", + "@graphql-tools/merge": "^6.0.0", + "@graphql-tools/url-loader": "^6.0.0", + "@graphql-tools/utils": "^6.0.0", + "cosmiconfig": "6.0.0", + "cosmiconfig-toml-loader": "1.0.0", + "minimatch": "3.0.4", + "string-env-interpolation": "1.0.1", + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "graphql-playground-html": { + "version": "1.6.29", + "resolved": "https://registry.npmjs.org/graphql-playground-html/-/graphql-playground-html-1.6.29.tgz", + "integrity": "sha512-fbF/zZKuw2sdfKp8gjTORJ/I9xBsqeEYRseWxBzuR15NHMptRTT9414IyRCs3ognZzUDr5MDJgx97SlLZCtQyA==", + "requires": { + "xss": "^1.0.6" + } + }, + "graphql-playground-middleware-express": { + "version": "1.7.22", + "resolved": "https://registry.npmjs.org/graphql-playground-middleware-express/-/graphql-playground-middleware-express-1.7.22.tgz", + "integrity": "sha512-PJLiCxLmN6Dp+dHGyHU92m9y3hB/RAkcUBWcqYl2fiP+EbpDDgNfElrsVzW60MhJe+LTV1PFqiInH2d3KNvlCQ==", + "requires": { + "graphql-playground-html": "^1.6.29" + } + }, + "graphql-query-compress": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/graphql-query-compress/-/graphql-query-compress-1.2.4.tgz", + "integrity": "sha512-W5SMy8/2RAsC9uMOV9VTwnUkp+8N3BZz6qef6jRCIxOVrVxRBiX2btvpaKrEnPU4nchnc1bCfmMDkEtCRzJUiw==", + "requires": { + "tokenizr": "1.5.7" + } + }, + "graphql-subscriptions": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-1.1.0.tgz", + "integrity": "sha512-6WzlBFC0lWmXJbIVE8OgFgXIP4RJi3OQgTPa0DVMsDXdpRDjTsM1K9wfl5HSYX7R87QAGlvcv2Y4BIZa/ItonA==", + "requires": { + "iterall": "^1.2.1" + } + }, + "graphql-type-json": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/graphql-type-json/-/graphql-type-json-0.3.2.tgz", + "integrity": "sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg==" + }, + "graphql-upload": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/graphql-upload/-/graphql-upload-11.0.0.tgz", + "integrity": "sha512-zsrDtu5gCbQFDWsNa5bMB4nf1LpKX9KDgh+f8oL1288ijV4RxeckhVozAjqjXAfRpxOHD1xOESsh6zq8SjdgjA==", + "requires": { + "busboy": "^0.3.1", + "fs-capacitor": "^6.1.0", + "http-errors": "^1.7.3", + "isobject": "^4.0.0", + "object-path": "^0.11.4" + }, + "dependencies": { + "http-errors": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz", + "integrity": "sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + } + } + }, + "graphql-ws": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-4.1.0.tgz", + "integrity": "sha512-DxJP1y2YzCqVLy7DrQN0iuR2l48vMOBWukX2d/J9aN2o5x9un5psIIq/2UFRh91UGARmfvPH86y1p4qbC1dITg==" + }, + "gud": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" + }, + "gzip-size": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", + "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=", + "requires": { + "duplexer": "^0.1.1" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + } + } + }, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "requires": { + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + } + } + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hasha": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "requires": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + } + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" + }, + "hey-listen": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" + }, + "hicat": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/hicat/-/hicat-0.8.0.tgz", + "integrity": "sha512-om8L9O5XwqeSdwl5NtHgrzK3wcF4fT9T4gb/NktoH8EyoZipas/tvUZLV48xT7fQfMYr9qvb0WEutqdf0LWSqA==", + "requires": { + "highlight.js": "^10.4.1", + "minimist": "^1.2.5" + } + }, + "highlight-words-core": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/highlight-words-core/-/highlight-words-core-1.2.2.tgz", + "integrity": "sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg==" + }, + "highlight.js": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.5.0.tgz", + "integrity": "sha512-xTmvd9HiIHR6L53TMC7TKolEj65zG1XU+Onr8oi86mYa+nLcIbxTTWkpW7CsEwv/vK7u1zb8alZIMLDqqN6KTw==" + }, + "history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==" + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "hpq": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/hpq/-/hpq-1.3.0.tgz", + "integrity": "sha512-fvYTvdCFOWQupGxqkahrkA+ERBuMdzkxwtUdKrxR6rmMd4Pfl+iZ1QiQYoaZ0B/v0y59MOMnz3XFUWbT50/NWA==" + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" + }, + "html-dom-parser": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/html-dom-parser/-/html-dom-parser-0.3.0.tgz", + "integrity": "sha512-WDEYpO5gHGKuJbf0rwndGq7yUHJ4xboNj9l9mRGw5RsKFc3jfRozCsGAMu69zXxt4Ol8UkbqubKxu8ys0BLKtA==", + "requires": { + "@types/domhandler": "2.4.1", + "domhandler": "2.4.2", + "htmlparser2": "3.10.1" + } + }, + "html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" + }, + "html-react-parser": { + "version": "0.14.3", + "resolved": "https://registry.npmjs.org/html-react-parser/-/html-react-parser-0.14.3.tgz", + "integrity": "sha512-scZ1DHGbyRv0AjsavBndhTzAOQ5iWxzmD5z74cXU07mMcegt8MtlQoHx3SVGhVAkScqNgk1hgKoE80S3OFUt4A==", + "requires": { + "@types/htmlparser2": "3.10.2", + "html-dom-parser": "0.3.0", + "react-property": "1.0.1", + "style-to-js": "1.1.0" + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==" + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "http2-wrapper": { + "version": "1.0.0-beta.5.2", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.0-beta.5.2.tgz", + "integrity": "sha512-xYz9goEyBnC8XwXDTuC/MZ6t+MrKVQZOk4s7+PaDkwIsQd8IwqvM+0M6bA/2lvG8GHXcPdf+MejTUeO2LCPCeQ==", + "requires": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + }, + "iconv-lite": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", + "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" + }, + "icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "requires": { + "postcss": "^6.0.1" + } + }, + "idb-keyval": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-3.2.0.tgz", + "integrity": "sha512-slx8Q6oywCCSfKgPgL0sEsXtPVnSbTLWpyiDcu6msHOyKOLari1TD1qocXVCft80umnkk3/Qqh3lwoFt8T/BPQ==" + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" + }, + "image-q": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-q/-/image-q-1.1.1.tgz", + "integrity": "sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY=" + }, + "imagemin": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-7.0.1.tgz", + "integrity": "sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w==", + "requires": { + "file-type": "^12.0.0", + "globby": "^10.0.0", + "graceful-fs": "^4.2.2", + "junk": "^3.1.0", + "make-dir": "^3.0.0", + "p-pipe": "^3.0.0", + "replace-ext": "^1.0.0" + } + }, + "imagemin-mozjpeg": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/imagemin-mozjpeg/-/imagemin-mozjpeg-9.0.0.tgz", + "integrity": "sha512-TwOjTzYqCFRgROTWpVSt5UTT0JeCuzF1jswPLKALDd89+PmrJ2PdMMYeDLYZ1fs9cTovI9GJd68mRSnuVt691w==", + "requires": { + "execa": "^4.0.0", + "is-jpg": "^2.0.0", + "mozjpeg": "^7.0.0" + } + }, + "imagemin-pngquant": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/imagemin-pngquant/-/imagemin-pngquant-9.0.1.tgz", + "integrity": "sha512-PYyo9G/xwddf+Qqlqe3onz5ZH7p6vHYVVkiuuczUjxZmfekyY77RXaOA/AR6FnVoeQxGa/pDtEK5xUKOcVo+sA==", + "requires": { + "execa": "^4.0.0", + "is-png": "^2.0.0", + "is-stream": "^2.0.0", + "ow": "^0.17.0", + "pngquant-bin": "^6.0.0" + } + }, + "immer": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/immer/-/immer-4.0.2.tgz", + "integrity": "sha512-Q/tm+yKqnKy4RIBmmtISBlhXuSDrB69e9EKTYiIenIKQkXBQir43w+kN/eGiax3wt1J0O1b2fYcNqLSbEcXA7w==" + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "requires": { + "import-from": "^2.1.0" + }, + "dependencies": { + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + } + } + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "dependencies": { + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "requires": { + "find-up": "^3.0.0" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" + }, + "ink": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/ink/-/ink-3.0.8.tgz", + "integrity": "sha512-ubMFylXYaG4IkXQVhPautbhV/p6Lo0GlvAMI/jh8cGJQ39yeznJbaTTJP2CqZXezA4GOHzalpwCWqux/NEY38w==", + "requires": { + "ansi-escapes": "^4.2.1", + "auto-bind": "4.0.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.0", + "cli-cursor": "^3.1.0", + "cli-truncate": "^2.1.0", + "code-excerpt": "^3.0.0", + "indent-string": "^4.0.0", + "is-ci": "^2.0.0", + "lodash": "^4.17.20", + "patch-console": "^1.0.0", + "react-devtools-core": "^4.6.0", + "react-reconciler": "^0.24.0", + "scheduler": "^0.18.0", + "signal-exit": "^3.0.2", + "slice-ansi": "^3.0.0", + "stack-utils": "^2.0.2", + "string-length": "^3.1.0", + "type-fest": "^0.12.0", + "widest-line": "^3.1.0", + "wrap-ansi": "^6.2.0", + "ws": "^7.2.5", + "yoga-layout-prebuilt": "^1.9.6" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" + } + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "scheduler": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", + "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.12.0.tgz", + "integrity": "sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==" + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "requires": { + "type-fest": "^0.11.0" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" + } + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "requires": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==" + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" + }, + "is-alphanumeric": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", + "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=" + }, + "is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "is-arguments": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "requires": { + "call-bind": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" + }, + "is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, + "is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==" + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" + }, + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + } + }, + "is-invalid-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz", + "integrity": "sha1-MHqFWzzxqTi0TqcNLGEQYFNxTzQ=", + "requires": { + "is-glob": "^2.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "is-jpg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-2.0.0.tgz", + "integrity": "sha1-LhmX+m6RZuqsAkLarkQ0A+TvHZc=" + }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" + }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" + }, + "is-npm": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", + "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + }, + "is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==" + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "requires": { + "is-path-inside": "^2.1.0" + }, + "dependencies": { + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "requires": { + "path-is-inside": "^1.0.2" + } + } + } + }, + "is-path-inside": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", + "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==" + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "is-png": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-png/-/is-png-2.0.0.tgz", + "integrity": "sha512-4KPGizaVGj2LK7xwJIz8o5B2ubu1D/vcQsgOGFEDlpcvgZHto4gBnyd0ig7Ws+67ixmwKoNmu0hYnpo6AaKb5g==" + }, + "is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==" + }, + "is-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.1" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-relative-url": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-relative-url/-/is-relative-url-3.0.0.tgz", + "integrity": "sha512-U1iSYRlY2GIMGuZx7gezlB5dp1Kheaym7zKzO1PV06mOihiWTXejLwm4poEJysPyXF+HtK/BEd0DVlcCh30pEA==", + "requires": { + "is-absolute-url": "^3.0.0" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" + }, + "is-root": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-1.0.0.tgz", + "integrity": "sha1-B7bCM7w5TNnQK6FclmvWZg1jQtU=" + }, + "is-ssh": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.2.tgz", + "integrity": "sha512-elEw0/0c2UscLrNG+OAorbP539E3rhliKPg+hDMWN9VwrDXfYK+4PBEykDPfxlYYtQvl84TascnQyobfQLHEhQ==", + "requires": { + "protocols": "^1.1.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" + }, + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-touch-device": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-touch-device/-/is-touch-device-1.0.1.tgz", + "integrity": "sha512-LAYzo9kMT1b2p19L/1ATGt2XcSilnzNlyvq6c0pbPRVisLbAPpLqr53tIJS00kvrTkj0HtR8U7+u8X0yR8lPSw==" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + }, + "is-valid-path": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz", + "integrity": "sha1-EQ+f90w39mPh7HkV60UfLbk6yd8=", + "requires": { + "is-invalid-path": "^0.1.0" + } + }, + "is-whitespace-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", + "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-word-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", + "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==" + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", + "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==" + }, + "isomorphic-form-data": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isomorphic-form-data/-/isomorphic-form-data-2.0.0.tgz", + "integrity": "sha512-TYgVnXWeESVmQSg4GLVbalmQ+B4NPi/H4eWxqALKj63KsUrcu301YDjBqaOw3h+cbak7Na4Xyps3BiptHtxTfg==", + "requires": { + "form-data": "^2.3.2" + } + }, + "isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==" + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "iterall": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", + "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==" + }, + "jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "requires": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==" + }, + "jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "jimp": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.14.0.tgz", + "integrity": "sha512-8BXU+J8+SPmwwyq9ELihpSV4dWPTiOKBWCEgtkbnxxAVMjXdf3yGmyaLSshBfXc8sP/JQ9OZj5R8nZzz2wPXgA==", + "requires": { + "@babel/runtime": "^7.7.2", + "@jimp/custom": "^0.14.0", + "@jimp/plugins": "^0.14.0", + "@jimp/types": "^0.14.0", + "regenerator-runtime": "^0.13.3" + } + }, + "joi": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.3.0.tgz", + "integrity": "sha512-Qh5gdU6niuYbUIUV5ejbsMiiFmBdw8Kcp8Buj2JntszCkCfxJ9Cz76OtHxOZMPXrt5810iDIXs+n1nNVoquHgg==", + "requires": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.0", + "@sideway/formula": "^3.0.0", + "@sideway/pinpoint": "^2.0.0" + }, + "dependencies": { + "@hapi/hoek": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.1.1.tgz", + "integrity": "sha512-CAEbWH7OIur6jEOzaai83jq3FmKmv4PmX1JYfs9IrYcGEVI/lyL1EXJGCj7eFVJ0bg5QR8LMxBlEtA+xKiLpFw==" + }, + "@hapi/topo": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.0.0.tgz", + "integrity": "sha512-tFJlT47db0kMqVm3H4nQYgn6Pwg10GTZHb1pwmSiv1K4ks6drQOtfEF5ZnPjkvC+y4/bUPHK+bc87QvLcL+WMw==", + "requires": { + "@hapi/hoek": "^9.0.0" + } + } + } + }, + "jpeg-js": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", + "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=", + "requires": { + "string-convert": "^0.2.0" + } + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "jsx-ast-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", + "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", + "requires": { + "array-includes": "^3.1.2", + "object.assign": "^4.1.2" + } + }, + "junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==" + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "language-subtag-registry": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", + "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==" + }, + "language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, + "last-call-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", + "requires": { + "lodash": "^4.17.5", + "webpack-sources": "^1.1.0" + } + }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "requires": { + "package-json": "^6.3.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "line-height": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/line-height/-/line-height-0.3.1.tgz", + "integrity": "sha1-SxIF7d4YKHKl76PI9iCzGHqcVMk=", + "requires": { + "computed-style": "~0.1.3" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + }, + "load-bmfont": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz", + "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==", + "requires": { + "buffer-equal": "0.0.1", + "mime": "^1.3.4", + "parse-bmfont-ascii": "^1.0.3", + "parse-bmfont-binary": "^1.0.5", + "parse-bmfont-xml": "^1.1.4", + "phin": "^2.9.1", + "xhr": "^2.0.1", + "xtend": "^4.0.0" + }, + "dependencies": { + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + } + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + } + } + }, + "loader-fs-cache": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", + "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==", + "requires": { + "find-cache-dir": "^0.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "requires": { + "find-up": "^1.0.0" + } + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lock": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/lock/-/lock-1.1.0.tgz", + "integrity": "sha1-UxV0mdFlOxNspmRRBx/KYVcD+lU=" + }, + "lockfile": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", + "integrity": "sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==", + "requires": { + "signal-exit": "^3.0.2" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + }, + "lodash.deburr": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", + "integrity": "sha1-3bG7s+8HRYwBd7oH3hRCLLAz/5s=" + }, + "lodash.every": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.every/-/lodash.every-4.6.0.tgz", + "integrity": "sha1-64mYS+vENkJ5uzrvu9HKGb+mxqc=" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=" + }, + "lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + }, + "lodash.maxby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.maxby/-/lodash.maxby-4.6.0.tgz", + "integrity": "sha1-CCJABo88eiJ6oAqDgOTzjPB4bj0=" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "lodash.without": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.without/-/lodash.without-4.4.0.tgz", + "integrity": "sha1-PNRXSgC2e643OpS3SHcmQFB7eqw=" + }, + "logalot": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", + "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=", + "requires": { + "figures": "^1.3.5", + "squeak": "^1.0.0" + }, + "dependencies": { + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + } + } + }, + "loglevel": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", + "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==" + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, + "longest-streak": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", + "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "requires": { + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, + "lpad-align": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz", + "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=", + "requires": { + "get-stdin": "^4.0.1", + "indent-string": "^2.1.0", + "longest": "^1.0.0", + "meow": "^3.3.0" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "^2.0.0" + } + } + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "markdown-escapes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", + "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" + }, + "markdown-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", + "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", + "requires": { + "repeat-string": "^1.0.0" + } + }, + "md5-file": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-5.0.0.tgz", + "integrity": "sha512-xbEFXCYVWrSx/gEKS1VPlg84h/4L20znVIulKw6kMfmBUAZNAnF00eczz9ICMl+/hjQGo5KSXRxbL/47X3rmMw==" + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdast-util-compact": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz", + "integrity": "sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==", + "requires": { + "unist-util-visit": "^2.0.0" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "meant": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/meant/-/meant-1.0.3.tgz", + "integrity": "sha512-88ZRGcNxAq4EH38cQ4D85PM57pikCwS8Z99EWHODxN7KBY+UuPiqzRTtZzS8KTXO/ywSWbdjjJST2Hly/EQxLw==" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "memize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/memize/-/memize-1.1.0.tgz", + "integrity": "sha512-K4FcPETOMTwe7KL2LK0orMhpOmWD2wRGwWWpbZy0fyArwsyIKR8YJVz8+efBAh3BO4zPqlSICu4vsLTRRqtFAg==" + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "mime": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==" + }, + "mime-db": { + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==" + }, + "mime-types": { + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", + "requires": { + "mime-db": "1.45.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "requires": { + "dom-walk": "^0.1.0" + } + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" + }, + "mini-css-extract-plugin": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.3.tgz", + "integrity": "sha512-n9BA8LonkOkW1/zn+IbLPQmovsL0wMb9yx75fMJQZf2X1Zoec9yTZtyMePcyu19wPkmFbzZZA6fLTotpFhQsOA==", + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + } + } + }, + "mini-svg-data-uri": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.2.3.tgz", + "integrity": "sha512-zd6KCAyXgmq6FV1mR10oKXYtvmA9vRoB6xPSTUJTbFApCtkefDnYueVR1gkof3KcdLZo1Y8mjF2DFmQMIxsHNQ==" + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "requires": { + "minipass": "^3.0.0" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mitt": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-2.1.0.tgz", + "integrity": "sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==" + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" + }, + "moment-timezone": { + "version": "0.5.32", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.32.tgz", + "integrity": "sha512-Z8QNyuQHQAmWucp8Knmgei8YNo28aLjJq6Ma+jy1ZSpSk5nyfRT8xgUbSQvD2+2UajISfenndwvFuH3NGS+nvA==", + "requires": { + "moment": ">= 2.9.0" + } + }, + "mousetrap": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.5.tgz", + "integrity": "sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==" + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "mozjpeg": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/mozjpeg/-/mozjpeg-7.0.0.tgz", + "integrity": "sha512-mH7atSbIusVTO3A4H43sEdmveN3aWn54k6V0edefzCEvOsTrbjg5murY2TsNznaztWnIgaRbWxeLVp4IgKdedQ==", + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.0", + "logalot": "^2.1.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "name-all-modules-plugin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/name-all-modules-plugin/-/name-all-modules-plugin-1.0.1.tgz", + "integrity": "sha1-Cr+2rYNXGLn7Te8GdOBmV6lUN1w=" + }, + "nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + }, + "native-url": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz", + "integrity": "sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==", + "requires": { + "querystring": "^0.2.0" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "needle": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz", + "integrity": "sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==", + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "node-abi": { + "version": "2.19.3", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.19.3.tgz", + "integrity": "sha512-9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg==", + "requires": { + "semver": "^5.4.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "node-addon-api": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.1.0.tgz", + "integrity": "sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==" + }, + "node-eta": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-eta/-/node-eta-0.9.0.tgz", + "integrity": "sha1-n7CwmbzSoCGUDmA8ZCVNwAPZp6g=" + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } + } + } + }, + "node-object-hash": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-object-hash/-/node-object-hash-2.1.2.tgz", + "integrity": "sha512-ltdyKf+VUyPHI/FUWC053xCm0Fs3LfUvsI5eqAmQJ6KZSoXAdTWkm6EWFfeTy5SyJTVptTdPn1X8C4EUwo0T1Q==" + }, + "node-releases": { + "version": "1.1.70", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", + "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==" + }, + "noms": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz", + "integrity": "sha1-2o69nzr51nYJGbJ9nNyAkqczKFk=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "~1.0.31" + } + }, + "noop-logger": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", + "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" + }, + "normalize-wheel": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz", + "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=" + }, + "npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + }, + "dependencies": { + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + } + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + }, + "null-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-3.0.0.tgz", + "integrity": "sha512-hf5sNLl8xdRho4UPBOOeoIwT3WhjYcMUQm0zj44EhD6UscMAz72o2udpoDFBgykucdEDGIcd6SXbc/G6zssbzw==", + "requires": { + "loader-utils": "^1.2.3", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-fit-images": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/object-fit-images/-/object-fit-images-3.2.4.tgz", + "integrity": "sha512-G+7LzpYfTfqUyrZlfrou/PLLLAPNC52FTy5y1CBywX+1/FkxIloOyQXBmZ3Zxa2AWO+lMF0JTuvqbr7G5e5CWg==" + }, + "object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", + "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==" + }, + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + }, + "object-is": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", + "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-path": { + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.5.tgz", + "integrity": "sha512-jgSbThcoR/s+XumvGMTMf81QVBmah+/Q7K7YduKeKVWL7N111unR2d6pZZarSk6kY/caeNxUDyxOvMWyzoU2eg==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", + "integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + } + } + } + }, + "object.fromentries": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.3.tgz", + "integrity": "sha512-IDUSMXs6LOSJBWE++L0lzIbSqHl9KDCfff2x/JSEIDtEUavUnyMYC2ZGay/04Zq4UT8lvd4xNhU4/YHKibAOlw==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + } + } + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + } + } + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "object.values": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", + "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + } + } + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "omggif": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz", + "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.0.tgz", + "integrity": "sha512-PGoBCX/lclIWlpS/R2PQuIR4NJoXh6X5AwVzE7WXnWRGvHg7+4TBCgsujUgiPpm0K1y4qvQeWnCWVTpTKZBtvA==", + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + } + }, + "opentracing": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/opentracing/-/opentracing-0.14.5.tgz", + "integrity": "sha512-XLKtEfHxqrWyF1fzxznsv78w3csW41ucHnjiKnfzZLD5FN8UBDZZL1i4q0FR29zjxXhm+2Hop+5Vr/b8tKIvEg==" + }, + "opn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", + "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==", + "requires": { + "is-wsl": "^1.1.0" + }, + "dependencies": { + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + } + } + }, + "optimize-css-assets-webpack-plugin": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz", + "integrity": "sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A==", + "requires": { + "cssnano": "^4.1.10", + "last-call-webpack-plugin": "^3.0.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "os-filter-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz", + "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==", + "requires": { + "arch": "^2.1.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "ow": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/ow/-/ow-0.17.0.tgz", + "integrity": "sha512-i3keDzDQP5lWIe4oODyDFey1qVrq2hXKTuTH2VpqwpYtzPiKZt2ziRI4NBQmgW40AnV5Euz17OyWweCb+bNEQA==", + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" + } + } + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + }, + "p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" + }, + "p-event": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", + "requires": { + "p-timeout": "^3.1.0" + }, + "dependencies": { + "p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "requires": { + "p-finally": "^1.0.0" + } + } + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-map-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", + "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=", + "requires": { + "p-reduce": "^1.0.0" + } + }, + "p-pipe": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", + "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==" + }, + "p-queue": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", + "requires": { + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" + }, + "dependencies": { + "p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "requires": { + "p-finally": "^1.0.0" + } + } + } + }, + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=" + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "requires": { + "retry": "^0.12.0" + } + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "requires": { + "p-finally": "^1.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "dependencies": { + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-bmfont-ascii": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", + "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=" + }, + "parse-bmfont-binary": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", + "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=" + }, + "parse-bmfont-xml": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz", + "integrity": "sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==", + "requires": { + "xml-parse-from-string": "^1.0.0", + "xml2js": "^0.4.5" + } + }, + "parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "parse-headers": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", + "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" + }, + "parse-path": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz", + "integrity": "sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA==", + "requires": { + "is-ssh": "^1.3.0", + "protocols": "^1.4.0", + "qs": "^6.9.4", + "query-string": "^6.13.8" + }, + "dependencies": { + "qs": { + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==" + } + } + }, + "parse-url": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-5.0.2.tgz", + "integrity": "sha512-Czj+GIit4cdWtxo3ISZCvLiUjErSo0iI3wJ+q9Oi3QuMYTI6OZu+7cewMWZ+C1YAnKhYTk6/TLuhIgCypLthPA==", + "requires": { + "is-ssh": "^1.3.0", + "normalize-url": "^3.3.0", + "parse-path": "^4.0.0", + "protocols": "^1.4.0" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "requires": { + "parse5": "^6.0.1" + } + }, + "parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "password-prompt": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz", + "integrity": "sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==", + "requires": { + "ansi-escapes": "^3.1.0", + "cross-spawn": "^6.0.5" + } + }, + "patch-console": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/patch-console/-/patch-console-1.0.0.tgz", + "integrity": "sha512-nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA==" + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "requires": { + "isarray": "0.0.1" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "peek-readable": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.3.tgz", + "integrity": "sha512-mpAcysyRJxmICBcBa5IXH7SZPvWkcghm6Fk8RekoS3v+BpbSzlZzuWbMx+GXrlUwESi9qHar4nVEZNMKylIHvg==" + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "phin": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", + "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==" + }, + "physical-cpu-count": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz", + "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=" + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pixelmatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", + "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", + "requires": { + "pngjs": "^3.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + } + } + }, + "pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==" + }, + "pngquant-bin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-6.0.0.tgz", + "integrity": "sha512-oXWAS9MQ9iiDAJRdAZ9KO1mC5UwhzKkJsmetiu0iqIjJuW7JsuLhmc4JdRm7uJkIWRzIAou/Vq2VcjfJwz30Ow==", + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.1", + "execa": "^4.0.0", + "logalot": "^2.0.0" + } + }, + "pnp-webpack-plugin": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", + "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", + "requires": { + "ts-pnp": "^1.1.6" + } + }, + "popmotion": { + "version": "9.0.0-rc.20", + "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-9.0.0-rc.20.tgz", + "integrity": "sha512-f98sny03WuA+c8ckBjNNXotJD4G2utG/I3Q23NU69OEafrXtxxSukAaJBxzbtxwDvz3vtZK69pu9ojdkMoBNTg==", + "requires": { + "framesync": "^4.1.0", + "hey-listen": "^1.0.8", + "style-value-types": "^3.1.9", + "tslib": "^1.10.0" + } + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-flexbugs-fixes": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz", + "integrity": "sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==", + "requires": { + "postcss": "^7.0.26" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", + "requires": { + "postcss": "^6.0.1" + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-selector-parser": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", + "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "requires": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "potrace": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/potrace/-/potrace-2.1.8.tgz", + "integrity": "sha512-V9hI7UMJyEhNZjM8CbZaP/804ZRLgzWkCS9OOYnEZkszzj3zKR/erRdj0uFMcN3pp6x4B+AIZebmkQgGRinG/g==", + "requires": { + "jimp": "^0.14.0" + } + }, + "prebuild-install": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.0.0.tgz", + "integrity": "sha512-h2ZJ1PXHKWZpp1caLw0oX9sagVpL2YTk+ZwInQbQ3QqNd4J03O6MpFNmMTJlkfgPENWqe5kP0WjQLqz5OjLfsw==", + "requires": { + "detect-libc": "^1.0.3", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^2.7.0", + "noop-logger": "^0.1.1", + "npmlog": "^4.0.1", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^3.0.3", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0", + "which-pm-runs": "^1.0.0" + }, + "dependencies": { + "decompress-response": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", + "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "requires": { + "mimic-response": "^2.0.0" + } + }, + "mimic-response": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==" + }, + "simple-get": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz", + "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==", + "requires": { + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + } + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, + "prettier": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.2.tgz", + "integrity": "sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==" + }, + "pretty-bytes": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.5.0.tgz", + "integrity": "sha512-p+T744ZyjjiaFlMUZZv6YPC5JrkNj8maRmPaQCWFJFplUAzpIUTRaTcS+7wmZtUoFXHtESJb23ISliaWyz3SHA==" + }, + "pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "requires": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, + "probe-image-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-6.0.0.tgz", + "integrity": "sha512-99PZ5+RU4gqiTfK5ZDMDkZtn6eL4WlKfFyVJV7lFQvH3iGmQ85DqMTOdxorERO26LHkevR2qsxnHp0x/2UDJPA==", + "requires": { + "deepmerge": "^4.0.0", + "needle": "^2.5.2", + "stream-parser": "~0.3.1" + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + }, + "prompts": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", + "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "prop-types-exact": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/prop-types-exact/-/prop-types-exact-1.2.0.tgz", + "integrity": "sha512-K+Tk3Kd9V0odiXFP9fwDHUYRyvK3Nun3GVyPapSIs5OBkITAm15W0CPFD/YKTkMUAbc0b9CUwRQp2ybiBIq+eA==", + "requires": { + "has": "^1.0.3", + "object.assign": "^4.1.0", + "reflect.ownkeys": "^0.2.0" + } + }, + "proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "requires": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" + }, + "protocols": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz", + "integrity": "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==" + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "requires": { + "escape-goat": "^2.0.0" + } + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "query-string": { + "version": "6.13.8", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.13.8.tgz", + "integrity": "sha512-jxJzQI2edQPE/NPUOusNjO/ZOGqr1o2OBa/3M00fU76FsLXDVbJDv/p7ng5OdQyorKrkRz1oqfwmbe5MAMePQg==", + "requires": { + "decode-uri-component": "^0.2.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=" + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + } + } + }, + "re-resizable": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/re-resizable/-/re-resizable-6.9.0.tgz", + "integrity": "sha512-3cUDG81ylyqI0Pdgle/RHwwRYq0ORZzsUaySOCO8IbEtNyaRtrIHYm/jMQ5pjcNiKCxR3vsSymIQZHwJq4gg2Q==", + "requires": { + "fast-memoize": "^2.5.1" + } + }, + "react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + } + }, + "react-addons-shallow-compare": { + "version": "15.6.3", + "resolved": "https://registry.npmjs.org/react-addons-shallow-compare/-/react-addons-shallow-compare-15.6.3.tgz", + "integrity": "sha512-EDJbgKTtGRLhr3wiGDXK/+AEJ59yqGS+tKE6mue0aNXT6ZMR7VJbbzIiT6akotmHg1BLj46ElJSb+NBMp80XBg==", + "requires": { + "object-assign": "^4.1.0" + } + }, + "react-autosize-textarea": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/react-autosize-textarea/-/react-autosize-textarea-7.1.0.tgz", + "integrity": "sha512-BHpjCDkuOlllZn3nLazY2F8oYO1tS2jHnWhcjTWQdcKiiMU6gHLNt/fzmqMSyerR0eTdKtfSIqtSeTtghNwS+g==", + "requires": { + "autosize": "^4.0.2", + "line-height": "^0.3.1", + "prop-types": "^15.5.6" + } + }, + "react-colorful": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-4.4.4.tgz", + "integrity": "sha512-01V2/6rr6sa1vaZntWZJXZxnU7ew02NG2rqq0eoVp4d3gFU5Ug9lDzNMbr+8ns0byXsJbBR8LbwQTlAjz6x7Kg==" + }, + "react-dates": { + "version": "17.2.0", + "resolved": "https://registry.npmjs.org/react-dates/-/react-dates-17.2.0.tgz", + "integrity": "sha512-RDlerU8DdRRrlYS0MQ7Z9igPWABGLDwz6+ykBNff67RM3Sset2TDqeuOr+R5o00Ggn5U47GeLsGcSDxlZd9cHw==", + "requires": { + "airbnb-prop-types": "^2.10.0", + "consolidated-events": "^1.1.1 || ^2.0.0", + "is-touch-device": "^1.0.1", + "lodash": "^4.1.1", + "object.assign": "^4.1.0", + "object.values": "^1.0.4", + "prop-types": "^15.6.1", + "react-addons-shallow-compare": "^15.6.2", + "react-moment-proptypes": "^1.6.0", + "react-outside-click-handler": "^1.2.0", + "react-portal": "^4.1.5", + "react-with-styles": "^3.2.0", + "react-with-styles-interface-css": "^4.0.2" + } + }, + "react-dev-utils": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-4.2.3.tgz", + "integrity": "sha512-uvmkwl5uMexCmC0GUv1XGQP0YjfYePJufGg4YYiukhqk2vN1tQxwWJIBERqhOmSi80cppZg8mZnPP/kOMf1sUQ==", + "requires": { + "address": "1.0.3", + "babel-code-frame": "6.26.0", + "chalk": "1.1.3", + "cross-spawn": "5.1.0", + "detect-port-alt": "1.1.3", + "escape-string-regexp": "1.0.5", + "filesize": "3.5.11", + "global-modules": "1.0.0", + "gzip-size": "3.0.0", + "inquirer": "3.3.0", + "is-root": "1.0.0", + "opn": "5.1.0", + "react-error-overlay": "^3.0.0", + "recursive-readdir": "2.2.1", + "shell-quote": "1.6.1", + "sockjs-client": "1.1.4", + "strip-ansi": "3.0.1", + "text-table": "0.2.0" + }, + "dependencies": { + "address": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/address/-/address-1.0.3.tgz", + "integrity": "sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg==" + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "detect-port-alt": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.3.tgz", + "integrity": "sha1-pNLwYddXoDTs83xRQmCph1DysTE=", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } + } + }, + "react-devtools-core": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.10.1.tgz", + "integrity": "sha512-sXbBjGAWcf9HAblTP/zMtFhGHqxAfIR+GPxONZsSGN9FHnF4635dx1s2LdQWG9rJ+Ehr3nWg+BUAB6P78my5PA==", + "requires": { + "shell-quote": "^1.6.1", + "ws": "^7" + } + }, + "react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + } + }, + "react-easy-crop": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/react-easy-crop/-/react-easy-crop-3.3.1.tgz", + "integrity": "sha512-fM249ldk9OBONAgkskWVU3sLLP/hkjqmjY0Ah8V9CNlK2aiasNuHJw6vYCtaESR7CrEP3+XvfG1oO3y5hP6CuQ==", + "requires": { + "normalize-wheel": "^1.0.1", + "tslib": "2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", + "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" + } + } + }, + "react-error-overlay": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-3.0.0.tgz", + "integrity": "sha512-XzgvowFrwDo6TWcpJ/WTiarb9UI6lhA4PMzS7n1joK3sHfBBBOQHUc0U4u57D6DWO9vHv6lVSWx2Q/Ymfyv4hw==" + }, + "react-fast-compare": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz", + "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==" + }, + "react-helmet": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-5.2.1.tgz", + "integrity": "sha512-CnwD822LU8NDBnjCpZ4ySh8L6HYyngViTZLfBBb3NjtrpN8m49clH8hidHouq20I51Y6TpCTISCBbqiY5GamwA==", + "requires": { + "object-assign": "^4.1.1", + "prop-types": "^15.5.4", + "react-fast-compare": "^2.0.2", + "react-side-effect": "^1.1.0" + } + }, + "react-hot-loader": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.13.0.tgz", + "integrity": "sha512-JrLlvUPqh6wIkrK2hZDfOyq/Uh/WeVEr8nc7hkn2/3Ul0sx1Kr5y4kOGNacNRoj7RhwLNcQ3Udf1KJXrqc0ZtA==", + "requires": { + "fast-levenshtein": "^2.0.6", + "global": "^4.3.0", + "hoist-non-react-statics": "^3.3.0", + "loader-utils": "^1.1.0", + "prop-types": "^15.6.1", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "react-merge-refs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/react-merge-refs/-/react-merge-refs-1.1.0.tgz", + "integrity": "sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==" + }, + "react-moment-proptypes": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/react-moment-proptypes/-/react-moment-proptypes-1.7.0.tgz", + "integrity": "sha512-ZbOn/P4u469WEGAw5hgkS/E+g1YZqdves2BjYsLluJobzUZCtManhjHiZKjniBVT7MSHM6D/iKtRVzlXVv3ikA==", + "requires": { + "moment": ">=1.6.0" + } + }, + "react-native-url-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/react-native-url-polyfill/-/react-native-url-polyfill-1.2.0.tgz", + "integrity": "sha512-hpLZ8RyS3oGVyTOe/HjoqVoCOSkeJvrCoEB3bJsY7t9uh7kpQDV6kgvdlECEafYpxe3RzMrKLVcmWRbPU7CuAw==", + "requires": { + "whatwg-url-without-unicode": "8.0.0-3" + } + }, + "react-outside-click-handler": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-outside-click-handler/-/react-outside-click-handler-1.3.0.tgz", + "integrity": "sha512-Te/7zFU0oHpAnctl//pP3hEAeobfeHMyygHB8MnjP6sX5OR8KHT1G3jmLsV3U9RnIYo+Yn+peJYWu+D5tUS8qQ==", + "requires": { + "airbnb-prop-types": "^2.15.0", + "consolidated-events": "^1.1.1 || ^2.0.0", + "document.contains": "^1.0.1", + "object.values": "^1.1.0", + "prop-types": "^15.7.2" + } + }, + "react-portal": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/react-portal/-/react-portal-4.2.1.tgz", + "integrity": "sha512-fE9kOBagwmTXZ3YGRYb4gcMy+kSA+yLO0xnPankjRlfBv4uCpFXqKPfkpsGQQR15wkZ9EssnvTOl1yMzbkxhPQ==", + "requires": { + "prop-types": "^15.5.8" + } + }, + "react-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-property/-/react-property-1.0.1.tgz", + "integrity": "sha512-1tKOwxFn3dXVomH6pM9IkLkq2Y8oh+fh/lYW3MJ/B03URswUTqttgckOlbxY2XHF3vPG6uanSc4dVsLW/wk3wQ==" + }, + "react-reconciler": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.24.0.tgz", + "integrity": "sha512-gAGnwWkf+NOTig9oOowqid9O0HjTDC+XVGBCAmJYYJ2A2cN/O4gDdIuuUQjv8A4v6GDwVfJkagpBBLW5OW9HSw==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.18.0" + }, + "dependencies": { + "scheduler": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", + "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } + } + }, + "react-refresh": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz", + "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==" + }, + "react-resize-aware": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/react-resize-aware/-/react-resize-aware-3.1.0.tgz", + "integrity": "sha512-bIhHlxVTX7xKUz14ksXMEHjzCZPTpQZKZISY3nbTD273pDKPABGFNFBP6Tr42KECxzC5YQiKpMchjTVJCqaxpA==" + }, + "react-side-effect": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-1.2.0.tgz", + "integrity": "sha512-v1ht1aHg5k/thv56DRcjw+WtojuuDHFUgGfc+bFHOWsF4ZK6C2V57DO0Or0GPsg6+LSTE0M6Ry/gfzhzSwbc5w==", + "requires": { + "shallowequal": "^1.0.1" + } + }, + "react-spring": { + "version": "8.0.27", + "resolved": "https://registry.npmjs.org/react-spring/-/react-spring-8.0.27.tgz", + "integrity": "sha512-nDpWBe3ZVezukNRandTeLSPcwwTMjNVu1IDq9qA/AMiUqHuRN4BeSWvKr3eIxxg1vtiYiOLy4FqdfCP5IoP77g==", + "requires": { + "@babel/runtime": "^7.3.1", + "prop-types": "^15.5.8" + } + }, + "react-textarea-autosize": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.0.tgz", + "integrity": "sha512-3GLWFAan2pbwBeoeNDoqGmSbrShORtgWfaWX0RJDivsUrpShh01saRM5RU/i4Zmf+whpBVEY5cA90Eq8Ub1N3w==", + "requires": { + "@babel/runtime": "^7.10.2", + "use-composed-ref": "^1.0.0", + "use-latest": "^1.0.0" + } + }, + "react-use-gesture": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/react-use-gesture/-/react-use-gesture-9.0.0.tgz", + "integrity": "sha512-inTAcmX0Y8LWr7XViim5+6XlTsJ7kCgwYRrwxSu1Vkjv+8GyClHITFkGGKYXAv5QywZ8YqiJXpzFx8RZpEVF+w==" + }, + "react-with-direction": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/react-with-direction/-/react-with-direction-1.3.1.tgz", + "integrity": "sha512-aGcM21ZzhqeXFvDCfPj0rVNYuaVXfTz5D3Rbn0QMz/unZe+CCiLHthrjQWO7s6qdfXORgYFtmS7OVsRgSk5LXQ==", + "requires": { + "airbnb-prop-types": "^2.10.0", + "brcast": "^2.0.2", + "deepmerge": "^1.5.2", + "direction": "^1.0.2", + "hoist-non-react-statics": "^3.3.0", + "object.assign": "^4.1.0", + "object.values": "^1.0.4", + "prop-types": "^15.6.2" + }, + "dependencies": { + "deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==" + } + } + }, + "react-with-styles": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/react-with-styles/-/react-with-styles-3.2.3.tgz", + "integrity": "sha512-MTI1UOvMHABRLj5M4WpODfwnveHaip6X7QUMI2x6zovinJiBXxzhA9AJP7MZNaKqg1JRFtHPXZdroUC8KcXwlQ==", + "requires": { + "hoist-non-react-statics": "^3.2.1", + "object.assign": "^4.1.0", + "prop-types": "^15.6.2", + "react-with-direction": "^1.3.0" + } + }, + "react-with-styles-interface-css": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/react-with-styles-interface-css/-/react-with-styles-interface-css-4.0.3.tgz", + "integrity": "sha512-wE43PIyjal2dexxyyx4Lhbcb+E42amoYPnkunRZkb9WTA+Z+9LagbyxwsI352NqMdFmghR0opg29dzDO4/YXbw==", + "requires": { + "array.prototype.flat": "^1.2.1", + "global-cache": "^1.2.1" + } + }, + "read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "requires": { + "mute-stream": "~0.0.4" + } + }, + "read-chunk": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-3.2.0.tgz", + "integrity": "sha512-CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ==", + "requires": { + "pify": "^4.0.1", + "with-open-file": "^0.1.6" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, + "dependencies": { + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "requires": { + "pify": "^2.0.0" + } + } + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + } + } + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "readable-web-to-node-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-2.0.0.tgz", + "integrity": "sha512-+oZJurc4hXpaaqsN68GoZGQAQIA3qr09Or4fqEsargABnbe5Aau8hFn6ISVleT3cpY/0n/8drn7huyyEvTbghA==" + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "reakit": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/reakit/-/reakit-1.3.5.tgz", + "integrity": "sha512-Luv1RPBFlWhRG32Ysjd86KC+vLoz5da3X0O8rqClaNEv259nWmnw5fG6BIUSYJwTG6PPxTidPlS+9bS6nLstfA==", + "requires": { + "@popperjs/core": "^2.5.4", + "body-scroll-lock": "^3.1.5", + "reakit-system": "^0.15.1", + "reakit-utils": "^0.15.1", + "reakit-warning": "^0.6.1" + }, + "dependencies": { + "reakit-system": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/reakit-system/-/reakit-system-0.15.1.tgz", + "integrity": "sha512-PkqfAyEohtcEu/gUvKriCv42NywDtUgvocEN3147BI45dOFAB89nrT7wRIbIcKJiUT598F+JlPXAZZVLWhc1Kg==", + "requires": { + "reakit-utils": "^0.15.1" + } + }, + "reakit-utils": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/reakit-utils/-/reakit-utils-0.15.1.tgz", + "integrity": "sha512-6cZgKGvOkAMQgkwU9jdYbHfkuIN1Pr+vwcB19plLvcTfVN0Or10JhIuj9X+JaPZyI7ydqTDFaKNdUcDP69o/+Q==" + }, + "reakit-warning": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/reakit-warning/-/reakit-warning-0.6.1.tgz", + "integrity": "sha512-poFUV0EyxB+CcV9uTNBAFmcgsnR2DzAbOTkld4Ul+QOKSeEHZB3b3+MoZQgcYHmbvG19Na1uWaM7ES+/Eyr8tQ==", + "requires": { + "reakit-utils": "^0.15.1" + } + } + } + }, + "reakit-system": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/reakit-system/-/reakit-system-0.13.1.tgz", + "integrity": "sha512-qglfQ53FsJh5+VSkjMtBg7eZiowj9zXOyfJJxfaXh/XYTVe/5ibzWg6rvGHyvSm6C3D7Q2sg/NPCLmCtYGGvQA==", + "requires": { + "reakit-utils": "^0.13.1" + }, + "dependencies": { + "reakit-utils": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/reakit-utils/-/reakit-utils-0.13.1.tgz", + "integrity": "sha512-NBKgsot3tU91gZgK5MTInI/PR0T3kIsTmbU5MbGggSOcwU2dG/kbE8IrM2lC6ayCSL2W2QWkijT6kewdrIX7Gw==" + } + } + }, + "reakit-utils": { + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/reakit-utils/-/reakit-utils-0.14.4.tgz", + "integrity": "sha512-jDEf/NmZVJ6fs10G16ifD+RFhQikSLN7VfjRHu0CPoUj4g6lFXd5PPcRXCY81qiqc9FVHjr2d2fmsw1hs6xUxA==" + }, + "reakit-warning": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/reakit-warning/-/reakit-warning-0.5.5.tgz", + "integrity": "sha512-OuP1r7rlSSJZsoLuc0CPA2ACPKnWO8HDbFktiiidbT67UjuX6udYV1AUsIgMJ8ado9K5gZGjPj7IB/GDYo9Yjg==", + "requires": { + "reakit-utils": "^0.14.4" + } + }, + "recursive-readdir": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.1.tgz", + "integrity": "sha1-kO8jHQd4xc4JPJpI105cVCLROpk=", + "requires": { + "minimatch": "3.0.3" + }, + "dependencies": { + "minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", + "requires": { + "brace-expansion": "^1.0.0" + } + } + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "^2.0.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "requires": { + "get-stdin": "^4.0.1" + } + } + } + }, + "redux": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz", + "integrity": "sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==", + "requires": { + "loose-envify": "^1.4.0", + "symbol-observable": "^1.2.0" + } + }, + "redux-multi": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/redux-multi/-/redux-multi-0.1.12.tgz", + "integrity": "sha1-KOH+XklnLLxb2KB/Cyrq8O+DVcI=" + }, + "redux-thunk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", + "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==" + }, + "reflect.ownkeys": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz", + "integrity": "sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=" + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==" + }, + "regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "registry-auth-token": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", + "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", + "requires": { + "rc": "^1.2.8" + } + }, + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "requires": { + "rc": "^1.2.8" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" + }, + "regjsparser": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.7.tgz", + "integrity": "sha512-ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + } + } + }, + "remark-mdx": { + "version": "2.0.0-next.8", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.0.0-next.8.tgz", + "integrity": "sha512-mjP0yo6BgjYrx5a+gKWYRFWbGnRiWi4Fdf17xGCr9VkSMnG4Dyo06spqbaLfHwl0KkQ/RQZlR2sn1mKnYduJdw==", + "requires": { + "parse-entities": "^2.0.0", + "remark-stringify": "^8.1.0", + "stringify-entities": "^3.0.1", + "strip-indent": "^3.0.0", + "unist-util-stringify-position": "^2.0.3" + } + }, + "remark-mdxjs": { + "version": "2.0.0-next.8", + "resolved": "https://registry.npmjs.org/remark-mdxjs/-/remark-mdxjs-2.0.0-next.8.tgz", + "integrity": "sha512-Z/+0eWc7pBEABwg3a5ptL+vCTWHYMFnYzpLoJxTm2muBSk8XyB/CL+tEJ6SV3Q/fScHX2dtG4JRcGSpbZFLazQ==", + "requires": { + "@babel/core": "7.10.5", + "@babel/helper-plugin-utils": "7.10.4", + "@babel/plugin-proposal-object-rest-spread": "7.10.4", + "@babel/plugin-syntax-jsx": "7.10.4", + "@mdx-js/util": "^2.0.0-next.8" + }, + "dependencies": { + "@babel/core": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.5.tgz", + "integrity": "sha512-O34LQooYVDXPl7QWCdW9p4NR+QlzOr7xShPPJz8GsuCU3/8ua/wqTr7gmnxXv+WBESiGU/G5s16i6tUvHkNb+w==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.10.5", + "@babel/helper-module-transforms": "^7.10.5", + "@babel/helpers": "^7.10.4", + "@babel/parser": "^7.10.5", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.5", + "@babel/types": "^7.10.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz", + "integrity": "sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.10.4" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz", + "integrity": "sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "remark-parse": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz", + "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==", + "requires": { + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^1.1.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^1.0.0", + "vfile-location": "^2.0.0", + "xtend": "^4.0.1" + }, + "dependencies": { + "parse-entities": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", + "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + } + } + }, + "remark-stringify": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.1.1.tgz", + "integrity": "sha512-q4EyPZT3PcA3Eq7vPpT6bIdokXzFGp9i85igjmhRyXWmPs0Y6/d2FYwUNotKAWyLch7g0ASZJn/KHHcHZQ163A==", + "requires": { + "ccount": "^1.0.0", + "is-alphanumeric": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "longest-streak": "^2.0.1", + "markdown-escapes": "^1.0.0", + "markdown-table": "^2.0.0", + "mdast-util-compact": "^2.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "stringify-entities": "^3.0.0", + "unherit": "^1.0.4", + "xtend": "^4.0.1" + } + }, + "rememo": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rememo/-/rememo-3.0.0.tgz", + "integrity": "sha512-eWtut/7pqMRnSccbexb647iPjN7ir6Tmf4RG92ZVlykFEkHqGYy9tWnpHH3I+FS+WQ6lQ1i1iDgarYzGKgTcRQ==" + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "renderkid": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", + "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", + "requires": { + "css-select": "^2.0.2", + "dom-converter": "^0.2", + "htmlparser2": "^3.10.1", + "lodash": "^4.17.20", + "strip-ansi": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "^1.0.0" + } + }, + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==" + }, + "replaceall": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/replaceall/-/replaceall-0.1.6.tgz", + "integrity": "sha1-gdgax663LX9cSUKt8ml6MiBojY4=" + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "require-package-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz", + "integrity": "sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk=" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "resolve-alpn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.0.0.tgz", + "integrity": "sha512-rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA==" + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + } + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rtlcss": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-2.6.2.tgz", + "integrity": "sha512-06LFAr+GAPo+BvaynsXRfoYTJvSaWRyOhURCQ7aeI1MKph9meM222F+Zkt3bDamyHHJuGi3VPtiRkpyswmQbGA==", + "requires": { + "@choojs/findup": "^0.2.1", + "chalk": "^2.4.2", + "mkdirp": "^0.5.1", + "postcss": "^6.0.23", + "strip-json-comments": "^2.0.0" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" + }, + "run-parallel": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", + "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==" + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "requires": { + "aproba": "^1.1.1" + } + }, + "rungen": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/rungen/-/rungen-0.3.2.tgz", + "integrity": "sha1-QAwJ6+kU57F+C27zJjQA/Cq8fLM=" + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=" + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "requires": { + "rx-lite": "*" + } + }, + "rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "requires": { + "commander": "^2.8.1" + } + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=" + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" + }, + "selfsigned": { + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", + "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", + "requires": { + "node-forge": "^0.10.0" + } + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "requires": { + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "semver-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", + "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==" + }, + "semver-truncate": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", + "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", + "requires": { + "semver": "^5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-compare": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/shallow-compare/-/shallow-compare-1.2.2.tgz", + "integrity": "sha512-LUMFi+RppPlrHzbqmFnINTrazo0lPNwhcgzuAXVVcfy/mqPDrQmHAyz5bvV0gDAuRFrk804V0HpQ6u9sZ0tBeg==" + }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "sharp": { + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.27.1.tgz", + "integrity": "sha512-IQNXWdspb4nZcJemXa6cfgz+JvKONsuqP8Mwi1Oti23Uo7+J+UF2jihJDf6I1BQbrmhcZ0lagH/1WYG+ReAzyQ==", + "requires": { + "array-flatten": "^3.0.0", + "color": "^3.1.3", + "detect-libc": "^1.0.3", + "node-addon-api": "^3.1.0", + "npmlog": "^4.1.2", + "prebuild-install": "^6.0.0", + "semver": "^7.3.4", + "simple-get": "^4.0.0", + "tar-fs": "^2.1.1", + "tunnel-agent": "^0.6.0" + }, + "dependencies": { + "array-flatten": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-3.0.0.tgz", + "integrity": "sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA==" + } + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "requires": { + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" + } + }, + "showdown": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/showdown/-/showdown-1.9.1.tgz", + "integrity": "sha512-9cGuS382HcvExtf5AHk7Cb4pAeQQ+h0eTr33V1mu+crYWV4KvWAw6el92bDrqGEk5d46Ai/fhbEUwqJ/mTCNEA==", + "requires": { + "yargs": "^14.2" + } + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" + }, + "simple-get": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.0.tgz", + "integrity": "sha512-ZalZGexYr3TA0SwySsr5HlgOOinS4Jsa8YB2GJ6lUNAazyAu4KG/VmzMTwAt2YVXzzVj8QmefmAonZIK2BSGcQ==", + "requires": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + }, + "dependencies": { + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "requires": { + "mimic-response": "^3.1.0" + } + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + } + } + }, + "simple-html-tokenizer": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/simple-html-tokenizer/-/simple-html-tokenizer-0.5.10.tgz", + "integrity": "sha512-1DHMUmvUOGuUZ9/+cX/+hOhWhRD5dEw6lodn8WuV+T+cQ31hhBcCu1dcDsNotowi4mMaNhrLyKoS+DtB81HdDA==" + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + } + } + }, + "single-trailing-newline": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/single-trailing-newline/-/single-trailing-newline-1.0.0.tgz", + "integrity": "sha1-gfCtKtZFGBlFyAlSpcFBSZLulmQ=", + "requires": { + "detect-newline": "^1.0.3" + } + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "slugify": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.4.6.tgz", + "integrity": "sha512-ZdJIgv9gdrYwhXqxsH9pv7nXxjUEyQ6nqhngRxoAAOlmMGA28FDq5O4/5US4G2/Nod7d1ovNcgURQJ7kHq50KQ==" + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "socket.io": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz", + "integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==", + "requires": { + "debug": "~4.1.0", + "engine.io": "~3.4.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.3.0", + "socket.io-parser": "~3.4.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "socket.io-adapter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", + "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==" + }, + "socket.io-client": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", + "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "engine.io-client": "~3.4.0", + "has-binary2": "~1.0.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.3.0", + "to-array": "0.1.4" + }, + "dependencies": { + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "socket.io-parser": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", + "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==", + "requires": { + "component-emitter": "~1.3.0", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + } + } + }, + "socket.io-parser": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz", + "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==", + "requires": { + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + } + } + }, + "sockjs": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + }, + "dependencies": { + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, + "sockjs-client": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", + "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", + "requires": { + "debug": "^2.6.6", + "eventsource": "0.1.6", + "faye-websocket": "~0.11.0", + "inherits": "^2.0.1", + "json3": "^3.3.2", + "url-parse": "^1.1.8" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "eventsource": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "requires": { + "original": ">=0.0.5" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "requires": { + "is-plain-obj": "^1.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + } + } + }, + "sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", + "requires": { + "sort-keys": "^1.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "requires": { + "is-plain-obj": "^1.0.0" + } + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==" + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + } + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" + }, + "squeak": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz", + "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=", + "requires": { + "chalk": "^1.0.0", + "console-stream": "^0.1.1", + "lpad-align": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "sse-z": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/sse-z/-/sse-z-0.3.0.tgz", + "integrity": "sha512-jfcXynl9oAOS9YJ7iqS2JMUEHOlvrRAD+54CENiWnc4xsuVLQVSgmwf7cwOTcBd/uq3XkQKBGojgvEtVXcJ/8w==" + }, + "ssri": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", + "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", + "requires": { + "figgy-pudding": "^3.5.1", + "minipass": "^3.1.1" + } + }, + "st": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/st/-/st-2.0.0.tgz", + "integrity": "sha512-drN+aGYnrZPNYIymmNwIY7LXYJ8MqsqXj4fMRue3FOgGMdGjSX10fhJ3qx0sVQPhcWxhEaN4U/eWM4O4dbYNAw==", + "requires": { + "async-cache": "^1.1.0", + "bl": "^4.0.0", + "fd": "~0.0.2", + "graceful-fs": "^4.2.3", + "mime": "^2.4.4", + "negotiator": "~0.6.2" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" + }, + "stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + } + } + }, + "stackframe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", + "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==" + }, + "state-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", + "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==" + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", + "integrity": "sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M=", + "requires": { + "debug": "2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, + "streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" + }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" + }, + "string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c=" + }, + "string-env-interpolation": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz", + "integrity": "sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==" + }, + "string-length": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "requires": { + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" + } + }, + "string-similarity": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/string-similarity/-/string-similarity-1.2.2.tgz", + "integrity": "sha512-IoHUjcw3Srl8nsPlW04U3qwWPk3oG2ffLM0tN853d/E/JlIvcmZmDY2Kz5HzKp4lEi2T7QD7Zuvjq/1rDw+XcQ==", + "requires": { + "lodash.every": "^4.6.0", + "lodash.flattendeep": "^4.4.0", + "lodash.foreach": "^4.5.0", + "lodash.map": "^4.6.0", + "lodash.maxby": "^4.6.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "string.prototype.matchall": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.3.tgz", + "integrity": "sha512-OBxYDA2ifZQ2e13cP82dWFMaCV9CGF8GzmN4fljBVw5O5wep0lu4gacm1OL6MjROoUnB8VbkWRThqkV2YFLNxw==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has-symbols": "^1.0.1", + "internal-slot": "^1.0.2", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.3" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + } + } + } + }, + "string.prototype.trimend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "stringify-entities": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz", + "integrity": "sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg==", + "requires": { + "character-entities-html4": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "dependencies": { + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + }, + "strip-comments": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", + "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", + "requires": { + "babel-extract-comments": "^1.0.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0" + } + }, + "strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "requires": { + "is-natural-number": "^4.0.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "requires": { + "min-indent": "^1.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "strtok3": { + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.0.8.tgz", + "integrity": "sha512-QLgv+oiXwXgCgp2PdPPa+Jpp4D9imK9e/0BsyfeFMr6QL6wMVqoVn9+OXQ9I7MZbmUzN6lmitTJ09uwS2OmGcw==", + "requires": { + "@tokenizer/token": "^0.1.1", + "@types/debug": "^4.1.5", + "peek-readable": "^3.1.3" + }, + "dependencies": { + "@types/debug": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz", + "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==" + } + } + }, + "style-loader": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", + "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", + "requires": { + "loader-utils": "^1.1.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "style-to-js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.0.tgz", + "integrity": "sha512-1OqefPDxGrlMwcbfpsTVRyzwdhr4W0uxYQzeA2F1CBc8WG04udg2+ybRnvh3XYL4TdHQrCahLtax2jc8xaE6rA==", + "requires": { + "style-to-object": "0.3.0" + } + }, + "style-to-object": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", + "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", + "requires": { + "inline-style-parser": "0.1.1" + } + }, + "style-value-types": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-3.2.0.tgz", + "integrity": "sha512-ih0mGsrYYmVvdDi++/66O6BaQPRPRMQHoZevNNdMMcPlP/cH28Rnfsqf1UEba/Bwfuw9T8BmIMwbGdzsPwQKrQ==", + "requires": { + "hey-listen": "^1.0.8", + "tslib": "^1.10.0" + } + }, + "styled-griddie": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/styled-griddie/-/styled-griddie-0.1.3.tgz", + "integrity": "sha512-RjsiiADJrRpdPTF8NR26nlZutnvkrX78tiM5/za/E+ftVdpjD8ZBb2iOzrIzfix80uDcHYQbg3iIR0lOGaYmEQ==" + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "sudo-prompt": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-8.2.5.tgz", + "integrity": "sha512-rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", + "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + } + } + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + }, + "sync-fetch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.3.0.tgz", + "integrity": "sha512-dJp4qg+x4JwSEW1HibAuMi0IIrBI3wuQr2GimmqB7OXR50wmwzfdusG+p39R9w3R6aFtZ2mzvxvWKQ3Bd/vx3g==", + "requires": { + "buffer": "^5.7.0", + "node-fetch": "^2.6.1" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + } + }, + "tannin": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tannin/-/tannin-1.2.0.tgz", + "integrity": "sha512-U7GgX/RcSeUETbV7gYgoz8PD7Ni4y95pgIP/Z6ayI3CfhSujwKEBlGFTCRN+Aqnuyf4AN2yHL+L8x+TCGjb9uA==", + "requires": { + "@tannin/plural-forms": "^1.1.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + }, + "tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=" + }, + "tempfile": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", + "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=", + "requires": { + "temp-dir": "^1.0.0", + "uuid": "^3.0.1" + }, + "dependencies": { + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, + "term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==" + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "requires": { + "type-fest": "^0.11.0" + } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" + } + } + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "terser-webpack-plugin": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz", + "integrity": "sha512-/fKw3R+hWyHfYx7Bv6oPqmk4HGQcrWLtV3X6ggvPuwPNHSnzvVV51z6OaaCOus4YLjutYGOz3pEpbhe6Up2s1w==", + "requires": { + "cacache": "^13.0.1", + "find-cache-dir": "^3.3.1", + "jest-worker": "^25.4.0", + "p-limit": "^2.3.0", + "schema-utils": "^2.6.6", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.6.12", + "webpack-sources": "^1.4.3" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timm": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", + "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==" + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, + "tiny-invariant": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", + "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" + }, + "tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "tinycolor2": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", + "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==" + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "requires": { + "rimraf": "^3.0.0" + } + }, + "to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI=" + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "token-types": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-2.1.1.tgz", + "integrity": "sha512-wnQcqlreS6VjthyHO3Y/kpK/emflxDBNhlNUPfh7wE39KnuDdOituXomIbyI79vBtF0Ninpkh72mcuRHo+RG3Q==", + "requires": { + "@tokenizer/token": "^0.1.1", + "ieee754": "^1.2.1" + } + }, + "tokenizr": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/tokenizr/-/tokenizr-1.5.7.tgz", + "integrity": "sha512-w6qS6F5PNtY30DxoRD4a7nC7zOlPM2SlpQ4zLhOmqBaB1VCZrlV82bLpc/lKNOdNmrwIwcsJLDcjEJ8f7UG6Mg==" + }, + "traverse": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", + "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" + }, + "trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "trim-trailing-lines": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", + "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==" + }, + "trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" + }, + "true-case-path": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", + "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" + }, + "ts-essentials": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-2.0.12.tgz", + "integrity": "sha512-3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w==" + }, + "ts-node": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", + "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", + "requires": { + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + } + }, + "ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==" + }, + "tsconfig-paths": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "tsutils": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.20.0.tgz", + "integrity": "sha512-RYbuQuvkhuqVeXweWT3tJLKOEJ/UUw9GjNEZGWdrLLlM+611o1gwLHBpxoFJKKl25fLprp2eVthtKs5JOrNeXg==", + "requires": { + "tslib": "^1.8.1" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "turbo-combine-reducers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/turbo-combine-reducers/-/turbo-combine-reducers-1.0.2.tgz", + "integrity": "sha512-gHbdMZlA6Ym6Ur5pSH/UWrNQMIM9IqTH6SoL1DbHpqEdQ8i+cFunSmSlFykPt0eGQwZ4d/XTHOl74H0/kFBVWw==" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "type-of": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-of/-/type-of-2.0.1.tgz", + "integrity": "sha1-5yoXQYllaOn2KDeNgW1pEvfyOXI=" + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typeface-merriweather": { + "version": "0.0.72", + "resolved": "https://registry.npmjs.org/typeface-merriweather/-/typeface-merriweather-0.0.72.tgz", + "integrity": "sha512-gO0+fcZ1fTyKUsYY1ltYOOTI6FmBGeEdyIfeQg9NL8aInndk0feiJJVJsKHm/DiyYrnQEezraAQhz/KQoqMGtw==" + }, + "typeface-montserrat": { + "version": "0.0.75", + "resolved": "https://registry.npmjs.org/typeface-montserrat/-/typeface-montserrat-0.0.75.tgz", + "integrity": "sha512-8ski20t3hdwu2T85pVfjK4jsDbwW8yWzd+LAKxYEmu+JVLVlB7G2yfmdKZz06pUwYCLVFvHvup+NYYulHDpE+w==" + }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" + }, + "unherit": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", + "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", + "requires": { + "inherits": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" + }, + "unified": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", + "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==", + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "unist-util-is": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.4.tgz", + "integrity": "sha512-3dF39j/u423v4BBQrk1AQ2Ve1FxY5W3JKwXxVFzBODQ6WEvccguhgp802qQLKSnxPODE6WuRZtV+ohlUg4meBA==" + }, + "unist-util-remove": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.0.1.tgz", + "integrity": "sha512-YtuetK6o16CMfG+0u4nndsWpujgsHDHHLyE0yGpJLLn5xSjKeyGyzEBOI2XbmoUHCYabmNgX52uxlWoQhcvR7Q==", + "requires": { + "unist-util-is": "^4.0.0" + } + }, + "unist-util-remove-position": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz", + "integrity": "sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==", + "requires": { + "unist-util-visit": "^1.1.0" + }, + "dependencies": { + "unist-util-is": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", + "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" + }, + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + }, + "unist-util-visit-parents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", + "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", + "requires": { + "unist-util-is": "^3.0.0" + } + } + } + }, + "unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "requires": { + "@types/unist": "^2.0.2" + } + }, + "unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + } + }, + "unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unixify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", + "integrity": "sha1-OmQcjC/7zk2mg6XHDwOkYpQMIJA=", + "requires": { + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==" + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "update-notifier": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", + "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", + "requires": { + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "boxen": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.0.0.tgz", + "integrity": "sha512-5bvsqw+hhgUi3oYGK0Vf4WpIkyemp60WBInn7+WNfoISzAqk/HX4L7WNROq38E6UR/y3YADpv6pEm4BfkeEAdA==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.0", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + } + }, + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } + } + }, + "url-loader": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", + "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", + "requires": { + "loader-utils": "^1.1.0", + "mime": "^2.0.3", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "^2.0.0" + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "use-composed-ref": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.1.0.tgz", + "integrity": "sha512-my1lNHGWsSDAhhVAT4MKs6IjBUtG6ZG11uUqexPH9PptiIZDQOzaF4f5tEbJ2+7qvNbtXNBbU3SfmN+fXlWDhg==", + "requires": { + "ts-essentials": "^2.0.3" + } + }, + "use-enhanced-state": { + "version": "0.0.13", + "resolved": "https://registry.npmjs.org/use-enhanced-state/-/use-enhanced-state-0.0.13.tgz", + "integrity": "sha512-RCtUQdhfUXu/0GAQqLnKPetUt3BheYFpOTogppHe9x1XGwluiu6DQLKVNnc3yMfj0HM3IOVBgw5nVJJuZS5TWQ==", + "requires": { + "@itsjonq/is": "0.0.2", + "tiny-warning": "^1.0.3" + } + }, + "use-isomorphic-layout-effect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz", + "integrity": "sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ==" + }, + "use-latest": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.0.tgz", + "integrity": "sha512-d2TEuG6nSLKQLAfW3By8mKr8HurOlTkul0sOpxbClIv4SQ4iOd7BYr7VIzdbktUCnv7dua/60xzd8igMU6jmyw==", + "requires": { + "use-isomorphic-layout-effect": "^1.0.0" + } + }, + "use-memo-one": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-memo-one/-/use-memo-one-1.1.2.tgz", + "integrity": "sha512-u2qFKtxLsia/r8qG0ZKkbytbztzRb317XCkT7yP8wxL0tZ/CzK2G+WWie5vWvpyeP7+YoPIwbJoIHJ4Ba4k0oQ==" + }, + "utif": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz", + "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==", + "requires": { + "pako": "^1.0.5" + } + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", + "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "for-each": "^0.3.3", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.1" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "v8-compile-cache": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz", + "integrity": "sha512-ejdrifsIydN1XDH7EuR2hn8ZrkRKUYF7tUcBjBy/lhrCvs2K+zRlbW9UHc0IQ9RsYFZJFqJrieoIHfkCa0DBRA==" + }, + "valid-url": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", + "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" + }, + "vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + } + }, + "vfile-location": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz", + "integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==" + }, + "vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + } + }, + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "optional": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "optional": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "optional": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "optional": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "optional": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "optional": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "optional": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + }, + "webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "requires": { + "find-up": "^3.0.0" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + } + }, + "webpack-dev-server": { + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", + "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "requires": { + "is-wsl": "^1.1.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "sockjs-client": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", + "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", + "requires": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.4.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "requires": { + "async-limiter": "~1.0.0" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-hot-middleware": { + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz", + "integrity": "sha512-xs5dPOrGPCzuRXNi8F6rwhawWvQQkeli5Ro48PRuQh8pYPCPmNnltP9itiUPT4xI8oW+y0m59lyyeQk54s5VgA==", + "requires": { + "ansi-html": "0.0.7", + "html-entities": "^1.2.0", + "querystring": "^0.2.0", + "strip-ansi": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "requires": { + "lodash": "^4.17.15" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "webpack-stats-plugin": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/webpack-stats-plugin/-/webpack-stats-plugin-0.3.2.tgz", + "integrity": "sha512-kxEtPQ6lBBik2qtJlsZkiaDMI6rGXe9w1kLH9ZCdt0wgCGVnbwwPlP60cMqG6tILNFYqXDxNt4+c4OIIuE+Fnw==" + }, + "webpack-virtual-modules": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.2.2.tgz", + "integrity": "sha512-kDUmfm3BZrei0y+1NTHJInejzxfhtU8eDj2M7OKb2IWrPFAeO1SOH2KuQ68MSZu9IGEHcxbkKKR1v18FrUSOmA==", + "requires": { + "debug": "^3.0.0" + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + }, + "whatwg-url-without-unicode": { + "version": "8.0.0-3", + "resolved": "https://registry.npmjs.org/whatwg-url-without-unicode/-/whatwg-url-without-unicode-8.0.0-3.tgz", + "integrity": "sha512-HoKuzZrUlgpz35YO27XgD28uh/WJH4B0+3ttFqRo//lmq+9T/mIOJ6kqmINI9HpUpz1imRC/nR/lxKpJiv0uig==", + "requires": { + "buffer": "^5.4.3", + "punycode": "^2.1.1", + "webidl-conversions": "^5.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=" + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "requires": { + "string-width": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "with-open-file": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/with-open-file/-/with-open-file-0.1.7.tgz", + "integrity": "sha512-ecJS2/oHtESJ1t3ZfMI3B7KIDKyfN0O16miWxdn30zdh66Yd3LsRFebXZXq6GU4xfxLf6nVxp9kIqElb5fqczA==", + "requires": { + "p-finally": "^1.0.0", + "p-try": "^2.1.0", + "pify": "^4.0.1" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "workbox-background-sync": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz", + "integrity": "sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-broadcast-update": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz", + "integrity": "sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-build": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-4.3.1.tgz", + "integrity": "sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw==", + "requires": { + "@babel/runtime": "^7.3.4", + "@hapi/joi": "^15.0.0", + "common-tags": "^1.8.0", + "fs-extra": "^4.0.2", + "glob": "^7.1.3", + "lodash.template": "^4.4.0", + "pretty-bytes": "^5.1.0", + "stringify-object": "^3.3.0", + "strip-comments": "^1.0.2", + "workbox-background-sync": "^4.3.1", + "workbox-broadcast-update": "^4.3.1", + "workbox-cacheable-response": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-expiration": "^4.3.1", + "workbox-google-analytics": "^4.3.1", + "workbox-navigation-preload": "^4.3.1", + "workbox-precaching": "^4.3.1", + "workbox-range-requests": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1", + "workbox-streams": "^4.3.1", + "workbox-sw": "^4.3.1", + "workbox-window": "^4.3.1" + }, + "dependencies": { + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "workbox-cacheable-response": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz", + "integrity": "sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-core": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-4.3.1.tgz", + "integrity": "sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg==" + }, + "workbox-expiration": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-4.3.1.tgz", + "integrity": "sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-google-analytics": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz", + "integrity": "sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg==", + "requires": { + "workbox-background-sync": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1" + } + }, + "workbox-navigation-preload": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz", + "integrity": "sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-precaching": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-4.3.1.tgz", + "integrity": "sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-range-requests": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz", + "integrity": "sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-routing": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-4.3.1.tgz", + "integrity": "sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-strategies": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-4.3.1.tgz", + "integrity": "sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-streams": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-4.3.1.tgz", + "integrity": "sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-sw": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-4.3.1.tgz", + "integrity": "sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w==" + }, + "workbox-window": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-4.3.1.tgz", + "integrity": "sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg==", + "requires": { + "workbox-core": "^4.3.1" + } + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", + "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==" + }, + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" + }, + "xhr": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", + "requires": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "xml-parse-from-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", + "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=" + }, + "xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + }, + "xmlhttprequest-ssl": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" + }, + "xss": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.8.tgz", + "integrity": "sha512-3MgPdaXV8rfQ/pNn16Eio6VXYPTkqwa0vc7GkiymmY/DqR1SE/7VPAAVZz1GJsJFrllMYO3RHfEaiUGjab6TNw==", + "requires": { + "commander": "^2.20.3", + "cssfilter": "0.0.10" + } + }, + "xstate": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/xstate/-/xstate-4.16.0.tgz", + "integrity": "sha512-2k/49QYLdzG6Ye1JQWYFuPdU6dnRqHXcuFLxuORiuel04GjApSPct7wp2SOz9RAlNME5EkzclRKw1fHm5yejuA==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yaml": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", + "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==" + }, + "yaml-loader": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/yaml-loader/-/yaml-loader-0.6.0.tgz", + "integrity": "sha512-1bNiLelumURyj+zvVHOv8Y3dpCri0F2S+DCcmps0pA1zWRLjS+FhZQg4o3aUUDYESh73+pKZNI18bj7stpReow==", + "requires": { + "loader-utils": "^1.4.0", + "yaml": "^1.8.3" + } + }, + "yargs": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", + "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + } + }, + "yargs-parser": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz", + "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" + }, + "yoga-layout-prebuilt": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/yoga-layout-prebuilt/-/yoga-layout-prebuilt-1.10.0.tgz", + "integrity": "sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g==", + "requires": { + "@types/yoga-layout": "1.9.2" + } + }, + "yurnalist": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/yurnalist/-/yurnalist-2.1.0.tgz", + "integrity": "sha512-PgrBqosQLM3gN2xBFIMDLACRTV9c365VqityKKpSTWpwR+U4LAFR3rSVyEoscWlu3EzX9+Y0I86GXUKxpHFl6w==", + "requires": { + "chalk": "^2.4.2", + "inquirer": "^7.0.0", + "is-ci": "^2.0.0", + "read": "^1.0.7", + "strip-ansi": "^5.2.0" + } + } + } +} diff --git a/starters/gatsby-starter-wordpress-blog/package.json b/starters/gatsby-starter-wordpress-blog/package.json new file mode 100644 index 0000000000000..8e20b7e0ab17a --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/package.json @@ -0,0 +1,51 @@ +{ + "name": "gatsby-starter-wordpress-blog", + "private": true, + "description": "A starter for a blog powered by Gatsby and Markdown", + "version": "1.0.0", + "author": "Kyle Mathews and Tyler Barnes ", + "bugs": { + "url": "https://github.com/gatsbyjs/gatsby/issues" + }, + "dependencies": { + "@wordpress/block-library": "^2.26.2", + "gatsby": "^2.28.0", + "gatsby-image": "^2.4.21", + "gatsby-plugin-manifest": "^2.5.2", + "gatsby-plugin-offline": "^3.3.3", + "gatsby-plugin-react-helmet": "^3.3.14", + "gatsby-plugin-sharp": "^2.7.1", + "gatsby-source-wordpress-experimental": "^7.0.4", + "gatsby-transformer-sharp": "^2.5.21", + "html-react-parser": "^0.14.1", + "lodash": "^4.17.20", + "react": "^16.12.0", + "react-dom": "^16.12.0", + "react-helmet": "^5.2.1", + "typeface-merriweather": "0.0.72", + "typeface-montserrat": "0.0.75" + }, + "devDependencies": { + "dumper.js": "^1.3.1", + "prettier": "2.1.2" + }, + "homepage": "https://github.com/gatsbyjs/gatsby-starter-blog#readme", + "keywords": [ + "gatsby" + ], + "license": "0BSD", + "main": "n/a", + "repository": { + "type": "git", + "url": "git+https://github.com/gatsbyjs/gatsby-starter-blog.git" + }, + "scripts": { + "build": "gatsby build", + "develop": "gatsby develop", + "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md}\"", + "start": "npm run develop", + "serve": "gatsby serve", + "clean": "gatsby clean", + "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1" + } +} diff --git a/starters/gatsby-starter-wordpress-blog/src/components/bio.js b/starters/gatsby-starter-wordpress-blog/src/components/bio.js new file mode 100644 index 0000000000000..16b33473c88d6 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/src/components/bio.js @@ -0,0 +1,54 @@ +/** + * Bio component that queries for data + * with Gatsby's useStaticQuery component + * + * See: https://www.gatsbyjs.com/docs/use-static-query/ + */ + +import React from "react" +import { useStaticQuery, graphql } from "gatsby" + +const Bio = () => { + const { author } = useStaticQuery(graphql` + query BioQuery { + # if there was more than one user, this would need to be filtered + author: wpUser { + firstName + twitter: name + description + avatar { + url + } + } + } + `) + + const avatarUrl = author?.avatar?.url + + return ( +
    + {avatarUrl && ( + {author?.firstName + )} + {author?.firstName && ( +

    + Written by {author.firstName} + {` `} + {author?.description || null} + {` `} + {author?.twitter && ( + + You should follow them on Twitter + + )} +

    + )} +
    + ) +} + +export default Bio diff --git a/starters/gatsby-starter-wordpress-blog/src/components/layout.js b/starters/gatsby-starter-wordpress-blog/src/components/layout.js new file mode 100644 index 0000000000000..12003d019a3a3 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/src/components/layout.js @@ -0,0 +1,48 @@ +import React from "react" +import { Link, useStaticQuery, graphql } from "gatsby" +import parse from "html-react-parser" + +const Layout = ({ isHomePage, children }) => { + const { + wp: { + generalSettings: { title }, + }, + } = useStaticQuery(graphql` + query LayoutQuery { + wp { + generalSettings { + title + description + } + } + } + `) + + return ( +
    +
    + {isHomePage ? ( +

    + {parse(title)} +

    + ) : ( + + {title} + + )} +
    + +
    {children}
    + +
    + © {new Date().getFullYear()}, Built with + {` `} + Gatsby + {` `} + And WordPress +
    +
    + ) +} + +export default Layout diff --git a/starters/gatsby-starter-wordpress-blog/src/components/seo.js b/starters/gatsby-starter-wordpress-blog/src/components/seo.js new file mode 100644 index 0000000000000..1a8798c5f25b6 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/src/components/seo.js @@ -0,0 +1,93 @@ +/** + * SEO component that queries for data with + * Gatsby's useStaticQuery React hook + * + * See: https://www.gatsbyjs.com/docs/use-static-query/ + */ + +import React from "react" +import PropTypes from "prop-types" +import { Helmet } from "react-helmet" +import { useStaticQuery, graphql } from "gatsby" + +const SEO = ({ description, lang, meta, title }) => { + const { wp, wpUser } = useStaticQuery( + graphql` + query { + wp { + generalSettings { + title + description + } + } + + # if there's more than one user this would need to be filtered to the main user + wpUser { + twitter: name + } + } + ` + ) + + const metaDescription = description || wp.generalSettings?.description + const defaultTitle = wp.generalSettings?.title + + return ( + + ) +} + +SEO.defaultProps = { + lang: `en`, + meta: [], + description: ``, +} + +SEO.propTypes = { + description: PropTypes.string, + lang: PropTypes.string, + meta: PropTypes.arrayOf(PropTypes.object), + title: PropTypes.string.isRequired, +} + +export default SEO diff --git a/starters/gatsby-starter-wordpress-blog/src/normalize.css b/starters/gatsby-starter-wordpress-blog/src/normalize.css new file mode 100644 index 0000000000000..5efdf4facd963 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/src/normalize.css @@ -0,0 +1,343 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { + /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { + /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} diff --git a/starters/gatsby-starter-wordpress-blog/src/pages/404.js b/starters/gatsby-starter-wordpress-blog/src/pages/404.js new file mode 100644 index 0000000000000..606eacb497e89 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/src/pages/404.js @@ -0,0 +1,29 @@ +import React from "react" +import { graphql } from "gatsby" + +import Layout from "../components/layout" +import SEO from "../components/seo" + +const NotFoundPage = ({ data, location }) => { + const siteTitle = data.site.siteMetadata.title + + return ( + + +

    404: Not Found

    +

    You just hit a route that doesn't exist... the sadness.

    +
    + ) +} + +export default NotFoundPage + +export const pageQuery = graphql` + query { + site { + siteMetadata { + title + } + } + } +` diff --git a/starters/gatsby-starter-wordpress-blog/src/style.css b/starters/gatsby-starter-wordpress-blog/src/style.css new file mode 100644 index 0000000000000..2074d573d6eeb --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/src/style.css @@ -0,0 +1,335 @@ +/* CSS Custom Properties Definitions */ + +:root { + --maxWidth-none: "none"; + --maxWidth-xs: 20rem; + --maxWidth-sm: 24rem; + --maxWidth-md: 28rem; + --maxWidth-lg: 32rem; + --maxWidth-xl: 36rem; + --maxWidth-2xl: 42rem; + --maxWidth-3xl: 48rem; + --maxWidth-4xl: 56rem; + --maxWidth-full: "100%"; + --maxWidth-wrapper: var(--maxWidth-2xl); + --spacing-px: "1px"; + --spacing-0: 0; + --spacing-1: 0.25rem; + --spacing-2: 0.5rem; + --spacing-3: 0.75rem; + --spacing-4: 1rem; + --spacing-5: 1.25rem; + --spacing-6: 1.5rem; + --spacing-8: 2rem; + --spacing-10: 2.5rem; + --spacing-12: 3rem; + --spacing-16: 4rem; + --spacing-20: 5rem; + --spacing-24: 6rem; + --spacing-32: 8rem; + --fontFamily-sans: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, + "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, + "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --fontFamily-serif: "Merriweather", "Georgia", Cambria, "Times New Roman", + Times, serif; + --font-body: var(--fontFamily-serif); + --font-heading: var(--fontFamily-sans); + --fontWeight-normal: 400; + --fontWeight-medium: 500; + --fontWeight-semibold: 600; + --fontWeight-bold: 700; + --fontWeight-extrabold: 800; + --fontWeight-black: 900; + --fontSize-root: 16px; + --lineHeight-none: 1; + --lineHeight-tight: 1.1; + --lineHeight-normal: 1.5; + --lineHeight-relaxed: 1.625; + /* 1.200 Minor Third Type Scale */ + --fontSize-0: 0.833rem; + --fontSize-1: 1rem; + --fontSize-2: 1.2rem; + --fontSize-3: 1.44rem; + --fontSize-4: 1.728rem; + --fontSize-5: 2.074rem; + --fontSize-6: 2.488rem; + --fontSize-7: 2.986rem; + --color-primary: #005b99; + --color-text: #2e353f; + --color-text-light: #4f5969; + --color-heading: #1a202c; + --color-heading-black: black; + --color-accent: #d1dce5; +} + +/* HTML elements */ + +*, +:after, +:before { + box-sizing: border-box; +} + +html { + line-height: var(--lineHeight-normal); + font-size: var(--fontSize-root); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +body { + font-family: var(--font-body); + font-size: var(--fontSize-1); + color: var(--color-text); +} + +footer { + padding: var(--spacing-6) var(--spacing-0); +} + +hr { + background: var(--color-accent); + height: 1px; + border: 0; +} + +/* Heading */ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: var(--font-heading); + margin-top: var(--spacing-12); + margin-bottom: var(--spacing-6); + line-height: var(--lineHeight-tight); + letter-spacing: -0.025em; +} + +h2, +h3, +h4, +h5, +h6 { + font-weight: var(--fontWeight-bold); + color: var(--color-heading); +} + +h1 { + font-weight: var(--fontWeight-black); + font-size: var(--fontSize-6); + color: var(--color-heading-black); +} + +h2 { + font-size: var(--fontSize-5); +} + +h3 { + font-size: var(--fontSize-4); +} + +h4 { + font-size: var(--fontSize-3); +} + +h5 { + font-size: var(--fontSize-2); +} + +h6 { + font-size: var(--fontSize-1); +} + +h1 > a { + color: inherit; + text-decoration: none; +} + +h2 > a, +h3 > a, +h4 > a, +h5 > a, +h6 > a { + text-decoration: none; + color: inherit; +} + +/* Prose */ + +p { + line-height: var(--lineHeight-relaxed); + --baseline-multiplier: 0.179; + --x-height-multiplier: 0.35; + margin: var(--spacing-0) var(--spacing-0) var(--spacing-8) var(--spacing-0); + padding: var(--spacing-0); +} + +ul, +ol { + margin-left: var(--spacing-0); + margin-right: var(--spacing-0); + padding: var(--spacing-0); + margin-bottom: var(--spacing-8); + list-style-position: outside; + list-style-image: none; +} + +ul li, +ol li { + padding-left: var(--spacing-0); + margin-bottom: calc(var(--spacing-8) / 2); +} + +li > p { + margin-bottom: calc(var(--spacing-8) / 2); +} + +li *:last-child { + margin-bottom: var(--spacing-0); +} + +li > ul { + margin-left: var(--spacing-8); + margin-top: calc(var(--spacing-8) / 2); +} + +blockquote { + color: var(--color-text-light); + margin-left: calc(-1 * var(--spacing-6)); + margin-right: var(--spacing-8); + padding: var(--spacing-0) var(--spacing-0) var(--spacing-0) var(--spacing-6); + border-left: var(--spacing-1) solid var(--color-primary); + font-size: var(--fontSize-2); + font-style: italic; + margin-bottom: var(--spacing-8); +} + +blockquote > :last-child { + margin-bottom: var(--spacing-0); +} + +blockquote > ul, +blockquote > ol { + list-style-position: inside; +} + +table { + width: 100%; + margin-bottom: var(--spacing-8); + border-collapse: collapse; + border-spacing: 0.25rem; +} + +table thead tr th { + border-bottom: 1px solid var(--color-accent); +} + +/* Link */ + +a { + color: var(--color-primary); + word-break: break-word; +} + +a:hover, +a:focus { + text-decoration: none; +} + +/* Custom classes */ + +.global-wrapper { + margin: var(--spacing-0) auto; + max-width: var(--maxWidth-wrapper); + padding: var(--spacing-10) var(--spacing-5); +} + +.global-wrapper[data-is-root-path="true"] .bio { + margin-bottom: var(--spacing-20); +} + +.global-header { + margin-bottom: var(--spacing-12); +} + +.main-heading { + font-size: var(--fontSize-7); + margin: 0; +} + +.post-list-item { + margin-bottom: var(--spacing-8); + margin-top: var(--spacing-8); +} + +.post-list-item p { + margin-bottom: var(--spacing-0); +} + +.post-list-item h2 { + font-size: var(--fontSize-4); + color: var(--color-primary); + margin-bottom: var(--spacing-2); + margin-top: var(--spacing-0); +} + +.post-list-item header { + margin-bottom: var(--spacing-4); +} + +.header-link-home { + font-weight: var(--fontWeight-bold); + font-family: var(--font-heading); + text-decoration: none; + font-size: var(--fontSize-2); +} + +.bio { + display: flex; + margin-bottom: var(--spacing-16); +} + +.bio p { + margin-bottom: var(--spacing-0); +} + +.bio-avatar { + margin-right: var(--spacing-4); + margin-bottom: var(--spacing-0); + max-width: 80px; + height: auto; + border-radius: 100%; +} + +.blog-post header h1 { + margin: var(--spacing-0) var(--spacing-0) var(--spacing-4) var(--spacing-0); +} + +.blog-post header p { + font-size: var(--fontSize-2); + font-family: var(--font-heading); +} + +.blog-post-nav ul { + margin: var(--spacing-0); +} + +.gatsby-highlight { + margin-bottom: var(--spacing-8); +} + +/* Media queries */ + +@media (max-width: 42rem) { + blockquote { + padding: var(--spacing-0) var(--spacing-0) var(--spacing-0) var(--spacing-4); + margin-left: var(--spacing-0); + } + ul, + ol { + list-style-position: inside; + } +} diff --git a/starters/gatsby-starter-wordpress-blog/src/templates/Page.js b/starters/gatsby-starter-wordpress-blog/src/templates/Page.js new file mode 100644 index 0000000000000..9a92889661181 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/src/templates/Page.js @@ -0,0 +1,128 @@ +import React from "react" +import { Link, graphql } from "gatsby" +import Image from "gatsby-image" +import parse from "html-react-parser" + +// We're using Gutenberg so we need the block styles +import "@wordpress/block-library/build-style/style.css" +import "@wordpress/block-library/build-style/theme.css" + +import Bio from "../components/bio" +import Layout from "../components/layout" +import SEO from "../components/seo" + +const PageTemplate = ({ data: { previous, next, post } }) => { + const featuredImage = { + fluid: post.featuredImage?.node?.localFile?.childImageSharp?.fluid, + alt: post.featuredImage?.node?.alt || ``, + } + + return ( + + + +
    +
    +

    {parse(post.title)}

    + +

    {post.date}

    + + {/* if we have a featured image for this post let's display it */} + {featuredImage?.fluid && ( + {featuredImage.alt} + )} +
    + + {!!post.content && ( +
    {parse(post.content)}
    + )} + +
    + +
    + +
    +
    + + +
    + ) +} + +export default PageTemplate + +export const pageQuery = graphql` + query PageById( + # these variables are passed in via createPage.pageContext in gatsby-node.js + $id: String! + $previousPostId: String + $nextPostId: String + ) { + # selecting the current post by id + post: wpPage(id: { eq: $id }) { + id + content + title + date(formatString: "MMMM DD, YYYY") + + featuredImage { + node { + altText + localFile { + childImageSharp { + fluid(maxWidth: 1000, quality: 100) { + ...GatsbyImageSharpFluid_tracedSVG + } + } + } + } + } + } + + # this gets us the previous post by id (if it exists) + previous: wpPage(id: { eq: $previousPostId }) { + uri + title + } + + # this gets us the next post by id (if it exists) + next: wpPage(id: { eq: $nextPostId }) { + uri + title + } + } +` diff --git a/starters/gatsby-starter-wordpress-blog/src/templates/Post.js b/starters/gatsby-starter-wordpress-blog/src/templates/Post.js new file mode 100644 index 0000000000000..688105759b8ee --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/src/templates/Post.js @@ -0,0 +1,129 @@ +import React from "react" +import { Link, graphql } from "gatsby" +import Image from "gatsby-image" +import parse from "html-react-parser" + +// We're using Gutenberg so we need the block styles +import "@wordpress/block-library/build-style/style.css" +import "@wordpress/block-library/build-style/theme.css" + +import Bio from "../components/bio" +import Layout from "../components/layout" +import SEO from "../components/seo" + +const BlogPostTemplate = ({ data: { previous, next, post } }) => { + const featuredImage = { + fluid: post.featuredImage?.node?.localFile?.childImageSharp?.fluid, + alt: post.featuredImage?.node?.alt || ``, + } + + return ( + + + +
    +
    +

    {parse(post.title)}

    + +

    {post.date}

    + + {/* if we have a featured image for this post let's display it */} + {featuredImage?.fluid && ( + {featuredImage.alt} + )} +
    + + {!!post.content && ( +
    {parse(post.content)}
    + )} + +
    + +
    + +
    +
    + + +
    + ) +} + +export default BlogPostTemplate + +export const pageQuery = graphql` + query BlogPostById( + # these variables are passed in via createPage.pageContext in gatsby-node.js + $id: String! + $previousPostId: String + $nextPostId: String + ) { + # selecting the current post by id + post: wpPost(id: { eq: $id }) { + id + excerpt + content + title + date(formatString: "MMMM DD, YYYY") + + featuredImage { + node { + altText + localFile { + childImageSharp { + fluid(maxWidth: 1000, quality: 100) { + ...GatsbyImageSharpFluid_tracedSVG + } + } + } + } + } + } + + # this gets us the previous post by id (if it exists) + previous: wpPost(id: { eq: $previousPostId }) { + uri + title + } + + # this gets us the next post by id (if it exists) + next: wpPost(id: { eq: $nextPostId }) { + uri + title + } + } +` diff --git a/starters/gatsby-starter-wordpress-blog/src/templates/blog-post-archive.js b/starters/gatsby-starter-wordpress-blog/src/templates/blog-post-archive.js new file mode 100644 index 0000000000000..42e5bcf217ced --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/src/templates/blog-post-archive.js @@ -0,0 +1,89 @@ +import React from "react" +import { Link, graphql } from "gatsby" +import parse from "html-react-parser" + +import Bio from "../components/bio" +import Layout from "../components/layout" +import SEO from "../components/seo" + +const BlogIndex = ({ + data, + pageContext: { nextPagePath, previousPagePath }, +}) => { + const posts = data.allWpPost.nodes + + if (!posts.length) { + return ( + + + +

    + No blog posts found. Add posts to your WordPress site and they'll + appear here! +

    +
    + ) + } + + return ( + + + + + +
      + {posts.map(post => { + const title = post.title + + return ( +
    1. +
      +
      +

      + + {parse(title)} + +

      + {post.date} +
      +
      {parse(post.excerpt)}
      +
      +
    2. + ) + })} +
    + + {previousPagePath && ( + <> + Previous page +
    + + )} + {nextPagePath && Next page} +
    + ) +} + +export default BlogIndex + +export const pageQuery = graphql` + query WordPressPostArchive($offset: Int!, $postsPerPage: Int!) { + allWpPost( + sort: { fields: [date], order: DESC } + limit: $postsPerPage + skip: $offset + ) { + nodes { + excerpt + uri + date(formatString: "MMMM DD, YYYY") + title + excerpt + } + } + } +` diff --git a/starters/gatsby-starter-wordpress-blog/static/favicon.ico b/starters/gatsby-starter-wordpress-blog/static/favicon.ico new file mode 100644 index 0000000000000..85a4d9fac03ba Binary files /dev/null and b/starters/gatsby-starter-wordpress-blog/static/favicon.ico differ diff --git a/starters/gatsby-starter-wordpress-blog/static/robots.txt b/starters/gatsby-starter-wordpress-blog/static/robots.txt new file mode 100644 index 0000000000000..eb0536286f308 --- /dev/null +++ b/starters/gatsby-starter-wordpress-blog/static/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: diff --git a/yarn.lock b/yarn.lock index 9be8faccea0c9..795cdde94017e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -169,6 +169,23 @@ "@nicolo-ribaudo/chokidar-2" "^2.1.8" chokidar "^3.4.0" +"@babel/cli@^7.6.4": + version "7.12.10" + resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.12.10.tgz#67a1015b1cd505bde1696196febf910c4c339a48" + integrity sha512-+y4ZnePpvWs1fc/LhZRTHkTesbXkyBYuOB+5CyodZqrEuETXi3zOVfpAQIdgC3lXbHLTDG9dQosxR9BhvLKDLQ== + dependencies: + commander "^4.0.1" + convert-source-map "^1.1.0" + fs-readdir-recursive "^1.1.0" + glob "^7.0.0" + lodash "^4.17.19" + make-dir "^2.1.0" + slash "^2.0.0" + source-map "^0.5.0" + optionalDependencies: + "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents" + chokidar "^3.4.0" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.0.0-beta.35", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.5.5": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" @@ -176,6 +193,13 @@ dependencies: "@babel/highlight" "^7.10.4" +"@babel/code-frame@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + "@babel/compat-data@^7.12.1", "@babel/compat-data@^7.12.5": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.5.tgz#f56db0c4bb1bbbf221b4e81345aab4141e7cb0e9" @@ -247,6 +271,27 @@ semver "^5.4.1" source-map "^0.5.0" +"@babel/core@^7.6.4": + version "7.12.10" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd" + integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.10" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.5" + "@babel/parser" "^7.12.10" + "@babel/template" "^7.12.7" + "@babel/traverse" "^7.12.10" + "@babel/types" "^7.12.10" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + semver "^5.4.1" + source-map "^0.5.0" + "@babel/generator@7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.1.tgz#0d70be32bdaa03d7c51c8597dda76e0df1f15468" @@ -265,6 +310,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@^7.12.10", "@babel/generator@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.11.tgz#98a7df7b8c358c9a37ab07a24056853016aba3af" + integrity sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA== + dependencies: + "@babel/types" "^7.12.11" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" @@ -353,6 +407,15 @@ "@babel/template" "^7.10.4" "@babel/types" "^7.10.4" +"@babel/helper-function-name@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz#1fd7738aee5dcf53c3ecff24f1da9c511ec47b42" + integrity sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA== + dependencies: + "@babel/helper-get-function-arity" "^7.12.10" + "@babel/template" "^7.12.7" + "@babel/types" "^7.12.11" + "@babel/helper-get-function-arity@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" @@ -360,6 +423,13 @@ dependencies: "@babel/types" "^7.10.4" +"@babel/helper-get-function-arity@^7.12.10": + version "7.12.10" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz#b158817a3165b5faa2047825dfa61970ddcc16cf" + integrity sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag== + dependencies: + "@babel/types" "^7.12.10" + "@babel/helper-hoist-variables@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" @@ -455,11 +525,23 @@ dependencies: "@babel/types" "^7.11.0" +"@babel/helper-split-export-declaration@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz#1b4cc424458643c47d37022223da33d76ea4603a" + integrity sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g== + dependencies: + "@babel/types" "^7.12.11" + "@babel/helper-validator-identifier@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== +"@babel/helper-validator-identifier@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== + "@babel/helper-validator-option@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" @@ -475,7 +557,7 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helpers@^7.10.4", "@babel/helpers@^7.12.1": +"@babel/helpers@^7.10.4", "@babel/helpers@^7.12.1", "@babel/helpers@^7.12.5": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA== @@ -517,6 +599,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.5.tgz#b4af32ddd473c0bfa643bd7ff0728b8e71b81ea0" integrity sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ== +"@babel/parser@^7.12.10", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.11.tgz#9ce3595bcd74bc5c466905e86c535b8b25011e79" + integrity sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg== + "@babel/plugin-proposal-async-generator-functions@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e" @@ -534,7 +621,7 @@ "@babel/helper-create-class-features-plugin" "^7.7.4" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.12.1": +"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.10.1", "@babel/plugin-proposal-class-properties@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== @@ -684,7 +771,7 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-pipeline-operator" "^7.12.1" -"@babel/plugin-proposal-private-methods@^7.12.1": +"@babel/plugin-proposal-private-methods@^7.10.1", "@babel/plugin-proposal-private-methods@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389" integrity sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w== @@ -1345,7 +1432,7 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== @@ -1366,6 +1453,15 @@ "@babel/parser" "^7.10.4" "@babel/types" "^7.10.4" +"@babel/template@^7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc" + integrity sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.12.7" + "@babel/types" "^7.12.7" + "@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.10.5", "@babel/traverse@^7.11.5", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5", "@babel/traverse@^7.7.0": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.5.tgz#78a0c68c8e8a35e4cacfd31db8bb303d5606f095" @@ -1381,6 +1477,21 @@ globals "^11.1.0" lodash "^4.17.19" +"@babel/traverse@^7.12.10": + version "7.12.12" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.12.tgz#d0cd87892704edd8da002d674bc811ce64743376" + integrity sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w== + dependencies: + "@babel/code-frame" "^7.12.11" + "@babel/generator" "^7.12.11" + "@babel/helper-function-name" "^7.12.11" + "@babel/helper-split-export-declaration" "^7.12.11" + "@babel/parser" "^7.12.11" + "@babel/types" "^7.12.12" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + "@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.11.5", "@babel/types@^7.12.1", "@babel/types@^7.12.5", "@babel/types@^7.12.6", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0": version "7.12.6" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.6.tgz#ae0e55ef1cce1fbc881cd26f8234eb3e657edc96" @@ -1390,6 +1501,15 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@babel/types@^7.12.10", "@babel/types@^7.12.11", "@babel/types@^7.12.12", "@babel/types@^7.12.7": + version "7.12.12" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.12.tgz#4608a6ec313abbd87afa55004d373ad04a96c299" + integrity sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@cnakazawa/watch@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" @@ -1891,7 +2011,7 @@ resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.0.0.tgz#9f05469c88cb2fd3dcd624776b54ee95c312126a" integrity sha512-mV6T0IYqb0xL1UALPFplXYQmR0twnXG0M6jUswpquqT2sD12BOiCiLy3EvMp/Fy7s3DZElC4/aPjEjo2jeZpvw== -"@hapi/address@^4.1.0": +"@hapi/address@^4.0.1", "@hapi/address@^4.1.0": version "4.1.0" resolved "https://registry.yarnpkg.com/@hapi/address/-/address-4.1.0.tgz#d60c5c0d930e77456fdcde2598e77302e2955e1d" integrity sha512-SkszZf13HVgGmChdHo/PxchnSaCJ6cetVqLzyciudzZRT0jcOouIF/Q93mgjw8cce+D+4F4C1Z/WrfFN+O3VHQ== @@ -1933,6 +2053,17 @@ "@hapi/hoek" "8.x.x" "@hapi/topo" "3.x.x" +"@hapi/joi@^17.1.1": + version "17.1.1" + resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-17.1.1.tgz#9cc8d7e2c2213d1e46708c6260184b447c661350" + integrity sha512-p4DKeZAoeZW4g3u7ZeRo+vCDuSDgSvtsB/NpfjXEHTUjSeINAi/RrVOWiVQ1isaoLzMvFEhe8n5065mQq1AdQg== + dependencies: + "@hapi/address" "^4.0.1" + "@hapi/formula" "^2.0.0" + "@hapi/hoek" "^9.0.0" + "@hapi/pinpoint" "^2.0.0" + "@hapi/topo" "^5.0.0" + "@hapi/pinpoint@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@hapi/pinpoint/-/pinpoint-2.0.0.tgz#805b40d4dbec04fc116a73089494e00f073de8df" @@ -3194,6 +3325,23 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" +"@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents": + version "2.1.8-no-fsevents" + resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.tgz#da7c3996b8e6e19ebd14d82eaced2313e7769f9b" + integrity sha512-+nb9vWloHNNMFHjGofEam3wopE3m1yuambrrd/fnPc+lFOMB9ROTqQlche9ByFWNkdNqfSgR/kkQtQ8DzEWt2w== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + "@nicolo-ribaudo/chokidar-2@^2.1.8": version "2.1.8" resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8.tgz#eef8d9b47e8dc589499f14d656e8d2dd978c3d14" @@ -3531,6 +3679,20 @@ dependencies: tslib "^1.11.2" +"@rematch/core@^1.3.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@rematch/core/-/core-1.4.0.tgz#686ce814e1cf125029c5e9fba23ef3ab7c3eb2a7" + integrity sha512-1zy9cTYxbvDHP0PwIL1QqkwagCEnqA0uWMmPf8v2BYvLi2OsxIfX1xiV+vCP3sdJAjjZ0b9+IbSmj0DL2MEgLQ== + dependencies: + redux "^4.0.5" + +"@rematch/immer@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@rematch/immer/-/immer-1.2.0.tgz#cf069e20ead97be8dfb26e71b61f025e024e936d" + integrity sha512-nFfNwvlAcWqE8A6e+RImlTLFZcyUkCx593uVZ8nSGfbRkxDgDYM0/rSBxx432yLBExmMupeRrsYUgRVc+jmw4A== + dependencies: + immer "^4.0.0" + "@rollup/plugin-alias@^3.1.1": version "3.1.1" resolved "https://registry.yarnpkg.com/@rollup/plugin-alias/-/plugin-alias-3.1.1.tgz#bb96cf37fefeb0a953a6566c284855c7d1cd290c" @@ -3643,6 +3805,11 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-2.1.1.tgz#ceff6a28a5b4867c2dd4a1ba513de278ccbe8bb1" integrity sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg== +"@sindresorhus/is@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.0.0.tgz#2ff674e9611b45b528896d820d3d7a812de2f0e4" + integrity sha512-FyD2meJpDPjyNQejSjvnhpgI/azsQkA4lGbuu5BQZfjvJ9cbRZXzeWL2HceCekW4lixO9JPesIIQkSoLjeJHNQ== + "@sindresorhus/slugify@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@sindresorhus/slugify/-/slugify-1.1.0.tgz#2f195365d9b953384305b62664b44b4036c49430" @@ -3765,7 +3932,7 @@ dependencies: defer-to-connect "^1.0.1" -"@szmarczak/http-timer@^4.0.0": +"@szmarczak/http-timer@^4.0.0", "@szmarczak/http-timer@^4.0.5": version "4.0.5" resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.5.tgz#bfbd50211e9dfa51ba07da58a14cdfd333205152" integrity sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ== @@ -4167,6 +4334,13 @@ dependencies: "@types/node" "*" +"@types/ink@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/ink/-/ink-2.0.3.tgz#5e0f37d103b41440d97aba39c00a6546e78ffbe9" + integrity sha512-DYKIKEJqhsGfQ/jgX0t9BzfHmBJ/9dBBT2MDsHAQRAfOPhEe7LZm5QeNBx1J34/e108StCPuJ3r4bh1y38kCJA== + dependencies: + ink "*" + "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": version "2.0.1" resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" @@ -4413,7 +4587,7 @@ dependencies: "@types/node" "*" -"@types/responselike@*": +"@types/responselike@*", "@types/responselike@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== @@ -5743,6 +5917,13 @@ async-retry@1.2.3: dependencies: retry "0.12.0" +async-retry@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.1.tgz#139f31f8ddce50c0870b0ba558a6079684aaed55" + integrity sha512-aiieFW/7h3hY0Bq5d+ktDBejxuwR78vRu9hDUdR8rNhSaQ29VzPL4AoIRG7D/c7tdenwOcKvgPM6tIxB3cB6HA== + dependencies: + retry "0.12.0" + async@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -5778,7 +5959,7 @@ atob-lite@^2.0.0: resolved "https://registry.yarnpkg.com/atob-lite/-/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696" integrity sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY= -atob@^2.1.1: +atob@^2.1.1, atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" @@ -5820,6 +6001,11 @@ axe-core@^4.0.2: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.0.2.tgz#c7cf7378378a51fcd272d3c09668002a4990b1cb" integrity sha512-arU1h31OGFu+LPrOLGZ7nB45v940NMDMEJeNmbutu57P+UFDVnkZg3e+J1I2HJRZ9hT7gO8J91dn/PMrAiKakA== +axios-rate-limit@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/axios-rate-limit/-/axios-rate-limit-1.3.0.tgz#03241d24c231c47432dab6e8234cfde819253c2e" + integrity sha512-cKR5wTbU/CeeyF1xVl5hl6FlYsmzDVqxlN4rGtfO5x7J83UxKDckudsW0yW21/ZJRcO0Qrfm3fUFbhEbWTLayw== + axios@^0.20.0: version "0.20.0" resolved "https://registry.yarnpkg.com/axios/-/axios-0.20.0.tgz#057ba30f04884694993a8cd07fa394cff11c50bd" @@ -6026,6 +6212,13 @@ babel-plugin-extract-import-names@^2.0.0-next.7: dependencies: "@babel/helper-plugin-utils" "7.10.4" +babel-plugin-import-globals@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-import-globals/-/babel-plugin-import-globals-2.0.0.tgz#fd2527fe9764abfc373ddc903bb6ab596b771cb1" + integrity sha512-rozdNOLj7TApfQRdKcvU3Xh7V/9MRAc/JEuKstTtTKD41IqIZ4Srh5K1Gl+W5jXtfqcUWxeHQDrasFGxgEn7UQ== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + babel-plugin-istanbul@^4.1.6: version "4.1.6" resolved "http://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45" @@ -6075,6 +6268,17 @@ babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.2.2, babel-plugin-macros@^2.6 cosmiconfig "^6.0.0" resolve "^1.12.0" +babel-plugin-module-resolver@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.0.0.tgz#8f3a3d9d48287dc1d3b0d5595113adabd36a847f" + integrity sha512-3pdEq3PXALilSJ6dnC4wMWr0AZixHRM4utpdpBR9g5QG7B7JwWyukQv7a9hVxkbGFl+nQbrHDqqQOIBtTXTP/Q== + dependencies: + find-babel-config "^1.2.0" + glob "^7.1.6" + pkg-up "^3.1.0" + reselect "^4.0.0" + resolve "^1.13.1" + babel-plugin-preval@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/babel-plugin-preval/-/babel-plugin-preval-3.0.1.tgz#a26f9690114a864a54a5cbdf865496ebf541a9c3" @@ -6652,6 +6856,11 @@ btoa-lite@^1.0.0: resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" integrity sha1-M3dm2hWAEhD92VbCLpxokaudAzc= +btoa@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73" + integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g== + buble-jsx-only@^0.19.8: version "0.19.8" resolved "https://registry.yarnpkg.com/buble-jsx-only/-/buble-jsx-only-0.19.8.tgz#6e3524aa0f1c523de32496ac9aceb9cc2b493867" @@ -6845,6 +7054,13 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" +cache-manager-fs-hash@^0.0.9: + version "0.0.9" + resolved "https://registry.yarnpkg.com/cache-manager-fs-hash/-/cache-manager-fs-hash-0.0.9.tgz#a65bb7ca2c9f9f9cf7035945bbfab536c5aab340" + integrity sha512-G0RUUSMZADiMx/0tHjPa+uzJyjtVB/Xt9yuFm6g/rBpm0p/IMr4atUWX2G2f1yGCPmDnyUcFz4RlSpgNRgvldg== + dependencies: + lockfile "^1.0.4" + cache-manager@^2.11.1: version "2.11.1" resolved "https://registry.yarnpkg.com/cache-manager/-/cache-manager-2.11.1.tgz#212e8c3db15288af653b029a1d9fe12f1fd9df61" @@ -6854,6 +7070,15 @@ cache-manager@^2.11.1: lodash.clonedeep "4.5.0" lru-cache "4.0.0" +cache-manager@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/cache-manager/-/cache-manager-3.4.0.tgz#6f352fa1ee95709878e3474e9ed8489ef751bba3" + integrity sha512-+WtL5sKHGngtnzTHNFA6+gC0wjpAAUmwmprXOSeaCBOkohM8Nh7GvV8fC90NFrDh7m3i87AshGd39/yYbWNtWA== + dependencies: + async "^3.2.0" + lodash "^4.17.20" + lru-cache "6.0.0" + cacheable-lookup@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz#87be64a18b925234875e10a9bb1ebca4adce6b38" @@ -6862,6 +7087,11 @@ cacheable-lookup@^2.0.0: "@types/keyv" "^3.1.1" keyv "^4.0.0" +cacheable-lookup@^5.0.3: + version "5.0.4" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" + integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== + cacheable-request@^2.1.1: version "2.1.4" resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d" @@ -6914,6 +7144,13 @@ caller-callsite@^2.0.0: dependencies: callsites "^2.0.0" +caller-id@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/caller-id/-/caller-id-0.1.0.tgz#59bdac0893d12c3871408279231f97458364f07b" + integrity sha1-Wb2sCJPRLDhxQIJ5Ix+XRYNk8Hs= + dependencies: + stack-trace "~0.0.7" + caller-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" @@ -7340,7 +7577,7 @@ clipboard@^2.0.0: select "^1.1.2" tiny-emitter "^2.0.0" -clipboardy@^2.3.0: +clipboardy@^2.1.0, clipboardy@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-2.3.0.tgz#3c2903650c68e46a91b388985bc2774287dba290" integrity sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ== @@ -7397,6 +7634,13 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" +clone-regexp@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-2.2.0.tgz#7d65e00885cd8796405c35a737e7a86b7429e36f" + integrity sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q== + dependencies: + is-regexp "^2.0.0" + clone-response@1.0.2, clone-response@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" @@ -8350,6 +8594,13 @@ createerror@1.3.0, createerror@^1.2.0, createerror@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/createerror/-/createerror-1.3.0.tgz#c666bd4cd6b94e35415396569d4649dd0cdb3313" +cross-env@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.2.1.tgz#b2c76c1ca7add66dc874d11798466094f551b34d" + integrity sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ== + dependencies: + cross-spawn "^6.0.5" + cross-env@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" @@ -8698,6 +8949,11 @@ cxs@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/cxs/-/cxs-6.2.0.tgz#f11ca3bdaef154b93bdadca5df70f2cb3e37ca24" +cycle@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" + integrity sha1-IegLK+hYD5i0aPN5QwZisEbDStI= + cyclist@~0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" @@ -9312,6 +9568,11 @@ diff@^4.0.1: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== +diff@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + diffie-hellman@^5.0.0: version "5.0.3" resolved "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -9670,6 +9931,16 @@ dtrace-provider@~0.8: dependencies: nan "^2.10.0" +dumper.js@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/dumper.js/-/dumper.js-1.3.1.tgz#c82c7a781e84b2bcfc497d58a937f981ccd35793" + integrity sha512-Ljxzo70hUKk5eC5x0TPpx2xZxpaphylef8aD0OgGhSv4a5suZrCZyyjMnYRwbmX260owlijmW2RUHh6m2tU+jQ== + dependencies: + caller-id "^0.1.0" + cycle "^1.0.3" + kind-of "^6.0.2" + kleur "^3.0.2" + duplexer2@^0.1.2, duplexer2@~0.1.0, duplexer2@~0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" @@ -10660,6 +10931,13 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +execall@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/execall/-/execall-2.0.0.tgz#16a06b5fe5099df7d00be5d9c06eecded1663b45" + integrity sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow== + dependencies: + clone-regexp "^2.1.0" + executable@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" @@ -10939,6 +11217,11 @@ fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" +fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" @@ -11088,6 +11371,16 @@ file-type@^12.0.0: resolved "https://registry.yarnpkg.com/file-type/-/file-type-12.4.2.tgz#a344ea5664a1d01447ee7fb1b635f72feb6169d9" integrity sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg== +file-type@^15.0.1: + version "15.0.1" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-15.0.1.tgz#54175484953d48b970c095ba8737d4e0c3a9b407" + integrity sha512-0LieQlSA3bWUdErNrxzxfI4rhsvNAVPBO06R8pTc1hp9SE6nhqlVyvhcaXoMmtXkBTPnQenbMPLW9X76hH76oQ== + dependencies: + readable-web-to-node-stream "^2.0.0" + strtok3 "^6.0.3" + token-types "^2.0.0" + typedarray-to-buffer "^3.1.5" + file-type@^16.0.0: version "16.0.1" resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.0.1.tgz#d12d19c716e49d79e0a27bcf502961498b0b9928" @@ -11192,6 +11485,14 @@ finalhandler@~1.1.2: statuses "~1.5.0" unpipe "~1.0.0" +find-babel-config@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.2.0.tgz#a9b7b317eb5b9860cda9d54740a8c8337a2283a2" + integrity sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA== + dependencies: + json5 "^0.5.1" + path-exists "^3.0.0" + find-cache-dir@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" @@ -11644,13 +11945,6 @@ gather-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/gather-stream/-/gather-stream-1.0.0.tgz#b33994af457a8115700d410f317733cbe7a0904b" -gatsby-design-tokens@^2.0.2: - version "2.0.13" - resolved "https://registry.yarnpkg.com/gatsby-design-tokens/-/gatsby-design-tokens-2.0.13.tgz#33f5fa84a399b821ae224b9921847d7b37c45600" - integrity sha512-I4i1pYG5y8yQ9uul1uvUZ1sy5skCOg33kHUUeYCWvW7vPdtBcQLgYqT2tLPQMMCc16ljbJF0DL4g52zQ7tVAhQ== - dependencies: - hex2rgba "^0.0.1" - gatsby-interface@^0.0.244: version "0.0.244" resolved "https://registry.yarnpkg.com/gatsby-interface/-/gatsby-interface-0.0.244.tgz#76d07099248f55be55b17d9577326a180fa1136d" @@ -12330,6 +12624,23 @@ got@^10.7.0: to-readable-stream "^2.0.0" type-fest "^0.10.0" +got@^11.7.0: + version "11.8.1" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.1.tgz#df04adfaf2e782babb3daabc79139feec2f7e85d" + integrity sha512-9aYdZL+6nHmvJwHALLwKSUZ0hMwGaJGYv3hoPLPgnT8BoBXm1SjnZeky+91tfwJaDzun2s4RsBRy48IEYv2q2Q== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.1" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + got@^6.7.1: version "6.7.1" resolved "http://registry.npmjs.org/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" @@ -12491,6 +12802,13 @@ graphql-playground-middleware-express@^1.7.18: dependencies: graphql-playground-html "1.6.25" +graphql-query-compress@^1.2.2: + version "1.2.4" + resolved "https://registry.yarnpkg.com/graphql-query-compress/-/graphql-query-compress-1.2.4.tgz#27c6a21ef4fe0dfaa2ff9d29ca8938a876a55650" + integrity sha512-W5SMy8/2RAsC9uMOV9VTwnUkp+8N3BZz6qef6jRCIxOVrVxRBiX2btvpaKrEnPU4nchnc1bCfmMDkEtCRzJUiw== + dependencies: + tokenizr "1.5.7" + graphql-request@^1.8.2: version "1.8.2" resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-1.8.2.tgz#398d10ae15c585676741bde3fc01d5ca948f8fbe" @@ -12658,6 +12976,11 @@ harfbuzzjs@^0.1.3: resolved "https://registry.yarnpkg.com/harfbuzzjs/-/harfbuzzjs-0.1.3.tgz#84fa70720d6042b653cd5ea905f4ded4a8af413e" integrity sha512-VNucTICFDHUSVUNnFSAh9TBqbFcTb3guYUtAAOtott3C2lMjCO92/2vLdbxmGGsrGJ8XTbVLufFWxPTnHkcQsA== +harmony-reflect@^1.4.6: + version "1.6.1" + resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz#c108d4f2bb451efef7a37861fdbdae72c9bdefa9" + integrity sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA== + has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -13299,6 +13622,14 @@ http-status-codes@1.4.0: resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-1.4.0.tgz#6e4c15d16ff3a9e2df03b89f3a55e1aae05fb477" integrity sha512-JrT3ua+WgH8zBD3HEJYbeEgnuQaAnUeRRko/YojPAJjGmIfGD3KPU/asLdsLwKjfxOmQe5nXMQ0pt/7MyapVbQ== +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.0-beta.5.2" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.0-beta.5.2.tgz#8b923deb90144aea65cf834b016a340fc98556f3" + integrity sha512-xYz9goEyBnC8XwXDTuC/MZ6t+MrKVQZOk4s7+PaDkwIsQd8IwqvM+0M6bA/2lvG8GHXcPdf+MejTUeO2LCPCeQ== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + httperrors@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/httperrors/-/httperrors-2.0.1.tgz#02febcaec8d9d6a9e1ae3773915b9fdaa2204672" @@ -13413,6 +13744,13 @@ idb-keyval@^3.2.0: resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-3.2.0.tgz#cbbf354deb5684b6cdc84376294fc05932845bd6" integrity sha512-slx8Q6oywCCSfKgPgL0sEsXtPVnSbTLWpyiDcu6msHOyKOLari1TD1qocXVCft80umnkk3/Qqh3lwoFt8T/BPQ== +identity-obj-proxy@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" + integrity sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ= + dependencies: + harmony-reflect "^1.4.6" + ieee754@^1.1.13, ieee754@^1.1.4: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" @@ -13503,6 +13841,11 @@ immediate@~3.2.3: resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.2.3.tgz#d140fa8f614659bd6541233097ddaac25cdd991c" integrity sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw= +immer@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/immer/-/immer-4.0.2.tgz#9ff0fcdf88e06f92618a5978ceecb5884e633559" + integrity sha512-Q/tm+yKqnKy4RIBmmtISBlhXuSDrB69e9EKTYiIenIKQkXBQir43w+kN/eGiax3wt1J0O1b2fYcNqLSbEcXA7w== + import-cwd@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" @@ -13645,7 +13988,7 @@ ink-spinner@^4.0.1: dependencies: cli-spinners "^2.3.0" -ink@^3.0.8: +ink@*, ink@^3.0.8: version "3.0.8" resolved "https://registry.yarnpkg.com/ink/-/ink-3.0.8.tgz#c527957c8fa4efcc139b67a4cbba7bb8a62b18b0" integrity sha512-ubMFylXYaG4IkXQVhPautbhV/p6Lo0GlvAMI/jh8cGJQ39yeznJbaTTJP2CqZXezA4GOHzalpwCWqux/NEY38w== @@ -14281,6 +14624,11 @@ is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" +is-regexp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d" + integrity sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA== + is-relative-url@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-relative-url/-/is-relative-url-3.0.0.tgz#f623c8e26baa5bd3742b3b7ec074f50f3b45b3f3" @@ -15580,7 +15928,7 @@ kleur@4.1.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.3.tgz#8d262a56d79a137ee1b706e967c0b08a7fef4f4c" integrity sha512-H1tr8QP2PxFTNwAFM74Mui2b6ovcY9FoxJefgrwxY+OCJcq01k5nvhf4M/KnizzrJvLRap5STUy7dgDV35iUBw== -kleur@^3.0.3: +kleur@^3.0.2, kleur@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== @@ -16042,7 +16390,7 @@ lock@^1.0.0: resolved "https://registry.yarnpkg.com/lock/-/lock-1.1.0.tgz#53157499d1653b136ca66451071fca615703fa55" integrity sha1-UxV0mdFlOxNspmRRBx/KYVcD+lU= -lockfile@1.0.4: +lockfile@1.0.4, lockfile@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.4.tgz#07f819d25ae48f87e538e6578b6964a4981a5609" dependencies: @@ -16441,6 +16789,13 @@ lru-cache@4.0.0: pseudomap "^1.0.1" yallist "^2.0.0" +lru-cache@6.0.0, lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + lru-cache@=2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.3.1.tgz#b3adf6b3d856e954e2c390e6cef22081245a53d6" @@ -16459,13 +16814,6 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -18734,7 +19082,7 @@ p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" -p-try@^2.0.0: +p-try@^2.0.0, p-try@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== @@ -19289,6 +19637,13 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" +pkg-up@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" + integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== + dependencies: + find-up "^3.0.0" + pkginfo@0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.1.tgz#b5418ef0439de5425fc4995042dced14fb2a84ff" @@ -20262,6 +20617,11 @@ quick-lru@^4.0.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + quotation@^1.0.0, quotation@^1.0.1, quotation@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/quotation/-/quotation-1.1.3.tgz#2a4d11f70105ad398b577883f310469367f53351" @@ -20583,6 +20943,16 @@ react-style-singleton@^2.1.0: invariant "^2.2.4" tslib "^1.0.0" +react-test-renderer@^16.12.0: + version "16.14.0" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.14.0.tgz#e98360087348e260c56d4fe2315e970480c228ae" + integrity sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg== + dependencies: + object-assign "^4.1.1" + prop-types "^15.6.2" + react-is "^16.8.6" + scheduler "^0.19.1" + react-test-renderer@^16.13.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.13.1.tgz#de25ea358d9012606de51e012d9742e7f0deabc1" @@ -20607,6 +20977,14 @@ react@^16.12.0, react@^16.8.0: object-assign "^4.1.1" prop-types "^15.6.2" +read-chunk@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-3.2.0.tgz#2984afe78ca9bfbbdb74b19387bf9e86289c16ca" + integrity sha512-CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ== + dependencies: + pify "^4.0.1" + with-open-file "^0.1.6" + read-cmd-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz#2d5d157786a37c055d22077c32c53f8329e91c7b" @@ -20779,6 +21157,11 @@ readable-stream@~2.1.0: string_decoder "~0.10.x" util-deprecate "~1.0.1" +readable-web-to-node-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-2.0.0.tgz#751e632f466552ac0d5c440cc01470352f93c4b7" + integrity sha512-+oZJurc4hXpaaqsN68GoZGQAQIA3qr09Or4fqEsargABnbe5Aau8hFn6ISVleT3cpY/0n/8drn7huyyEvTbghA== + readable-web-to-node-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.0.tgz#4ca5408e70471069119d691934141a52de413955" @@ -22005,6 +22388,11 @@ replace-ext@1.0.0, replace-ext@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" +replaceall@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/replaceall/-/replaceall-0.1.6.tgz#81d81ac7aeb72d7f5c4942adf2697a3220688d8e" + integrity sha1-gdgax663LX9cSUKt8ml6MiBojY4= + request-promise-core@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346" @@ -22012,6 +22400,13 @@ request-promise-core@1.1.2: dependencies: lodash "^4.17.11" +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== + dependencies: + lodash "^4.17.19" + request-promise-native@^1.0.5, request-promise-native@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59" @@ -22021,6 +22416,15 @@ request-promise-native@^1.0.5, request-promise-native@^1.0.7: stealthy-require "^1.1.1" tough-cookie "^2.3.3" +request-promise-native@^1.0.8: + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + request@2.88.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" @@ -22046,7 +22450,7 @@ request@2.88.0: tunnel-agent "^0.6.0" uuid "^3.3.2" -request@2.88.2, request@^2.83.0, request@^2.87.0, request@^2.88.0: +request@2.88.2, request@^2.83.0, request@^2.87.0, request@^2.88.0, request@^2.88.2: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -22108,6 +22512,16 @@ requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" +reselect@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.0.0.tgz#f2529830e5d3d0e021408b246a206ef4ea4437f7" + integrity sha512-qUgANli03jjAyGlnbYVAV5vvnOmJnODyABz51RdBN7M4WaVu8mecZWgyQNkG8Yqe3KRGRt0l4K4B3XVEULC4CA== + +resolve-alpn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.0.0.tgz#745ad60b3d6aff4b4a48e01b8c0bdc70959e0e8c" + integrity sha512-rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA== + resolve-cwd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" @@ -22581,7 +22995,7 @@ rx-lite@*, rx-lite@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" -rxjs@^6.4.0, rxjs@^6.6.3: +rxjs@^6.4.0, rxjs@^6.5.5, rxjs@^6.6.3: version "6.6.3" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== @@ -23535,7 +23949,7 @@ stable@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" -stack-trace@^0.0.10: +stack-trace@^0.0.10, stack-trace@~0.0.7: version "0.0.10" resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" @@ -24806,6 +25220,11 @@ token-types@^2.0.0: "@tokenizer/token" "^0.1.0" ieee754 "^1.1.13" +tokenizr@1.5.7: + version "1.5.7" + resolved "https://registry.yarnpkg.com/tokenizr/-/tokenizr-1.5.7.tgz#80702775ac9d61899bd3c60e4c7ac36b9845bcbf" + integrity sha512-w6qS6F5PNtY30DxoRD4a7nC7zOlPM2SlpQ4zLhOmqBaB1VCZrlV82bLpc/lKNOdNmrwIwcsJLDcjEJ8f7UG6Mg== + toml@^2.3.2, toml@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/toml/-/toml-2.3.6.tgz#25b0866483a9722474895559088b436fd11f861b" @@ -24862,6 +25281,11 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + trim-lines@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-1.1.1.tgz#da738ff58fa74817588455e30b11b85289f2a396" @@ -26142,6 +26566,18 @@ wait-for-expect@^3.0.2: resolved "https://registry.yarnpkg.com/wait-for-expect/-/wait-for-expect-3.0.2.tgz#d2f14b2f7b778c9b82144109c8fa89ceaadaa463" integrity sha512-cfS1+DZxuav1aBYbaO/kE06EOS8yRw7qOFoD3XtjTkYvCvh3zUvNST8DXK/nPaeqIzIv3P3kL3lRJn8iwOiSag== +wait-on@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-4.0.2.tgz#6ee9b5751b4e0329630abbb5fdba787802b32914" + integrity sha512-Qpmgm3Hw/sXm7xK68FBsYy5r+Uid94/QymwnEjn9GTpfiWTUVYm0bccivVwY/BXGYO2r+5Cd8S/DzrRZqHK/9w== + dependencies: + "@hapi/joi" "^17.1.1" + lodash "^4.17.15" + minimist "^1.2.5" + request "^2.88.2" + request-promise-native "^1.0.8" + rxjs "^6.5.5" + walker@^1.0.7, walker@~1.0.5: version "1.0.7" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" @@ -26476,6 +26912,15 @@ windows-release@^3.1.0: dependencies: execa "^1.0.0" +with-open-file@^0.1.6: + version "0.1.7" + resolved "https://registry.yarnpkg.com/with-open-file/-/with-open-file-0.1.7.tgz#e2de8d974e8a8ae6e58886be4fe8e7465b58a729" + integrity sha512-ecJS2/oHtESJ1t3ZfMI3B7KIDKyfN0O16miWxdn30zdh66Yd3LsRFebXZXq6GU4xfxLf6nVxp9kIqElb5fqczA== + dependencies: + p-finally "^1.0.0" + p-try "^2.1.0" + pify "^4.0.1" + wmf@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wmf/-/wmf-1.0.1.tgz#f8690f185651bf88d39f0a21ae3e51bb1ec9fae9"