diff --git a/.chglog/CHANGELOG.tpl.md b/.chglog/CHANGELOG.tpl.md
new file mode 100644
index 000000000..beb340ad6
--- /dev/null
+++ b/.chglog/CHANGELOG.tpl.md
@@ -0,0 +1,67 @@
+
+
+
+{{ if .Versions -}}
+
+# Unreleased
+
+{{ if .Unreleased.CommitGroups -}}
+{{ range .Unreleased.CommitGroups -}}
+## {{ .Title }}
+
+{{ range .Commits -}}
+{{ if and (not (hasPrefix .Subject "changelog rebuild")) (not (hasPrefix .Subject "layer docs update")) (not (hasPrefix .Subject "bump version to")) -}}
+* {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
+{{ end -}}
+{{ end }}
+{{ end -}}
+{{ end -}}
+{{ end -}}
+
+{{ range .Versions }}
+
+## {{ if .Tag.Previous }}[{{ .Tag.Name }}]{{ else }}{{ .Tag.Name }}{{ end }} - {{ datetime "2006-01-02" .Tag.Date }}
+{{ range .CommitGroups -}}
+
+## {{ .Title }}
+
+{{ range .Commits -}}
+{{ if and (not (hasPrefix .Subject "changelog rebuild")) (not (hasPrefix .Subject "layer docs update")) (not (hasPrefix .Subject "bump version to")) -}}
+* {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
+{{ end -}}
+{{ end }}
+{{ end -}}
+
+{{- if .RevertCommits -}}
+## Reverts
+{{ range .RevertCommits -}}
+* {{ .Revert.Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .MergeCommits -}}
+## Pull Requests
+
+{{ range .MergeCommits -}}
+* {{ .Header }}
+{{ end }}
+{{ end -}}
+
+{{- if .NoteGroups -}}
+{{ range .NoteGroups -}}
+## {{ .Title }}
+{{ range .Notes }}
+{{ .Body }}
+{{ end }}
+{{ end -}}
+{{ end -}}
+{{ end -}}
+
+{{- if .Versions }}
+[Unreleased]: {{ .Info.RepositoryURL }}/compare/{{ $latest := index .Versions 0 }}{{ $latest.Tag.Name }}...HEAD
+{{ range .Versions -}}
+{{ if .Tag.Previous -}}
+[{{ .Tag.Name }}]: {{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}
+{{ end -}}
+{{ end -}}
+{{ end -}}
diff --git a/.chglog/config.yml b/.chglog/config.yml
new file mode 100644
index 000000000..4b78ec16e
--- /dev/null
+++ b/.chglog/config.yml
@@ -0,0 +1,37 @@
+style: github
+template: CHANGELOG.tpl.md
+info:
+ title: CHANGELOG
+ repository_url: https://github.com/aws-powertools/powertools-lambda-java
+options:
+ commits:
+ filters:
+ Type:
+ - feat
+ - fix
+ - perf
+ - refactor
+ - docs
+ - chore
+ - revert
+ commit_groups:
+ title_maps:
+ feat: Features
+ fix: Bug Fixes
+ perf: Performance Improvements
+ refactor: Code Refactoring
+ docs: Documentation
+ chore: Maintenance
+ revert: Regression
+ header:
+ pattern: "^(\\w*)(?:\\(([\\w\\$\\.\\-\\*\\s]*)\\))?\\:\\s(.*)$"
+ pattern_maps:
+ - Type
+ - Scope
+ - Subject
+ notes:
+ keywords:
+ - BREAKING CHANGE
+ # issues:
+ # prefix:
+ # - #
diff --git a/.github/DISCUSSION_TEMPLATE/rfcs.yml b/.github/DISCUSSION_TEMPLATE/rfcs.yml
new file mode 100644
index 000000000..55909514f
--- /dev/null
+++ b/.github/DISCUSSION_TEMPLATE/rfcs.yml
@@ -0,0 +1,107 @@
+title: "RFC:
"
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thank you for submitting a RFC. Please add as many details as possible to help further enrich this design.
+ - type: input
+ id: relation
+ attributes:
+ label: Is this related to an existing feature request or issue?
+ description: Please share a link, if applicable
+ - type: dropdown
+ id: area
+ attributes:
+ label: Which area does this RFC relate to?
+ options:
+ - Tracer
+ - Logger
+ - Metrics
+ - Parameters
+ - Large Messages
+ - Batch Processing
+ - Validation
+ - Idempotency
+ - Custom Resources
+ - Serialization
+ - Other
+ validations:
+ required: true
+ - type: textarea
+ id: summary
+ attributes:
+ label: Summary
+ description: Please provide an overview in one or two paragraphs
+ validations:
+ required: true
+ - type: textarea
+ id: problem
+ attributes:
+ label: Use case
+ description: Please share the use case and motivation behind this proposal
+ validations:
+ required: true
+ - type: textarea
+ id: proposal
+ attributes:
+ label: Proposal
+ description: Please explain the design in detail, so anyone familiar with the project could implement it
+ placeholder: What the user experience looks like before and after this design?
+ validations:
+ required: true
+ - type: textarea
+ id: scope
+ attributes:
+ label: Out of scope
+ description: Please explain what should be considered out of scope in your proposal
+ validations:
+ required: true
+ - type: textarea
+ id: challenges
+ attributes:
+ label: Potential challenges
+ description: Nothing is perfect. Please share what common challenges, edge cases, unresolved areas, and suggestions on how to mitigate them
+ validations:
+ required: true
+ - type: textarea
+ id: integrations
+ attributes:
+ label: Dependencies and Integrations
+ description: If applicable, please share whether this feature has additional dependencies, and how it might integrate with other utilities available
+ validations:
+ required: false
+ - type: textarea
+ id: alternatives
+ attributes:
+ label: Alternative solutions
+ description: Please describe what alternative solutions to this use case, if any
+ render: Markdown
+ validations:
+ required: false
+ - type: checkboxes
+ id: acknowledgment
+ attributes:
+ label: Acknowledgment
+ options:
+ - label: This RFC meets [Powertools for AWS Lambda (Java) Tenets](https://docs.powertools.aws.dev/lambda/java/latest/#tenets)
+ required: true
+ - label: Should this be considered in other Powertools for AWS Lambda languages? i.e. [Python](https://github.com/aws-powertools/powertools-lambda-python/), [TypeScript](https://github.com/aws-powertools/powertools-lambda-typescript/), and [.NET](https://github.com/aws-powertools/powertools-lambda-dotnet/)
+ required: false
+ - type: markdown
+ attributes:
+ value: |
+ ---
+
+ **Disclaimer**: After creating an RFC, please wait until it is reviewed and signed-off by a maintainer before implementing it. This will reduce amount of rework and the chance that a pull request gets rejected.
+
+ Metadata information for admin purposes, please leave them empty.
+
+ * RFC PR:
+ * Approved by: ''
+ * Reviewed by: ''
+ - type: input
+ id: notes
+ attributes:
+ label: Future readers
+ description: Please not edit this field
+ value: "Please react with 👍 and your use case to help us understand customer demand."
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index c1b7490eb..000000000
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve
-title: ''
-labels: bug, triage
-assignees: ''
-
----
-
-
-
-
-**What were you trying to accomplish?**
-
-## Expected Behavior
-
-
-
-## Current Behavior
-
-
-
-## Possible Solution
-
-
-
-## Steps to Reproduce (for bugs)
-
-
-1.
-2.
-3.
-4.
-
-## Environment
-
-* **Powertools version used**:
-* **Packaging format (Layers, Maven/Gradle)**:
-* **AWS Lambda function runtime:**
-* **Debugging logs**
-
-> [How to enable debug mode](https://awslabs.github.io/aws-lambda-powertools-java/#debug-mode)**
-
-```text
-# paste logs here
-```
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 000000000..2b0ae71e8
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,82 @@
+name: Bug report
+description: Report a reproducible bug to help us improve
+title: "Bug: TITLE"
+type: "Bug"
+labels: ["bug", "triage"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thank you for submitting a bug report. Please add as much information as possible to help us reproduce, and remove any potential sensitive data.
+
+ Please become familiar with [our definition of bug](https://docs.powertools.aws.dev/lambda/java/processes/maintainers/#is-that-a-bug).
+ - type: textarea
+ id: expected_behaviour
+ attributes:
+ label: Expected Behaviour
+ description: Please share details on the behaviour you expected
+ validations:
+ required: true
+ - type: textarea
+ id: current_behaviour
+ attributes:
+ label: Current Behaviour
+ description: Please share details on the current issue
+ validations:
+ required: true
+ - type: textarea
+ id: code_snippet
+ attributes:
+ label: Code snippet
+ description: Please share a code snippet to help us reproduce the issue
+ render: java
+ validations:
+ required: true
+ - type: textarea
+ id: solution
+ attributes:
+ label: Possible Solution
+ description: If known, please suggest a potential resolution
+ validations:
+ required: false
+ - type: textarea
+ id: steps
+ attributes:
+ label: Steps to Reproduce
+ description: Please share how we might be able to reproduce this issue
+ validations:
+ required: true
+ - type: input
+ id: version
+ attributes:
+ label: Powertools for AWS Lambda (Java) version
+ placeholder: "latest, 2.0.1"
+ value: latest
+ validations:
+ required: true
+ - type: dropdown
+ id: runtime
+ attributes:
+ label: AWS Lambda function runtime
+ options:
+ - "Java 8"
+ - "Java 11"
+ - "Java 17"
+ - "Java 21"
+ - "provided.al2023"
+ validations:
+ required: true
+ - type: textarea
+ id: logs
+ attributes:
+ label: Debugging logs
+ description: If available, please share [debugging logs](https://docs.powertools.aws.dev/lambda/lambda/#debug-mode)
+ render: java
+ validations:
+ required: false
+ - type: markdown
+ attributes:
+ value: |
+ ---
+
+ **Disclaimer**: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 000000000..01a8d495b
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,8 @@
+blank_issues_enabled: false
+contact_links:
+ - name: Ask a question
+ url: https://github.com/aws-powertools/powertools-lambda-java/discussions/new
+ about: Ask a general question about Powertools for AWS Lambda
+ - name: Join Community Discord Server
+ url: https://discord.gg/B8zZKbbyET
+ about: "Check out the #java channel"
diff --git a/.github/ISSUE_TEMPLATE/documentation-improvements.md b/.github/ISSUE_TEMPLATE/documentation-improvements.md
deleted file mode 100644
index 8341ae4e0..000000000
--- a/.github/ISSUE_TEMPLATE/documentation-improvements.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-name: Documentation improvements
-about: Suggest a documentation update
-title: ''
-labels: documentation
-assignees: ''
-
----
-
-**What were you initially searching for in the docs?**
-
-
-**Is this related to an existing part of the documentation? Please share a link**
-
-**Describe how we could make it clearer**
-
-**If you have a proposed update, please share it here**
diff --git a/.github/ISSUE_TEMPLATE/documentation_improvements.yml b/.github/ISSUE_TEMPLATE/documentation_improvements.yml
new file mode 100644
index 000000000..e750d5192
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/documentation_improvements.yml
@@ -0,0 +1,50 @@
+name: Documentation improvements
+description: Suggest a documentation update to improve everyone's experience
+title: "Docs: TITLE"
+labels: ["documentation", "triage"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thank you for helping us improve everyone's experience. We review documentation updates on a case by case basis.
+ - type: textarea
+ id: search_area
+ attributes:
+ label: What were you searching in the docs?
+ description: Please help us understand how you looked for information that was either unclear or not available
+ validations:
+ required: true
+ - type: input
+ id: area
+ attributes:
+ label: Is this related to an existing documentation section?
+ description: Please share a link, if applicable
+ validations:
+ required: false
+ - type: textarea
+ id: idea
+ attributes:
+ label: How can we improve?
+ description: Please share your thoughts on how we can improve this experience
+ validations:
+ required: true
+ - type: textarea
+ id: suggestion
+ attributes:
+ label: Got a suggestion in mind?
+ description: Please suggest a proposed update
+ validations:
+ required: false
+ - type: checkboxes
+ id: acknowledgment
+ attributes:
+ label: Acknowledgment
+ options:
+ - label: I understand the final update might be different from my proposed suggestion, or refused.
+ required: true
+ - type: markdown
+ attributes:
+ value: |
+ ---
+
+ **Disclaimer**: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
deleted file mode 100644
index b837b7ad5..000000000
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-name: Feature request
-about: Suggest an idea for this project
-title: ''
-labels: feature-request, triage
-assignees: ''
-
----
-
-**Is your feature request related to a problem? Please describe.**
-
-
-**Describe the solution you'd like**
-
-
-**Describe alternatives you've considered**
-
-
-**Additional context**
-
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
new file mode 100644
index 000000000..6aaef0718
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -0,0 +1,52 @@
+name: Feature request
+description: Suggest an idea for Powertools for AWS Lambda
+title: "Feature request: TITLE"
+labels: ["feature-request", "triage"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thank you for taking the time to suggest an idea to the Powertools for AWS Lambda (Java) project.
+ - type: textarea
+ id: problem
+ attributes:
+ label: Use case
+ description: Please help us understand your use case or problem you're facing
+ validations:
+ required: true
+ - type: textarea
+ id: suggestion
+ attributes:
+ label: Solution/User Experience
+ description: Please share what a good solution would look like to this use case
+ validations:
+ required: true
+ - type: textarea
+ id: alternatives
+ attributes:
+ label: Alternative solutions
+ description: Please describe what alternative solutions to this use case, if any
+ render: Markdown
+ validations:
+ required: false
+ - type: checkboxes
+ id: acknowledgment
+ attributes:
+ label: Acknowledgment
+ options:
+ - label: This feature request meets [Powertools for AWS Lambda (Java) Tenets](https://docs.powertools.aws.dev/lambda/java/latest/#tenets)
+ required: true
+ - label: Should this be considered in other Powertools for AWS Lambda languages? i.e. [Python](https://github.com/aws-powertools/powertools-lambda-python/), [TypeScript](https://github.com/aws-powertools/powertools-lambda-typescript/), and [.NET](https://github.com/aws-powertools/powertools-lambda-dotnet/)
+ required: false
+ - type: markdown
+ attributes:
+ value: |
+ ---
+
+ **Disclaimer**: After creating an issue, please wait until it is triaged and confirmed by a maintainer before implementing it. This will reduce amount of rework and the chance that a pull request gets rejected.
+ - type: input
+ id: notes
+ attributes:
+ label: Future readers
+ description: Please not edit this field
+ value: "Please react with 👍 and your use case to help us understand customer demand."
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/maintenance.yml b/.github/ISSUE_TEMPLATE/maintenance.yml
new file mode 100644
index 000000000..1a84ed7ef
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/maintenance.yml
@@ -0,0 +1,67 @@
+name: Maintenance
+description: Suggest an activity to help address tech debt, governance, and anything internal
+title: "Maintenance: TITLE"
+labels: ["internal", "triage"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thank you for taking the time to help us improve operational excellence.
+
+ *Future readers*: Please react with 👍 and your use case to help us understand customer demand.
+ - type: textarea
+ id: activity
+ attributes:
+ label: Summary
+ description: Please provide an overview in one or two paragraphs
+ validations:
+ required: true
+ - type: textarea
+ id: importance
+ attributes:
+ label: Why is this needed?
+ description: Please help us understand the value so we can prioritize it accordingly
+ validations:
+ required: true
+ - type: dropdown
+ id: area
+ attributes:
+ label: Which area does this relate to?
+ multiple: true
+ options:
+ - Automation
+ - Governance
+ - Tests
+ - Tracer
+ - Logger
+ - Metrics
+ - Parameters
+ - SQS Large Message Handling
+ - SQS Batch Processing
+ - Validation
+ - Idempotency
+ - Custom Resources
+ - Serialization
+ - Other
+ - type: textarea
+ id: suggestion
+ attributes:
+ label: Solution
+ description: If available, please share what a good solution would look like
+ validations:
+ required: false
+ - type: checkboxes
+ id: acknowledgment
+ attributes:
+ label: Acknowledgment
+ options:
+ - label: This request meets [Powertools for AWS Lambda (Java) Tenets](https://docs.powertools.aws.dev/lambda-java/#tenets)
+ required: true
+ - label: Should this be considered in other Powertools for AWS Lambda languages? i.e. [Python](https://github.com/aws-powertools/powertools-lambda-python/), [TypeScript](https://github.com/aws-powertools/powertools-lambda-typescript/)
+ required: false
+ - type: markdown
+ attributes:
+ value: |
+ ---
+
+ **Disclaimer**: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/rfc.md b/.github/ISSUE_TEMPLATE/rfc.md
deleted file mode 100644
index 1db27058d..000000000
--- a/.github/ISSUE_TEMPLATE/rfc.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-name: RFC
-about: Feature design and proposals
-title: 'RFC: '
-labels: RFC, triage
-assignees: ''
-
----
-
-## Key information
-
-* RFC PR: (leave this empty)
-* Related issue(s), if known:
-* Area: (i.e. Tracer, Metrics, Logger, etc.)
-* Meet [tenets](https://awslabs.github.io/aws-lambda-powertools-java/#tenets): (Yes/no)
-
-## Summary
-[summary]: #summary
-
-> One paragraph explanation of the feature.
-
-## Motivation
-[motivation]: #motivation
-
-> Why are we doing this? What use cases does it support? What is the expected outcome?
-
-## Proposal
-[proposal]: #proposal
-
-> This is the bulk of the RFC.
-
-> Explain the design in enough detail for somebody familiar with Powertools to understand it, and for somebody familiar with the implementation to implement it.
-
-> This should get into specifics and corner-cases, and include examples of how the feature is used. Any new terminology should be defined here.
-
-## Drawbacks
-[drawbacks]: #drawbacks
-
-> Why should we *not* do this?
-
-> Do we need additional dependencies? Impact performance/package size?
-
-## Rationale and alternatives
-[rationale-and-alternatives]: #rationale-and-alternatives
-
-* **What other designs have been considered? Why not them?**
-* **What is the impact of not doing this?**
-
-## Unresolved questions
-[unresolved-questions]: #unresolved-questions
-
-> Optional, stash area for topics that need further development e.g. TBD
diff --git a/.github/ISSUE_TEMPLATE/share_your_work.yml b/.github/ISSUE_TEMPLATE/share_your_work.yml
new file mode 100644
index 000000000..f0f879225
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/share_your_work.yml
@@ -0,0 +1,56 @@
+name: I Made This (showcase your work)
+description: Share what you did with Powertools for AWS Lambda (Java) 💞💞. Blog post, workshops, presentation, sample apps, etc.
+title: "[I Made This]: "
+labels: ["community-content", "triage"]
+body:
+ - type: markdown
+ attributes:
+ value: Thank you for helping spread the word out on Powertools, truly!
+ - type: input
+ id: content
+ attributes:
+ label: Link to your material
+ description: |
+ Please share the original link to your material.
+
+ *Note: Short links will be expanded when added to Powertools for AWS Lambda (Java) documentation*
+ validations:
+ required: true
+ - type: textarea
+ id: description
+ attributes:
+ label: Description
+ description: Describe in one paragraph what's in it for them (readers)
+ validations:
+ required: true
+ - type: input
+ id: author
+ attributes:
+ label: Preferred contact
+ description: What's your preferred contact? We'll list it next to this content
+ validations:
+ required: true
+ - type: input
+ id: author-social
+ attributes:
+ label: (Optional) Social Network
+ description: If different from preferred contact, what's your preferred contact for social interactions?
+ validations:
+ required: false
+ - type: textarea
+ id: notes
+ attributes:
+ label: (Optional) Additional notes
+ description: |
+ Any notes you might want to share with us related to this material.
+
+ *Note: These notes are explicitly to Powertools for AWS Lambda (Java) maintainers. It will not be added to the community resources page.*
+ validations:
+ required: false
+ - type: checkboxes
+ id: acknowledgment
+ attributes:
+ label: Acknowledgment
+ options:
+ - label: I understand this content may be removed from Powertools for AWS Lambda (Java) documentation if it doesn't conform with the [Code of Conduct](https://aws.github.io/code-of-conduct)
+ required: true
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/support_powertools.yml b/.github/ISSUE_TEMPLATE/support_powertools.yml
new file mode 100644
index 000000000..9067d47ec
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/support_powertools.yml
@@ -0,0 +1,64 @@
+name: Support Powertools for AWS Lambda (Java) (become a reference)
+description: Add your organization's name or logo to the Powertools for AWS Lambda (Java) documentation
+title: "[Support Powertools for AWS Lambda (Java)]: "
+labels: ["customer-reference", "triage"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Thank you for becoming a reference customer. Your support means a lot to us. It also helps new customers to know who's using it.
+
+ If you would like us to also display your organization's logo, please share a link in the `Company logo` field.
+ - type: input
+ id: organization
+ attributes:
+ label: Organization Name
+ description: Please share the name of your organization
+ placeholder: ACME
+ validations:
+ required: true
+ - type: input
+ id: name
+ attributes:
+ label: Your Name
+ description: Please share your name
+ validations:
+ required: true
+ - type: input
+ id: job
+ attributes:
+ label: Your current position
+ description: Please share your current position at your company
+ validations:
+ required: true
+ - type: input
+ id: logo
+ attributes:
+ label: (Optional) Company logo
+ description: Company logo you want us to display. You also allow us to resize for optimal placement in the documentation.
+ validations:
+ required: false
+ - type: textarea
+ id: use_case
+ attributes:
+ label: (Optional) Use case
+ description: How are you using Powertools for AWS Lambda (Java) today? *features, etc.*
+ validations:
+ required: false
+ - type: checkboxes
+ id: other_languages
+ attributes:
+ label: Also using other Powertools for AWS Lambda languages?
+ options:
+ - label: Java
+ required: false
+ - label: TypeScript
+ required: false
+ - label: .NET
+ required: false
+ - type: markdown
+ attributes:
+ value: |
+ *By raising a Support Powertools for AWS Lambda (Python) issue, you are granting AWS permission to use your company's name (and/or logo) for the limited purpose described here. You are also confirming that you have authority to grant such permission.*
+
+ *You can opt-out at any time by commenting or reopening this issue.*
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/tech_debt.yml b/.github/ISSUE_TEMPLATE/tech_debt.yml
new file mode 100644
index 000000000..56cd4b8c7
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/tech_debt.yml
@@ -0,0 +1,60 @@
+name: Technical debt
+description: Suggest an activity to help address technical debt.
+title: "Tech debt: TITLE"
+labels: ["tech-debt", "triage"]
+body:
+ - type: markdown
+ attributes:
+ value: Thank you for taking the time to help us proactively improve delivery velocity, safely.
+ - type: textarea
+ id: importance
+ attributes:
+ label: Why is this needed?
+ description: Please help us understand the value so we can prioritize it accordingly
+ validations:
+ required: true
+ - type: dropdown
+ id: area
+ attributes:
+ label: Which area does this relate to?
+ multiple: true
+ options:
+ - Tests
+ - Static typing
+ - Tracer
+ - Logger
+ - Metrics
+ - Middleware factory
+ - Parameters
+ - Batch processing
+ - Validation
+ - Event Source Data Classes
+ - Parser
+ - Idempotency
+ - Feature flags
+ - JMESPath functions
+ - Streaming
+ - Automation
+ - Other
+ - type: textarea
+ id: suggestion
+ attributes:
+ label: Suggestion
+ description: If available, please share what a good solution would look like
+ validations:
+ required: false
+ - type: checkboxes
+ id: acknowledgment
+ attributes:
+ label: Acknowledgment
+ options:
+ - label: This request meets [Powertools for AWS Lambda (Python) Tenets](https://docs.powertools.aws.dev/lambda/python/latest/#tenets)
+ required: true
+ - label: Should this be considered in other Powertools for AWS Lambda languages? i.e. [Python](https://github.com/aws-powertools/powertools-lambda-python/), [TypeScript](https://github.com/aws-powertools/powertools-lambda-typescript/), and [.NET](https://github.com/aws-powertools/powertools-lambda-dotnet/)
+ required: false
+ - type: markdown
+ attributes:
+ value: |
+ ---
+
+ **Disclaimer**: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.
\ No newline at end of file
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 94eb32733..f30703bb4 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,25 +1,28 @@
-**Issue #, if available:**
+## Summary
-## Description of changes:
+### Changes
-
+> Please provide a summary of what's being changed
-**Checklist**
+
-
+> Please add the issue number below, if no issue is present the PR might get blocked and not be reviewed
-* [ ] [Meet tenets criteria](https://awslabs.github.io/aws-lambda-powertools-java/#tenets)
-* [ ] Update tests
-* [ ] Update docs
-* [ ] PR title follows [conventional commit semantics]()
+**Issue number:**
-## Breaking change checklist
+
+- Read the Contributing Guidelines at https://github.com/aws-powertools/powertools-lambda-java/blob/main/CONTRIBUTING.md#sending-a-pull-request
+- Check that there isn't already a PR that addresses the same issue. If you find a duplicate, please leave a comment under the existing PR so we can discuss how to move forward
+- Check that the change meets the project's tenets https://docs.powertools.aws.dev/lambda/java/latest/#tenets
+- Add a PR title that follows the conventional commit semantics - https://www.conventionalcommits.org/en/v1.0.0/
+- If relevant, add tests that prove that the change is effective and works
+- Whenever relevant, make sure to comment functions/methods/types and make appropriate changes to the documentation
+------->
-**RFC issue #**:
-
-* [ ] Migration process documented
-* [ ] Implement warnings (if it can live side by side)
+---
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
+
+**Disclaimer**: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.
\ No newline at end of file
diff --git a/.github/actions/gradle/action.yml b/.github/actions/gradle/action.yml
new file mode 100644
index 000000000..e69de29bb
diff --git a/.github/actions/restore/action.yml b/.github/actions/restore/action.yml
new file mode 100644
index 000000000..e69de29bb
diff --git a/.github/actions/seal/action.yml b/.github/actions/seal/action.yml
new file mode 100644
index 000000000..079496c8c
--- /dev/null
+++ b/.github/actions/seal/action.yml
@@ -0,0 +1,78 @@
+name: Seal and hash source code
+description: |
+ Seals and creates a SHA256SUM of an artifact for storage
+
+ Process:
+ 1. Create a unique name based on environment details
+ 2. Compress work directory or specified path
+ 3. Hash compressed file
+ 4. Upload archive using `actions/upload-artifact`
+
+ Usage:
+ ```yml
+ - id: seal
+ name: Seal
+ uses: .github/actions/seal
+ with:
+ prefix: foo
+ ```
+
+inputs:
+ prefix:
+ description: Prefix to use when exporting artifact
+ required: true
+outputs:
+ hash:
+ description: SHA256SUM hash of compressed files
+ value: ${{ steps.hash.outputs.hash }}
+ artifact_name:
+ description: Artifact name
+ value: ${{ steps.artifact_name.outputs.artifact_name }}
+
+runs:
+ using: composite
+ steps:
+ - id: adjust_path
+ name: Adjust path
+ shell: bash
+ run: echo "${{ github.action_path }}" >> $GITHUB_PATH
+
+ - id: artifact_name
+ name: Export final artifact name
+ env:
+ GITHUB_RUN_ID: ${{ github.run_id }}
+ ARTIFACT_PREFIX: ${{ inputs.prefix }}
+ shell: bash
+ run: |
+ echo "artifact_name=${ARTIFACT_PREFIX}-${GITHUB_RUN_ID}" >> "$GITHUB_OUTPUT"
+
+ - id: compress
+ name: Create tarball for entire source
+ env:
+ ARTIFACT_NAME: ${{ steps.artifact_name.outputs.artifact_name }}
+ shell: bash
+ run: |
+ tar --exclude-vcs -cvf "${ARTIFACT_NAME}".tar *
+
+ - id: hash
+ name: Hash
+ env:
+ ARTIFACT_NAME: ${{ steps.artifact_name.outputs.artifact_name }}
+ shell: bash
+ run: |
+ echo "hash=$(openssl dgst -sha256 -binary "${{ ARTIFACT_NAME }}".tar | openssl enc -base64)" >> "$GITHUB_OUTPUT"
+
+ - name: Upload artifacts
+ uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
+ with:
+ if-no-files-found: error
+ name: ${{ steps.artifact_name.outputs.artifact_name }}
+ path: ${{ steps.artifact_name.outputs.artifact_name }}.tar
+ retention-days: 1
+
+ - name: Remove archive
+ env:
+ ARTIFACT_NAME: ${{ steps.artifact_name.outputs.artifact_name }}
+ shell: bash
+ run: |
+ rm -f "${ARTIFACT_NAME}.tar"
\ No newline at end of file
diff --git a/.github/actions/version/action.yml b/.github/actions/version/action.yml
new file mode 100644
index 000000000..f0f0516ee
--- /dev/null
+++ b/.github/actions/version/action.yml
@@ -0,0 +1,53 @@
+name: Version Java Project
+description: |
+ Versions the maven project using an input
+
+ Process:
+ 1. Grab current version from project.version variable from maven
+ 2. Set new version using maven-versions-plugin
+
+ Usage:
+ ```yml
+ - id: version
+ name: version
+ uses: .github/actions/version
+ with:
+ new_version: 1.20.0
+ snapshot: 'false'
+ ```
+
+inputs:
+ new_version:
+ description: New package version, expressed as SemVer (1.x.y)
+ required: true
+ snapshot:
+ description: New version is a SNAPSHOT release
+ required: true
+ default: 'false'
+
+outputs:
+ old_version:
+ description: Current version of project
+ value: ${{ steps.current_version.outputs.current_version}}
+
+runs:
+ using: composite
+ steps:
+ - id: current_version
+ name: Get current version
+ shell: bash
+ run: |
+ echo "current_version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_OUTPUT
+
+ - id: replace_version
+ name: Replace current version
+ shell: bash
+ run: |
+ mvn versions:set -DnewVersion=${{ inputs.new_version }} -DprocessAllModules=true -DallowSnapshots=true
+
+ - id: asset_version
+ name: Replace version for assets
+ if: ${{ inputs.snapshot == 'false' }}
+ shell: bash
+ run: |
+ grep "${{ steps.current_version.outputs.current_version }}" -r . --include build.gradle --include build.gradle.kts --include mkdocs.yml --include README.md -l | xargs sed -i 's#${{ steps.current_version.outputs.current_version }}#${{ inputs.new_version }}#'
\ No newline at end of file
diff --git a/.github/auto_assign-issues.yml b/.github/auto_assign-issues.yml
deleted file mode 100644
index 652e18ad5..000000000
--- a/.github/auto_assign-issues.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-addAssignees: true
-
-# The list of users to assign to new issues.
-# If empty or not provided, the repository owner is assigned
-assignees:
- - msailes
- - pankajagrawal16
- - stevehouel
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index caf24d1f9..caa9934ca 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -1,5 +1,22 @@
version: 2
updates:
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: "daily"
+ commit-message:
+ prefix: chore
+
+ - package-ecosystem: docker
+ directories:
+ - "/powertools-e2e-tests/src/test/resources/docker"
+ - "/docs"
+ - "/examples/**"
+ schedule:
+ interval: daily
+ commit-message:
+ prefix: chore
+
- package-ecosystem: "maven"
directory: "/"
schedule:
diff --git a/.github/dependency-review-config.yml b/.github/dependency-review-config.yml
new file mode 100644
index 000000000..2ea218503
--- /dev/null
+++ b/.github/dependency-review-config.yml
@@ -0,0 +1,32 @@
+allow-licenses:
+ - 'Apache-1.1'
+ - 'Apache-2.0'
+ - 'ISC'
+ - 'MIT'
+ - 'MIT-0'
+ - 'MIT-CMU'
+ - 'MIT-enna'
+ - 'MIT-feh'
+ - 'MIT-Festival'
+ - 'MIT-Modern-Variant'
+ - 'MIT-open-group'
+ - 'MIT-testregex'
+ - 'MIT-Wu'
+ - 'BSD-1-Clause'
+ - 'BSD-2-Clause'
+ - 'BSD-2-Clause-Views'
+ - 'BSD-3-Clause'
+ - 'BSD-3-Clause-Attribution'
+ - 'BSD-3-Clause-Clear'
+ - 'BSD-3-Clause-flex'
+ - 'BSD-3-Clause-HP'
+ - 'BSD-3-Clause-LBNL'
+ - 'BSD-3-Clause-Modification'
+ - 'BSD-3-Clause-No-Military-License'
+ - 'BSD-3-Clause-No-Nuclear-License'
+ - 'BSD-3-Clause-No-Nuclear-License-2014'
+ - 'BSD-3-Clause-No-Nuclear-Warranty'
+ - 'BSD-3-Clause-Open-MPI'
+ # TT: D290816995
+ - 'UPL-1.0'
+comment-summary-in-pr: on-failure
diff --git a/.github/pmd-ruleset.xml b/.github/pmd-ruleset.xml
new file mode 100644
index 000000000..1bc5f3020
--- /dev/null
+++ b/.github/pmd-ruleset.xml
@@ -0,0 +1,647 @@
+
+
+ Rules to check Powertools for Lambda
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+ 1
+
+
+
+
+
+
+ 1
+
+
+
+ 1
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+ 1
+
+
+
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+ 1
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+
+
+ 1
+
+
+
+ 1
+
+
+
+
+
+
+ 1
+
+
+ 1
+
+
+
+ 1
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+ 1
+
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+ 1
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+
+ 1
+
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+ 1
+
+
+ 1
+
+
+
+ 1
+
+
+
+ 1
+
+
+
+
+
+
+ 1
+
+
+
+ 1
+
+
+
+ 1
+
+
+ 1
+
+
+
+ 1
+
+
+ 1
+
+
+
+ 1
+
+
+
+ 1
+
+
+
+ 1
+
+
+ 1
+
+
+
+
+
+
+ 1
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+ 1
+
+
+
+
+ 1
+
+
+ 1
+
+
+
+
+
+ 1
+
+
+ 1
+
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+
+ 1
+
+
+
+
+
+
+ 1
+
+
+
+ 1
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ replace o.getClass().equals(MyClass.class) with o instanceof MyClass. Make sure MyClass doesn't have descendants
+ 1
+
+
+
+
+
+
+
+
+
+
+ replace MyClass.class.equals(o.getClass()) with o instanceof MyClass. Make sure MyClass doesn't have descendants
+ 3
+
+
+
+
+
+
+
+
+
+
+ Calling super.visit breaks the rulechain, by starting a full visitor run from the passed node downwards. Add all needed nodes to the rulechain instead.
+ 1
+
+
+
+
+
+
+
+
+
+
+ Just returning without calling super stops visiting of nested nodes like inner classes.
+ 3
+
+
+
+
+
+
+
+
+
+
+
+ Share the invocation matcher and not create a new one every time
+ 1
+
+
+
+
+
+
+
+
+
+
+ Use slf4j: LoggerFactory.getLogger(MyClass.class)
+ 1
+
+
+
+
+
+
+
+
+
diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml
index f2e5e5cb5..deadf289a 100644
--- a/.github/workflows/build-docs.yml
+++ b/.github/workflows/build-docs.yml
@@ -1,34 +1,90 @@
-name: Build Docs
+# Build Latest Docs
+#
+# Description:
+# Builds the latest docs and stores them in S3 to be served by our docs platform
+#
+# The workflow allows us to build to the main location (/lambda/java/) and to an alias
+# (i.e. /lambda/java/preview/) if needed
+#
+# Triggers:
+# - workflow_dispatch
+#
+# Inputs:
+# alias – subdirectory to store the docs in for previews or in progress work
on:
- pull_request:
- branches:
- - master
- paths:
- - 'docs/**'
- push:
- branches:
- - master
- paths:
- - 'docs/**'
+ workflow_dispatch:
+ inputs:
+ version:
+ description: "Version to build and publish docs (1.28.0, develop)"
+ required: true
+ type: string
+
+name: Build Latest Docs
+run-name: Build Latest Docs - ${{ inputs.version }}
+
+permissions: {}
jobs:
docs:
runs-on: ubuntu-latest
+ permissions:
+ contents: read # checkout repository
+ id-token: write # OIDC for AWS credentials
+ environment: Docs
steps:
- - uses: actions/checkout@v2
- - uses: borales/actions-yarn@v2.0.0
- - name: Set up Python
- uses: actions/setup-python@v1
+ - name: Checkout Repository
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
- python-version: "3.8"
- - name: Capture branch and tag
- id: branch_name
+ fetch-depth: 0
+ - name: Build
run: |
- echo ::set-env name=SOURCE_BRANCH::${GITHUB_REF#refs/heads/}
- echo ::set-env name=SOURCE_TAG::${GITHUB_REF#refs/tags/}
-
- - name: install dependencies
- run: make dev-docs
- - name: Build docs website
- run: make build-docs-website
\ No newline at end of file
+ mkdir -p dist
+ docker build -t squidfunk/mkdocs-material ./docs/
+ docker run --rm -t -v ${PWD}:/docs squidfunk/mkdocs-material build
+ - name: Configure AWS credentials
+ uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708
+ with:
+ aws-region: us-east-1
+ role-to-assume: ${{ secrets.AWS_DOCS_ROLE_ARN }}
+ - name: Deploy Docs (Version)
+ env:
+ VERSION: ${{ inputs.version }}
+ ALIAS: "latest"
+ run: |
+ aws s3 sync \
+ site/ \
+ s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-java/${{ env.VERSION }}/
+ - name: Deploy Docs (Alias)
+ env:
+ VERSION: ${{ inputs.version }}
+ ALIAS: "latest"
+ run: |
+ aws s3 sync \
+ site/ \
+ s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-java/${{ env.ALIAS }}/
+ - name: Deploy Docs (Version JSON)
+ env:
+ VERSION: ${{ inputs.version }}
+ ALIAS: "latest"
+ # We originally used "mike" from PyPi to manage versions for us, but since we moved to S3, we can't use it to manage versions any more.
+ # Instead, we're using some shell script that manages the versions.
+ #
+ # Operations:
+ # 1. Download the versions.json file from S3
+ # 2. Find any reference to the alias and delete it from the versions file
+ # 3. This is voodoo (don't use JQ):
+ # - we assign the input as $o and the new version/alias as $n,
+ # - we check if the version number exists in the file already (for republishing docs)
+ # - if it's an alias (stage/latest/*) or old version, we do nothing and output $o (original input)
+ # - if it's a new version number, we add it at position 0 in the array.
+ # 4. Once done, we'll upload it back to S3.
+ run: |
+ aws s3 cp \
+ s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-java/versions.json \
+ versions_old.json
+ jq 'del(.[].aliases[] | select(. == "${{ env.ALIAS }}"))' < versions_old.json > versions_proc.json
+ jq '. as $o | [{"title": "${{ env.VERSION }}", "version": "${{ env.VERSION }}", "aliases": ["${{ env.ALIAS }}"] }] as $n | $n | if .[0].title | test("[a-z]+") or any($o[].title == $n[0].title;.) then [($o | .[] | select(.title == $n[0].title).aliases += $n[0].aliases | . )] else $n + $o end' < versions_proc.json > versions.json
+ aws s3 cp \
+ versions.json \
+ s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-java/versions.json
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
deleted file mode 100644
index 5f76940f5..000000000
--- a/.github/workflows/build.yml
+++ /dev/null
@@ -1,65 +0,0 @@
-name: Build
-
-on:
- pull_request:
- branches:
- - master
- paths:
- - 'powertools-core/**'
- - 'powertools-logging/**'
- - 'powertools-sqs/**'
- - 'powertools-tracing/**'
- - 'pom.xml'
- push:
- branches:
- - master
- paths:
- - 'powertools-core/**'
- - 'powertools-logging/**'
- - 'powertools-sqs/**'
- - 'powertools-tracing/**'
- - 'pom.xml'
-
-jobs:
- build:
- runs-on: ubuntu-latest
- strategy:
- max-parallel: 4
- matrix:
- # test against latest update of each major Java version, as well as specific updates of LTS versions:
- java: [8, 8.0.192, 11.0.x, 11.0.3, 12, 13 ]
- name: Java ${{ matrix.java }}
- env:
- OS: ${{ matrix.os }}
- JAVA: ${{ matrix.java-version }}
- AWS_REGION: eu-west-1
- steps:
- - uses: actions/checkout@v2
- - name: Setup java
- uses: actions/setup-java@v1
- with:
- java-version: ${{ matrix.java }}
- - name: Build with Maven
- run: mvn -B package --file pom.xml
-
- auto-merge:
- runs-on: ubuntu-latest
- needs: [ build ]
- if: github.base_ref == 'master' && github.actor == 'dependabot[bot]'
- steps:
- - uses: actions/github-script@0.2.0
- with:
- script: |
- github.pullRequests.createReview({
- owner: context.payload.repository.owner.login,
- repo: context.payload.repository.name,
- pull_number: context.payload.pull_request.number,
- event: 'APPROVE'
- })
- github.pullRequests.merge({
- owner: context.payload.repository.owner.login,
- repo: context.payload.repository.name,
- pull_number: context.payload.pull_request.number,
- merge_method: 'squash'
- })
- github-token: ${{ secrets.AUTOMERGE }}
diff --git a/.github/workflows/check-build.yml b/.github/workflows/check-build.yml
new file mode 100644
index 000000000..06566d17a
--- /dev/null
+++ b/.github/workflows/check-build.yml
@@ -0,0 +1,147 @@
+# Check Build
+#
+# Description:
+# Runs the build for every java version we support
+#
+# Triggers:
+# - pull_request: when a PR is sent to us
+# - push: when code is pushed to a specified branch
+#
+# Notes:
+# Builds against Java 11, 17, and 21 which are the supported versions.
+
+on:
+ workflow_dispatch:
+ pull_request:
+ paths:
+ - 'powertools-batch/**'
+ - 'powertools-core/**'
+ - 'powertools-cloudformation/**'
+ - 'powertools-common/**'
+ - 'powertools-e2e-tests/**'
+ - 'powertools-idempotency/**'
+ - 'powertools-large-messages/**'
+ - 'powertools-logging/**'
+ - 'powertools-metrics/**'
+ - 'powertools-kafka/**'
+ - 'powertools-parameters/**'
+ - 'powertools-serialization/**'
+ - 'powertools-sqs/**'
+ - 'powertools-tracing/**'
+ - 'powertools-tracing/**'
+ - 'powertools-validation/**'
+ - 'examples/**'
+ - 'pom.xml'
+ - 'examples/pom.xml'
+ - '.github/workflows/**'
+ push:
+ branches:
+ - main
+ paths:
+ - 'powertools-batch/**'
+ - 'powertools-core/**'
+ - 'powertools-cloudformation/**'
+ - 'powertools-common/**'
+ - 'powertools-e2e-tests/**'
+ - 'powertools-idempotency/**'
+ - 'powertools-large-messages/**'
+ - 'powertools-logging/**'
+ - 'powertools-metrics/**'
+ - 'powertools-kafka/**'
+ - 'powertools-parameters/**'
+ - 'powertools-serialization/**'
+ - 'powertools-sqs/**'
+ - 'powertools-tracing/**'
+ - 'powertools-tracing/**'
+ - 'powertools-validation/**'
+ - 'pom.xml'
+ - 'examples/**'
+ - 'examples/pom.xml'
+ - '.github/workflows/**'
+
+name: Build
+permissions:
+ contents: read
+run-name: Build - ${{ github.event_name }}
+
+jobs:
+ java-build:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ java:
+ - 11
+ - 17
+ - 21
+ - 25
+ steps:
+ - id: checkout
+ name: Checkout repository
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ - name: Setup Java
+ uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654
+ with:
+ distribution: corretto
+ java-version: ${{ matrix.java }}
+ cache: maven
+ - id: build-maven
+ name: Build (Maven)
+ run: |
+ mvn -B -q install --file pom.xml
+
+ graalvm-build:
+ runs-on: aws-powertools_ubuntu-latest_8-core
+ steps:
+ - id: checkout
+ name: Checkout repository
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ with:
+ fetch-depth: 0
+ - name: Get changed files
+ id: changed-files
+ uses: tj-actions/changed-files@e0021407031f5be11a464abee9a0776171c79891 # v47.0.1
+ with:
+ files: |
+ powertools-*/**
+ pom.xml
+ - name: Setup GraalVM
+ uses: graalvm/setup-graalvm@54b4f5a65c1a84b2fdfdc2078fe43df32819e4b1 # v1.4.5
+ with:
+ java-version: "21"
+ distribution: "graalvm"
+ cache: maven
+ - id: graalvm-native-test
+ name: GraalVM Native Test
+ if: steps.changed-files.outputs.any_changed == 'true'
+ env:
+ CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
+ run: |
+ # Build the entire project first to ensure test-jar dependencies are available
+ echo "::group::Building project dependencies"
+ mvn -B -q install -DskipTests
+ echo "::endgroup::"
+
+ echo "Changes detected in powertools modules: $CHANGED_FILES"
+
+ # Find modules with graalvm-native profile and run tests
+ find . -name "pom.xml" -path "./powertools-*" | while read module; do
+ if grep -q "graalvm-native " "$module"; then
+ module_dir=$(dirname "$module")
+ module_name=$(basename "$module_dir")
+
+ # Check if this specific module or common dependencies changed
+ if echo "$CHANGED_FILES" | grep -q "$module_name/" || \
+ echo " $CHANGED_FILES " | grep -q " pom.xml " || \
+ echo "$CHANGED_FILES" | grep -q "powertools-common/"; then
+ echo "::group::Building $module_name with GraalVM"
+ echo "Changes detected in $module_name - running GraalVM tests"
+ echo "Regenerating GraalVM metadata for $module_dir"
+ mvn -B -q -f "$module" -Pgenerate-graalvm-files clean test
+ echo "Running GraalVM native tests for $module_dir"
+ mvn -B -q -f "$module" -Pgraalvm-native test
+ echo "::endgroup::"
+ else
+ echo "No changes detected in $module_name - skipping GraalVM tests"
+ fi
+ fi
+ done
diff --git a/.github/workflows/check-e2e.yml b/.github/workflows/check-e2e.yml
new file mode 100644
index 000000000..f18a1438b
--- /dev/null
+++ b/.github/workflows/check-e2e.yml
@@ -0,0 +1,106 @@
+# Run E2E tests for a branch
+#
+# Description:
+# Runs E2E tests for a specified branch
+#
+# Triggers:
+# - push
+#
+# Secrets:
+# - E2E.AWS_IAM_ROLE
+
+on:
+ workflow_dispatch:
+
+ push:
+ branches:
+ - main
+ paths: # add other modules when there are under e2e tests
+ - 'powertools-batch/**'
+ - 'powertools-core/**'
+ - 'powertools-cloudformation/**'
+ - 'powertools-common/**'
+ - 'powertools-e2e-tests/**'
+ - 'powertools-idempotency/**'
+ - 'powertools-large-messages/**'
+ - 'powertools-logging/**'
+ - 'powertools-metrics/**'
+ - 'powertools-parameters/**'
+ - 'powertools-serialization/**'
+ - 'powertools-sqs/**'
+ - 'powertools-tracing/**'
+ - 'powertools-tracing/**'
+ - 'powertools-validation/**'
+ - 'pom.xml'
+
+name: E2E Tests
+run-name: E2E Tests - ${{ github.event_name }}
+
+permissions:
+ contents: read
+
+jobs:
+ e2e:
+ name: End-to-end Tests (Java ${{ matrix.java }})
+ runs-on: ubuntu-latest
+ permissions:
+ id-token: write
+ environment: E2E
+ strategy:
+ fail-fast: false
+ max-parallel: 4
+ matrix:
+ java:
+ - 11
+ - 17
+ - 21
+ - 25
+
+ steps:
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ - name: Setup java
+ uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
+ with:
+ distribution: 'corretto'
+ java-version: ${{ matrix.java }}
+ cache: maven
+ - name: Setup AWS credentials
+ uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
+ with:
+ role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
+ aws-region: us-east-1
+ - name: Run e2e test with Maven
+ env:
+ JAVA_VERSION: ${{ matrix.java }}
+ run: mvn -DskipTests -ntp install --file pom.xml && mvn -Pe2e -B -ntp verify --file powertools-e2e-tests/pom.xml
+
+ e2e-graal:
+ name: End-to-end GraalVM Tests (Java ${{ matrix.java }})
+ runs-on: ubuntu-latest
+ permissions:
+ id-token: write
+ environment: E2E
+ strategy:
+ fail-fast: false
+ max-parallel: 1
+ matrix:
+ java:
+ - 25
+
+ steps:
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ - name: Setup java
+ uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
+ with:
+ distribution: 'corretto'
+ java-version: ${{ matrix.java }}
+ cache: maven
+ - name: Setup AWS credentials
+ uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 # v5.1.1
+ with:
+ role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
+ aws-region: us-east-1
+ - name: Run e2e-graal test with Maven
+ env:
+ JAVA_VERSION: ${{ matrix.java }}
+ run: mvn -DskipTests -ntp install --file pom.xml && mvn -Pe2e-graal -B -ntp verify --file powertools-e2e-tests/pom.xml
diff --git a/.github/workflows/check-pmd.yml b/.github/workflows/check-pmd.yml
new file mode 100644
index 000000000..cc6c53766
--- /dev/null
+++ b/.github/workflows/check-pmd.yml
@@ -0,0 +1,40 @@
+# Runs PMD for a Pull Request
+#
+# Description:
+# Runs PMD (pmd.github.io) for a pull request and daily.
+# This does not error on failure yet, our rules are too strong and would fail on every run
+#
+# Triggers:
+# - pull_request
+# - workflow_dispatch
+# - cron: every day at 12:00PM
+
+on:
+ pull_request:
+ workflow_dispatch:
+ schedule:
+ - cron: '0 12 * * *' # Run daily at 12:00 UTC
+
+name: PMD
+run-name: PMD - ${{ github.event_name }}
+
+permissions: {}
+
+jobs:
+ pmd_analyse:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read # checkout repository
+ steps:
+ - name: Checkout Repository
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ - name: Setup Java
+ uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
+ with:
+ java-version: 21
+ distribution: corretto
+ cache: maven
+ - uses: pmd/pmd-github-action@d9c1f3c5940cbf5923f1354e83fa858b4496ebaa # v2.0.0
+ with:
+ rulesets: '.github/pmd-ruleset.xml'
+ token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/check-spotbugs.yml b/.github/workflows/check-spotbugs.yml
new file mode 100644
index 000000000..4e5fbcea3
--- /dev/null
+++ b/.github/workflows/check-spotbugs.yml
@@ -0,0 +1,51 @@
+# Check for Spotbug errors
+#
+# Description:
+# Runs Spotbugs for a pull request.
+# This does not error on failure yet, our rules are too strong and would fail on every run
+#
+# Triggers:
+# - pull_request
+on:
+ pull_request:
+ branches:
+ - main
+ paths:
+ - 'powertools-batch/**'
+ - 'powertools-core/**'
+ - 'powertools-cloudformation/**'
+ - 'powertools-common/**'
+ - 'powertools-e2e-tests/**'
+ - 'powertools-idempotency/**'
+ - 'powertools-large-messages/**'
+ - 'powertools-logging/**'
+ - 'powertools-metrics/**'
+ - 'powertools-kafka/**'
+ - 'powertools-parameters/**'
+ - 'powertools-serialization/**'
+ - 'powertools-sqs/**'
+ - 'powertools-tracing/**'
+ - 'powertools-tracing/**'
+ - 'powertools-validation/**'
+ - 'powertools-test-suite/**'
+ - 'pom.xml'
+ - '.github/workflows/**'
+
+name: SpotBugs
+run-name: SpotBugs
+
+permissions:
+ contents: read
+
+jobs:
+ codecheck:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ - name: Setup Java
+ uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
+ with:
+ distribution: 'corretto'
+ java-version: 21
+ - name: Build with Maven for spotbugs check to mark build as fail if voilations found
+ run: mvn -Pbuild-with-spotbugs -B install --file pom.xml -DskipTests -Dmaven.javadoc.skip=true -Dspotbugs.failOnError=true
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
deleted file mode 100644
index 5eb6d98bd..000000000
--- a/.github/workflows/docs.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-name: Docs
-
-on:
- release:
- types:
- - published
-
-jobs:
- docs:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - uses: borales/actions-yarn@v2.0.0
- - name: Set up Python
- uses: actions/setup-python@v1
- with:
- python-version: "3.8"
- - name: Capture branch and tag
- id: branch_name
- run: |
- echo ::set-env name=SOURCE_BRANCH::${GITHUB_REF#refs/heads/}
- echo ::set-env name=SOURCE_TAG::${GITHUB_REF#refs/tags/}
-
- - name: install dependencies
- run: make dev-docs
- - name: Build docs website
- run: make build-docs-website
- - name: Deploy all docs
- uses: peaceiris/actions-gh-pages@v3
- with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- publish_dir: ./dist
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
deleted file mode 100644
index 111be43c6..000000000
--- a/.github/workflows/publish.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-name: Publish package to the Maven Central Repository
-on:
- release:
- types:
- - published
-jobs:
- publish:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - name: Set up Maven Central Repository
- uses: actions/setup-java@v1
- with:
- java-version: 1.8
- server-id: ossrh
- server-username: MAVEN_USERNAME
- server-password: MAVEN_PASSWORD
- gpg-private-key: ${{ secrets.GPG_SIGNING_KEY }} # Value of the GPG private key to import
- gpg-passphrase: GPG_PASSPHRASE # env variable for GPG private key passphrase
- - name: Publish package
- run: mvn -P sign,build-extras clean deploy -DskipTests
- env:
- MAVEN_USERNAME: ${{ secrets.OSSRH_JIRA_USERNAME }}
- MAVEN_PASSWORD: ${{ secrets.OSSRH_JIRA_PASSWORD }}
- GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
\ No newline at end of file
diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml
index e627dfd3c..9ef7426f9 100644
--- a/.github/workflows/release-drafter.yml
+++ b/.github/workflows/release-drafter.yml
@@ -1,15 +1,28 @@
-name: Release Drafter
+# Generates release notes
+#
+# Description:
+# Generates release notes based on pull request history. This is based on the config
+# stored in .github/release-drafter.yml
+#
+# Triggers:
+# - push: main
on:
push:
- # branches to consider in the event; optional, defaults to all
- branches:
- - master
+ branches: [ main ]
+
+name: Release Drafter
+run-name: Release Drafter
+
+permissions: {}
jobs:
- update_release_draft:
- runs-on: ubuntu-latest
+ update_release:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write # required for creating draft releases
steps:
- - uses: release-drafter/release-drafter@v5
+ - name: Relase Drafter
+ uses: release-drafter/release-drafter@6db134d15f3909ccc9eefd369f02bd1e9cffdf97
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 000000000..e1a35a4ac
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,333 @@
+# Release
+#
+# Description:
+# Creates a release for the project
+#
+# 1. Runs a setup job to set needed variables (build_matrix & version)
+# 2. Versions to the project and stores as an artifact
+# 3. Run quality checks
+# 4. Build
+# 5. Publish to Maven Central
+# 6. Create PR
+# 7. Publish docs
+#
+# Inputs:
+# - version (string): SemVer of the new release (X.Y.Z)
+# - snapshot (bool): If it's a snapshot release, this skips versioning assets like docs
+# - skip_checks (bool): Don't run quality checks if it's an emergency release
+# - skip_publish (bool): Don't publish to maven central
+# - continue_on_error (bool): Don't fail the workflow if a quality check fails
+#
+# Triggers:
+# - workflow_dispatch
+#
+# Secrets:
+# - RELEASE.GPG_SIGNING_KEY
+# - RELEASE.OSSRH_JIRA_USERNAME
+# - RELEASE.OSSRH_JIRA_PASSWORD
+# - RELEASE.GPG_PASSPHRASE
+# - DOCS.AWS_DOCS_ROLE_ARN
+# - DOCS.AWS_DOCS_BUCKET
+
+on:
+ workflow_dispatch:
+ inputs:
+ version:
+ type: string
+ description: Semver version to release
+ snapshot:
+ type: boolean
+ description: Create snapshot release
+ default: false
+ skip_checks:
+ type: boolean
+ description: Skip quality checks
+ default: false
+ skip_publish:
+ type: boolean
+ description: Skip publish to Maven Central
+ default: false
+ continue_on_error:
+ type: boolean
+ description: Continue to build if there's an error in quality checks
+ default: false
+
+name: Release
+run-name: Release – ${{ inputs.version }}
+
+permissions: {}
+
+env:
+ RELEASE_COMMIT: ${{ github.sha }}
+ RELEASE_TAG_VERSION: ${{ inputs.version }}
+
+jobs:
+ setup:
+ runs-on: ubuntu-latest
+ outputs:
+ version: ${{ format('{0}{1}', steps.version_release.outputs.version, steps.version_snapshot.outputs.version) }}
+ build_matrix: ${{ format('{0}{1}', steps.build_matrix_v1.outputs.build_matrix, steps.build_matrix_v2.outputs.build_matrix) }}
+ steps:
+ - id: version_snapshot
+ if: ${{ inputs.snapshot }}
+ name: Version
+ run: |
+ echo version="$(grep -q "SNAPSHOT" <<< "${{ inputs.version }}" && echo "${{ inputs.version }}" || echo "${{ inputs.version }}-SNAPSHOT")" >> "$GITHUB_OUTPUT"
+ - id: version_release
+ if: ${{ !inputs.snapshot }}
+ name: Version
+ run: |
+ echo version="${{ inputs.version }}" >> "$GITHUB_OUTPUT"
+ - id: base
+ name: Base
+ run: |
+ echo build_version=$(test ${{ github.ref_name }} == "main" && echo "v2" || echo "v1") >> $GITHUB_OUTPUT
+ - id: build_matrix_v1
+ name: Build matrix (v1)
+ if: ${{ steps.base.outputs.build_version == 'v1' }}
+ run: |
+ echo build_matrix='["8", "11", "17", "21"]' >> "$GITHUB_OUTPUT"
+ - id: build_matrix_v2
+ name: Build matrix (v2)
+ if: ${{ steps.base.outputs.build_version == 'v2' }}
+ run: |
+ echo build_matrix='["11", "17", "21"]'>> "$GITHUB_OUTPUT"
+
+ version_seal:
+ runs-on: ubuntu-latest
+ needs:
+ - setup
+ permissions:
+ contents: read # checkout repository
+ outputs:
+ source_hash: ${{ steps.upload_source.outputs.artifact-digest }}
+ steps:
+ - id: checkout
+ name: Checkout repository
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ - id: version
+ name: version
+ uses: ./.github/actions/version
+ with:
+ new_version: ${{ needs.setup.outputs.version }}
+ snapshot: ${{ inputs.snapshot}}
+ - id: upload_source
+ name: Upload artifacts
+ uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
+ with:
+ if-no-files-found: error
+ name: source
+ path: |
+ *
+ !.git/*
+ include-hidden-files: true
+ retention-days: 1
+
+ quality:
+ runs-on: aws-powertools_ubuntu-latest_8-core
+ needs:
+ - version_seal
+ if: ${{ inputs.skip_checks == false }}
+ permissions:
+ contents: read # checkout and run tests
+ steps:
+ - id: download_source
+ name: Download artifacts
+ uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v4.6.1
+ with:
+ name: source
+ - name: Setup Java
+ uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654
+ with:
+ distribution: corretto
+ java-version: 21
+ cache: maven
+ # non-exhuastive, but gives a fair indication if the final build will succeed, tests will run when we build later
+ - name: Run unit tests
+ run: mvn -B test --file pom.xml
+ continue-on-error: ${{ inputs.continue_on_error }}
+ - name: Run Spotbugs
+ run: mvn -Pbuild-with-spotbugs -B install --file pom.xml -DskipTests -Dmaven.javadoc.skip=true -Dspotbugs.failOnError=true
+ continue-on-error: ${{ inputs.continue_on_error }}
+ - uses: pmd/pmd-github-action@d9c1f3c5940cbf5923f1354e83fa858b4496ebaa # v2.0.0
+ with:
+ rulesets: '.github/pmd-ruleset.xml'
+ token: ${{ secrets.GITHUB_TOKEN }}
+ uploadSarifReport: false
+
+ build:
+ runs-on: aws-powertools_ubuntu-latest_8-core
+ needs:
+ - setup
+ - quality
+ - version_seal
+ if: ${{ always() && !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
+ permissions:
+ contents: read # download artifacts
+ strategy:
+ matrix:
+ java: ${{ fromJson(needs.setup.outputs.build_matrix) }}
+ steps:
+ - id: download_source
+ name: Download artifacts
+ uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v4.6.1
+ with:
+ name: source
+ - name: Setup Java
+ uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654
+ with:
+ distribution: corretto
+ java-version: ${{ matrix.java }}
+ cache: maven
+ - id: build-maven
+ name: Build (Maven)
+ run: |
+ mvn -B install --file pom.xml
+
+ publish:
+ runs-on: aws-powertools_ubuntu-latest_8-core
+ if: ${{ github.repository == 'aws-powertools/powertools-lambda-java' && inputs.skip_publish == false && always() && !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
+ needs:
+ - build
+ permissions:
+ contents: read # download artifacts
+ environment: Release
+ steps:
+ - id: download_source
+ name: Download artifacts
+ uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v4.6.1
+ with:
+ name: source
+ - name: Setup Java
+ uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654
+ with:
+ distribution: corretto
+ java-version: 21
+ cache: maven
+ gpg-private-key: ${{ secrets.GPG_SIGNING_KEY }}
+ gpg-passphrase: GPG_PASSPHRASE
+ server-id: central
+ server-username: MAVEN_USERNAME
+ server-password: MAVEN_PASSWORD
+ - name: Publish package
+ run: mvn -Prelease clean deploy -DskipTests
+ env:
+ MAVEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
+ MAVEN_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
+ GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
+
+ create_pr:
+ runs-on: ubuntu-latest
+ if: ${{ inputs.snapshot == false && always() && !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
+ needs:
+ - build
+ - publish
+ permissions:
+ contents: write # create tag and branch
+ pull-requests: write # create PR
+ steps:
+ - id: checkout
+ name: Checkout repository
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ with:
+ ref: ${{ env.RELEASE_COMMIT }}
+ - id: download_source
+ name: Download artifacts
+ uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v4.6.1
+ with:
+ name: source
+ - id: setup-git
+ name: Git client setup and refresh tip
+ run: |
+ git config user.name "Powertools for AWS Lambda (Java) Bot"
+ git config user.email "151832416+aws-powertools-bot@users.noreply.github.com"
+ git config pull.rebase true
+ git config remote.origin.url >&-
+ - id: tag
+ name: Create tag
+ run: |
+ git tag -a v${{ inputs.version }} -m "Release v${{ inputs.version }}"
+ git push origin v${{ inputs.version }}
+ - id: branch
+ name: Create branch and update change log
+ run: |
+ git checkout -b ci-${{ github.run_id }}
+ docker run -v "${PWD}":/workdir quay.io/git-chglog/git-chglog@sha256:c791b1e8264387690cce4ce32e18b4f59ca3ffd8d55cb4093dc6de74529493f4 > CHANGELOG.md
+ git commit -am "chore(ci): bump version to ${{ inputs.version }}"
+ git push origin ci-${{ github.run_id }}
+ - id: create_pr
+ name: Create PR
+ run: |
+ gh pr create \
+ --title "chore(ci): bump version to ${{ inputs.version }}" \
+ --body "This is an automated PR created from the following workflow: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ docs:
+ runs-on: ubuntu-latest
+ if: ${{ inputs.snapshot == false }}
+ needs:
+ - create_pr
+ permissions:
+ contents: read # checkout repository
+ id-token: write # OIDC for AWS credentials
+ environment: Docs
+ steps:
+ - id: checkout
+ name: Checkout repository
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ with:
+ # Checkout PR branch to make sure we build the version-bumped docs
+ ref: ci-${{ github.run_id }}
+ - name: Build
+ run: |
+ mkdir -p dist
+ docker build -t squidfunk/mkdocs-material ./docs/
+ docker run --rm -t -v ${PWD}:/docs squidfunk/mkdocs-material build
+ - name: Configure AWS credentials
+ uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708
+ with:
+ aws-region: us-east-1
+ role-to-assume: ${{ secrets.AWS_DOCS_ROLE_ARN }}
+ - name: Deploy Docs (Version)
+ env:
+ VERSION: ${{ inputs.version }}
+ ALIAS: 'latest'
+ run: |
+ aws s3 sync \
+ site/ \
+ s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-java/${{ env.VERSION }}/
+ - name: Deploy Docs (Alias)
+ env:
+ VERSION: ${{ inputs.version }}
+ ALIAS: 'latest'
+ run: |
+ aws s3 sync \
+ site/ \
+ s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-java/${{ env.ALIAS }}/
+ - name: Deploy Docs (Version JSON)
+ env:
+ VERSION: ${{ inputs.version }}
+ ALIAS: 'latest'
+ # We originally used "mike" from PyPi to manage versions for us, but since we moved to S3, we can't use it to manage versions any more.
+ # Instead, we're using some shell script that manages the versions.
+ #
+ # Operations:
+ # 1. Download the versions.json file from S3
+ # 2. Find any reference to the alias and delete it from the versions file
+ # 3. This is voodoo (don't use JQ):
+ # - we assign the input as $o and the new version/alias as $n,
+ # - we check if the version number exists in the file already (for republishing docs)
+ # - if it's an alias (stage/latest/*) or old version, we do nothing and output $o (original input)
+ # - if it's a new version number, we add it at position 0 in the array.
+ # 4. Once done, we'll upload it back to S3.
+ run: |
+ aws s3 cp \
+ s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-java/versions.json \
+ versions_old.json
+ jq 'del(.[].aliases[] | select(. == "${{ env.ALIAS }}"))' < versions_old.json > versions_proc.json
+ jq '. as $o | [{"title": "${{ env.VERSION }}", "version": "${{ env.VERSION }}", "aliases": ["${{ env.ALIAS }}"] }] as $n | $n | if .[0].title | test("[a-z]+") or any($o[].title == $n[0].title;.) then [($o | .[] | select(.title == $n[0].title).aliases += $n[0].aliases | . )] else $n + $o end' < versions_proc.json > versions.json
+ aws s3 cp \
+ versions.json \
+ s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-java/versions.json
diff --git a/.github/workflows/security-dependencies-check.yml b/.github/workflows/security-dependencies-check.yml
new file mode 100644
index 000000000..31f7491a2
--- /dev/null
+++ b/.github/workflows/security-dependencies-check.yml
@@ -0,0 +1,30 @@
+# Dependency checks
+#
+# Description:
+# Verifies that dependencies are compatible with our project
+# by checking licenses and their security posture
+#
+# Triggers:
+# - pull_request
+
+on:
+ pull_request:
+
+name: Verify Dependencies
+run-name: Verify Dependencies – ${{ github.event_name }}
+
+permissions: {}
+
+jobs:
+ verify:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read # checkout repository and read dependency snapshots
+ pull-requests: write # post review comments
+ steps:
+ - name: Checkout Repository
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ - name: Verify Contents
+ uses: actions/dependency-review-action@3c4e3dcb1aa7874d2c16be7d79418e9b7efd6261 # v4.8.2
+ with:
+ config-file: './.github/dependency-review-config.yml'
diff --git a/.github/workflows/security-scorecard.yml b/.github/workflows/security-scorecard.yml
new file mode 100644
index 000000000..e98c97662
--- /dev/null
+++ b/.github/workflows/security-scorecard.yml
@@ -0,0 +1,58 @@
+# Runs OSSF
+#
+# Description:
+# Runs OpenSSF Scorecard scan on the project
+#
+# Triggers:
+# - branch_protection_rule
+# - cron: 09:00AM
+# - push
+# - workflow_dispatch
+#
+# Secrets:
+# - Security.SCORECARD_TOKEN
+
+on:
+ branch_protection_rule:
+ schedule:
+ - cron: "0 9 * * *"
+ push:
+ branches: [main]
+ workflow_dispatch: {}
+
+name: OpenSSF Scorecard
+run-name: OpenSSF Scorecard
+
+permissions: {}
+
+jobs:
+ analysis:
+ name: Scorecard analysis
+ runs-on: ubuntu-latest
+ environment: Security
+ permissions:
+ contents: read # checkout repository
+ security-events: write # upload SARIF results
+ id-token: write # OIDC authentication
+ steps:
+ - name: Checkout Repository
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ with:
+ persist-credentials: false
+ - name: Run Analysis
+ uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
+ with:
+ results_file: results.sarif
+ results_format: sarif
+ publish_results: true
+ repo_token: ${{ secrets.SCORECARD_TOKEN }}
+ - name: Upload Results
+ uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
+ with:
+ name: SARIF file
+ path: results.sarif
+ retention-days: 5
+ - name: Upload to Code-Scanning
+ uses: github/codeql-action/upload-sarif@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v3.29.5
+ with:
+ sarif_file: results.sarif
diff --git a/.gitignore b/.gitignore
index 0755a9b56..eb2ea4f18 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@
# Package Files #
*.jar
+!example/HelloWorldFunction/gradle/wrapper/gradle-wrapper.jar
*.war
*.ear
@@ -13,6 +14,7 @@ hs_err_pid*
# Maven build
target/
+native-libs/
######################
# IntelliJ
@@ -26,7 +28,6 @@ target/
classes/
out/
-
######################
# Eclipse
######################
@@ -80,6 +81,8 @@ Desktop.ini
######################
/bin/
/deploy/
+/dist/
+/site/
######################
# Logs
@@ -95,7 +98,23 @@ Desktop.ini
docs/node_modules
docs/.cache
+.cache
docs/public
/example/.aws-sam/
/example/HelloWorldFunction/.aws-sam/
samconfig.toml
+example/HelloWorldFunction/.gradle
+example/HelloWorldFunction/build
+/example/.gradle/
+/example/.java-version
+.gradle
+build/
+.terraform*
+terraform.tfstate*
+
+# LLMs
+.kiro/
+.claude/
+.amazonq/
+.github/instructions
+
diff --git a/.mvn/README b/.mvn/README
new file mode 100644
index 000000000..a851f5e55
--- /dev/null
+++ b/.mvn/README
@@ -0,0 +1,2 @@
+This is here purely so that we can get the root directory using maven.multiModuleProjectDirectory
+
diff --git a/.sonarcloud.properties b/.sonarcloud.properties
new file mode 100644
index 000000000..d9a4f79cf
--- /dev/null
+++ b/.sonarcloud.properties
@@ -0,0 +1,17 @@
+#
+# Copyright 2023 Amazon.com, Inc. or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+sonar.exclusions=examples/**/*,powertools-e2e-tests/handlers/**/*
+
+# Ignore code duplicates in the examples
+sonar.cpd.exclusions=examples/**/*,powertools-e2e-tests/**/*
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 000000000..a07df5d3a
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,1115 @@
+
+
+
+
+# Unreleased
+
+## Documentation
+
+* **logger:** Fix logging environment variables names in documentation ([#2161](https://github.com/aws-powertools/powertools-lambda-java/issues/2161))
+
+## Features
+
+* add CRaC priming support to powertools-kafka module ([#2145](https://github.com/aws-powertools/powertools-lambda-java/issues/2145))
+* **metrics:** introduce Metrics.flushMetrics ([#2154](https://github.com/aws-powertools/powertools-lambda-java/issues/2154))
+
+## Maintenance
+
+* bump aws.sdk.version from 2.35.6 to 2.35.7 ([#2190](https://github.com/aws-powertools/powertools-lambda-java/issues/2190))
+* bump com.networknt:json-schema-validator from 1.5.8 to 1.5.9 ([#2189](https://github.com/aws-powertools/powertools-lambda-java/issues/2189))
+* bump sam/build-java21 ([#2195](https://github.com/aws-powertools/powertools-lambda-java/issues/2195))
+* bump squidfunk/mkdocs-material in /docs ([#2194](https://github.com/aws-powertools/powertools-lambda-java/issues/2194))
+* bump com.github.spotbugs:spotbugs-maven-plugin ([#2192](https://github.com/aws-powertools/powertools-lambda-java/issues/2192))
+* bump software.amazon.awscdk:aws-cdk-lib from 2.214.0 to 2.220.0 ([#2191](https://github.com/aws-powertools/powertools-lambda-java/issues/2191))
+* bump io.github.ascopes:protobuf-maven-plugin ([#2193](https://github.com/aws-powertools/powertools-lambda-java/issues/2193))
+* bump aws.xray.recorder.version from 2.19.0 to 2.20.0 ([#2185](https://github.com/aws-powertools/powertools-lambda-java/issues/2185))
+* bump aws.sdk.version from 2.33.2 to 2.33.5 ([#2132](https://github.com/aws-powertools/powertools-lambda-java/issues/2132))
+* bump org.apache.maven.plugins:maven-javadoc-plugin ([#2186](https://github.com/aws-powertools/powertools-lambda-java/issues/2186))
+* bump org.assertj:assertj-core from 3.27.4 to 3.27.6 ([#2184](https://github.com/aws-powertools/powertools-lambda-java/issues/2184))
+* bump aws.sdk.version from 2.34.9 to 2.35.6 ([#2183](https://github.com/aws-powertools/powertools-lambda-java/issues/2183))
+* bump actions/dependency-review-action from 4.8.0 to 4.8.1 ([#2180](https://github.com/aws-powertools/powertools-lambda-java/issues/2180))
+* bump github/codeql-action from 3.30.5 to 4.30.8 ([#2179](https://github.com/aws-powertools/powertools-lambda-java/issues/2179))
+* bump aws-actions/configure-aws-credentials from 5.0.0 to 5.1.0 ([#2177](https://github.com/aws-powertools/powertools-lambda-java/issues/2177))
+* bump com.google.protobuf:protobuf-java from 4.32.0 to 4.32.1 ([#2175](https://github.com/aws-powertools/powertools-lambda-java/issues/2175))
+* bump aws.sdk.version from 2.34.5 to 2.34.9 ([#2174](https://github.com/aws-powertools/powertools-lambda-java/issues/2174))
+* bump org.apache.commons:commons-lang3 from 3.18.0 to 3.19.0 ([#2172](https://github.com/aws-powertools/powertools-lambda-java/issues/2172))
+* bump org.apache.maven.plugins:maven-artifact-plugin ([#2171](https://github.com/aws-powertools/powertools-lambda-java/issues/2171))
+* Add User-Agent execution interceptors ([#2166](https://github.com/aws-powertools/powertools-lambda-java/issues/2166))
+* bump org.apache.kafka:kafka-clients from 4.0.0 to 4.1.0 ([#2134](https://github.com/aws-powertools/powertools-lambda-java/issues/2134))
+* bump graalvm/setup-graalvm from 1.3.6 to 1.4.1 ([#2168](https://github.com/aws-powertools/powertools-lambda-java/issues/2168))
+* bump ossf/scorecard-action from 2.4.2 to 2.4.3 ([#2165](https://github.com/aws-powertools/powertools-lambda-java/issues/2165))
+* bump squidfunk/mkdocs-material in /docs ([#2164](https://github.com/aws-powertools/powertools-lambda-java/issues/2164))
+* bump log4j.version from 2.25.1 to 2.25.2 ([#2160](https://github.com/aws-powertools/powertools-lambda-java/issues/2160))
+* bump org.apache.maven.plugins:maven-failsafe-plugin ([#2159](https://github.com/aws-powertools/powertools-lambda-java/issues/2159))
+* bump actions/dependency-review-action from 4.7.3 to 4.8.0 ([#2158](https://github.com/aws-powertools/powertools-lambda-java/issues/2158))
+* bump github/codeql-action from 3.30.1 to 3.30.5 ([#2157](https://github.com/aws-powertools/powertools-lambda-java/issues/2157))
+* bump io.github.ascopes:protobuf-maven-plugin from 3.9.0 to 3.10.0 ([#2155](https://github.com/aws-powertools/powertools-lambda-java/issues/2155))
+* bump com.amazonaws:aws-lambda-java-runtime-interface-client ([#2149](https://github.com/aws-powertools/powertools-lambda-java/issues/2149))
+* bump aws.sdk.version from 2.33.2 to 2.34.5 ([#2156](https://github.com/aws-powertools/powertools-lambda-java/issues/2156))
+* bump org.codehaus.mojo:versions-maven-plugin ([#2148](https://github.com/aws-powertools/powertools-lambda-java/issues/2148))
+* bump squidfunk/mkdocs-material in /docs ([#2144](https://github.com/aws-powertools/powertools-lambda-java/issues/2144))
+* bump tj-actions/changed-files from 46.0.5 to 47.0.0 ([#2143](https://github.com/aws-powertools/powertools-lambda-java/issues/2143))
+* bump sam/build-java21 ([#2141](https://github.com/aws-powertools/powertools-lambda-java/issues/2141))
+* bump com.amazonaws:aws-lambda-java-core from 1.3.0 to 1.4.0 ([#2135](https://github.com/aws-powertools/powertools-lambda-java/issues/2135))
+* **deps:** Use mockito 5.20.0 ([#2181](https://github.com/aws-powertools/powertools-lambda-java/issues/2181))
+* **docs:** Add AWS docs meta tags ([#2170](https://github.com/aws-powertools/powertools-lambda-java/issues/2170))
+
+
+
+## [v2.4.0] - 2025-09-09
+## Bug Fixes
+
+* **ci:** Update branch protection output ([#2053](https://github.com/aws-powertools/powertools-lambda-java/issues/2053))
+
+## Documentation
+
+* Add AWS copyright footer. ([#2119](https://github.com/aws-powertools/powertools-lambda-java/issues/2119))
+* Update docs introduction
+* Rename wrong POWERTOOLS_DISABLE_METRICS to correct POWERTOOLS_METRICS_DISABLED environment variable. ([#2043](https://github.com/aws-powertools/powertools-lambda-java/issues/2043))
+* update readme ([#2045](https://github.com/aws-powertools/powertools-lambda-java/issues/2045))
+
+## Features
+
+* Support CRaC priming of powertools validation ([#2081](https://github.com/aws-powertools/powertools-lambda-java/issues/2081))
+* **graalvm:** GraalVM support for powertools-cloudformation ([#2090](https://github.com/aws-powertools/powertools-lambda-java/issues/2090))
+* **graalvm:** GraalVM support for Idempotency utility ([#2080](https://github.com/aws-powertools/powertools-lambda-java/issues/2080))
+* **logging:** Log buffering support for Logj42 and Logback ([#2103](https://github.com/aws-powertools/powertools-lambda-java/issues/2103))
+
+## Maintenance
+
+* bump dev.aspectj:aspectj-maven-plugin from 1.13.1 to 1.14.1 ([#2099](https://github.com/aws-powertools/powertools-lambda-java/issues/2099))
+* bump dev.aspectj:aspectj-maven-plugin from 1.14 to 1.14.1 ([#2037](https://github.com/aws-powertools/powertools-lambda-java/issues/2037))
+* bump github/codeql-action from 3.29.8 to 3.29.9 ([#2038](https://github.com/aws-powertools/powertools-lambda-java/issues/2038))
+* bump org.apache.maven.plugins:maven-deploy-plugin ([#2040](https://github.com/aws-powertools/powertools-lambda-java/issues/2040))
+* bump org.yaml:snakeyaml from 2.4 to 2.5 ([#2111](https://github.com/aws-powertools/powertools-lambda-java/issues/2111))
+* bump io.github.ascopes:protobuf-maven-plugin from 3.8.1 to 3.9.0 ([#2114](https://github.com/aws-powertools/powertools-lambda-java/issues/2114))
+* bump aws.sdk.version from 2.32.31 to 2.33.1 ([#2115](https://github.com/aws-powertools/powertools-lambda-java/issues/2115))
+* bump graalvm/setup-graalvm from 1.3.5 to 1.3.6 ([#2116](https://github.com/aws-powertools/powertools-lambda-java/issues/2116))
+* bump software.amazon.awscdk:aws-cdk-lib from 2.213.0 to 2.214.0 ([#2117](https://github.com/aws-powertools/powertools-lambda-java/issues/2117))
+* bump aws-actions/configure-aws-credentials from 4.3.1 to 5.0.0 ([#2120](https://github.com/aws-powertools/powertools-lambda-java/issues/2120))
+* bump com.github.spotbugs:spotbugs-maven-plugin ([#2125](https://github.com/aws-powertools/powertools-lambda-java/issues/2125))
+* bump github/codeql-action from 3.30.0 to 3.30.1 ([#2126](https://github.com/aws-powertools/powertools-lambda-java/issues/2126))
+* bump squidfunk/mkdocs-material in /docs ([#2127](https://github.com/aws-powertools/powertools-lambda-java/issues/2127))
+* bump jackson.version from 2.19.2 to 2.20 ([#2097](https://github.com/aws-powertools/powertools-lambda-java/issues/2097))
+* bump aws.sdk.version from 2.32.18 to 2.32.21 ([#2041](https://github.com/aws-powertools/powertools-lambda-java/issues/2041))
+* bump aws.sdk.version from 2.32.26 to 2.32.31 ([#2098](https://github.com/aws-powertools/powertools-lambda-java/issues/2098))
+* bump github/codeql-action from 3.29.11 to 3.30.0 ([#2106](https://github.com/aws-powertools/powertools-lambda-java/issues/2106))
+* bump software.amazon.awscdk:aws-cdk-lib from 2.212.0 to 2.213.0 ([#2100](https://github.com/aws-powertools/powertools-lambda-java/issues/2100))
+* bump org.apache.maven.plugins:maven-compiler-plugin ([#2094](https://github.com/aws-powertools/powertools-lambda-java/issues/2094))
+* bump actions/checkout from 4.2.2 to 5.0.0 ([#2087](https://github.com/aws-powertools/powertools-lambda-java/issues/2087))
+* bump org.apache.logging.log4j:log4j-transform-maven-shade-plugin-extensions ([#2088](https://github.com/aws-powertools/powertools-lambda-java/issues/2088))
+* bump io.github.ascopes:protobuf-maven-plugin from 3.8.0 to 3.8.1 ([#2085](https://github.com/aws-powertools/powertools-lambda-java/issues/2085))
+* bump com.github.spotbugs:spotbugs-maven-plugin ([#2084](https://github.com/aws-powertools/powertools-lambda-java/issues/2084))
+* bump sam/build-java21 ([#2083](https://github.com/aws-powertools/powertools-lambda-java/issues/2083))
+* bump aws.sdk.version from 2.32.30 to 2.32.31 ([#2093](https://github.com/aws-powertools/powertools-lambda-java/issues/2093))
+* bump actions/dependency-review-action from 4.7.2 to 4.7.3 ([#2092](https://github.com/aws-powertools/powertools-lambda-java/issues/2092))
+* bump aws.sdk.version from 2.32.28 to 2.32.30 ([#2089](https://github.com/aws-powertools/powertools-lambda-java/issues/2089))
+* bump software.amazon.awscdk:aws-cdk-lib from 2.210.0 to 2.211.0 ([#2042](https://github.com/aws-powertools/powertools-lambda-java/issues/2042))
+* bump aws.sdk.version from 2.32.21 to 2.32.22 ([#2046](https://github.com/aws-powertools/powertools-lambda-java/issues/2046))
+* bump com.google.protobuf:protobuf-java from 4.31.1 to 4.32.0 ([#2050](https://github.com/aws-powertools/powertools-lambda-java/issues/2050))
+* bump aws.sdk.version from 2.32.23 to 2.32.25 ([#2054](https://github.com/aws-powertools/powertools-lambda-java/issues/2054))
+* bump squidfunk/mkdocs-material in /docs ([#2074](https://github.com/aws-powertools/powertools-lambda-java/issues/2074))
+* bump github/codeql-action from 3.29.10 to 3.29.11 ([#2073](https://github.com/aws-powertools/powertools-lambda-java/issues/2073))
+* bump log4j.version from 2.25.1 to 2.25.1 ([#2072](https://github.com/aws-powertools/powertools-lambda-java/issues/2072))
+* bump org.apache.maven.plugins:maven-shade-plugin ([#2071](https://github.com/aws-powertools/powertools-lambda-java/issues/2071))
+* bump org.graalvm.buildtools:native-maven-plugin ([#2070](https://github.com/aws-powertools/powertools-lambda-java/issues/2070))
+* bump com.amazonaws:aws-lambda-java-runtime-interface-client ([#2069](https://github.com/aws-powertools/powertools-lambda-java/issues/2069))
+* bump aws.sdk.version from 2.32.2 to 2.32.28 ([#2068](https://github.com/aws-powertools/powertools-lambda-java/issues/2068))
+* bump actions/setup-java from 4.7.1 to 5.0.0 ([#2067](https://github.com/aws-powertools/powertools-lambda-java/issues/2067))
+* bump software.amazon.awscdk:aws-cdk-lib from 2.211.0 to 2.212.0 ([#2066](https://github.com/aws-powertools/powertools-lambda-java/issues/2066))
+* bump org.apache.maven.plugins:maven-javadoc-plugin ([#2065](https://github.com/aws-powertools/powertools-lambda-java/issues/2065))
+* bump aws.sdk.version from 2.32.25 to 2.32.27 ([#2064](https://github.com/aws-powertools/powertools-lambda-java/issues/2064))
+* bump aws.sdk.version from 2.32.22 to 2.32.23 ([#2048](https://github.com/aws-powertools/powertools-lambda-java/issues/2048))
+* bump squidfunk/mkdocs-material in /docs ([#2058](https://github.com/aws-powertools/powertools-lambda-java/issues/2058))
+* bump org.apache.maven.plugins:maven-javadoc-plugin ([#2059](https://github.com/aws-powertools/powertools-lambda-java/issues/2059))
+* bump io.github.ascopes:protobuf-maven-plugin from 3.7.0 to 3.8.0 ([#2057](https://github.com/aws-powertools/powertools-lambda-java/issues/2057))
+* bump actions/checkout from 4.2.2 to 5.0.0 ([#2036](https://github.com/aws-powertools/powertools-lambda-java/issues/2036))
+* bump actions/dependency-review-action from 4.7.1 to 4.7.2 ([#2055](https://github.com/aws-powertools/powertools-lambda-java/issues/2055))
+* bump sam/build-java21 ([#2075](https://github.com/aws-powertools/powertools-lambda-java/issues/2075))
+* bump aws.sdk.version from 2.32.19 to 2.32.26 ([#2060](https://github.com/aws-powertools/powertools-lambda-java/issues/2060))
+* bump github/codeql-action from 3.29.9 to 3.29.10 ([#2056](https://github.com/aws-powertools/powertools-lambda-java/issues/2056))
+* **ci:** Add powertools-e2e-tests/handlers as module to capture it in GitHub actions version upgrades. ([#2063](https://github.com/aws-powertools/powertools-lambda-java/issues/2063))
+* **ci:** Fix bug where docs were released with old version during release workflow. ([#2076](https://github.com/aws-powertools/powertools-lambda-java/issues/2076))
+* **ci:** Run unit tests for GraalVM as well during build. ([#2047](https://github.com/aws-powertools/powertools-lambda-java/issues/2047))
+* **ci:** Remove non-PR triggers for verify dependencies workflow. ([#2044](https://github.com/aws-powertools/powertools-lambda-java/issues/2044))
+* **ci:** Fix circular dependency in dynamodb-local and maven packaging phases. ([#2129](https://github.com/aws-powertools/powertools-lambda-java/issues/2129))
+* **ci:** Do not use Mockito SNAPSHOT version for release. ([#2137](https://github.com/aws-powertools/powertools-lambda-java/issues/2137))
+* **ci:** Set mockito SNAPSHOT version only for Graal profiles. ([#2138](https://github.com/aws-powertools/powertools-lambda-java/issues/2138))
+* **gitignore:** add .kiro, .claude, .amazonq to prevent deletion ([#2078](https://github.com/aws-powertools/powertools-lambda-java/issues/2078))
+
+
+
+## [v2.3.0] - 2025-08-12
+## Documentation
+
+* **examples:** Add Bazel example for core utilities ([#2022](https://github.com/aws-powertools/powertools-lambda-java/issues/2022))
+* **examples:** Add Logging and Tracing to idempotency example with correct configuration. ([#1993](https://github.com/aws-powertools/powertools-lambda-java/issues/1993))
+* **examples:** Enable end to end tracing for SQS batch example. ([#1995](https://github.com/aws-powertools/powertools-lambda-java/issues/1995))
+
+## Features
+
+* Support CRaC priming of powertools metrics and idempotency-dynamodb ([#1861](https://github.com/aws-powertools/powertools-lambda-java/issues/1861))
+
+## Maintenance
+
+* bump github/codeql-action from 3.29.4 to 3.29.5 ([#1992](https://github.com/aws-powertools/powertools-lambda-java/issues/1992))
+* bump org.assertj:assertj-core from 3.27.3 to 3.27.4 ([#2031](https://github.com/aws-powertools/powertools-lambda-java/issues/2031))
+* bump software.amazon.awscdk:aws-cdk-lib from 2.208.0 to 2.210.0 ([#2030](https://github.com/aws-powertools/powertools-lambda-java/issues/2030))
+* bump aws.sdk.version from 2.32.18 to 2.32.19 ([#2029](https://github.com/aws-powertools/powertools-lambda-java/issues/2029))
+* bump co.elastic.logging:logback-ecs-encoder from 1.6.0 to 1.7.0 ([#2028](https://github.com/aws-powertools/powertools-lambda-java/issues/2028))
+* bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.4.0 to 4.9.3.2 ([#2010](https://github.com/aws-powertools/powertools-lambda-java/issues/2010))
+* bump com.amazonaws:aws-lambda-java-runtime-interface-client ([#2026](https://github.com/aws-powertools/powertools-lambda-java/issues/2026))
+* bump github/codeql-action from 3.29.7 to 3.29.8 ([#2027](https://github.com/aws-powertools/powertools-lambda-java/issues/2027))
+* bump org.crac:crac from 1.4.0 to 1.5.0 ([#2025](https://github.com/aws-powertools/powertools-lambda-java/issues/2025))
+* bump aws.sdk.version from 2.32.6 to 2.32.18 ([#2024](https://github.com/aws-powertools/powertools-lambda-java/issues/2024))
+* bump org.junit.jupiter:junit-jupiter from 5.11.1 to 5.13.4 ([#2023](https://github.com/aws-powertools/powertools-lambda-java/issues/2023))
+* bump org.codehaus.mojo:exec-maven-plugin from 3.3.0 to 3.5.1 ([#2015](https://github.com/aws-powertools/powertools-lambda-java/issues/2015))
+* bump aws.sdk.version from 2.32.10 to 2.32.16 ([#2014](https://github.com/aws-powertools/powertools-lambda-java/issues/2014))
+* bump io.github.ascopes:protobuf-maven-plugin from 3.6.1 to 3.7.0 ([#2016](https://github.com/aws-powertools/powertools-lambda-java/issues/2016))
+* bump actions/download-artifact from 4.3.0 to 5.0.0 ([#2017](https://github.com/aws-powertools/powertools-lambda-java/issues/2017))
+* bump squidfunk/mkdocs-material in /docs ([#1984](https://github.com/aws-powertools/powertools-lambda-java/issues/1984))
+* bump org.apache.maven.plugins:maven-surefire-plugin ([#2013](https://github.com/aws-powertools/powertools-lambda-java/issues/2013))
+* bump aws-actions/configure-aws-credentials from 4.2.1 to 4.3.1 ([#2011](https://github.com/aws-powertools/powertools-lambda-java/issues/2011))
+* bump software.amazon.awscdk:aws-cdk-lib from 2.162.1 to 2.208.0 ([#1990](https://github.com/aws-powertools/powertools-lambda-java/issues/1990))
+* **ci:** Make E2E tests compatible with latest CDK lib version. Improve retry implementation. ([#2008](https://github.com/aws-powertools/powertools-lambda-java/issues/2008))
+* **ci:** Improve reliability of retries in TracingE2ET ([#2018](https://github.com/aws-powertools/powertools-lambda-java/issues/2018))
+
+
+
+## [v2.2.1] - 2025-07-29
+## Bug Fixes
+
+* **parameters:** Correctly check for empty values in AppConfig Parameters Provider. ([#1982](https://github.com/aws-powertools/powertools-lambda-java/issues/1982))
+
+## Maintenance
+
+* bump dependabot/fetch-metadata from 2.3.0 to 2.4.0 ([#1954](https://github.com/aws-powertools/powertools-lambda-java/issues/1954))
+* bump github/codeql-action from 3.29.3 to 3.29.4 ([#1978](https://github.com/aws-powertools/powertools-lambda-java/issues/1978))
+* bump org.apache.logging.log4j:log4j-transform-maven-shade-plugin-extensions ([#1977](https://github.com/aws-powertools/powertools-lambda-java/issues/1977))
+* bump aws.sdk.version from 2.31.78 to 2.32.6 ([#1976](https://github.com/aws-powertools/powertools-lambda-java/issues/1976))
+* bump com.amazonaws:aws-lambda-java-events from 3.16.0 to 3.16.1 ([#1975](https://github.com/aws-powertools/powertools-lambda-java/issues/1975))
+* bump com.networknt:json-schema-validator from 1.5.1 to 1.5.8 ([#1974](https://github.com/aws-powertools/powertools-lambda-java/issues/1974))
+* bump ossf/scorecard-action from 2.4.0 to 2.4.2 ([#1950](https://github.com/aws-powertools/powertools-lambda-java/issues/1950))
+* bump org.apache.maven.plugins:maven-compiler-plugin ([#1972](https://github.com/aws-powertools/powertools-lambda-java/issues/1972))
+* bump actions/download-artifact from 4.2.1 to 4.3.0 ([#1967](https://github.com/aws-powertools/powertools-lambda-java/issues/1967))
+* bump aws-actions/configure-aws-credentials from 2.2.0 to 4.2.1 ([#1965](https://github.com/aws-powertools/powertools-lambda-java/issues/1965))
+* bump actions/dependency-review-action from 4.5.0 to 4.7.1 ([#1968](https://github.com/aws-powertools/powertools-lambda-java/issues/1968))
+* bump actions/checkout from 3.5.3 to 4.2.2 ([#1963](https://github.com/aws-powertools/powertools-lambda-java/issues/1963))
+* bump sam/build-java21 ([#1962](https://github.com/aws-powertools/powertools-lambda-java/issues/1962))
+* bump squidfunk/mkdocs-material in /docs ([#1961](https://github.com/aws-powertools/powertools-lambda-java/issues/1961))
+* bump actions/upload-artifact from 4.5.0 to 4.6.2 ([#1953](https://github.com/aws-powertools/powertools-lambda-java/issues/1953))
+* bump github/codeql-action from 3.27.9 to 3.29.3 ([#1958](https://github.com/aws-powertools/powertools-lambda-java/issues/1958))
+* bump actions/setup-java from 3.11.0 to 4.7.1 ([#1957](https://github.com/aws-powertools/powertools-lambda-java/issues/1957))
+* **ci:** Add Docker paths via globs to dependabot and update Dockerfiles to pin sha256 ([#1960](https://github.com/aws-powertools/powertools-lambda-java/issues/1960))
+* **ci:** Remove osv workflow. ([#1973](https://github.com/aws-powertools/powertools-lambda-java/issues/1973))
+* **ci:** add new dependabot package ecosystems ([#1948](https://github.com/aws-powertools/powertools-lambda-java/issues/1948))
+* **ci:** Add GraalVM E2E tests and GH workflows ([#1945](https://github.com/aws-powertools/powertools-lambda-java/issues/1945))
+
+
+
+## [v2.2.0] - 2025-07-15
+## Bug Fixes
+
+* **examples:** Fix GraalVM metadata after common runtime client changes ([#1935](https://github.com/aws-powertools/powertools-lambda-java/issues/1935))
+
+## Features
+
+* **batch:** add support for batch execution in parallel with custom Executor ([#1900](https://github.com/aws-powertools/powertools-lambda-java/issues/1900))
+* **serialization:** Add GraalVM metadata configuration ([#1905](https://github.com/aws-powertools/powertools-lambda-java/issues/1905))
+
+## Maintenance
+
+* update issue, PR, and discussion templates ([#1915](https://github.com/aws-powertools/powertools-lambda-java/issues/1915))
+* **ci:** remove v2 dependabot configuration. Restore OSSF scorecard workflow. ([#1924](https://github.com/aws-powertools/powertools-lambda-java/issues/1924))
+* **ci:** Update branch protection rules ([#1914](https://github.com/aws-powertools/powertools-lambda-java/issues/1914))
+
+
+
+## [v2.1.1] - 2025-06-20
+## Bug Fixes
+
+* **kafka:** Handle message indices in proto data also for Glue Schema Registry ([#1907](https://github.com/aws-powertools/powertools-lambda-java/issues/1907))
+
+## Maintenance
+
+
+
+
+## [v2.1.0] - 2025-06-19
+## Bug Fixes
+
+* **ci:** Add maven project description to Kafka utility. ([#1903](https://github.com/aws-powertools/powertools-lambda-java/issues/1903))
+* **kafka:** Add support for confluent message indices. ([#1902](https://github.com/aws-powertools/powertools-lambda-java/issues/1902))
+* **metrics:** Do not flush when no metrics were added to avoid printing root-level _aws dict ([#1891](https://github.com/aws-powertools/powertools-lambda-java/issues/1891))
+
+## Documentation
+
+* Announce deprecation of v1
+* Version documentation ([#1878](https://github.com/aws-powertools/powertools-lambda-java/issues/1878))
+
+## Features
+
+* **kafka:** New Kafka utility ([#1898](https://github.com/aws-powertools/powertools-lambda-java/issues/1898))
+
+## Maintenance
+
+* **ci:** Update workflows to make v2 the default ([#1888](https://github.com/aws-powertools/powertools-lambda-java/issues/1888))
+
+
+
+## [v2.0.0] - 2025-06-12
+## Maintenance
+
+
+
+
+## [v2.0.0-RC1] - 2025-06-11
+## Bug Fixes
+
+* workflow paths for examples v2 builds
+* add aspectj-rt to batch e2e ([#1410](https://github.com/aws-powertools/powertools-lambda-java/issues/1410))
+* **ci:** Fix failing E2E tests and temporarily exclude TracingE2E ([#1847](https://github.com/aws-powertools/powertools-lambda-java/issues/1847))
+* **ci:** add user/pass to javasetup ([#1832](https://github.com/aws-powertools/powertools-lambda-java/issues/1832))
+* **ci:** Update control flow to allow for better skipping of things ([#1831](https://github.com/aws-powertools/powertools-lambda-java/issues/1831))
+* **ci:** Checkout repo on doc release ([#1869](https://github.com/aws-powertools/powertools-lambda-java/issues/1869))
+* **logging:** Prevent accidental overwriting of reserved keys via structured arguments
+* **logging:** Escape double-quotes when serializing strings into JSON. ([#1845](https://github.com/aws-powertools/powertools-lambda-java/issues/1845))
+* **v2:** Fix params builder to provide default transformation manager ([#1549](https://github.com/aws-powertools/powertools-lambda-java/issues/1549))
+
+## Documentation
+
+* v2 documentation maintenance fixing formatting and dependency issues as well as adding roadmap and llms.txt ([#1819](https://github.com/aws-powertools/powertools-lambda-java/issues/1819))
+* **metrics:** Add upgrade guide for re-designed Metrics utility ([#1868](https://github.com/aws-powertools/powertools-lambda-java/issues/1868))
+* **v2:** Create upgrade guide and versioning policy ([#1856](https://github.com/aws-powertools/powertools-lambda-java/issues/1856))
+
+## Features
+
+* advanced logging ([#1539](https://github.com/aws-powertools/powertools-lambda-java/issues/1539))
+* upgraded embedded metrics library for high resolution metrics ([#1550](https://github.com/aws-powertools/powertools-lambda-java/issues/1550))
+* **cfn-custom-resource:** Add optional 'reason' field for detailed failure reporting ([#1810](https://github.com/aws-powertools/powertools-lambda-java/issues/1810))
+* **idempotency:** Add support for ReturnValuesOnConditionCheckFailure in Idempotency. ([#1821](https://github.com/aws-powertools/powertools-lambda-java/issues/1821))
+* **idempotency:** Add response hook feature ([#1814](https://github.com/aws-powertools/powertools-lambda-java/issues/1814))
+* **metrics:** New metrics module implementation with support for Metrics providers and usage without annotations ([#1863](https://github.com/aws-powertools/powertools-lambda-java/issues/1863))
+* **v2:** Add GraalVM reachability metadata for core utilities ([#1753](https://github.com/aws-powertools/powertools-lambda-java/issues/1753))
+* **v2:** parallel batch processing ([#1620](https://github.com/aws-powertools/powertools-lambda-java/issues/1620))
+* **v2:** batch validation with partial failure ([#1621](https://github.com/aws-powertools/powertools-lambda-java/issues/1621))
+* **v2:** publish snapshots ([#1655](https://github.com/aws-powertools/powertools-lambda-java/issues/1655))
+* **v2:** GraalVM support for parameters module ([#1824](https://github.com/aws-powertools/powertools-lambda-java/issues/1824))
+* **v2:** new logging module ([#1435](https://github.com/aws-powertools/powertools-lambda-java/issues/1435))
+* **v2:** Validation failures return 400s ([#1489](https://github.com/aws-powertools/powertools-lambda-java/issues/1489))
+
+## Maintenance
+
+* Support spotbugs running anywhere ([#1537](https://github.com/aws-powertools/powertools-lambda-java/issues/1537))
+* V2 update from main ([#1365](https://github.com/aws-powertools/powertools-lambda-java/issues/1365))
+* remove Java 8 from v2 examples ([#1531](https://github.com/aws-powertools/powertools-lambda-java/issues/1531))
+* fix end 2 end build ([#1534](https://github.com/aws-powertools/powertools-lambda-java/issues/1534))
+* cleanup poms and reduce warning noise ([#1535](https://github.com/aws-powertools/powertools-lambda-java/issues/1535))
+* [V2] rename 'core' module to 'common' ([#1364](https://github.com/aws-powertools/powertools-lambda-java/issues/1364))
+* update v2 ([#1409](https://github.com/aws-powertools/powertools-lambda-java/issues/1409))
+* remove aspectj-rt from the library ([#1408](https://github.com/aws-powertools/powertools-lambda-java/issues/1408))
+* Start V2 branch ([#1346](https://github.com/aws-powertools/powertools-lambda-java/issues/1346))
+* **automation:** Update automation workflows ([#1779](https://github.com/aws-powertools/powertools-lambda-java/issues/1779)) ([#1830](https://github.com/aws-powertools/powertools-lambda-java/issues/1830))
+* **ci:** Set snapshot repository to "central" server ID
+* **ci:** Publish to Maven Central instead of OSSRH instance ([#1858](https://github.com/aws-powertools/powertools-lambda-java/issues/1858))
+* **v2:** Merge down from main ([#1574](https://github.com/aws-powertools/powertools-lambda-java/issues/1574))
+* **v2:** Split parameters module up by parameter provider ([#1403](https://github.com/aws-powertools/powertools-lambda-java/issues/1403))
+* **v2:** Fix IaC lint ([#1576](https://github.com/aws-powertools/powertools-lambda-java/issues/1576))
+* **v2:** e2e tests ([#1571](https://github.com/aws-powertools/powertools-lambda-java/issues/1571))
+* **v2:** clean examples ([#1495](https://github.com/aws-powertools/powertools-lambda-java/issues/1495))
+* **v2:** document use of aws-crt-client ([#1092](https://github.com/aws-powertools/powertools-lambda-java/issues/1092)) ([#1605](https://github.com/aws-powertools/powertools-lambda-java/issues/1605))
+* **v2:** remove java 1.8 relics from the code ([#1659](https://github.com/aws-powertools/powertools-lambda-java/issues/1659))
+* **v2:** remove deprecated code ([#1624](https://github.com/aws-powertools/powertools-lambda-java/issues/1624))
+* **v2:** Remove rule preventing production release of 2.0.0 ([#1867](https://github.com/aws-powertools/powertools-lambda-java/issues/1867))
+* **v2:** Split powertools idempotency module (without redis impl) ([#1559](https://github.com/aws-powertools/powertools-lambda-java/issues/1559))
+
+## Pull Requests
+
+* Merge pull request [#1608](https://github.com/aws-powertools/powertools-lambda-java/issues/1608) from aws-powertools/chore/v2-merge-main-down
+* Merge pull request [#1525](https://github.com/aws-powertools/powertools-lambda-java/issues/1525) from aws-powertools/chore/main-into-v2
+* Merge pull request [#1494](https://github.com/aws-powertools/powertools-lambda-java/issues/1494) from aws-powertools/chore/merge-main-into-v2
+* Merge pull request [#1492](https://github.com/aws-powertools/powertools-lambda-java/issues/1492) from aws-powertools/main-into-v2-again
+* Merge pull request [#1477](https://github.com/aws-powertools/powertools-lambda-java/issues/1477) from aws-powertools/chore/main-into-v2
+
+
+
+## [v1.20.2] - 2025-05-20
+## Bug Fixes
+
+* **ci:** update release workflow ([#1854](https://github.com/aws-powertools/powertools-lambda-java/issues/1854))
+* **ci:** minor fixes for workflows ([#1829](https://github.com/aws-powertools/powertools-lambda-java/issues/1829))
+
+## Documentation
+
+* Add version policy page and llms.txt, enable privacy plugin, fix formatting ([#1823](https://github.com/aws-powertools/powertools-lambda-java/issues/1823))
+
+## Maintenance
+
+* **automation:** Update automation workflows ([#1779](https://github.com/aws-powertools/powertools-lambda-java/issues/1779))
+
+
+
+## [v1.20.1] - 2025-04-08
+## Bug Fixes
+
+* Load version.properties file as resource stream to fix loading when packaged as jar. ([#1813](https://github.com/aws-powertools/powertools-lambda-java/issues/1813))
+
+## Documentation
+
+* fix 2 typos
+* Correct XML formatting for Maven configuration in Large Messages utility docs
+
+## Maintenance
+
+* Prep release 1.20.1 ([#1817](https://github.com/aws-powertools/powertools-lambda-java/issues/1817))
+
+
+
+## [v1.20.0] - 2025-03-25
+## Features
+
+* **cfn-custom-resource:** Add optional 'reason' field for detailed failure reporting ([#1758](https://github.com/aws-powertools/powertools-lambda-java/issues/1758))
+
+## Maintenance
+
+* Prep release 1.20.0 ([#1811](https://github.com/aws-powertools/powertools-lambda-java/issues/1811))
+
+
+
+## [v1.19.0] - 2025-03-07
+## Bug Fixes
+
+* add workflow dispatch to OSV
+* Allow empty responses as well as null response in AppConfig ([#1673](https://github.com/aws-powertools/powertools-lambda-java/issues/1673))
+* **ci:** Add workflow_dispatch to build script ([#1792](https://github.com/aws-powertools/powertools-lambda-java/issues/1792))
+* **ci:** add permissions to release workflow
+* **ci:** Permissions ([#1771](https://github.com/aws-powertools/powertools-lambda-java/issues/1771))
+* **ci:** OSSF Changes ([#1769](https://github.com/aws-powertools/powertools-lambda-java/issues/1769))
+
+## Documentation
+
+* add roadmap page and include roadmap for 2025
+* improve tracing doc for sdk instrumentation ([#1687](https://github.com/aws-powertools/powertools-lambda-java/issues/1687))
+* add link to Powertools for AWS Lambda workshop ([#1641](https://github.com/aws-powertools/powertools-lambda-java/issues/1641))
+* HelloWorldStreamFunction in examples fails with sam ([#1532](https://github.com/aws-powertools/powertools-lambda-java/issues/1532))
+
+## Features
+
+* **build:** remove java 8 support in v2 ([#1606](https://github.com/aws-powertools/powertools-lambda-java/issues/1606))
+* **ci:** Add OSV
+
+## Maintenance
+
+* deprecate java1.8 al1 ([#1706](https://github.com/aws-powertools/powertools-lambda-java/issues/1706))
+* Testing java21 aspectj pre-release ([#1519](https://github.com/aws-powertools/powertools-lambda-java/issues/1519))
+* Remove build cruft
+* SAM and Terraform IaC extracted from pr_build and simplified approach. ([#1533](https://github.com/aws-powertools/powertools-lambda-java/issues/1533))
+* Update netty version ([#1768](https://github.com/aws-powertools/powertools-lambda-java/issues/1768))
+* Set versions of transitive dependencies ([#1767](https://github.com/aws-powertools/powertools-lambda-java/issues/1767))
+* update Jackson
+* Remove empty CDK test ([#1542](https://github.com/aws-powertools/powertools-lambda-java/issues/1542))
+* add openssf to repo
+* remove auto-merge
+* remove unecessary creds acquisition ([#1572](https://github.com/aws-powertools/powertools-lambda-java/issues/1572))
+* update version to next snapshot: 1-19.0-SNAPSHOT ([#1516](https://github.com/aws-powertools/powertools-lambda-java/issues/1516))
+* **ci:** update permissions ([#1764](https://github.com/aws-powertools/powertools-lambda-java/issues/1764))
+* **ci:** Add release environment
+* **ci:** Remove RELEASE variable ([#1772](https://github.com/aws-powertools/powertools-lambda-java/issues/1772))
+* **deps:** update JSII to 1.108 ([#1791](https://github.com/aws-powertools/powertools-lambda-java/issues/1791))
+* **deps:** Update deps for jackson ([#1793](https://github.com/aws-powertools/powertools-lambda-java/issues/1793))
+* **docs:** load self hosted mermaid.js
+
+## Pull Requests
+
+* Merge pull request [#1720](https://github.com/aws-powertools/powertools-lambda-java/issues/1720) from aws-powertools/chore/docs_script_self
+
+
+
+## [v1.18.0] - 2023-11-16
+## Bug Fixes
+
+* get trace id from system property when env var is not set ([#1503](https://github.com/aws-powertools/powertools-lambda-java/issues/1503))
+* Fix schema validation unit test build issues ([#1456](https://github.com/aws-powertools/powertools-lambda-java/issues/1456))
+
+## Documentation
+
+* Update gradle configuration readme ([#1359](https://github.com/aws-powertools/powertools-lambda-java/issues/1359))
+* Adding Kotlin example. ([#1454](https://github.com/aws-powertools/powertools-lambda-java/issues/1454))
+* apply line highlight only for default light mode ([#1453](https://github.com/aws-powertools/powertools-lambda-java/issues/1453))
+* Add Serveless Framework example ([#1363](https://github.com/aws-powertools/powertools-lambda-java/issues/1363))
+* Fix link to SQS large message migration guide ([#1422](https://github.com/aws-powertools/powertools-lambda-java/issues/1422))
+* Change link to absolute versioned path for examples ([#1374](https://github.com/aws-powertools/powertools-lambda-java/issues/1374))
+* **customer-reference:** add Vertex Pharmaceuticals as a customer reference ([#1486](https://github.com/aws-powertools/powertools-lambda-java/issues/1486))
+* **logging:** align example cloudwatch example to correct output from code: lambda_request_id --> function_request_id ([#1411](https://github.com/aws-powertools/powertools-lambda-java/issues/1411))
+
+## Features
+
+* ALC ([#1514](https://github.com/aws-powertools/powertools-lambda-java/issues/1514))
+* Add support for POWERTOOLS_LOGGER_LOG_EVENT ([#1510](https://github.com/aws-powertools/powertools-lambda-java/issues/1510))
+* Terraform example ([#1478](https://github.com/aws-powertools/powertools-lambda-java/issues/1478))
+
+## Maintenance
+
+* Addition of Warn Message If Invalid Annotation Key While Tracing [#1511](https://github.com/aws-powertools/powertools-lambda-java/issues/1511) ([#1512](https://github.com/aws-powertools/powertools-lambda-java/issues/1512))
+* artifacts size on good branches ([#1493](https://github.com/aws-powertools/powertools-lambda-java/issues/1493))
+* add missing projects and improve workflow ([#1487](https://github.com/aws-powertools/powertools-lambda-java/issues/1487))
+* java21 support in our build ([#1488](https://github.com/aws-powertools/powertools-lambda-java/issues/1488))
+* Reporting size of the jars in GitHub comments ([#1196](https://github.com/aws-powertools/powertools-lambda-java/issues/1196))
+* secure github actions using hash instead of versions ([#1232](https://github.com/aws-powertools/powertools-lambda-java/issues/1232))
+
+
+
+## [v1.17.0] - 2023-08-21
+## Bug Fixes
+
+* Roll log4j shade transformer forwards ([#1376](https://github.com/aws-powertools/powertools-lambda-java/issues/1376))
+* Rollback doc changes ([#1323](https://github.com/aws-powertools/powertools-lambda-java/issues/1323))
+* use default credentials provider for all provided SDK clients ([#1303](https://github.com/aws-powertools/powertools-lambda-java/issues/1303))
+
+## Documentation
+
+* Adding CDK example ([#1321](https://github.com/aws-powertools/powertools-lambda-java/issues/1321))
+* improve contributing guide ([#1334](https://github.com/aws-powertools/powertools-lambda-java/issues/1334))
+* Add maintainers guide ([#1326](https://github.com/aws-powertools/powertools-lambda-java/issues/1326))
+* versioning - fix typo ([#1322](https://github.com/aws-powertools/powertools-lambda-java/issues/1322))
+* add support for docs versioning ([#1239](https://github.com/aws-powertools/powertools-lambda-java/issues/1239)) ([#1293](https://github.com/aws-powertools/powertools-lambda-java/issues/1293))
+* Started cleaning up example doc ([#1291](https://github.com/aws-powertools/powertools-lambda-java/issues/1291))
+
+## Features
+
+* Add Batch Processor module ([#1317](https://github.com/aws-powertools/powertools-lambda-java/issues/1317))
+* large message in SQS and SNS ([#1310](https://github.com/aws-powertools/powertools-lambda-java/issues/1310))
+
+## Maintenance
+
+* Fix missing version change pieces ([#1382](https://github.com/aws-powertools/powertools-lambda-java/issues/1382))
+* apply checkstyle again ([#1339](https://github.com/aws-powertools/powertools-lambda-java/issues/1339))
+* Add powertools specific user-agent-suffix to the AWS SDK v2 clients ([#1306](https://github.com/aws-powertools/powertools-lambda-java/issues/1306))
+* checkstyle formater & linter ([#1316](https://github.com/aws-powertools/powertools-lambda-java/issues/1316))
+* update poms to SNAPSHOT version for dev ([#1299](https://github.com/aws-powertools/powertools-lambda-java/issues/1299))
+
+
+
+## [v1.16.1] - 2023-07-19
+## Bug Fixes
+
+* idempotency timeout bug ([#1285](https://github.com/aws-powertools/powertools-lambda-java/issues/1285))
+* ParamManager cannot provide default SSM & Secrets providers ([#1282](https://github.com/aws-powertools/powertools-lambda-java/issues/1282))
+* Handle batch failures in FIFO queues correctly ([#1183](https://github.com/aws-powertools/powertools-lambda-java/issues/1183))
+* examples shouldn't be deployed to mvn central ([#1253](https://github.com/aws-powertools/powertools-lambda-java/issues/1253))
+
+## Documentation
+
+* update README.md ([#1294](https://github.com/aws-powertools/powertools-lambda-java/issues/1294))
+* adding our customer references ([#1287](https://github.com/aws-powertools/powertools-lambda-java/issues/1287))
+* update documentation for aspectJ ([#1273](https://github.com/aws-powertools/powertools-lambda-java/issues/1273))
+
+## Maintenance
+
+* **unit-test:** Add missing unit tests in modules with low coverage ([#1264](https://github.com/aws-powertools/powertools-lambda-java/issues/1264))
+
+
+
+## [v1.16.0] - 2023-06-29
+## Bug Fixes
+
+* e2e tests on JDK8 ([#1225](https://github.com/aws-powertools/powertools-lambda-java/issues/1225))
+* codecov URL ([#1222](https://github.com/aws-powertools/powertools-lambda-java/issues/1222))
+* remove GH pages ([#1211](https://github.com/aws-powertools/powertools-lambda-java/issues/1211))
+* update references to other variants
+* missing idempotency key should not persist any data ([#1201](https://github.com/aws-powertools/powertools-lambda-java/issues/1201))
+* **docs:** add site_url to docs
+
+## Features
+
+* Add AppConfig provider to parameters module ([#1104](https://github.com/aws-powertools/powertools-lambda-java/issues/1104))
+* end-to-end tests for core modules and idempotency ([#970](https://github.com/aws-powertools/powertools-lambda-java/issues/970))
+* **docs:** adds S3 Docs uploader
+
+## Maintenance
+
+* Update docs base origin url ([#1238](https://github.com/aws-powertools/powertools-lambda-java/issues/1238))
+* E2E tests GitHub action ([#1175](https://github.com/aws-powertools/powertools-lambda-java/issues/1175))
+* add all java versions and use corretto for build ([#1191](https://github.com/aws-powertools/powertools-lambda-java/issues/1191))
+* Change repo URL to the new location ([#1171](https://github.com/aws-powertools/powertools-lambda-java/issues/1171))
+* Swap implementation of `aspectj-maven-plugin` to support Java 17 ([#1172](https://github.com/aws-powertools/powertools-lambda-java/issues/1172))
+* update e2e-tests with latest Powertools version ([#1173](https://github.com/aws-powertools/powertools-lambda-java/issues/1173))
+* rename project from Powertools to Powertools for AWS Lambda (Java) ([#1169](https://github.com/aws-powertools/powertools-lambda-java/issues/1169))
+* **ci:** add workflow to dispatch analytics fetching ([#1143](https://github.com/aws-powertools/powertools-lambda-java/issues/1143))
+
+
+
+## [v1.15.0] - 2023-03-21
+## Bug Fixes
+
+* **cloudformation-module:** Use physicalResourceId when not provided by custom resource ([#1082](https://github.com/aws-powertools/powertools-lambda-java/issues/1082))
+
+## Documentation
+
+* **cloudformation-module:** Improve Docs ([#1090](https://github.com/aws-powertools/powertools-lambda-java/issues/1090))
+* **plugin:** fix mdocs and git revision plugin integration ([#1066](https://github.com/aws-powertools/powertools-lambda-java/issues/1066))
+
+## Features
+
+* Add DynamoDB provider to parameters module ([#1091](https://github.com/aws-powertools/powertools-lambda-java/issues/1091))
+
+## Maintenance
+
+* update the project version to 1.15.0 ([#1097](https://github.com/aws-powertools/powertools-lambda-java/issues/1097))
+* **governance:** update issue templates ([#1062](https://github.com/aws-powertools/powertools-lambda-java/issues/1062))
+* **metrics:** deprecate withMetricLogger in favor of withMetricsLogger ([#1060](https://github.com/aws-powertools/powertools-lambda-java/issues/1060))
+
+
+
+## [v1.14.0] - 2023-02-17
+## Documentation
+
+* **home:** update powertools definition
+
+## Features
+
+* **metrics:** introduce MetricsUtils.withMetricsLogger utility ([#1000](https://github.com/aws-powertools/powertools-lambda-java/issues/1000))
+
+## Maintenance
+
+* update the project version to 1.14.0 ([#1052](https://github.com/aws-powertools/powertools-lambda-java/issues/1052))
+
+
+
+## [v1.13.0] - 2022-12-14
+## Bug Fixes
+
+* envelope is not taken into account with built-in types ([#960](https://github.com/aws-powertools/powertools-lambda-java/issues/960))
+
+## Documentation
+
+* add missing grammar article ([#976](https://github.com/aws-powertools/powertools-lambda-java/issues/976))
+
+## Features
+
+* **idempotency:** handle lambda timeout scenarios for INPROGRESS records ([#933](https://github.com/aws-powertools/powertools-lambda-java/issues/933))
+
+## Maintenance
+
+* update the project version to 1.13.0 ([#1018](https://github.com/aws-powertools/powertools-lambda-java/issues/1018))
+
+
+
+## [v1.12.3] - 2022-07-12
+## Maintenance
+
+* **ci:** fix build ([#853](https://github.com/aws-powertools/powertools-lambda-java/issues/853))
+* **ci:** Address GitHub workaround for CVE-2022-24765.
+* **ci:** upgrade to checkout v3
+
+
+
+## [v1.12.2] - 2022-04-29
+## Bug Fixes
+
+* remove local implementation of PayloadS3Pointer.java and use payloadoffloading-common ([#851](https://github.com/aws-powertools/powertools-lambda-java/issues/851))
+
+
+
+## [v1.12.1] - 2022-04-21
+## Bug Fixes
+
+* disable idempotency doesn't disable dynamodb client creation in persistent store ([#796](https://github.com/aws-powertools/powertools-lambda-java/issues/796))
+
+## Maintenance
+
+* correct bug fix release number
+* **docs:** additional rename of project name ([#781](https://github.com/aws-powertools/powertools-lambda-java/issues/781)) ([#789](https://github.com/aws-powertools/powertools-lambda-java/issues/789))
+
+## Reverts
+* chore: correct bug fix release number
+
+
+
+## [v1.12.0] - 2022-03-01
+## Bug Fixes
+
+* **docs:** fix title for custom resources page ([#763](https://github.com/aws-powertools/powertools-lambda-java/issues/763))
+
+## Features
+
+* Easy Event Deserialization ([#757](https://github.com/aws-powertools/powertools-lambda-java/issues/757))
+
+## Maintenance
+
+* remove examples from the project as it was moved to aws-lambda-powertools-examples ([#772](https://github.com/aws-powertools/powertools-lambda-java/issues/772))
+* remove SQS and Idempotency examples ([#754](https://github.com/aws-powertools/powertools-lambda-java/issues/754))
+* downgrade release plugin to validate release fail issue
+* downgrade release plugin to validate release fail issue
+
+
+
+## [v1.11.0] - 2022-02-16
+## Maintenance
+
+* **docs:** FAQ for Kotlin projects
+* **docs:** Clarify test config needed for Tracing module ([#735](https://github.com/aws-powertools/powertools-lambda-java/issues/735))
+* **docs:** typo in CHANGELOG.md
+
+
+
+## [v1.10.3] - 2022-02-01
+## Bug Fixes
+
+* Prevent message to be marked as success if failed sending to DLQ ([#731](https://github.com/aws-powertools/powertools-lambda-java/issues/731))
+* **gradle:** Fix gradle example and docs to work with java 12+ ([#703](https://github.com/aws-powertools/powertools-lambda-java/issues/703))
+
+## Maintenance
+
+* move core utilities example to aws-samples/aws-lambda-powertools-examples ([#733](https://github.com/aws-powertools/powertools-lambda-java/issues/733))
+* Update readme to refer examples repo
+* **ci:** set release env variable for auto closing issue
+
+
+
+## [v1.10.2] - 2022-01-07
+## Features
+
+* **tracing:** ability to override object mapper ([#698](https://github.com/aws-powertools/powertools-lambda-java/issues/698))
+
+## Maintenance
+
+* Automate release prep ([#696](https://github.com/aws-powertools/powertools-lambda-java/issues/696))
+* **automation:** find replace pom.xml at all levels
+* **automation:** find replace pom.xml at all levels
+* **docs:** Add FAQs section to docs with information about Lombok support. ([#680](https://github.com/aws-powertools/powertools-lambda-java/issues/680))
+
+
+
+## [v1.10.1] - 2022-01-06
+## Features
+
+* **ci:** auto-notify & close issues on release
+
+## Maintenance
+
+* prep release 1.10.1
+* action to automate release prep
+* action to automate release prep
+* **docs:** Latest version of aspectj.post-compile-weaving
+* **docs:** Full gradle config in example for each module
+* **docs:** use free fair gradle aspect plugin ([#679](https://github.com/aws-powertools/powertools-lambda-java/issues/679))
+
+
+
+## [v1.10.0] - 2021-12-27
+
+
+## [v1.9.1] - 2021-12-27
+## Bug Fixes
+
+* support batch size greater than 10 processing ([#667](https://github.com/aws-powertools/powertools-lambda-java/issues/667))
+
+## Features
+
+* Json layout modern implementation ([#670](https://github.com/aws-powertools/powertools-lambda-java/issues/670))
+
+## Maintenance
+
+* prep release 1.10.0 ([#671](https://github.com/aws-powertools/powertools-lambda-java/issues/671))
+* Fix docs layout
+
+
+
+## [v1.8.3] - 2021-12-21
+
+
+## [v1.9.0] - 2021-12-21
+## Features
+
+* **tracing:** add service annotation ([#655](https://github.com/aws-powertools/powertools-lambda-java/issues/655))
+
+## Maintenance
+
+* prep release 1.9.0 ([#666](https://github.com/aws-powertools/powertools-lambda-java/issues/666))
+* localise abstract json layout implementation ([#664](https://github.com/aws-powertools/powertools-lambda-java/issues/664))
+* Update edit url prefix on doc
+* Update docs to reflect latest gradle plugin fix ([#656](https://github.com/aws-powertools/powertools-lambda-java/issues/656))
+
+
+
+## [v1.8.2] - 2021-12-15
+## Maintenance
+
+* prep release 1.8.2 ([#653](https://github.com/aws-powertools/powertools-lambda-java/issues/653))
+
+
+
+## [v1.8.1] - 2021-12-10
+## Documentation
+
+* **tenets:** update Idiomatic tenet to Progressive ([#615](https://github.com/aws-powertools/powertools-lambda-java/issues/615))
+
+## Maintenance
+
+* prep release 1.8.1 ([#647](https://github.com/aws-powertools/powertools-lambda-java/issues/647))
+
+
+
+## [v1.8.0] - 2021-11-05
+## Bug Fixes
+
+* LoggingAspect precedence to be last for accepting mutated args ([#567](https://github.com/aws-powertools/powertools-lambda-java/issues/567))
+
+## Features
+
+* create Java cfn-response equivalent ([#558](https://github.com/aws-powertools/powertools-lambda-java/issues/558)) ([#560](https://github.com/aws-powertools/powertools-lambda-java/issues/560))
+
+## Maintenance
+
+* prep release 1.8.0 ([#608](https://github.com/aws-powertools/powertools-lambda-java/issues/608))
+* Fix failing build and auto merge only when build is success
+* spotbug check ([#565](https://github.com/aws-powertools/powertools-lambda-java/issues/565))
+* Fix/Ignore spotbugs violations
+
+
+
+## [v1.7.3] - 2021-09-14
+## Bug Fixes
+
+* reset cold start only when placed on handler ([#508](https://github.com/aws-powertools/powertools-lambda-java/issues/508))
+
+## Documentation
+
+* **batch-processing:** Support for moving non retryable msg to DLQ ([#531](https://github.com/aws-powertools/powertools-lambda-java/issues/531))
+
+## Features
+
+* **batch-processing:** move non retry-able message to DLQ ([#500](https://github.com/aws-powertools/powertools-lambda-java/issues/500))
+
+## Maintenance
+
+* prep release 1.7.3
+
+
+
+## [v1.7.2] - 2021-08-03
+## Documentation
+
+* status badges
+
+## Maintenance
+
+* prep release 1.7.2 ([#490](https://github.com/aws-powertools/powertools-lambda-java/issues/490))
+* Upgrade to latest(1.14.0) aspectj-maven-plugin ([#489](https://github.com/aws-powertools/powertools-lambda-java/issues/489))
+* Logging and SQS utility Optimisations ([#484](https://github.com/aws-powertools/powertools-lambda-java/issues/484))
+* wait for merge until check is green
+* wait for merge until check is green
+* wait for spotbugs check before automerge
+
+
+
+## [v1.7.1] - 2021-07-06
+## Maintenance
+
+* prep release 1.7.1 ([#459](https://github.com/aws-powertools/powertools-lambda-java/issues/459))
+
+
+
+## [v1.7.0] - 2021-07-05
+## Features
+
+* Clear logger state ([#453](https://github.com/aws-powertools/powertools-lambda-java/issues/453))
+
+## Maintenance
+
+* prep release 1.7.0 ([#457](https://github.com/aws-powertools/powertools-lambda-java/issues/457))
+
+
+
+## [v1.6.0] - 2021-06-20
+## Features
+
+* [#421](https://github.com/aws-powertools/powertools-lambda-java/issues/421) Support for Boolean and Number type as value in TracingUtils putAnnotation ([#423](https://github.com/aws-powertools/powertools-lambda-java/issues/423))
+* logger-Remove custom keys interface ([#395](https://github.com/aws-powertools/powertools-lambda-java/issues/395))
+
+## Maintenance
+
+* prep release 1.6.0 ([#436](https://github.com/aws-powertools/powertools-lambda-java/issues/436))
+* setup-java v2 ([#353](https://github.com/aws-powertools/powertools-lambda-java/issues/353))
+* add JDK 16 to build matrix ([#367](https://github.com/aws-powertools/powertools-lambda-java/issues/367))
+
+
+
+## [v1.5.0] - 2021-03-31
+## Features
+
+* remove deprecated attributes on Tracing annotation ([#330](https://github.com/aws-powertools/powertools-lambda-java/issues/330))
+
+## Maintenance
+
+* prep release 1.5.0 ([#345](https://github.com/aws-powertools/powertools-lambda-java/issues/345))
+* rename automerge workflow name
+* fix auto merge dependabot PR ([#342](https://github.com/aws-powertools/powertools-lambda-java/issues/342))
+
+
+
+## [v1.4.0] - 2021-03-11
+## Bug Fixes
+
+* null check on dimension
+
+## Features
+
+* Default dimensions from powertools instead of emf library ([#317](https://github.com/aws-powertools/powertools-lambda-java/issues/317))
+
+## Maintenance
+
+* prep release 1.4.0 ([#324](https://github.com/aws-powertools/powertools-lambda-java/issues/324))
+
+
+
+## [v1.3.0] - 2021-03-05
+## Bug Fixes
+
+* powertools specific log level env var to not conflict with the system LOG_LEVEL ([#306](https://github.com/aws-powertools/powertools-lambda-java/issues/306))
+* **example:** Update the example to v1.2.0 ([#288](https://github.com/aws-powertools/powertools-lambda-java/issues/288))
+
+## Documentation
+
+* ability to override object mapper used for logging event ([#303](https://github.com/aws-powertools/powertools-lambda-java/issues/303))
+
+## Features
+
+* single metric utility method to pick default namespace ([#305](https://github.com/aws-powertools/powertools-lambda-java/issues/305))
+* ability to override object mapper used for logging event ([#302](https://github.com/aws-powertools/powertools-lambda-java/issues/302))
+* respect code guru profile handler implementation ([#304](https://github.com/aws-powertools/powertools-lambda-java/issues/304))
+* capture metrics even when handler results in exception ([#286](https://github.com/aws-powertools/powertools-lambda-java/issues/286))
+
+## Maintenance
+
+* Prep release 1.3.0 ([#316](https://github.com/aws-powertools/powertools-lambda-java/issues/316))
+* migrate docs from gatsby to mkdocs ([#308](https://github.com/aws-powertools/powertools-lambda-java/issues/308))
+* consistent field names for trace and req id with logger ([#309](https://github.com/aws-powertools/powertools-lambda-java/issues/309))
+
+
+
+## [v1.2.0] - 2021-01-13
+## Code Refactoring
+
+* replace Apache Commons Logging with SLF4J ([#212](https://github.com/aws-powertools/powertools-lambda-java/issues/212))
+
+## Documentation
+
+* shadow sidebar to remain expanded ([#208](https://github.com/aws-powertools/powertools-lambda-java/issues/208))
+
+## Features
+
+* support for env variable in tracing capture modes ([#249](https://github.com/aws-powertools/powertools-lambda-java/issues/249))
+* custom segment names ([#221](https://github.com/aws-powertools/powertools-lambda-java/issues/221))
+
+## Maintenance
+
+* Prep release 1.2.0 ([#250](https://github.com/aws-powertools/powertools-lambda-java/issues/250))
+* Consistent env variable names for tracing ([#251](https://github.com/aws-powertools/powertools-lambda-java/issues/251))
+* update docs dependencies ([#214](https://github.com/aws-powertools/powertools-lambda-java/issues/214))
+
+
+
+## [v1.1.0] - 2020-12-03
+## Documentation
+
+* add source code link in nav bar ([#199](https://github.com/aws-powertools/powertools-lambda-java/issues/199))
+
+## Features
+
+* Parameters injection ([#201](https://github.com/aws-powertools/powertools-lambda-java/issues/201))
+
+## Maintenance
+
+* Prep release 1.1.0 ([#205](https://github.com/aws-powertools/powertools-lambda-java/issues/205))
+
+
+
+## [v1.0.1] - 2020-11-26
+## Bug Fixes
+
+* fixing dependencies security issues ([#169](https://github.com/aws-powertools/powertools-lambda-java/issues/169))
+
+## Maintenance
+
+* Prep for release (1.0.1) ([#198](https://github.com/aws-powertools/powertools-lambda-java/issues/198))
+* upgrade AspectjGradlePlugin to latest and example project to java 11 ([#189](https://github.com/aws-powertools/powertools-lambda-java/issues/189))
+
+## Performance Improvements
+
+* Make UrlConnectionHttpClient default client for params fetch ([#185](https://github.com/aws-powertools/powertools-lambda-java/issues/185))
+
+
+
+## [v1.0.0] - 2020-11-04
+## Bug Fixes
+
+* **docs:** Correct url and not for gradle ([#158](https://github.com/aws-powertools/powertools-lambda-java/issues/158))
+
+## Code Refactoring
+
+* Rename helpers for validation module ([#167](https://github.com/aws-powertools/powertools-lambda-java/issues/167))
+* Rename annotations for GA ([#165](https://github.com/aws-powertools/powertools-lambda-java/issues/165))
+
+
+
+## [v0.6.0-beta] - 2020-10-27
+## Documentation
+
+* Update all the environment variables used ([#127](https://github.com/aws-powertools/powertools-lambda-java/issues/127))
+
+## Features
+
+* log aws request id ([#133](https://github.com/aws-powertools/powertools-lambda-java/issues/133))
+
+## Maintenance
+
+* Prepare for 0.6.0-beta ([#155](https://github.com/aws-powertools/powertools-lambda-java/issues/155))
+* gradle example ([#147](https://github.com/aws-powertools/powertools-lambda-java/issues/147))
+
+
+
+## [v0.5.0-beta] - 2020-10-06
+## Features
+
+* SQS Partial batch Utility ([#120](https://github.com/aws-powertools/powertools-lambda-java/issues/120))
+
+## Maintenance
+
+* Prepare for 0.5.0-beta ([#124](https://github.com/aws-powertools/powertools-lambda-java/issues/124))
+
+
+
+## [v0.4.0-beta] - 2020-10-02
+## Bug Fixes
+
+* Log event via object mapper and not depend on toString ([#113](https://github.com/aws-powertools/powertools-lambda-java/issues/113))
+
+## Features
+
+* integration with CloudWatch ServiceLens [#88](https://github.com/aws-powertools/powertools-lambda-java/issues/88) ([#111](https://github.com/aws-powertools/powertools-lambda-java/issues/111))
+
+
+
+## [v0.3.1-beta] - 2020-09-25
+## Bug Fixes
+
+* Removing Log4J dependencies from the tracing module. ([#106](https://github.com/aws-powertools/powertools-lambda-java/issues/106))
+* Removing v1 Java SDK dependencies for X-Ray ([#105](https://github.com/aws-powertools/powertools-lambda-java/issues/105))
+
+## Documentation
+
+* fixes to the documentation ([#102](https://github.com/aws-powertools/powertools-lambda-java/issues/102))
+
+
+
+## [v0.3.0-beta] - 2020-09-22
+## Features
+
+* Metrics utility ([#91](https://github.com/aws-powertools/powertools-lambda-java/issues/91))
+
+
+
+## [v0.2.0-beta] - 2020-09-01
+## Bug Fixes
+
+* **general:** clean up typos and code ([#62](https://github.com/aws-powertools/powertools-lambda-java/issues/62))
+
+## Documentation
+
+* Readme update ([#72](https://github.com/aws-powertools/powertools-lambda-java/issues/72))
+* Update SQS large payload docs ([#60](https://github.com/aws-powertools/powertools-lambda-java/issues/60))
+* fixing documentation ([#59](https://github.com/aws-powertools/powertools-lambda-java/issues/59))
+
+## Features
+
+* Utility without annotation ([#61](https://github.com/aws-powertools/powertools-lambda-java/issues/61))
+* SQS Large message handling ([#55](https://github.com/aws-powertools/powertools-lambda-java/issues/55))
+
+
+
+## v0.1.0-beta - 2020-08-31
+## Bug Fixes
+
+* Fixing security issues on package.json dependencies ([#22](https://github.com/aws-powertools/powertools-lambda-java/issues/22))
+* Fixing package versions for security purpose ([#16](https://github.com/aws-powertools/powertools-lambda-java/issues/16))
+* Rename Java ArtifactId and GroupId to be compliant with new AWS standard.
+* docs pipeline
+* Fix Readme.md documentation and remove unecessary parts.
+
+## Code Refactoring
+
+* consistent naming of powertools tracing and initial docs. ([#48](https://github.com/aws-powertools/powertools-lambda-java/issues/48))
+* consistent naming of powertools. ([#46](https://github.com/aws-powertools/powertools-lambda-java/issues/46))
+* Split Tracing and Logging packages Dependency split ([#45](https://github.com/aws-powertools/powertools-lambda-java/issues/45))
+* move groupId from software.aws.lambda to softwarte.amazon.lambda ([#23](https://github.com/aws-powertools/powertools-lambda-java/issues/23))
+
+## Documentation
+
+* Adding license to each source file ([#44](https://github.com/aws-powertools/powertools-lambda-java/issues/44))
+* Initial javadocs for PowerLogger class. ([#43](https://github.com/aws-powertools/powertools-lambda-java/issues/43))
+* Implement Logger and Tracer part ([#27](https://github.com/aws-powertools/powertools-lambda-java/issues/27))
+* Initial javadocs for our logging annotation. ([#40](https://github.com/aws-powertools/powertools-lambda-java/issues/40))
+* update maven artifactId and groupId to new one
+* Improving README file
+* Init project documentation ci: init Github actions flow
+
+## Pull Requests
+
+* Merge pull request [#1](https://github.com/aws-powertools/powertools-lambda-java/issues/1) from stevehouel/master
+
+
+[Unreleased]: https://github.com/aws-powertools/powertools-lambda-java/compare/v2.4.0...HEAD
+[v2.4.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v2.3.0...v2.4.0
+[v2.3.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v2.2.1...v2.3.0
+[v2.2.1]: https://github.com/aws-powertools/powertools-lambda-java/compare/v2.2.0...v2.2.1
+[v2.2.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v2.1.1...v2.2.0
+[v2.1.1]: https://github.com/aws-powertools/powertools-lambda-java/compare/v2.1.0...v2.1.1
+[v2.1.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v2.0.0...v2.1.0
+[v2.0.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v2.0.0-RC1...v2.0.0
+[v2.0.0-RC1]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.20.2...v2.0.0-RC1
+[v1.20.2]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.20.1...v1.20.2
+[v1.20.1]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.20.0...v1.20.1
+[v1.20.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.19.0...v1.20.0
+[v1.19.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.18.0...v1.19.0
+[v1.18.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.17.0...v1.18.0
+[v1.17.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.16.1...v1.17.0
+[v1.16.1]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.16.0...v1.16.1
+[v1.16.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.15.0...v1.16.0
+[v1.15.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.14.0...v1.15.0
+[v1.14.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.13.0...v1.14.0
+[v1.13.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.12.3...v1.13.0
+[v1.12.3]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.12.2...v1.12.3
+[v1.12.2]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.12.1...v1.12.2
+[v1.12.1]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.12.0...v1.12.1
+[v1.12.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.11.0...v1.12.0
+[v1.11.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.10.3...v1.11.0
+[v1.10.3]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.10.2...v1.10.3
+[v1.10.2]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.10.1...v1.10.2
+[v1.10.1]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.10.0...v1.10.1
+[v1.10.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.9.1...v1.10.0
+[v1.9.1]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.8.3...v1.9.1
+[v1.8.3]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.9.0...v1.8.3
+[v1.9.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.8.2...v1.9.0
+[v1.8.2]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.8.1...v1.8.2
+[v1.8.1]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.8.0...v1.8.1
+[v1.8.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.7.3...v1.8.0
+[v1.7.3]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.7.2...v1.7.3
+[v1.7.2]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.7.1...v1.7.2
+[v1.7.1]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.7.0...v1.7.1
+[v1.7.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.6.0...v1.7.0
+[v1.6.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.5.0...v1.6.0
+[v1.5.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.4.0...v1.5.0
+[v1.4.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.3.0...v1.4.0
+[v1.3.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.2.0...v1.3.0
+[v1.2.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.1.0...v1.2.0
+[v1.1.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.0.1...v1.1.0
+[v1.0.1]: https://github.com/aws-powertools/powertools-lambda-java/compare/v1.0.0...v1.0.1
+[v1.0.0]: https://github.com/aws-powertools/powertools-lambda-java/compare/v0.6.0-beta...v1.0.0
+[v0.6.0-beta]: https://github.com/aws-powertools/powertools-lambda-java/compare/v0.5.0-beta...v0.6.0-beta
+[v0.5.0-beta]: https://github.com/aws-powertools/powertools-lambda-java/compare/v0.4.0-beta...v0.5.0-beta
+[v0.4.0-beta]: https://github.com/aws-powertools/powertools-lambda-java/compare/v0.3.1-beta...v0.4.0-beta
+[v0.3.1-beta]: https://github.com/aws-powertools/powertools-lambda-java/compare/v0.3.0-beta...v0.3.1-beta
+[v0.3.0-beta]: https://github.com/aws-powertools/powertools-lambda-java/compare/v0.2.0-beta...v0.3.0-beta
+[v0.2.0-beta]: https://github.com/aws-powertools/powertools-lambda-java/compare/v0.1.0-beta...v0.2.0-beta
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 914e0741d..080643027 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,58 +1,130 @@
+
+# Table of contents
+
+- [Contributing Guidelines](#contributing-guidelines)
+ - [Reporting Bugs/Feature Requests](#reporting-bugsfeature-requests)
+ - [Contributing via Pull Requests](#contributing-via-pull-requests)
+ - [Dev setup](#dev-setup)
+ - [Local documentation](#local-documentation)
+ - [Conventions](#conventions)
+ - [General terminology and practices](#general-terminology-and-practices)
+ - [Testing definition](#testing-definition)
+ - [Finding contributions to work on](#finding-contributions-to-work-on)
+ - [Code of Conduct](#code-of-conduct)
+ - [Security issue notifications](#security-issue-notifications)
+ - [Troubleshooting](#troubleshooting)
+ - [Licensing](#licensing)
+
# Contributing Guidelines
-Thank you for your interest in contributing to our project. Whether it's a bug report, new feature, correction, or additional
-documentation, we greatly value feedback and contributions from our community.
+
+Thank you for your interest in contributing to our project. Whether it's a [bug report](https://github.com/aws-powertools/powertools-lambda-java/issues/new?assignees=&labels=bug%2C+triage&projects=&template=bug_report.md&title=Bug%3A+TITLE), [new feature](https://github.com/aws-powertools/powertools-lambda-java/issues/new?assignees=&labels=feature-request%2C+triage&projects=&template=feature_request.md&title=Feature+request%3A+TITLE) or [additional documentation](https://github.com/aws-powertools/powertools-lambda-java/issues/new?assignees=&labels=documentation%2Ctriage&projects=&template=documentation_improvements.yml&title=Docs%3A+TITLE), we greatly value feedback and contributions from our community.
+
+
+We encourage contributions from the community and we will work with contributors to merge their pull requests.
+Rarely, we may close pull requests that do not meet our guidelines specified in CONTRIBUTING.md, or will require unreasonable effort to meet our quality bar.
Please read through this document before submitting any issues or pull requests to ensure we have all the necessary
information to effectively respond to your bug report or contribution.
-
## Reporting Bugs/Feature Requests
-We welcome you to use the GitHub issue tracker to report bugs or suggest features.
-
-When filing an issue, please check existing open, or recently closed, issues to make sure somebody else hasn't already
-reported the issue. Please try to include as much information as you can. Details like these are incredibly useful:
-
-* A reproducible test case or series of steps
-* The version of our code being used
-* Any modifications you've made relevant to the bug
-* Anything unusual about your environment or deployment
+We welcome you to use the GitHub issue tracker to report bugs, suggest features, or documentation improvements.
+
+[When filing an issue](https://github.com/aws-powertools/powertools-lambda-java/issues/new/choose), please check [existing open](https://github.com/aws-powertools/powertools-lambda-java/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc), or [recently closed](https://github.com/aws-powertools/powertools-lambda-java/issues?q=is%3Aissue+sort%3Aupdated-desc+is%3Aclosed) issues to make sure somebody else hasn't already reported the issue. Please try to include as much information as you can.
+
## Contributing via Pull Requests
+
Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:
-1. You are working against the latest source on the *master* branch.
-2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already.
-3. You open an issue to discuss any significant work - we would hate for your time to be wasted.
+1. You are working on a fork. [Fork the repository](https://github.com/aws-powertools/powertools-lambda-java/fork).
+2. You are working against the latest source on the **main** branch.
+3. You've checked existing open, and recently merged pull requests to make sure someone else hasn't addressed the problem already.
+4. You've opened an [issue](https://github.com/aws-powertools/powertools-lambda-java/issues/new/choose) before you begin any implementation. We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.
+
+### Dev setup
+
+We recommend using [IntelliJ IDEA](https://www.jetbrains.com/idea/) from JetBrains.
+A community version is available and largely enough for our purpose.
+
+#### Code Formatting
+
+We strongly recommend installing the CheckStyle-IDEA plugin and apply the provided [checkstyle.xml](checkstyle.xml) in order to comply with our formatting rules:
+
+1. Install the [CheckStyle-IDEA plugin](https://plugins.jetbrains.com/plugin/1065-checkstyle-idea) and restart IntelliJ.
+
+2. After installing the plugin, open the preferences (`⌘,` on macOS, or `Ctrl+Alt+S` on Windows/Linux) and search for _Code Style_. Click on the gear icon near the scheme and import checkstyle configuration. Click on "Apply" and "OK".
+
+
+3. Select the code you've created (module, package, class) and reformat code: `⌘⌥L` (macOS), or `Ctrl+Alt+L` (Windows/Linux).
+
+4. Apply the reformat, optimize imports, rearrange and cleanup to your code and only to java files:
+
+
+#### License headers
+All the java files should contain the licence/copyright header. You can copy paste it from the [license-header](license-header) file.
-To send us a pull request, please:
+### Creating the pull request
-1. Fork the repository.
-2. Modify the source; please focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change.
-3. Ensure local tests pass.
-4. Commit to your fork using clear commit messages.
-5. Send us a pull request, answering any default questions in the pull request interface.
-6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.
+To send us a pull request, please follow these steps:
+
+1. Create a new branch to focus on the specific change you are contributing e.g. `improv/logger-debug-sampling`
+2. Run all tests, and code baseline checks: `mvn clean verify -P build-with-spotbugs`
+3. Commit to your fork using clear commit messages.
+4. Send us a pull request with a [conventional semantic title](.github/semantic.yml), and answering any default questions in the pull request interface.
+5. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.
GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and
[creating a pull request](https://help.github.com/articles/creating-a-pull-request/).
+### Local documentation
+
+If you work on the documentation, you may find useful to display it locally while editing, using the following command:
+
+- **Docs website**: `make docs-local-docker`
+
+## Conventions
+
+### General terminology and practices
+
+| Category | Convention |
+|-----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| **Style guide** | We use Checkstyle and Sonar to enforce beyond good practices. |
+| **Exceptions** | Specific exceptions live within the utilities themselves and use `Exception` suffix e.g. `IdempotencyKeyException`. |
+| **Git commits** | We follow [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/). We do not enforce conventional commits on contributors to lower the entry bar. Instead, we enforce a conventional PR title so our label automation and changelog are generated correctly. |
+| **API documentation** | API reference docs are generated from Javadoc which should have examples to allow developers to have what they need within their own IDE. Documentation website covers the wider usage, tips, and strive to be concise. |
+| **Documentation** | We treat it like a product. We sub-divide content aimed at getting started (80% of customers) vs advanced usage (20%). We also ensure customers know how to unit test their code when using our features. |
+
+### Testing definition
+
+We group tests in different categories
+
+| Test | When to write | Notes | Speed |
+| ----------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- |
+| Unit tests | Verify the smallest possible unit works. | Networking access is prohibited. Prefer Functional tests given our complexity. | Lightning fast (nsec to ms) |
+| End-to-end tests | Gain confidence that a Lambda function with our code operates as expected. | It simulates how customers configure, deploy, and run their Lambda function - Event Source configuration, IAM permissions, etc. | Slow (minutes) |
+
+**NOTE**: Unit tests are mandatory. End-to-end tests should be created for new modules.
+We apply the principle of the [test pyramid](https://martinfowler.com/articles/practical-test-pyramid.html), having a majority of unit tests to cover most cases (standard, edge, errors, ...) and generally one end-to-end test to verify the standard case in the target environment.
## Finding contributions to work on
-Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any 'help wanted' issues is a great place to start.
+Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/help wanted/invalid/question/documentation), [looking at any 'good first issue' issues is a great place to start](https://github.com/aws-powertools/powertools-lambda-java/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22).
## Code of Conduct
+
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
-opensource-codeofconduct@amazon.com with any additional questions or comments.
-
+ with any additional questions or comments.
## Security issue notifications
+
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue.
+## Troubleshooting
+
## Licensing
diff --git a/GraalVM.md b/GraalVM.md
new file mode 100644
index 000000000..bbddb5e3b
--- /dev/null
+++ b/GraalVM.md
@@ -0,0 +1,86 @@
+# GraalVM Compatibility for AWS Lambda Powertools Java
+
+## Table of Contents
+- [Overview](#overview)
+- [Prerequisites](#prerequisites)
+- [General Implementation Steps](#general-implementation-steps)
+- [Known Issues and Solutions](#known-issues-and-solutions)
+- [Reference Implementation](#reference-implementation)
+
+## Overview
+This documentation provides guidance for adding GraalVM support for AWS Lambda Powertools Java modules and using the modules in Lambda functions.
+
+## Prerequisites
+- GraalVM 21+ installation
+- Maven 3.x
+
+## General Implementation Steps
+GraalVM native image compilation requires complete knowledge of an application's dynamic features at build time. The GraalVM reachability metadata (GRM) JSON files are essential because Java applications often use features that are determined at runtime, such as reflection, dynamic proxy classes, resource loading, and JNI (Java Native Interface). The metadata files tell GraalVM which classes need reflection access, which resources need to be included in the native image, and which proxy classes need to be generated.
+
+In order to generate the metadata reachability files for Powertools for Lambda, follow these general steps.
+
+1. **Add Maven Profiles**
+ - Add profile for generating GraalVM reachability metadata files. You can find an example of this in profile `generate-graalvm-files` of this [pom.xml](powertools-common/pom.xml).
+ - Add another profile for running the tests in the native image. You can find and example of this in profile `graalvm-native` of this [pom.xml](powertools-common/pom.xml).
+
+2. **Generate Reachability Metadata**
+ - Set the `JAVA_HOME` environment variable to use GraalVM
+ - Run tests with `-Pgenerate-graalvm-files` profile.
+```shell
+mvn -Pgenerate-graalvm-files clean test
+```
+
+3. **Validate Native Image Tests**
+ - Set the `JAVA_HOME` environment variable to use GraalVM
+ - Run tests with `-Pgraalvm-native` profile. This will build a GraalVM native image and run the JUnit tests.
+```shell
+mvn -Pgraalvm-native clean test
+```
+
+4. **Clean Up Metadata**
+ - GraalVM metadata reachability files generated in Step 2 contains references to the test scoped dependencies as well.
+ - Remove the references in generated metadata files for the following (and any other references to test scoped resources and classes):
+ - JUnit
+ - Mockito
+ - ByteBuddy
+
+## Known Issues and Solutions
+1. **Mockito Compatibility**
+ - Powertools uses Mockito 5.x which uses “inline mock maker” as the default. This mock maker does not play well with GraalVM. Mockito [recommends](https://github.com/mockito/mockito/releases/tag/v5.0.0) using subclass mock maker with GraalVM. Therefore `generate-graalvm-files` profile uses subclass mock maker instead of inline mock maker.
+ - Subclass mock maker does not support testing static methods. Tests have therefore been modified to use [JUnit Pioneer](https://junit-pioneer.org/docs/environment-variables/) to inject the environment variables in the scope of the test's execution.
+
+2. **Log4j Compatibility**
+ - Version 2.22.1 fails with this error
+```
+java.lang.InternalError: com.oracle.svm.core.jdk.UnsupportedFeatureError: Defining hidden classes at runtime is not supported.
+```
+ - This has been [fixed](https://github.com/apache/logging-log4j2/discussions/2364#discussioncomment-8950077) in Log4j 2.24.x. PT has been updated to use this version of Log4j
+
+3. **Test Class Organization**
+ - **Issue**: Anonymous inner classes and lambda expressions in Mockito matchers cause `NoSuchMethodError` in GraalVM native tests
+ - **Solution**:
+ - Extract static inner test classes to separate concrete classes in the same package as the class under test
+ - Replace lambda expressions in `ArgumentMatcher` with concrete implementations
+ - Use `mockito-subclass` dependency in GraalVM profiles
+ - **Example**: Replace `argThat(resp -> resp.getStatus() != expectedStatus)` with:
+ ```java
+ argThat(new ArgumentMatcher() {
+ @Override
+ public boolean matches(Response resp) {
+ return resp != null && resp.getStatus() != expectedStatus;
+ }
+ })
+ ```
+
+4. **Package Visibility Issues**
+ - **Issue**: Test handler classes cannot access package-private methods when placed in subpackages
+ - **Solution**: Place test handler classes in the same package as the class under test, not in subpackages like `handlers/`
+ - **Example**: Use `software.amazon.lambda.powertools.cloudformation` instead of `software.amazon.lambda.powertools.cloudformation.handlers`
+
+5. **Test Stubs Best Practice**
+ - **Best Practice**: Avoid mocking where possible and use concrete test stubs provided by `powertools-common` package
+ - **Solution**: Use `TestLambdaContext` and other test stubs from `powertools-common` test-jar instead of Mockito mocks
+ - **Implementation**: Add `powertools-common` test-jar dependency and replace `mock(Context.class)` with `new TestLambdaContext()`
+
+## Reference Implementation
+Working example is available in the [examples](examples/powertools-examples-core-utilities/sam-graalvm).
diff --git a/Makefile b/Makefile
index 290fecdaa..8fa41a398 100644
--- a/Makefile
+++ b/Makefile
@@ -1,17 +1,15 @@
-
-dev-docs:
- cd docs && yarn install
-
build-docs:
@$(MAKE) build-docs-website
-build-docs-website: dev-docs
+build-docs-website:
mkdir -p dist
- cd docs && yarn build
- cp -R docs/public/* dist/
+ docker build -t squidfunk/mkdocs-material ./docs/
+ docker run --rm -t -v ${PWD}:/docs squidfunk/mkdocs-material build
+ cp -R site/* dist/
-docs-local:
- cd docs && yarn start
+docs-local-docker:
+ docker build -t squidfunk/mkdocs-material ./docs/
+ docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material
test:
mvn test
diff --git a/Priming.md b/Priming.md
new file mode 100644
index 000000000..d7597ad8c
--- /dev/null
+++ b/Priming.md
@@ -0,0 +1,59 @@
+# Automatic Priming for AWS Lambda Powertools Java
+
+## Table of Contents
+- [Overview](#overview)
+- [Implementation Steps](#general-implementation-steps)
+- [Known Issues](#known-issues-and-solutions)
+- [Reference Implementation](#reference-implementation)
+
+## Overview
+Priming is the process of preloading dependencies and initializing resources during the INIT phase, rather than during the INVOKE phase to further optimize startup performance with SnapStart.
+This is required because Java frameworks that use dependency injection load classes into memory when these classes are explicitly invoked, which typically happens during Lambda’s INVOKE phase.
+
+This documentation provides guidance for automatic class priming in Powertools for AWS Lambda Java modules.
+
+
+## Implementation Steps
+Classes are proactively loaded using Java runtime hooks which are part of the open source [CRaC (Coordinated Restore at Checkpoint) project](https://openjdk.org/projects/crac/).
+Implementations across the project use the `beforeCheckpoint()` hook, to prime Snapstart-enabled Java functions via Class Priming.
+In order to generate the `classloaded.txt` file for a Java module in this project, follow these general steps.
+
+1. **Add Maven Profile**
+ - Add maven test profile with the following VM argument for generating classes loaded files.
+ ```shell
+ -Xlog:class+load=info:classesloaded.txt
+ ```
+ - You can find an example of this in `generate-classesloaded-file` profile in this [pom.xml](powertools-metrics/pom.xml).
+
+2. **Generate classes loaded file**
+ - Run tests with `-Pgenerate-classesloaded-file` profile.
+ ```shell
+ mvn -Pgenerate-classesloaded-file clean test
+ ```
+ - This will generate a file named `classesloaded.txt` in the target directory of the module.
+
+3. **Cleanup the file**
+ - The classes loaded file generated in Step 2 has the format
+ `[0.054s][info][class,load] java.lang.Object source: shared objects file`
+ but we are only interested in `java.lang.Object` - the fully qualified class name.
+ - To strip the lines to include only the fully qualified class name,
+ Use the following regex to replace with empty string.
+ - `^\[[\[\]0-9.a-z,]+ ` (to replace the left part)
+ - `( source: )[0-9a-z :/._$-]+` (to replace the right part)
+
+4. **Add file to resources**
+ - Move the cleaned-up file to the corresponding `src/main/resources` directory of the module. See [example](powertools-metrics/src/main/resources/classesloaded.txt).
+
+5. **Register and checkpoint**
+ - A class, usually the entry point of the module, should register the CRaC resource in the constructor. [Example](powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/MetricsFactory.java)
+ - Note that AspectJ aspect is not suitable for this purpose, as it does not work with CRaC.
+ - Add the `beforeCheckpoint()` hook in the same class to invoke `ClassPreLoader.preloadClasses()`. The `ClassPreLoader` class is implemented in `powertools-common` module.
+ - This will ensure that the classes are already pre-loaded by the Snapstart RESTORE operation leading to a shorter INIT duration.
+
+
+## Known Issues
+- This is a manual process at the moment, but it can be automated in the future.
+- `classesloaded.txt` file includes test classes as well because the file is generated while running tests. This is not a problem because all the classes that are not found are ignored by `ClassPreLoader.preloadClasses()`. Also `beforeCheckpoint()` hook is not time-sensitive, it only runs once when a new Lambda version gets published.
+
+## Reference Implementation
+Working example is available in the [powertools-metrics](powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/MetricsFactory.java).
diff --git a/README.md b/README.md
index 7d7017df4..4c02e2d1f 100644
--- a/README.md
+++ b/README.md
@@ -1,52 +1,60 @@
-# Lambda Powertools
+# Powertools for AWS Lambda (Java)
-
+ [](https://sonarcloud.io/summary/new_code?id=aws-powertools_powertools-lambda-java)
+[](https://sonarcloud.io/summary/new_code?id=aws-powertools_powertools-lambda-java)
+[](https://api.securityscorecards.dev/projects/github.com/aws-powertools/powertools-lambda-java)  [](https://app.codecov.io/gh/aws-powertools/powertools-lambda-java)
-A suite of utilities for AWS Lambda Functions that makes tracing with AWS X-Ray, structured logging and creating custom metrics asynchronously(Coming soon!) easier.
-**[📜Documentation](https://awslabs.github.io/aws-lambda-powertools-java/)** | **[Feature request](https://github.com/awslabs/aws-lambda-powertools-java/issues/new?assignees=&labels=feature-request%2C+triage&template=feature_request.md&title=)** | **[🐛Bug Report](https://github.com/awslabs/aws-lambda-powertools-java/issues/new?assignees=&labels=bug%2C+triage&template=bug_report.md&title=)** | **[Detailed blog post](https://aws.amazon.com/blogs/opensource/simplifying-serverless-best-practices-with-lambda-powertools/)**
+Powertools for AWS Lambda (Java) is a developer toolkit to implement Serverless best practices and increase developer velocity.
-### Installation
+> Also available in [Python](https://github.com/aws-powertools/powertools-lambda-python), [TypeScript](https://github.com/aws-powertools/powertools-lambda-typescript), and [.NET](https://github.com/aws-powertools/powertools-lambda-dotnet).
-Powertools is available in Maven Central. You can use your favourite dependency management tool to install it
+**[📜Documentation](https://docs.powertools.aws.dev/lambda-java/latest)** | **[Feature request](https://github.com/aws-powertools/powertools-lambda-java/issues/new?template=feature_request.yml)** | **[🐛Bug Report](https://github.com/aws-powertools/powertools-lambda-java/issues/new?template=bug_report.yml)** | **[Detailed blog post](https://aws.amazon.com/blogs/compute/introducing-v2-of-powertools-for-aws-lambda-java/)**
-* [maven](https://maven.apache.org/):
+## Installation
+
+Powertools for AWS Lambda (Java) is available in Maven Central. You can use your favourite dependency management tool to install it
+
+### Maven:
```xml
...
software.amazon.lambda
powertools-tracing
- 0.5.0-beta
+ 2.9.0
software.amazon.lambda
- powertools-logging
- 0.5.0-beta
+ powertools-logging-log4j
+ 2.9.0
software.amazon.lambda
powertools-metrics
- 0.5.0-beta
+ 2.9.0
...
```
-And configure the aspectj-maven-plugin to compile-time weave (CTW) the aws-lambda-powertools-java aspects into your project:
+Next, configure the aspectj-maven-plugin to compile-time weave (CTW) the aws-lambda-powertools-java aspects into your project.
+
+ Maven
+
```xml
...
- org.codehaus.mojo
+ dev.aspectj
aspectj-maven-plugin
- 1.11
+ 1.14
- 1.8
- 1.8
- 1.8
+ 11
+ 11
+ 11
software.amazon.lambda
@@ -62,6 +70,14 @@ And configure the aspectj-maven-plugin to compile-time weave (CTW) the aws-lambd
+
+
+ org.aspectj
+ aspectjtools
+
+ 1.9.22
+
+
@@ -74,16 +90,97 @@ And configure the aspectj-maven-plugin to compile-time weave (CTW) the aws-lambd
```
-**Note:** If you are working with Lambda on runtime post java8, please refer [issue](https://github.com/awslabs/aws-lambda-powertools-java/issues/50) for workaround
+
+
+
+Gradle
+
+```groovy
+
+ plugins {
+ id 'java'
+ id 'io.freefair.aspectj.post-compile-weaving' version '8.2.2'
+ }
+
+ // the freefair aspect plugins targets gradle 8.2.1
+ // https://docs.freefair.io/gradle-plugins/8.2.2/reference/
+ wrapper {
+ gradleVersion = "8.2.1"
+ }
+
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ aspect 'software.amazon.lambda:powertools-logging:{{ powertools.version }}'
+ aspect 'software.amazon.lambda:powertools-tracing:{{ powertools.version }}'
+ aspect 'software.amazon.lambda:powertools-metrics:{{ powertools.version }}'
+ implementation 'software.amazon.lambda:powertools-logging-log4j:{{ powertools.version }}'
+ implementation "org.aspectj:aspectjrt:1.9.22"
+ }
+
+ sourceCompatibility = 11
+ targetCompatibility = 11
+```
+
+
+
+### Java Compatibility
+Powertools for AWS Lambda (Java) supports all Java versions from 11 to 25 in line with the [corresponding Lambda runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html).
+
+For the modules that provide annotations, Powertools for AWS Lambda (Java) leverages the **aspectj** library.
+You may need to add the appropriate version of `aspectjrt` to your dependencies based on the JDK used for building your function:
+
+```xml
+
+ org.aspectj
+ aspectjrt
+ 1.9.??
+
+```
+
+
+ JDK - aspectj dependency matrix
+
+Use the following [dependency matrix](https://github.com/eclipse-aspectj/aspectj/blob/master/docs/release/JavaVersionCompatibility.adoc) to understand which AspectJ version to use based on your JDK version:
+
+| JDK version | aspectj version |
+|-------------|------------------------|
+| `11-17` | `1.9.20.1` (or higher) |
+| `21` | `1.9.21` (or higher) |
+| `25` | `1.9.25` (or higher) |
+
+
+
+## Examples
+
+See the latest release of the **[examples](https://github.com/aws-powertools/powertools-lambda-java/tree/main/examples)** for example projects showcasing usage of different utilities.
+
+Have a demo project to contribute which showcase usage of different utilities from powertools? We are happy to accept it [here](CONTRIBUTING.md#security-issue-notifications).
+
+## How to support Powertools for AWS Lambda (Java)?
+
+### Becoming a reference customer
+
+Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (Java), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (Java) (become a reference)](https://github.com/aws-powertools/powertools-lambda-java/issues/new?template=support_powertools.yml) issue.
+
+The following companies, among others, use Powertools:
+
+* [Capital One](https://www.capitalone.com/)
+* [CPQi (Exadel Financial Services)](https://cpqi.com/)
+* [Europace AG](https://europace.de/)
+* [Vertex Pharmaceuticals](https://www.vrtx.com/)
-## Example
+## Connect
-See **[example](./example/README.md)** of all features, and a SAM template with all Powertools env vars.
+- **Powertools for AWS Lambda on Discord**: `#java` - **[Invite link](https://discord.gg/B8zZKbbyET)**
+- **Email**:
-## Credits
+## Security disclosures
-* [Gatsby Apollo Theme for Docs](https://github.com/apollographql/gatsby-theme-apollo/tree/master/packages/gatsby-theme-apollo-docs)
+If you think you’ve found a potential security issue, please do not post it in the Issues. Instead, please follow the instructions [here](https://aws.amazon.com/security/vulnerability-reporting/) or [email AWS security directly](mailto:aws-security@amazon.com).
## License
-This library is licensed under the Apache License, Version 2.0. See the LICENSE file.
\ No newline at end of file
+This library is licensed under the MIT-0 License. See the [LICENSE](https://github.com/aws-powertools/powertools-lambda-java/blob/main/LICENSE) file.
diff --git a/checkstyle.xml b/checkstyle.xml
new file mode 100644
index 000000000..680d8808c
--- /dev/null
+++ b/checkstyle.xml
@@ -0,0 +1,427 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/.prettierignore b/docs/.prettierignore
deleted file mode 100644
index 58d06c368..000000000
--- a/docs/.prettierignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.cache
-package.json
-package-lock.json
-public
diff --git a/docs/.prettierrc b/docs/.prettierrc
deleted file mode 100644
index 33d2cfa3f..000000000
--- a/docs/.prettierrc
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "arrowParens": "avoid",
- "semi": false
-}
diff --git a/docs/Dockerfile b/docs/Dockerfile
new file mode 100644
index 000000000..ee71acb0e
--- /dev/null
+++ b/docs/Dockerfile
@@ -0,0 +1,4 @@
+FROM squidfunk/mkdocs-material@sha256:3bba0a99bc6e635bb8e53f379d32ab9cecb554adee9cc8f59a347f93ecf82f3b
+
+COPY requirements.txt /tmp/
+RUN pip install --require-hashes -r /tmp/requirements.txt
diff --git a/docs/FAQs.md b/docs/FAQs.md
new file mode 100644
index 000000000..cea4b774f
--- /dev/null
+++ b/docs/FAQs.md
@@ -0,0 +1,261 @@
+---
+title: FAQs
+description: Frequently Asked Questions
+---
+
+## How can I use Powertools for AWS Lambda (Java) with Lombok?
+
+Many utilities in this library use `aspectj-maven-plugin` to compile-time weave (CTW) aspects into the project. In case you want to use `Lombok` or other compile-time preprocessor for your project, it is required to change `aspectj-maven-plugin` configuration to enable in-place weaving feature. Otherwise the plugin will ignore changes introduced by `Lombok` and will use `.java` files as a source.
+
+Alternatively, you can use the [functional approach](./usage-patterns.md#functional-approach) which does not require AspectJ configuration.
+
+To enable in-place weaving feature you need to use following `aspectj-maven-plugin` configuration:
+
+```xml hl_lines="2-6"
+
+ true
+
+
+ ${project.build.directory}/classes
+
+ ...
+
+
+ software.amazon.lambda
+ powertools-logging
+
+
+
+```
+
+## How can I use Powertools for AWS Lambda (Java) with Kotlin projects?
+
+Many utilities use `aspectj-maven-plugin` to compile-time weave (CTW) aspects into the project. When using it with Kotlin projects, it is required to `forceAjcCompile`.
+No explicit configuration should be required for gradle projects.
+
+Alternatively, you can use the [functional approach](./usage-patterns.md#functional-approach) which does not require AspectJ configuration.
+
+To enable `forceAjcCompile` you need to use following `aspectj-maven-plugin` configuration:
+
+```xml hl_lines="2"
+
+ true
+ ...
+
+
+ software.amazon.lambda
+ powertools-logging
+
+
+
+```
+
+## How can I use Powertools for AWS Lambda (Java) with the AWS CRT HTTP Client?
+
+Utilities relying on AWS SDK clients use the `url-connection-client` as the default HTTP client. The `url-connection-client` is a lightweight HTTP client, which keeps the impact on Lambda cold starts to a minimum.
+With the [announcement](https://aws.amazon.com/blogs/developer/announcing-availability-of-the-aws-crt-http-client-in-the-aws-sdk-for-java-2-x/) of the `aws-crt-client` a new HTTP client has been released, which offers faster SDK startup time and smaller memory footprint.
+
+Unfortunately, replacing the `url-connection-client` dependency with the `aws-crt-client` will not immediately improve the lambda cold start performance and memory footprint,
+as the default version of the dependency contains native system libraries for all supported runtimes and architectures (Linux, MacOS, Windows, AMD64, ARM64, etc). This makes the CRT client portable, without the user having to consider _where_ their code will run, but comes at the cost of JAR size.
+
+### Configuring dependencies
+
+Using the `aws-crt-client` in your project requires the exclusion of the `url-connection-client` transitive dependency from the `powertools-*` dependency.
+
+```xml
+
+ software.amazon.lambda
+ powertools-parameters
+ 2.0.0
+
+
+ software.amazon.awssdk
+ url-connection-client
+
+
+
+```
+
+Next, add the `aws-crt-client` and exclude the "generic" `aws-crt` dependency (contains all runtime libraries).
+Instead, set a specific classifier of the `aws-crt` to use the one for your target runtime: either `linux-x86_64` for a Lambda configured for x86 or `linux-aarch_64` for Lambda using arm64.
+
+!!! note "You will need to add a separate maven profile to build and debug locally when your development environment does not share the target architecture you are using in Lambda."
+By specifying the specific target runtime, we prevent other target runtimes from being included in the jar file, resulting in a smaller Lambda package and improved cold start times.
+
+```xml
+
+
+ software.amazon.awssdk
+ aws-crt-client
+ 2.23.21
+
+
+ software.amazon.awssdk.crt
+ aws-crt
+
+
+
+
+
+ software.amazon.awssdk.crt
+ aws-crt
+ 0.29.9
+ linux-x86_64
+
+
+```
+
+### Explicitly set the AWS CRT HTTP Client
+
+After configuring the dependencies, it's required to explicitly specify the AWS SDK HTTP client.
+Depending on the utility you are using, there is a different way to configure the SDK client.
+
+The following example shows how to use the Parameters module while leveraging the AWS CRT Client.
+
+```java hl_lines="16 23-24"
+import static software.amazon.lambda.powertools.parameters.transform.Transformer.base64;
+
+import com.amazonaws.services.lambda.runtime.Context;
+import com.amazonaws.services.lambda.runtime.RequestHandler;
+import software.amazon.awssdk.services.ssm.SsmClient;
+import software.amazon.awssdk.http.crt.AwsCrtHttpClient;
+import software.amazon.lambda.powertools.parameters.ssm.SSMProvider;
+
+public class RequestHandlerWithParams implements RequestHandler {
+
+ // Get an instance of the SSMProvider with a custom HTTP client (aws crt).
+ SSMProvider ssmProvider = SSMProvider
+ .builder()
+ .withClient(
+ SsmClient.builder()
+ .httpClient(AwsCrtHttpClient.builder().build())
+ .build()
+ )
+ .build();
+
+ public String handleRequest(String input, Context context) {
+ // Retrieve a single param
+ String value = ssmProvider
+ .get("/my/secret");
+ // We might instead want to retrieve multiple parameters at once, returning a Map of key/value pairs
+ // .getMultiple("/my/secret/path");
+
+ // Return the result
+ return value;
+ }
+}
+```
+
+The `aws-crt-client` was considered for adoption as the default HTTP client in Powertools for AWS Lambda (Java) as mentioned in [Move SDK http client to CRT](https://github.com/aws-powertools/powertools-lambda-java/issues/1092),
+but due to the impact on the developer experience it was decided to stick with the `url-connection-client`.
+
+## How can I use Powertools for AWS Lambda (Java) with GraalVM?
+
+Core utilities, i.e. [logging](./core/logging.md), [metrics](./core/metrics.md) and [tracing](./core/tracing.md), include the [GraalVM Reachability Metadata (GRM)](https://www.graalvm.org/latest/reference-manual/native-image/metadata/) in the `META-INF` directories of the respective JARs. You can find a working example of Serverless Application Model (SAM) based application in the [examples](../examples/powertools-examples-core-utilities/sam-graalvm/README.md) directory.
+
+Below, you find typical steps you need to follow in a Maven based Java project:
+
+### Set the environment to use GraalVM
+
+```shell
+export JAVA_HOME=
+```
+
+### Use log4j `>2.24.0`
+
+Log4j version `2.24.0` adds [support for GraalVM](https://github.com/apache/logging-log4j2/issues/1539#issuecomment-2106766878). Depending on your project's dependency hierarchy, older version of log4j might be included in the final dependency graph. Make sure version `>2.24.0` of these dependencies are used by your Maven project:
+
+```xml
+
+
+ org.apache.logging.log4j
+ log4j-api
+ ${log4j.version}
+
+
+ org.apache.logging.log4j
+ log4j-core
+ ${log4j.version}
+
+
+ org.apache.logging.log4j
+ log4j-slf4j2-impl
+ ${log4j.version}
+
+
+ org.apache.logging.log4j
+ log4j-layout-template-json
+ ${log4j.version}
+
+
+
+```
+
+### Add the AWS Lambda Java Runtime Interface Client dependency
+
+The Runtime Interface Client allows your function to receive invocation events from Lambda, send the response back to Lambda, and report errors to the Lambda service. Add the below dependency to your Maven project:
+
+```xml
+
+ com.amazonaws
+ aws-lambda-java-runtime-interface-client
+ 2.1.1
+
+```
+
+Also include the AWS Lambda GRM files by copying the `com.amazonaws` [directory](../examples/powertools-examples-core-utilities/sam-graalvm/src/main/resources/META-INF/native-image/) in your project's `META-INF/native-image` directory
+
+### Build the native image
+
+Use the `native-maven-plugin` to build the native image. You can do this by adding the plugin to your `pom.xml` and creating a build profile called `native-image` that can build the native image of your Lambda function:
+
+```xml
+
+
+ native-image
+
+
+
+ org.graalvm.buildtools
+ native-maven-plugin
+ 0.10.1
+ true
+
+
+ build-native
+
+ build
+
+ package
+
+
+
+ your-project-name
+ com.amazonaws.services.lambda.runtime.api.client.AWSLambda
+
+
+ --enable-url-protocols=http
+ --add-opens java.base/java.util=ALL-UNNAMED
+
+
+
+
+
+
+
+```
+
+Create a Docker image using a `Dockerfile` like [this](../examples/powertools-examples-core-utilities/sam-graalvm/Dockerfile) to create an x86 based build image.
+
+```shell
+docker build --platform linux/amd64 . -t your-org/your-app-graalvm-builder
+```
+
+Create the native image of you Lambda function using the Docker command below.
+
+```shell
+docker run --platform linux/amd64 -it -v `pwd`:`pwd` -w `pwd` -v ~/.m2:/root/.m2 your-org/your-app-graalvm-builder mvn clean -Pnative-image package
+
+```
+
+The native image is created in the `target/` directory.
diff --git a/docs/changelog.md b/docs/changelog.md
new file mode 100644
index 000000000..c2705ba58
--- /dev/null
+++ b/docs/changelog.md
@@ -0,0 +1,2 @@
+[comment]: <> (Includes Changelog content entire file as a snippet)
+--8<-- "CHANGELOG.md"
diff --git a/docs/content/core/logging.mdx b/docs/content/core/logging.mdx
deleted file mode 100644
index a5e33c352..000000000
--- a/docs/content/core/logging.mdx
+++ /dev/null
@@ -1,209 +0,0 @@
----
-title: Logging
-description: Core utility
----
-
-import Note from "../../src/components/Note"
-
-Logger provides an opinionated logger with output structured as JSON.
-
-**Key features**
-
-* Capture key fields from Lambda context, cold start and structures logging output as JSON
-* Log Lambda event when instructed (disabled by default)
- - Enable explicitly via annotation param
-* Append additional keys to structured log at any point in time
-
-## Initialization
-
-Powertools extends the functionality of Log4J. Below is an example log4j2.xml file, with the LambdaJsonLayout configured.
-
-```xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-You can also override log level by setting `LOG_LEVEL` env var - Here is an example using AWS Serverless Application Model (SAM)
-
-```yaml:title=template.yaml
-Resources:
- HelloWorldFunction:
- Type: AWS::Serverless::Function
- Properties:
- ...
- Runtime: java8
- Environment:
- Variables:
- LOG_LEVEL: DEBUG # highlight-line
-```
-
-You can also explicitly set a service name via `POWERTOOLS_SERVICE_NAME` env var. This sets **service** key that will be present across all log statements.
-
-## Standard structured keys
-
-Your Logger will always include the following keys to your structured logging:
-
-Key | Type | Example | Description
-------------------------------------------------- | ------------------------------------------------- | --------------------------------------------------------------------------------- | -------------------------------------------------
-**timestamp** | String | "2020-05-24 18:17:33,774" | Timestamp of actual log statement
-**level** | String | "INFO" | Logging level
-**coldStart** | Boolean | true| ColdStart value.
-**service** | String | "payment" | Service name defined. "service_undefined" will be used if unknown
-**samplingRate** | int | 0.1 | Debug logging sampling rate in percentage e.g. 10% in this case
-**message** | String | "Collecting payment" | Log statement value. Unserializable JSON values will be casted to string
-**functionName**| String | "example-powertools-HelloWorldFunction-1P1Z6B39FLU73"
-**functionVersion**| String | "12"
-**functionMemorySize**| String | "128"
-**functionArn**| String | "arn:aws:lambda:eu-west-1:012345678910:function:example-powertools-HelloWorldFunction-1P1Z6B39FLU73"
-**xray_trace_id**| String | "1-5759e988-bd862e3fe1be46a994272793" | X-Ray Trace ID when Lambda function has enabled Tracing
-
-## Capturing context Lambda info
-
-You can enrich your structured logs with key Lambda context information via `logEvent` annotation parameter.
-
-```java:title=App.java
-package helloworld;
-
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import software.amazon.lambda.logging.PowertoolsLogger;
-import software.amazon.lambda.logging.PowertoolsLogging;
-...
-
-/**
- * Handler for requests to Lambda function.
- */
-public class App implements RequestHandler {
-
- Logger log = LogManager.getLogger();
-
- @PowertoolsLogging
- public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
- ...
- }
-}
-```
-
-You can also explicitly log any incoming event using `logEvent` param.
-
-
- This is disabled by default to prevent sensitive info being logged.
-
-
-```java:title=App.java
-package helloworld;
-
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import software.amazon.lambda.logging.PowertoolsLogger;
-import software.amazon.lambda.logging.PowertoolsLogging;
-...
-
-/**
- * Handler for requests to Lambda function.
- */
-public class App implements RequestHandler {
-
- Logger log = LogManager.getLogger();
-
- @PowertoolsLogging(logEvent = true)
- public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
- ...
- }
-}
-```
-
-## Appending additional keys
-
-You can append your own keys to your existing Logger via `appendKey`.
-
-```java:title=App.java
-package helloworld;
-
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import software.amazon.lambda.logging.PowertoolsLogger;
-import software.amazon.lambda.logging.PowertoolsLogging;
-...
-
-/**
- * Handler for requests to Lambda function.
- */
-public class App implements RequestHandler {
-
- Logger log = LogManager.getLogger();
-
- @PowertoolsLogging(logEvent = true)
- public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
- ...
- PowertoolsLogger.appendKey("test", "willBeLogged");
- ...
-
- ...
- Map customKeys = new HashMap<>();
- customKeys.put("test", "value");
- customKeys.put("test1", "value1");
-
- PowertoolsLogger.appendKeys(customKeys);
- ...
- }
-}
-```
-
-## Sampling debug logs
-
-You can dynamically set a percentage of your logs to **DEBUG** level via env var `POWERTOOLS_LOGGER_SAMPLE_RATE` or
-via `samplingRate` attribute on annotation.
-
-Configuration on environment variable is given precedence over sampling rate configuration on annotation, provided it's in valid value range.
-
-```java:title=App.java
-package helloworld;
-
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import software.amazon.lambda.logging.PowertoolsLogger;
-import software.amazon.lambda.logging.PowertoolsLogging;
-...
-
-/**
- * Handler for requests to Lambda function.
- */
-public class App implements RequestHandler {
-
- Logger log = LogManager.getLogger();
-
- @PowertoolsLogging(samplingRate = 0.5)
- public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
- ...
- }
-}
-```
-
-You can also override sampling by setting `POWERTOOLS_LOGGER_SAMPLE_RATE` env var - Here is an example using AWS Serverless Application Model (SAM)
-
-```yaml:title=template.yaml
-Resources:
- HelloWorldFunction:
- Type: AWS::Serverless::Function
- Properties:
- ...
- Runtime: java8
- Environment:
- Variables:
- POWERTOOLS_LOGGER_SAMPLE_RATE: 0.5 # highlight-line
-```
\ No newline at end of file
diff --git a/docs/content/core/metrics.mdx b/docs/content/core/metrics.mdx
deleted file mode 100644
index f9f33078a..000000000
--- a/docs/content/core/metrics.mdx
+++ /dev/null
@@ -1,156 +0,0 @@
----
-title: Metrics
-description: Core utility
----
-
-Metrics creates custom metrics asynchronously by logging metrics to standard output following Amazon CloudWatch Embedded Metric Format (EMF).
-
-These metrics can be visualized through [Amazon CloudWatch Console](https://console.aws.amazon.com/cloudwatch/).
-
-**Key features**
-
-* Aggregate up to 100 metrics using a single CloudWatch EMF object (large JSON blob)
-* Validate against common metric definitions mistakes (metric unit, values, max dimensions, max metrics, etc)
-* Metrics are created asynchronously by the CloudWatch service, no custom stacks needed
-* Context manager to create a one off metric with a different dimension
-
-## Initialization
-
-Set `POWERTOOLS_SERVICE_NAME` and `POWERTOOLS_METRICS_NAMESPACE` env vars as a start - Here is an example using AWS Serverless Application Model (SAM)
-
-```yaml:title=template.yaml
-Resources:
- HelloWorldFunction:
- Type: AWS::Serverless::Function
- Properties:
- ...
- Runtime: java8
- Environment:
- Variables:
- POWERTOOLS_SERVICE_NAME: payment # highlight-line
- POWERTOOLS_METRICS_NAMESPACE: ServerlessAirline # highlight-line
-```
-
-We recommend you use your application or main service as a metric namespace.
-You can explicitly set a namespace name an annotation variable `namespace` param or via `POWERTOOLS_METRICS_NAMESPACE` env var.
-
-This sets **namespace** key that will be used for all metrics.
-You can also pass a service name via `service` param or `POWERTOOLS_SERVICE_NAME` env var. This will create a dimension with the service name.
-
-```java:title=Handler.java
-package example;
-
-import com.amazonaws.services.lambda.runtime.Context;
-import com.amazonaws.services.lambda.runtime.RequestHandler;
-import software.amazon.cloudwatchlogs.emf.logger.MetricsLogger;
-import software.amazon.cloudwatchlogs.emf.model.Unit;
-import software.amazon.lambda.powertools.metrics.PowertoolsMetrics;
-import software.amazon.lambda.powertools.metrics.PowertoolsMetricsLogger;
-
-public class PowertoolsMetricsEnabledHandler implements RequestHandler {
-
- MetricsLogger metricsLogger = PowertoolsMetricsLogger.metricsLogger();
-
- @Override
- @PowertoolsMetrics(namespace = "ExampleApplication", service = "booking")
- public Object handleRequest(Object input, Context context) {
- ...
- }
-}
-```
-
-You can initialize Metrics anywhere in your code as many times as you need - It'll keep track of your aggregate metrics in memory.
-
-## Creating metrics
-
-You can create metrics using `putMetric`, and manually create dimensions for all your aggregate metrics using `add_dimension`.
-
-```java:title=Handler.java
-public class PowertoolsMetricsEnabledHandler implements RequestHandler {
-
- MetricsLogger metricsLogger = PowertoolsMetricsLogger.metricsLogger();
-
- @Override
- @PowertoolsMetrics(namespace = "ExampleApplication", service = "booking")
- public Object handleRequest(Object input, Context context) {
- // highlight-start
- metricsLogger.putDimensions(DimensionSet.of("environment", "prod"));
- metricsLogger.putMetric("SuccessfulBooking", 1, Unit.COUNT);
- // highlight-end
- ...
- }
-}
-```
-
-The `Unit` enum facilitate finding a supported metric unit by CloudWatch.
-
-CloudWatch EMF supports a max of 100 metrics. Metrics utility will flush all metrics when adding the 100th metric while subsequent metrics will be aggregated into a new EMF object, for your convenience.
-
-## Creating a metric with a different dimension
-
-CloudWatch EMF uses the same dimensions across all your metrics. Use `single_metric` if you have a metric that should have different dimensions.
-
-
- Generally, this would be an edge case since you pay for unique metric . Keep the following formula in mind:
-
- unique metric = (metric_name + dimension_name + dimension_value)
-
-
-```java:title=Handler.java
-withSingleMetric("CustomMetrics2", 1, Unit.COUNT, "Another", (metric) -> {
- metric.setDimensions(DimensionSet.of("AnotherService", "CustomService"));
-});
-```
-
-## Adding metadata
-
-You can use `putMetadata` for advanced use cases, where you want to metadata as part of the serialized metrics object.
-
-
- This will not be available during metrics visualization - Use dimensions for this purpose
-
-
-```java:title=Handler.java
-@PowertoolsMetrics(namespace = "ServerlessAirline", service = "payment")
-public APIGatewayProxyResponseEvent handleRequest(Object input, Context context) {
- metricsLogger().putMetric("CustomMetric1", 1, Unit.COUNT);
- metricsLogger().putMetadata("booking_id", "1234567890"); // highlight-line
- ...
-}
-```
-
-This will be available in CloudWatch Logs to ease operations on high cardinal data.
-
-The `@PowertoolsMetrics` annotation **validates**, **serializes**, and **flushes** all your metrics. During metrics validation, if no metrics are provided no exception will be raised.
-
-If metrics are provided, and any of the following criteria are not met, `ValidationException` exception will be raised:
-
-* Minimum of 1 dimension
-* Maximum of 9 dimensions
-
-If you want to ensure that at least one metric is emitted, you can pass `raiseOnEmptyMetrics = true` to the **@PowertoolsMetrics** annotation:
-
-```java:title=Handler.java
-@PowertoolsMetrics(raiseOnEmptyMetrics = true)
-public Object handleRequest(Object input, Context context) {
-...
-}
-```
-
-## Capturing cold start metric
-
-You can capture cold start metrics automatically with `@PowertoolsMetrics` via the `captureColdStart` variable.
-
-```java:title=Handler.java
-@PowertoolsMetrics(captureColdStart = true)
-public Object handleRequest(Object input, Context context) {
-...
-}
-```
-
-If it's a cold start invocation, this feature will:
-
-* Create a separate EMF blob solely containing a metric named `ColdStart`
-* Add `FunctionName` and `Service` dimensions
-
-This has the advantage of keeping cold start metric separate from your application metrics.
\ No newline at end of file
diff --git a/docs/content/core/tracing.mdx b/docs/content/core/tracing.mdx
deleted file mode 100644
index a8a108e77..000000000
--- a/docs/content/core/tracing.mdx
+++ /dev/null
@@ -1,150 +0,0 @@
----
-title: Tracing
-description: Core utility
----
-
-import Note from "../../src/components/Note"
-
-Powertools tracing is an opinionated thin wrapper for [AWS X-Ray Java SDK](https://github.com/aws/aws-xray-sdk-java/)
-a provides functionality to reduce the overhead of performing common tracing tasks.
-
-
-
- **Key Features**
-
- * Capture cold start as annotation, and responses as well as full exceptions as metadata
- * Helper methods to improve the developer experience of creating new X-Ray subsegments.
- * Better developer experience when developing with multiple threads.
-
-Initialization
-Your AWS Lambda function must have permission to send traces to AWS X-Ray - Here is an example using AWS Serverless Application Model (SAM)
-
-```yaml:title=template.yaml
-Resources:
- HelloWorldFunction:
- Type: AWS::Serverless::Function
- Properties:
- ...
- Runtime: java8
-
- Tracing: Active
- Environment:
- Variables:
- POWERTOOLS_SERVICE_NAME: example
-```
-
-The Powertools service name is used as the X-Ray namespace. This can be set using the environment variable
-`POWERTOOLS_SERVICE_NAME`
-
-To enable Powertools tracing to your function add the @PowertoolsTracing annotation to your handleRequest method or on
-any method will capture the method as a separate subsegment automatically.
-
-```java:title=LambdaHandler.java
-public class App implements RequestHandler {
-
- @PowertoolsTracing
- public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
- businessLogic1();
-
- businessLogic2();
- }
-
- @PowertoolsTracing
- public void businessLogic1(){
-
- }
-
- @PowertoolsTracing
- public void businessLogic2(){
-
- }
-}
-```
-
-By default this annotation will automatically record method responses and exceptions.
-
-
- Returning sensitive information from your Lambda handler or functions, where Tracer is used?
-
- You can disable Tracer from capturing their responses and exception as tracing metadata with captureResponse=false and captureError=false
-
-
-```java:title=HandlerWithoutCapturingResponseOrError.java
-public class App implements RequestHandler {
-
- @PowertoolsTracing(captureError = false, captureResponse = false)
- public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
- ...
- }
-```
-
-### Annotations
-
-Annotations are key-values indexed by AWS X-Ray on a per trace basis. You can use them to filter traces as well as to create [Trace Groups](https://aws.amazon.com/about-aws/whats-new/2018/11/aws-xray-adds-the-ability-to-group-traces/).
-
-You can add annotations using `putAnnotation()` method from PowerTracer and it will be correctly inject for the subsegment in concern.
-
-```java
-public class App implements RequestHandler {
-
- @PowertoolsTracing
- public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
- PowerTracer.putAnnotation("annotation", "value");
- }
-}
-```
-
-### Metadata
-
-Metadata are non-indexed values that can add additional context for an operation.
-
-You can add metadata using `putMetadata()` method from PowerTracer and it will be correctly inject for the subsegment in concern.
-
-```java
-public class App implements RequestHandler {
-
- @PowertoolsTracing
- public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
- PowerTracer.putMetadata("content", "value");
- }
-}
-```
-
-## Utilities
-
-Tracer modules comes with certain utility method when you don't want to use annotation for capturing a code block
-under a subsegment, or you are doing multithreaded programming. Refer examples below.
-
-```java:title=InlineSubsegmentCapture.java
-public class App implements RequestHandler {
-
- public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
- PowerTracer.withSubsegment("loggingResponse", subsegment -> {
- // Some business logic
- });
-
- PowerTracer.withSubsegment("localNamespace", "loggingResponse", subsegment -> {
- // Some business logic
- });
- }
-}
-```
-
-```java:title=ThreadedProgramming.java
-public class App implements RequestHandler {
-
- public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
- // Extract existing trace data
- Entity traceEntity = AWSXRay.getTraceEntity();
-
- Thread anotherThread = new Thread(() -> withEntitySubsegment("inlineLog", traceEntity, subsegment -> {
- // Business logic in separate thread
- }));
- }
-}
-```
-
-## Instrumenting SDK clients and HTTP calls
-
-User should make sure to instrument the SDK clients explicitly based on the function dependency. Refer details on
-[how to instrument SDK client with Xray](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-java-awssdkclients.html) and [outgoing http calls](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-java-httpclients.html).
diff --git a/docs/content/dummy.md b/docs/content/dummy.md
deleted file mode 100644
index d53b2cc3b..000000000
--- a/docs/content/dummy.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: Dummy title
-description: Dummy description
----
-
-## Test
-
-dummy content
\ No newline at end of file
diff --git a/docs/content/index.mdx b/docs/content/index.mdx
deleted file mode 100644
index 8a135e7ea..000000000
--- a/docs/content/index.mdx
+++ /dev/null
@@ -1,87 +0,0 @@
----
-title: Homepage
-description: AWS Lambda Powertools Java
----
-
-Powertools is a suite of utilities for AWS Lambda Functions that makes tracing with AWS X-Ray, structured logging and creating custom metrics asynchronously(Coming soon!) easier.
-
-## Install
-
-Powertools dependencies are available in Maven Central. You can use your favourite dependency management tool to install it
-
-* [maven](https://maven.apache.org/):
-```xml
-
- ...
-
- software.amazon.lambda
- powertools-tracing
- 0.5.0-beta
-
-
- software.amazon.lambda
- powertools-logging
- 0.5.0-beta
-
-
- software.amazon.lambda
- powertools-metrics
- 0.5.0-beta
-
- ...
-
-```
-
-And configure the aspectj-maven-plugin to compile-time weave (CTW) the aws-lambda-powertools-java aspects into your project:
-
-```xml
-
-
- ...
-
- org.codehaus.mojo
- aspectj-maven-plugin
- 1.11
-
- 1.8
- 1.8
- 1.8
-
-
- software.amazon.lambda
- powertools-tracing
-
-
- software.amazon.lambda
- powertools-logging
-
-
- software.amazon.lambda
- powertools-metrics
-
-
-
-
-
-
- compile
-
-
-
-
- ...
-
-
-```
-**Note:** If you are working with lambda function on runtime post java8, please refer [issue](https://github.com/awslabs/aws-lambda-powertools-java/issues/50) for workaround
-
-## Tenets
-
-* **AWS Lambda only** – We optimise for AWS Lambda function environments and supported runtimes only. Utilities might work with web frameworks and non-Lambda environments, though they are not officially supported.
-* **Eases the adoption of best practices** – The main priority of the utilities is to facilitate best practices adoption, as defined in the AWS Well-Architected Serverless Lens; all other functionality is optional.
-* **Keep it lean** – Additional dependencies are carefully considered for security and ease of maintenance, and prevent negatively impacting startup time.
-* **We strive for backwards compatibility** – New features and changes should keep backwards compatibility. If a breaking change cannot be avoided, the deprecation and migration process should be clearly defined.
-* **We work backwards from the community** – We aim to strike a balance of what would work best for 80% of customers. Emerging practices are considered and discussed via Requests for Comment (RFCs)
-* **Idiomatic** – Utilities follow programming language idioms and language-specific best practices.
-
-_`*` Core utilities are Tracer, Logger and Metrics. Optional utilities may vary across languages._
\ No newline at end of file
diff --git a/docs/content/utilities/batch.mdx b/docs/content/utilities/batch.mdx
deleted file mode 100644
index 22385db44..000000000
--- a/docs/content/utilities/batch.mdx
+++ /dev/null
@@ -1,251 +0,0 @@
----
-title: SQS Batch Processing
-description: Utility
----
-
-import Note from "../../src/components/Note"
-
-The SQS batch processing utility provides a way to handle partial failures when processing batches of messages from SQS.
-
-**Key Features**
-
-* Prevent successfully processed messages from being returned to SQS
-* A simple interface for individually processing messages from a batch
-
-**Background**
-
-When using SQS as a Lambda event source mapping, Lambda functions can be triggered with a batch of messages from SQS.
-
-If your function fails to process any message from the batch, the entire batch returns to your SQS queue, and your Lambda function will be triggered with the same batch again.
-
-With this utility, messages within a batch will be handled individually - only messages that were not successfully processed
-are returned to the queue.
-
-
- While this utility lowers the chance of processing messages more than once, it is not guaranteed. We recommend implementing processing logic in an idempotent manner wherever possible.
-
- More details on how Lambda works with SQS can be found in the AWS documentation
-
-
-## Install
-
-To install this utility, add the following dependency to your project.
-
-```xml
-
- software.amazon.lambda
- powertools-sqs
- 0.5.0-beta
-
-```
-
-And configure the aspectj-maven-plugin to compile-time weave (CTW) the
-aws-lambda-powertools-java aspects into your project. You may already have this
-plugin in your pom. In that case add the dependency to the `aspectLibraries`
-section.
-
-```xml
-
-
- ...
-
- org.codehaus.mojo
- aspectj-maven-plugin
- 1.11
-
- 1.8
- 1.8
- 1.8
-
-
-
- software.amazon.lambda
- powertools-sqs
-
-
-
-
-
-
-
- compile
-
-
-
-
- ...
-
-
-```
-
-**IAM Permissions**
-
-This utility requires additional permissions to work as expected. Lambda functions using this utility require the `sqs:GetQueueUrl` and `sqs:DeleteMessageBatch` permission.
-
-## Processing messages from SQS
-
-You can use either **[SqsBatchProcessor annotation](#SqsBatchProcessor annotation)**, or **[PowertoolsSqs Utility API](#PowertoolsSqs Utility API)** as a fluent API.
-
-Both have nearly the same behaviour when it comes to processing messages from the batch:
-
-* **Entire batch has been successfully processed**, where your Lambda handler returned successfully, we will let SQS delete the batch to optimize your cost
-* **Entire Batch has been partially processed successfully**, where exceptions were raised within your `SqsMessageHandler` interface implementation, we will:
- - **1)** Delete successfully processed messages from the queue by directly calling `sqs:DeleteMessageBatch`
- - **2)** Raise `SQSBatchProcessingException` to ensure failed messages return to your SQS queue
-
-The only difference is that **PowertoolsSqs Utility API** will give you access to return from the processed messages if you need. Exception `SQSBatchProcessingException` thrown from the
-utility will have access to both successful and failed messaged along with failure exceptions.
-
-## Functional Interface SqsMessageHandler
-
-Both [annotation](#SqsBatchProcessor annotation) and [PowertoolsSqs Utility API](#PowertoolsSqs Utility API) requires an implementation of functional interface `SqsMessageHandler`.
-
-This implementation is responsible for processing each individual message from the batch, and to raise an exception if unable to process any of the messages sent.
-
-**Any non-exception/successful return from your record handler function** will instruct utility to queue up each individual message for deletion.
-
-### SqsBatchProcessor annotation
-
-When using this annotation, you need provide a class implementation of `SqsMessageHandler` that will process individual messages from the batch - It should raise an exception if it is unable to process the record.
-
-All records in the batch will be passed to this handler for processing, even if exceptions are thrown - Here's the behaviour after completing the batch:
-
-* **Any successfully processed messages**, we will delete them from the queue via `sqs:DeleteMessageBatch`
-* **Any unprocessed messages detected**, we will raise `SQSBatchProcessingException` to ensure failed messages return to your SQS queue
-
-
- You will not have accessed to the processed messages within the Lambda Handler - all processing logic will and should be performed by the implemented SqsMessageHandler#process() function.
-
-
-
-```java:title=App.java
-public class AppSqsEvent implements RequestHandler {
- @Override
- @SqsBatchProcessor(SampleMessageHandler.class) // highlight-line
- public String handleRequest(SQSEvent input, Context context) {
- return "{\"statusCode\": 200}";
- }
-
- public class SampleMessageHandler implements SqsMessageHandler {
-
- @Override
- public String process(SQSMessage message) {
- // This will be called for each individual message from a batch
- // It should raise an exception if the message was not processed successfully
- String returnVal = doSomething(message.getBody());
- return returnVal;
- }
- }
-}
-```
-
-### PowertoolsSqs Utility API
-
-If you require access to the result of processed messages, you can use this utility.
-
-The result from calling PowertoolsSqs#batchProcessor() on the context manager will be a list of all the return values from your SqsMessageHandler#process() function.
-
-```java:title=App.java
-public class AppSqsEvent implements RequestHandler> {
- @Override
- public List handleRequest(SQSEvent input, Context context) {
- List returnValues = PowertoolsSqs.batchProcessor(input, SampleMessageHandler.class); // highlight-line
-
- return returnValues;
- }
-
- public class SampleMessageHandler implements SqsMessageHandler {
-
- @Override
- public String process(SQSMessage message) {
- // This will be called for each individual message from a batch
- // It should raise an exception if the message was not processed successfully
- String returnVal = doSomething(message.getBody());
- return returnVal;
- }
- }
-}
-```
-
-You can also use the utility in a more functional way` by providing inline implementation of functional interface SqsMessageHandler#process()
-
-```java:title=App.java
-public class AppSqsEvent implements RequestHandler> {
-
- @Override
- public List handleRequest(SQSEvent input, Context context) {
- // highlight-start
- List returnValues = PowertoolsSqs.batchProcessor(input, (message) -> {
- // This will be called for each individual message from a batch
- // It should raise an exception if the message was not processed successfully
- String returnVal = doSomething(message.getBody());
- return returnVal;
- });
- // highlight-end
-
- return returnValues;
- }
-}
-```
-
-## Passing custom SqsClient
-
-If you need to pass custom SqsClient such as region to the SDK, you can pass your own `SqsClient` to be used by utility either for
-**[SqsBatchProcessor annotation](#SqsBatchProcessor annotation)**, or **[PowertoolsSqs Utility API](#PowertoolsSqs Utility API)**.
-
-```java:title=App.java
-
-public class AppSqsEvent implements RequestHandler> {
- // highlight-start
- static {
- PowertoolsSqs.overrideSqsClient(SqsClient.builder()
- .build());
- }
- // highlight-end
-
- @Override
- public List handleRequest(SQSEvent input, Context context) {
- List returnValues = PowertoolsSqs.batchProcessor(input, SampleMessageHandler.class);
-
- return returnValues;
- }
-
- public class SampleMessageHandler implements SqsMessageHandler {
-
- @Override
- public String process(SQSMessage message) {
- // This will be called for each individual message from a batch
- // It should raise an exception if the message was not processed successfully
- String returnVal = doSomething(message.getBody());
- return returnVal;
- }
- }
-}
-
-```
-
-## Suppressing exceptions
-
-If you want to disable the default behavior where `SQSBatchProcessingException` is raised if there are any exception, you can pass the `suppressException` boolean argument.
-
-**Within SqsBatchProcessor annotation**
-
-```java:title=App.java
-...
- @Override
- @SqsBatchProcessor(value = SampleMessageHandler.class, suppressException = true) // highlight-line
- public String handleRequest(SQSEvent input, Context context) {
- return "{\"statusCode\": 200}";
- }
-```
-
-**Within PowertoolsSqs Utility API**
-
-```java:title=App.java
- @Override
- public List handleRequest(SQSEvent input, Context context) {
- List returnValues = PowertoolsSqs.batchProcessor(input, true, SampleMessageHandler.class); // highlight-line
-
- return returnValues;
- }
-```
diff --git a/docs/content/utilities/parameters.mdx b/docs/content/utilities/parameters.mdx
deleted file mode 100644
index 5967c64b3..000000000
--- a/docs/content/utilities/parameters.mdx
+++ /dev/null
@@ -1,267 +0,0 @@
----
-title: Parameters
-description: Utility
----
-
-import Note from "../../src/components/Note"
-
-The parameters utility provides a way to retrieve parameter values from
-[AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) or
-[AWS Secrets Manager](https://aws.amazon.com/secrets-manager/). It also provides a base class to create your parameter provider implementation.
-
-**Key features**
-
-* Retrieve one or multiple parameters from the underlying provider
-* Cache parameter values for a given amount of time (defaults to 5 seconds)
-* Transform parameter values from JSON or base 64 encoded strings
-
-## Install
-
-To install this utility, add the following dependency to your project.
-
-```xml
-
- software.amazon.lambda
- powertools-parameters
- 0.5.0-beta
-
-```
-
-**IAM Permissions**
-
-This utility requires additional permissions to work as expected. See the table below:
-
-Provider | Function/Method | IAM Permission
-------------------------------------------------- | ------------------------------------------------- | ---------------------------------------------------------------------------------
-SSM Parameter Store | `SSMProvider.get(String)` `SSMProvider.get(String, Class)` | `ssm:GetParameter`
-SSM Parameter Store | `SSMProvider.getMultiple(String)` | `ssm:GetParametersByPath`
-Secrets Manager | `SecretsProvider.get(String)` `SecretsProvider.get(String, Class)` | `secretsmanager:GetSecretValue`
-
-## SSM Parameter Store
-
-You can retrieve a single parameter using SSMProvider.get() and pass the key of the parameter.
-For multiple parameters, you can use SSMProvider.getMultiple() and pass the path to retrieve them all.
-
-```java:title=AppWithSSM.java
-
-public class AppWithSSM implements RequestHandler {
- // Get an instance of the SSM Provider
- SSMProvider ssmProvider = ParamManager.getSsmProvider();
-
- // Retrieve a single parameter
- String value = ssmProvider.get("/my/parameter");
-
- // Retrieve multiple parameters from a path prefix
- // This returns a Map with the parameter name as key
- Map values = ssmProvider.getMultiple("/my/path/prefix");
-
-}
-```
-
-Alternatively, you can retrieve an instance of a provider and configure its underlying SDK client,
-in order to get data from other regions or use specific credentials:
-
-```java
- SsmClient client = SsmClient.builder().region(Region.EU_CENTRAL_1).build();
- SSMProvider ssmProvider = ParamManager.getSsmProvider(client);
-```
-### Additional arguments
-
-The AWS Systems Manager Parameter Store provider supports two additional arguments for the `get()` and `getMultiple()` methods:
-
-| Option | Default | Description |
-|---------------|---------|-------------|
-| **withDecryption()** | `False` | Will automatically decrypt the parameter. |
-| **recursive()** | `False` | For `getMultiple()` only, will fetch all parameter values recursively based on a path prefix. |
-
-**Example:**
-
-```java:title=AppWithSSM.java
-
-public class AppWithSSM implements RequestHandler {
- // Get an instance of the SSM Provider
- SSMProvider ssmProvider = ParamManager.getSsmProvider();
-
- // Retrieve a single parameter and decrypt it
- String value = ssmProvider.withDecryption().get("/my/parameter");
-
- // Retrieve multiple parameters recursively from a path prefix
- Map values = ssmProvider.recursive().getMultiple("/my/path/prefix");
-
-}
-```
-
-## Secrets Manager
-
-```java:title=AppWithSecrets.java
-
-public class AppWithSecrets implements RequestHandler {
- // Get an instance of the Secrets Provider
- SecretsProvider secretsProvider = ParamManager.getSecretsProvider();
-
- // Retrieve a single secret
- String value = secretsProvider.get("/my/secret");
-
-}
-```
-
-Alternatively, you can retrieve an instance of a provider and configure its underlying SDK client,
-in order to get data from other regions or use specific credentials:
-
-```java
- SecretsManagerClient client = SecretsManagerClient.builder().region(Region.EU_CENTRAL_1).build();
- SecretsProvider secretsProvider = ParamManager.getSecretsProvider(client);
-```
-
-## Advanced configuration
-
-### Caching
-
-By default, all parameters and their corresponding values are cached for 5 seconds.
-
-You can customize this default value using:
-```java
- provider.defaultMaxAge(int, ChronoUnit)
-```
-
-You can also customize this value for each parameter with:
-```java
- provider.withMaxAge(int, ChronoUnit).get()
-```
-
-### Transform values
-
-Parameter values can be transformed using ```withTransformation(transformerClass)```.
-Base64 and JSON transformations are provided:
-
-```java
- String value = provider
- .withTransformation(Transformer.base64)
- .get("/my/parameter/b64");
-```
-
-For more complex transformation, you need to specify how to deserialize:
-
-```java
- MyObj object = provider
- .withTransformation(Transformer.json)
- .get("/my/parameter/json", MyObj.class);
-```
-
-**Note**: ```SSMProvider.getMultiple()``` does not support transformation and will return simple Strings.
-
-**Write your own Transformer**
-
-You can write your own transformer, by implementing the ```Transformer``` interface and the ```applyTransformation()``` method.
-For example, if you wish to deserialize XML into an object:
-
-```java:title=XmlTransformer.java
-public class XmlTransformer implements Transformer {
-
- private final XmlMapper mapper = new XmlMapper();
-
- @Override
- public T applyTransformation(String value, Class targetClass) throws TransformationException {
- try {
- return mapper.readValue(value, targetClass);
- } catch (IOException e) {
- throw new TransformationException(e);
- }
- }
-}
-```
-
-Then use it like this:
-
-```java
-MyObj object = provider
- .withTransformation(XmlTransformer.class)
- .get("/my/parameter/xml", MyObj.class);
-```
-
-### Fluent API
-
-To simplify the use of the library, you can chain all method calls before a get.
-
-**Example:**
-
-```java
-ssmProvider
- .defaultMaxAge(10, SECONDS) // will set 10 seconds as the default cache TTL
- .withMaxAge(1, MINUTES) // will set the cache TTL for this value at 1 minute
- .withTransformation(json) // json is a static import from Transformer.json
- .withDecryption() // enable decryption of the parameter value
- .get("/my/param", MyObj.class); // finally get the value
-```
-
-## Create your own provider
-You can create your own custom parameter store provider by inheriting the ```BaseProvider``` class and implementing the
-```String getValue(String key)``` method to retrieve data from your underlying store.
-
-All transformation and caching logic is handled by the get() methods in the base class.
-
-Here is an example implementation using S3 as a custom parameter store:
-
-```java:title=S3Provider.java
-public class S3Provider extends BaseProvider {
-
- private final S3Client client;
- private String bucket;
-
- S3Provider(CacheManager cacheManager) {
- this(cacheManager, S3Client.create());
- }
-
- S3Provider(CacheManager cacheManager, S3Client client) {
- super(cacheManager);
- this.client = client;
- }
-
- public S3Provider withBucket(String bucket) {
- this.bucket = bucket;
- return this;
- }
-
- @Override
- protected String getValue(String key) {
- if (bucket == null) {
- throw new IllegalStateException("A bucket must be specified, using withBucket() method");
- }
-
- GetObjectRequest request = GetObjectRequest.builder().bucket(bucket).key(key).build();
- ResponseBytes response = client.getObject(request, ResponseTransformer.toBytes());
- return response.asUtf8String();
- }
-
- @Override
- protected Map getMultipleValues(String path) {
- if (bucket == null) {
- throw new IllegalStateException("A bucket must be specified, using withBucket() method");
- }
-
- ListObjectsV2Request listRequest = ListObjectsV2Request.builder().bucket(bucket).prefix(path).build();
- List s3Objects = client.listObjectsV2(listRequest).contents();
-
- Map result = new HashMap<>();
- s3Objects.forEach(s3Object -> {
- result.put(s3Object.key(), getValue(s3Object.key()));
- });
-
- return result;
- }
-
- @Override
- protected void resetToDefaults() {
- super.resetToDefaults();
- bucket = null;
- }
-
-}
-```
-And then use it like this :
-
-```java
-S3Provider provider = new S3Provider(ParamManager.getCacheManager());
-provider.setTransformationManager(ParamManager.getTransformationManager()); // optional, needed for transformations
-String value = provider.withBucket("myBucket").get("myKey");
-```
\ No newline at end of file
diff --git a/docs/content/utilities/sqs_large_message_handling.mdx b/docs/content/utilities/sqs_large_message_handling.mdx
deleted file mode 100644
index bdcf4d540..000000000
--- a/docs/content/utilities/sqs_large_message_handling.mdx
+++ /dev/null
@@ -1,153 +0,0 @@
----
-title: SQS Large Message Handling
-description: Utility
----
-
-The large message handling utility handles SQS messages which have had their payloads
-offloaded to S3 due to them being larger than the SQS maximum.
-
-The utility automatically retrieves messages which have been offloaded to S3 using the
-[amazon-sqs-java-extended-client-lib](https://github.com/awslabs/amazon-sqs-java-extended-client-lib)
-client library. Once the message payloads have been processed successful the
-utility can delete the message payloads from S3.
-
-This utility is compatible with versions *1.1.0+* of amazon-sqs-java-extended-client-lib.
-
-```xml
-
- com.amazonaws
- amazon-sqs-java-extended-client-lib
- 1.1.0
-
-```
-
-## Install
-
-To install this utility, add the following dependency to your project.
-
-```xml
-
- software.amazon.lambda
- powertools-sqs
- 0.5.0-beta
-
-```
-
-And configure the aspectj-maven-plugin to compile-time weave (CTW) the
-aws-lambda-powertools-java aspects into your project. You may already have this
-plugin in your pom. In that case add the dependency to the `aspectLibraries`
-section.
-
-```xml
-
-
- ...
-
- org.codehaus.mojo
- aspectj-maven-plugin
- 1.11
-
- 1.8
- 1.8
- 1.8
-
-
-
- software.amazon.lambda
- powertools-sqs
-
-
-
-
-
-
-
- compile
-
-
-
-
- ...
-
-
-```
-
-The annotation `@LargeMessageHandler` should be used with the handleRequest method of a class
-which implements `com.amazonaws.services.lambda.runtime.RequestHandler` with
-`com.amazonaws.services.lambda.runtime.events.SQSEvent` as the first parameter.
-
-```java
-public class SqsMessageHandler implements RequestHandler {
-
- @Override
- @LargeMessageHandler
- public String handleRequest(SQSEvent sqsEvent, Context context) {
- // process messages
-
- return "ok";
- }
-}
-```
-
-`@LargeMessageHandler` creates a default S3 Client `AmazonS3 amazonS3 = AmazonS3ClientBuilder.defaultClient()`.
-When the Lambda function is invoked with an event from SQS, each record received
-in the SQSEvent will be checked to see if it's body contains a payload which has
-been offloaded to S3. If it does then `getObject(bucket, key)` will be called,
-and the payload retrieved. If there is an error during this process then the
-function will fail with a `FailedProcessingLargePayloadException` exception.
-
-If the request handler method returns without error then each payload will be
-deleted from S3 using `deleteObject(bucket, key)`
-
-To disable deletion of payloads setting the following annotation parameter:
-
-```java
-@LargeMessageHandler(deletePayloads=false)
-public class SqsMessageHandler implements RequestHandler {
-
-}
-```
-
-## Utility
-
-If you want to avoid using annotation and have control over error that can happen during payload enrichment.
-
-`PowertoolsSqs.enrichedMessageFromS3()` provides you access with list of `SQSMessage` object enriched from S3 payload.
-Original `SQSEvent` object is never mutated. You can also control if the S3 payload should be deleted after successful
-processing. You can enrich messages from S3 with below code:
-
-```java
-public class SqsMessageHandler implements RequestHandler {
-
- @Override
- public String handleRequest(SQSEvent sqsEvent, Context context) {
-
- Map sqsMessage = PowertoolsSqs.enrichedMessageFromS3(sqsEvent, sqsMessages -> {
- // Some business logic
- Map someBusinessLogic = new HashMap<>();
- someBusinessLogic.put("Message", sqsMessages.get(0).getBody());
- return someBusinessLogic;
- });
-
- // Do not delete payload after processing.
- Map sqsMessage = PowertoolsSqs.enrichedMessageFromS3(sqsEvent, false, sqsMessages -> {
- // Some business logic
- Map someBusinessLogic = new HashMap<>();
- someBusinessLogic.put("Message", sqsMessages.get(0).getBody());
- return someBusinessLogic;
- });
-
- // Better control over exception during enrichment
- try {
- // Do not delete payload after processing.
- PowertoolsSqs.enrichedMessageFromS3(sqsEvent, false, sqsMessages -> {
- // Some business logic
- });
- } catch (FailedProcessingLargePayloadException e) {
- // handle any exception.
- }
-
- return "ok";
- }
-}
-```
\ No newline at end of file
diff --git a/docs/core/logging.md b/docs/core/logging.md
new file mode 100644
index 000000000..8358087d2
--- /dev/null
+++ b/docs/core/logging.md
@@ -0,0 +1,1635 @@
+---
+title: Logging
+description: Core utility
+---
+
+Logging provides an opinionated logger with output structured as JSON.
+
+## Key features
+
+* Leverages standard logging libraries: [_SLF4J_](https://www.slf4j.org/){target="_blank"} as the API, and [_log4j2_](https://logging.apache.org/log4j/2.x/){target="_blank"} or [_logback_](https://logback.qos.ch/){target="_blank"} for the implementation
+* Captures key fields from Lambda context, cold start and structures logging output as JSON
+* Optionally logs Lambda request
+* Optionally logs Lambda response
+* Optionally supports log sampling by including a configurable percentage of DEBUG logs in logging output
+* Optionally supports buffering lower level logs and flushing them on error or manually
+* Allows additional keys to be appended to the structured log at any point in time
+* GraalVM support
+
+
+## Getting started
+
+???+ tip
+ You can find complete examples in the [project repository](https://github.com/aws-powertools/powertools-lambda-java/tree/v2/examples/powertools-examples-core-utilities){target="_blank"}.
+
+### Installation
+Depending on preference, you must choose to use either _log4j2_ or _logback_ as your log provider. If you use the AspectJ annotation approach, you must configure _aspectj_ to weave the code and make sure the annotation is processed. If you prefer the [functional approach](../usage-patterns.md#functional-approach), AspectJ configuration is not required.
+
+#### Maven
+=== "log4j2"
+
+ ```xml hl_lines="3-12 30-33"
+
+ ...
+
+ software.amazon.lambda
+ powertools-logging-log4j
+ {{ powertools.version }}
+
+
+ software.amazon.lambda
+ powertools-logging
+ {{ powertools.version }}
+
+ ...
+
+ ...
+
+
+
+
+ ...
+
+ dev.aspectj
+ aspectj-maven-plugin
+ 1.14
+
+ 11
+ 11
+ 11
+
+
+ software.amazon.lambda
+ powertools-logging
+
+
+
+
+
+ org.aspectj
+ aspectjtools
+
+ 1.9.22
+
+
+
+
+
+ compile
+
+
+
+
+ ...
+
+
+ ```
+
+=== "logback"
+
+ ```xml hl_lines="3-12 30-33"
+
+ ...
+
+ software.amazon.lambda
+ powertools-logging-logback
+ {{ powertools.version }}
+
+
+ software.amazon.lambda
+ powertools-logging
+ {{ powertools.version }}
+
+ ...
+
+ ...
+
+
+
+
+ ...
+
+ dev.aspectj
+ aspectj-maven-plugin
+ 1.14
+
+ 11
+ 11
+ 11
+
+
+ software.amazon.lambda
+ powertools-logging
+
+
+
+
+
+ org.aspectj
+ aspectjtools
+
+ 1.9.22
+
+
+
+
+
+ compile
+
+
+
+
+ ...
+
+
+ ```
+
+#### Gradle
+
+=== "log4j2"
+
+ ```groovy hl_lines="3 11-12"
+ plugins {
+ id 'java'
+ id 'io.freefair.aspectj.post-compile-weaving' version '8.1.0' // Not needed when using the functional approach
+ }
+
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ aspect 'software.amazon.lambda:powertools-logging:{{ powertools.version }}' // Not needed when using the functional approach
+ implementation 'software.amazon.lambda:powertools-logging-log4j:{{ powertools.version }}'
+ }
+
+ sourceCompatibility = 11
+ targetCompatibility = 11
+ ```
+
+=== "logback"
+
+ ```groovy hl_lines="3 11-12"
+ plugins {
+ id 'java'
+ id 'io.freefair.aspectj.post-compile-weaving' version '8.1.0' // Not needed when using the functional approach
+ }
+
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ aspect 'software.amazon.lambda:powertools-logging:{{ powertools.version }}' // Not needed when using the functional approach
+ implementation 'software.amazon.lambda:powertools-logging-logback:{{ powertools.version }}'
+ }
+
+ sourceCompatibility = 11
+ targetCompatibility = 11
+ ```
+
+
+### Configuration
+
+#### Main environment variables
+
+The logging module requires two settings:
+
+| Environment variable | Setting | Description |
+|---------------------------|-------------------|-------------------------------------------------------------------------------------------------------------|
+| `POWERTOOLS_LOG_LEVEL` | **Logging level** | Sets how verbose Logger should be. If not set, will use the [Logging configuration](#logging-configuration) |
+| `POWERTOOLS_SERVICE_NAME` | **Service** | Sets service key that will be included in all log statements (Default is `service_undefined`) |
+
+Here is an example using AWS Serverless Application Model (SAM):
+
+=== "template.yaml"
+``` yaml hl_lines="10 11"
+Resources:
+ PaymentFunction:
+ Type: AWS::Serverless::Function
+ Properties:
+ MemorySize: 512
+ Timeout: 20
+ Runtime: java17
+ Environment:
+ Variables:
+ POWERTOOLS_LOG_LEVEL: WARN
+ POWERTOOLS_SERVICE_NAME: payment
+```
+
+There are some other environment variables which can be set to modify Logging's settings at a global scope:
+
+| Environment variable | Type | Description |
+|---------------------------------|----------|-------------------------------------------------------------------------------------------------------------------------|
+| `POWERTOOLS_LOGGER_SAMPLE_RATE` | float | Configure the sampling rate at which `DEBUG` logs should be included. See [sampling rate](#sampling-debug-logs) |
+| `POWERTOOLS_LOGGER_LOG_EVENT` | boolean | Specify if the incoming Lambda event should be logged. See [Logging event](#logging-incoming-event) |
+| `POWERTOOLS_LOGGER_LOG_RESPONSE` | boolean | Specify if the Lambda response should be logged. See [logging response](#logging-handler-response) |
+| `POWERTOOLS_LOGGER_LOG_ERROR` | boolean | Specify if a Lambda uncaught exception should be logged. See [logging exception](#logging-handler-uncaught-exception ) |
+
+#### Logging configuration
+
+Powertools for AWS Lambda (Java) simply extends the functionality of the underlying library you choose (_log4j2_ or _logback_).
+You can leverage the standard configuration files (_log4j2.xml_ or _logback.xml_):
+
+=== "log4j2.xml"
+
+ With log4j2, we leverage the [`JsonTemplateLayout`](https://logging.apache.org/log4j/2.x/manual/json-template-layout.html){target="_blank"}
+ to provide structured logging. A default template is provided in powertools ([_LambdaJsonLayout.json_](https://github.com/aws-powertools/powertools-lambda-java/blob/4444b4bce8eb1cc19880d1c1ef07188d97de9126/powertools-logging/powertools-logging-log4j/src/main/resources/LambdaJsonLayout.json){target="_blank"}):
+
+ ```xml hl_lines="5"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ```
+
+=== "logback.xml"
+
+ With logback, we leverage a custom [Encoder](https://logback.qos.ch/manual/encoders.html){target="_blank"}
+ to provide structured logging:
+
+ ```xml hl_lines="4 5"
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ```
+
+## Log level
+Log level is generally configured in the `log4j2.xml` or `logback.xml`. But this level is static and needs a redeployment of the function to be changed.
+Powertools for AWS Lambda permits to change this level dynamically thanks to an environment variable `POWERTOOLS_LOG_LEVEL`.
+
+We support the following log levels (SLF4J levels): `TRACE`, `DEBUG`, `INFO`, `WARN`, `ERROR`.
+If the level is set to `CRITICAL` (supported in log4j but not logback), we revert it back to `ERROR`.
+If the level is set to any other value, we set it to the default value (`INFO`).
+
+### AWS Lambda Advanced Logging Controls (ALC)
+
+!!!question "When is it useful?"
+ When you want to set a logging policy to drop informational or verbose logs for one or all AWS Lambda functions, regardless of runtime and logger used.
+
+
+With [AWS Lambda Advanced Logging Controls (ALC)](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-cloudwatchlogs.html#monitoring-cloudwatchlogs-advanced){target="_blank"}, you can enforce a minimum log level that Lambda will accept from your application code.
+
+When enabled, you should keep your own log level and ALC log level in sync to avoid data loss.
+
+Here's a sequence diagram to demonstrate how ALC will drop both `INFO` and `DEBUG` logs emitted from `Logger`, when ALC log level is stricter than `Logger`.
+
+
+```mermaid
+sequenceDiagram
+ participant Lambda service
+ participant Lambda function
+ participant Application Logger
+
+ Note over Lambda service: AWS_LAMBDA_LOG_LEVEL="WARN"
+ Note over Application Logger: POWERTOOLS_LOG_LEVEL="DEBUG"
+
+ Lambda service->>Lambda function: Invoke (event)
+ Lambda function->>Lambda function: Calls handler
+ Lambda function->>Application Logger: logger.error("Something happened")
+ Lambda function-->>Application Logger: logger.debug("Something happened")
+ Lambda function-->>Application Logger: logger.info("Something happened")
+ Lambda service--xLambda service: DROP INFO and DEBUG logs
+ Lambda service->>CloudWatch Logs: Ingest error logs
+```
+
+### Priority of log level settings in Powertools for AWS Lambda
+
+We prioritise log level settings in this order:
+
+1. `AWS_LAMBDA_LOG_LEVEL` environment variable
+2. `POWERTOOLS_LOG_LEVEL` environment variable
+3. level defined in the `log4j2.xml` or `logback.xml` files
+
+If you set `POWERTOOLS_LOG_LEVEL` lower than ALC, we will emit a warning informing you that your messages will be discarded by Lambda.
+
+!!! note
+ With ALC enabled, we are unable to increase the minimum log level below the `AWS_LAMBDA_LOG_LEVEL` environment variable value, see [AWS Lambda service documentation](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-cloudwatchlogs.html#monitoring-cloudwatchlogs-log-level){target="_blank"} for more details.
+
+## Basic Usage
+
+You can use Powertools for AWS Lambda Logging with either the `@Logging` annotation or the functional API:
+
+=== "@Logging annotation"
+
+ ```java hl_lines="8 10 12 14"
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import software.amazon.lambda.powertools.logging.Logging;
+ // ... other imports
+
+ public class PaymentFunction implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(PaymentFunction.class);
+
+ @Logging
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ LOGGER.info("Collecting payment");
+ // ...
+ LOGGER.debug("order={}, amount={}", order.getId(), order.getAmount());
+ // ...
+ }
+ }
+ ```
+
+=== "Functional API"
+
+ ```java hl_lines="8 11 12 14 17"
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import software.amazon.lambda.powertools.logging.PowertoolsLogging;
+ // ... other imports
+
+ public class PaymentFunction implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(PaymentFunction.class);
+
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ return PowertoolsLogging.withLogging(context, () -> {
+ LOGGER.info("Collecting payment");
+ // ...
+ LOGGER.debug("order={}, amount={}", order.getId(), order.getAmount());
+ // ...
+ return new APIGatewayProxyResponseEvent().withStatusCode(200);
+ });
+ }
+ }
+ ```
+
+## Standard structured keys
+
+Your logs will always include the following keys in your structured logging:
+
+| Key | Type | Example | Description |
+|-------------------|--------|-----------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|
+| **timestamp** | String | "2023-12-01T14:49:19.293Z" | Timestamp of actual log statement, by default uses default AWS Lambda timezone (UTC) |
+| **level** | String | "INFO" | Logging level (any level supported by _SLF4J_ (i.e. `TRACE`, `DEBUG`, `INFO`, `WARN`, `ERROR`) |
+| **service** | String | "payment" | Service name defined, by default `service_undefined` |
+| **sampling_rate** | float | 0.1 | Debug logging sampling rate in percentage e.g. 10% in this case (logged if not 0) |
+| **message** | String | "Collecting payment" | Log statement value. Unserializable JSON values will be casted to string |
+| **xray_trace_id** | String | "1-5759e988-bd862e3fe1be46a994272793" | X-Ray Trace ID when [Tracing is enabled](https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html){target="_blank"} |
+| **error** | Map | `{ "name": "InvalidAmountException", "message": "Amount must be superior to 0", "stack": "at..." }` | Eventual exception (e.g. when doing `logger.error("Error", new InvalidAmountException("Amount must be superior to 0"));`) |
+
+???+ note
+ If you emit a log message with a key that matches one of the [standard structured keys](#standard-structured-keys) or one of the [additional structured keys](#additional-structured-keys), the Logger will log a warning message and ignore the key.
+
+## Additional structured keys
+
+### Logging Lambda context information
+The following keys will also be added to all your structured logs (unless [configured otherwise](#more-customization_1)):
+
+| Key | Type | Example | Description |
+|--------------------------|---------|----------------------------------------------------------------------------------------|------------------------------------|
+| **cold_start** | Boolean | false | ColdStart value |
+| **function_name** | String | "example-PaymentFunction-1P1Z6B39FLU73" | Name of the function |
+| **function_version** | String | "12" | Version of the function |
+| **function_memory_size** | String | "512" | Memory configure for the function |
+| **function_arn** | String | "arn:aws:lambda:eu-west-1:012345678910:function:example-PaymentFunction-1P1Z6B39FLU73" | ARN of the function |
+| **function_request_id** | String | "899856cb-83d1-40d7-8611-9e78f15f32f4"" | AWS Request ID from lambda context |
+
+### Logging additional keys
+
+#### Logging a correlation ID
+
+You can set a correlation ID using the `correlationIdPath` parameter by passing a [JMESPath expression](https://jmespath.org/tutorial.html){target="_blank"},
+including our custom [JMESPath Functions](../utilities/serialization.md#built-in-functions).
+
+=== "@Logging annotation"
+
+ ```java hl_lines="5"
+ public class AppCorrelationIdPath implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(AppCorrelationIdPath.class);
+
+ @Logging(correlationIdPath = "headers.my_request_id_header")
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ // ...
+ LOGGER.info("Collecting payment")
+ // ...
+ }
+ }
+ ```
+
+=== "Functional API"
+
+ ```java hl_lines="6"
+ public class AppCorrelationIdPath implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(AppCorrelationIdPath.class);
+
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ return PowertoolsLogging.withLogging(context, "headers.my_request_id_header", input, () -> {
+ // ...
+ LOGGER.info("Collecting payment");
+ // ...
+ return new APIGatewayProxyResponseEvent().withStatusCode(200);
+ });
+ }
+ }
+ ```
+=== "Example HTTP Event"
+
+ ```json hl_lines="3"
+ {
+ "headers": {
+ "my_request_id_header": "correlation_id_value"
+ }
+ }
+ ```
+
+=== "CloudWatch Logs"
+
+ ```json hl_lines="6"
+ {
+ "level": "INFO",
+ "message": "Collecting payment",
+ "timestamp": "2023-12-01T14:49:19.293Z",
+ "service": "payment",
+ "correlation_id": "correlation_id_value"
+ }
+ ```
+
+**Known correlation IDs**
+
+To ease routine tasks like extracting correlation ID from popular event sources,
+we provide [built-in JMESPath expressions](#built-in-correlation-id-expressions).
+
+=== "@Logging annotation"
+
+ ```java hl_lines="1 7"
+ import software.amazon.lambda.powertools.logging.CorrelationIdPaths;
+
+ public class AppCorrelationId implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(AppCorrelationId.class);
+
+ @Logging(correlationIdPath = CorrelationIdPaths.API_GATEWAY_REST)
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ // ...
+ LOGGER.info("Collecting payment")
+ // ...
+ }
+ }
+ ```
+
+=== "Functional API"
+
+ ```java hl_lines="1 8"
+ import software.amazon.lambda.powertools.logging.CorrelationIdPaths;
+
+ public class AppCorrelationId implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(AppCorrelationId.class);
+
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ return PowertoolsLogging.withLogging(context, CorrelationIdPaths.API_GATEWAY_REST, input, () -> {
+ // ...
+ LOGGER.info("Collecting payment");
+ // ...
+ return new APIGatewayProxyResponseEvent().withStatusCode(200);
+ });
+ }
+ }
+ ```
+
+=== "Example Event"
+
+ ```json hl_lines="3"
+ {
+ "requestContext": {
+ "requestId": "correlation_id_value"
+ }
+ }
+ ```
+
+=== "Example CloudWatch Logs"
+
+ ```json hl_lines="6"
+ {
+ "level": "INFO",
+ "message": "Collecting payment",
+ "timestamp": "2023-12-01T14:49:19.293Z",
+ "service": "payment",
+ "correlation_id": "correlation_id_value"
+ }
+ ```
+
+#### Custom keys
+
+**Using StructuredArguments**
+
+To append additional keys in your logs, you can use the `StructuredArguments` class:
+
+=== "PaymentFunction.java"
+
+ ```java hl_lines="1 2 11 17"
+ import static software.amazon.lambda.powertools.logging.argument.StructuredArguments.entry;
+ import static software.amazon.lambda.powertools.logging.argument.StructuredArguments.entries;
+
+ public class PaymentFunction implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(AppLogResponse.class);
+
+ @Logging
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ // ...
+ LOGGER.info("Collecting payment", entry("orderId", order.getId()));
+
+ // ...
+ Map customKeys = new HashMap<>();
+ customKeys.put("paymentId", payment.getId());
+ customKeys.put("amount", payment.getAmount);
+ LOGGER.info("Payment successful", entries(customKeys));
+ }
+ }
+ ```
+
+=== "CloudWatch Logs for PaymentFunction"
+
+ ```json hl_lines="7 16-18"
+ {
+ "level": "INFO",
+ "message": "Collecting payment",
+ "service": "payment",
+ "timestamp": "2023-12-01T14:49:19.293Z",
+ "xray_trace_id": "1-6569f266-4b0c7f97280dcd8428d3c9b5",
+ "orderId": "41376"
+ }
+ ...
+ {
+ "level": "INFO",
+ "message": "Payment successful",
+ "service": "payment",
+ "timestamp": "2023-12-01T14:49:20.118Z",
+ "xray_trace_id": "1-6569f266-4b0c7f97280dcd8428d3c9b5",
+ "orderId": "41376",
+ "paymentId": "3245",
+ "amount": 345.99
+ }
+ ```
+
+`StructuredArguments` provides several options:
+
+ - `entry` to add one key and value into the log structure. Note that value can be any object type.
+ - `entries` to add multiple keys and values (from a Map) into the log structure. Note that values can be any object type.
+ - `json` to add a key and raw json (string) as value into the log structure.
+ - `array` to add one key and multiple values into the log structure. Note that values can be any object type.
+
+=== "OrderFunction.java"
+
+ ```java hl_lines="1 2 11 17"
+ import static software.amazon.lambda.powertools.logging.argument.StructuredArguments.entry;
+ import static software.amazon.lambda.powertools.logging.argument.StructuredArguments.array;
+
+ public class OrderFunction implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(AppLogResponse.class);
+
+ @Logging
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ // ...
+ LOGGER.info("Processing order", entry("order", order), array("products", productList));
+ // ...
+ }
+ }
+ ```
+
+=== "CloudWatch Logs for OrderFunction"
+
+ ```json hl_lines="7 13"
+ {
+ "level": "INFO",
+ "message": "Processing order",
+ "service": "payment",
+ "timestamp": "2023-12-01T14:49:19.293Z",
+ "xray_trace_id": "1-6569f266-4b0c7f97280dcd8428d3c9b5",
+ "order": {
+ "orderId": 23542,
+ "amount": 459.99,
+ "date": "2023-12-01T14:49:19.018Z",
+ "customerId": 328496
+ },
+ "products": [
+ {
+ "productId": 764330,
+ "name": "product1",
+ "quantity": 1,
+ "price": 300
+ },
+ {
+ "productId": 798034,
+ "name": "product42",
+ "quantity": 1,
+ "price": 159.99
+ }
+ ]
+ }
+ ```
+
+???+ tip "Use arguments without log placeholders"
+ As shown in the example above, you can use arguments (with `StructuredArguments`) without placeholders (`{}`) in the message.
+ If you add the placeholders, the arguments will be logged both as an additional field and also as a string in the log message, using the `toString()` method.
+
+ === "Function1.java"
+
+ ```java
+ LOGGER.info("Processing {}", entry("order", order));
+ ```
+
+ === "Order.java"
+
+ ```java hl_lines="5"
+ public class Order {
+ // ...
+
+ @Override
+ public String toString() {
+ return "Order{" +
+ "orderId=" + id +
+ ", amount=" + amount +
+ ", date='" + date + '\'' +
+ ", customerId=" + customerId +
+ '}';
+ }
+ }
+ ```
+
+ === "CloudWatch Logs Function1"
+
+ ```json hl_lines="3 7"
+ {
+ "level": "INFO",
+ "message": "Processing order=Order{orderId=23542, amount=459.99, date='2023-12-01T14:49:19.018Z', customerId=328496}",
+ "service": "payment",
+ "timestamp": "2023-12-01T14:49:19.293Z",
+ "xray_trace_id": "1-6569f266-4b0c7f97280dcd8428d3c9b5",
+ "order": {
+ "orderId": 23542,
+ "amount": 459.99,
+ "date": "2023-12-01T14:49:19.018Z",
+ "customerId": 328496
+ }
+ }
+ ```
+
+ You can also combine structured arguments with non structured ones. For example:
+
+ === "Function2.java"
+ ```java
+ LOGGER.info("Processing order {}", order.getOrderId(), entry("order", order));
+ ```
+
+ === "CloudWatch Logs Function2"
+ ```json
+ {
+ "level": "INFO",
+ "message": "Processing order 23542",
+ "service": "payment",
+ "timestamp": "2023-12-01T14:49:19.293Z",
+ "xray_trace_id": "1-6569f266-4b0c7f97280dcd8428d3c9b5",
+ "order": {
+ "orderId": 23542,
+ "amount": 459.99,
+ "date": "2023-12-01T14:49:19.018Z",
+ "customerId": 328496
+ }
+ }
+ ```
+
+???+ warning "Do not use reserved keys in `StructuredArguments`"
+ If the key name of your structured argument matches any of the [standard structured keys](#standard-structured-keys) or any of the [additional structured keys](#additional-structured-keys), the Logger will log a warning message and ignore the key. This is to protect you from accidentally overwriting reserved keys such as the log level or Lambda context information.
+
+**Using MDC**
+
+Mapped Diagnostic Context (MDC) is essentially a Key-Value store. It is supported by the [SLF4J API](https://www.slf4j.org/manual.html#mdc){target="_blank"},
+[logback](https://logback.qos.ch/manual/mdc.html){target="_blank"} and log4j (known as [ThreadContext](https://logging.apache.org/log4j/2.x/manual/thread-context.html){target="_blank"}). You can use the following standard:
+
+`MDC.put("key", "value");`
+
+???+ warning "Custom keys stored in the MDC are persisted across warm invocations"
+ Always set additional keys as part of your handler method to ensure they have the latest value, or explicitly clear them with [`clearState=true`](#clearing-state).
+
+???+ warning "Do not add reserved keys to MDC"
+ Avoid adding any of the keys listed in [standard structured keys](#standard-structured-keys) and [additional structured keys](#additional-structured-keys) to your MDC. This may cause unindented behavior and will overwrite the context set by the Logger. Unlike with `StructuredArguments`, the Logger will **not** ignore reserved keys set via MDC.
+
+
+### Removing additional keys
+
+You can remove additional keys added with the MDC using `MDC.remove("key")`.
+
+#### Clearing state
+
+Logger is commonly initialized in the global scope. Due to [Lambda Execution Context reuse](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html){target="_blank"},
+this means that custom keys, added with the MDC can be persisted across invocations. You can clear state using `clearState=true` on the `@Logging` annotation, or use the functional API which handles cleanup automatically.
+
+=== "@Logging annotation"
+
+ ```java hl_lines="5 8"
+ public class CreditCardFunction implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(CreditCardFunction.class);
+
+ @Logging(clearState = true)
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ // ...
+ MDC.put("cardNumber", card.getId());
+ LOGGER.info("Updating card information");
+ // ...
+ }
+ }
+ ```
+
+=== "#1 Request"
+
+ ```json hl_lines="7"
+ {
+ "level": "INFO",
+ "message": "Updating card information",
+ "service": "card",
+ "timestamp": "2023-12-01T14:49:19.293Z",
+ "xray_trace_id": "1-6569f266-4b0c7f97280dcd8428d3c9b5",
+ "cardNumber": "6818 8419 9395 5322"
+ }
+ ```
+
+=== "#2 Request"
+
+ ```json hl_lines="7"
+ {
+ "level": "INFO",
+ "message": "Updating card information",
+ "service": "card",
+ "timestamp": "2023-12-01T14:49:20.213Z",
+ "xray_trace_id": "2-7a518f43-5e9d2b1f6cfd5e8b3a4e1f9c",
+ "cardNumber": "7201 6897 6685 3285"
+ }
+ ```
+
+`clearState` is based on `MDC.clear()`. State clearing is automatically done at the end of the execution of the handler if set to `true`.
+
+???+ tip
+ When using the functional API with `PowertoolsLogging.withLogging()`, state is automatically cleared at the end of execution, so you don't need to manage it manually.
+
+
+## Logging incoming event
+
+When debugging in non-production environments, you can log the incoming event using the `@Logging` annotation with the `logEvent` parameter, via the `POWERTOOLS_LOGGER_LOG_EVENT` environment variable, or manually with the functional API.
+
+???+ warning
+ This is disabled by default to prevent sensitive info being logged.
+
+=== "@Logging annotation"
+
+ ```java hl_lines="5"
+ public class AppLogEvent implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(AppLogEvent.class);
+
+ @Logging(logEvent = true)
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ // ...
+ }
+ }
+ ```
+
+=== "Functional API"
+
+ ```java hl_lines="1 9"
+ import static software.amazon.lambda.powertools.logging.argument.StructuredArguments.entry;
+
+ public class AppLogEvent implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(AppLogEvent.class);
+
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ return PowertoolsLogging.withLogging(context, () -> {
+ LOGGER.info("Handler Event", entry("event", input));
+ // ...
+ return new APIGatewayProxyResponseEvent().withStatusCode(200);
+ });
+ }
+ }
+ ```
+
+???+ note
+ If you use this on a RequestStreamHandler, the SDK must duplicate input streams in order to log them when used together with the `@Logging` annotation.
+
+## Logging handler response
+
+When debugging in non-production environments, you can log the response using the `@Logging` annotation with the `logResponse` parameter, via the `POWERTOOLS_LOGGER_LOG_RESPONSE` environment variable, or manually with the functional API.
+
+???+ warning
+ This is disabled by default to prevent sensitive info being logged.
+
+=== "@Logging annotation"
+
+ ```java hl_lines="5"
+ public class AppLogResponse implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(AppLogResponse.class);
+
+ @Logging(logResponse = true)
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ // ...
+ }
+ }
+ ```
+
+=== "Functional API"
+
+ ```java hl_lines="1 11"
+ import static software.amazon.lambda.powertools.logging.argument.StructuredArguments.entry;
+
+ public class AppLogResponse implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(AppLogResponse.class);
+
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ return PowertoolsLogging.withLogging(context, () -> {
+ // ...
+ APIGatewayProxyResponseEvent response = new APIGatewayProxyResponseEvent().withStatusCode(200);
+ LOGGER.info("Handler Response", entry("response", response));
+ return response;
+ });
+ }
+ }
+ ```
+
+???+ note
+ If you use this on a RequestStreamHandler, Powertools must duplicate output streams in order to log them when used together with the `@Logging` annotation.
+
+## Logging handler uncaught exception
+By default, AWS Lambda logs any uncaught exception that might happen in the handler. However, this log is not structured
+and does not contain any additional context. When using the `@Logging` annotation, you can enable structured exception logging
+with `logError` param or via `POWERTOOLS_LOGGER_LOG_ERROR` env var.
+
+???+ warning
+ This is disabled by default to prevent double logging.
+
+???+ note
+ This feature is only available when using the `@Logging` annotation. When using the functional API, you must catch and log exceptions manually using try-catch blocks.
+
+=== "@Logging annotation"
+
+ ```java hl_lines="5"
+ public class AppLogError implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(AppLogError.class);
+
+ @Logging(logError = true)
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ // ...
+ }
+ }
+ ```
+
+=== "Functional API"
+
+ ```java hl_lines="1 9 12-13"
+ import org.slf4j.MarkerFactory;
+
+ public class AppLogError implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(AppLogError.class);
+
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ return PowertoolsLogging.withLogging(context, () -> {
+ try {
+ // ...
+ return new APIGatewayProxyResponseEvent().withStatusCode(200);
+ } catch (Exception e) {
+ LOGGER.error(MarkerFactory.getMarker("FATAL"), "Exception in Lambda Handler", e);
+ throw e;
+ }
+ });
+ }
+ }
+ ```
+
+## Advanced
+
+### Buffering logs
+
+Log buffering enables you to buffer logs for a specific request or invocation. Enable log buffering by configuring the `BufferingAppender` in your logging configuration. You can buffer logs at the `WARNING`, `INFO` or `DEBUG` level, and flush them automatically on error or manually as needed.
+
+!!! tip "This is useful when you want to reduce the number of log messages emitted while still having detailed logs when needed, such as when troubleshooting issues."
+
+=== "log4j2.xml"
+
+ ```xml hl_lines="7-12 16 19"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ```
+
+=== "logback.xml"
+
+ ```xml hl_lines="6-11 13 16"
+
+
+
+
+
+
+ 20480
+ DEBUG
+ true
+
+
+
+
+
+
+
+
+
+ ```
+
+=== "PaymentFunction.java"
+
+ ```java hl_lines="8 12"
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import software.amazon.lambda.powertools.logging.Logging;
+ // ... other imports
+
+ public class PaymentFunction implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(PaymentFunction.class);
+
+ @Logging
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ LOGGER.debug("a debug log"); // this is buffered
+ LOGGER.info("an info log"); // this is not buffered
+
+ // do stuff
+
+ // Buffer is automatically cleared at the end of the method by @Logging annotation
+ return new APIGatewayProxyResponseEvent().withStatusCode(200);
+ }
+ }
+ ```
+
+#### Configuring the buffer
+
+When configuring log buffering, you have options to fine-tune how logs are captured, stored, and emitted. You can configure the following parameters in the `BufferingAppender` configuration:
+
+| Parameter | Description | Configuration |
+| --------------------- | ----------------------------------------------- | ---------------------------- |
+| `maxBytes` | Maximum size of the log buffer in bytes | `int` (default: 20480 bytes) |
+| `bufferAtVerbosity` | Minimum log level to buffer | `DEBUG` (default), `INFO`, `WARNING` |
+| `flushOnErrorLog` | Automatically flush buffer when `ERROR` or `FATAL` level logs are emitted | `true` (default), `false` |
+
+!!! warning "Logger Level Configuration"
+ To use log buffering effectively, you must set your logger levels to the same level as `bufferAtVerbosity` or more verbose for the logging framework to capture and forward logs to the `BufferingAppender`. For example, if you want to buffer `DEBUG` level logs and emit `INFO`+ level logs directly, you must:
+
+ - Set your logger levels to `DEBUG` in your log4j2.xml or logback.xml configuration
+ - Set `POWERTOOLS_LOG_LEVEL=DEBUG` if using the environment variable (see [Log level](#log-level) section for more details)
+
+ If you want to sample `INFO` and `WARNING` logs but not `DEBUG` logs, set your log level to `INFO` and `bufferAtVerbosity` to `WARNING`. This allows you to define the lower and upper bounds for buffering. All logs with a more severe level than `bufferAtVerbosity` will be emitted directly.
+
+=== "log4j2.xml - Buffer at WARNING level"
+
+ ```xml hl_lines="9 14-15 18"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ```
+
+=== "PaymentFunction.java - Buffer at WARNING level"
+
+ ```java hl_lines="7-9 13"
+ public class PaymentFunction implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(PaymentFunction.class);
+
+ @Logging
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ LOGGER.warn("a warning log"); // this is buffered
+ LOGGER.info("an info log"); // this is buffered
+ LOGGER.debug("a debug log"); // this is buffered
+
+ // do stuff
+
+ // Buffer is automatically cleared at the end of the method by @Logging annotation
+ return new APIGatewayProxyResponseEvent().withStatusCode(200);
+ }
+ }
+ ```
+
+=== "log4j2.xml - Disable flush on error"
+
+ ```xml hl_lines="9"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ```
+
+=== "PaymentFunction.java - Manual flush required"
+
+ ```java hl_lines="1 16 19-20"
+ import software.amazon.lambda.powertools.logging.PowertoolsLogging;
+
+ public class PaymentFunction implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(PaymentFunction.class);
+
+ @Logging
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ LOGGER.debug("a debug log"); // this is buffered
+
+ // do stuff
+
+ try {
+ throw new RuntimeException("Something went wrong");
+ } catch (RuntimeException error) {
+ LOGGER.error("An error occurred", error); // Logs won't be flushed here
+ }
+
+ // Manually flush buffered logs
+ PowertoolsLogging.flushBuffer();
+
+ return new APIGatewayProxyResponseEvent().withStatusCode(200);
+ }
+ }
+ ```
+
+!!! note "Disabling `flushOnErrorLog` will not flush the buffer when logging an error. This is useful when you want to control when the buffer is flushed by calling the flush method manually."
+
+#### Manual buffer control
+
+You can manually control the log buffer using the `PowertoolsLogging` utility class, which provides a backend-independent API that works with both Log4j2 and Logback:
+
+=== "Manual flush"
+
+ ```java hl_lines="1 12-13"
+ import software.amazon.lambda.powertools.logging.PowertoolsLogging;
+
+ public class PaymentFunction implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(PaymentFunction.class);
+
+ @Logging
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ LOGGER.debug("Processing payment"); // this is buffered
+ LOGGER.info("Payment validation complete"); // this is buffered
+
+ // Manually flush all buffered logs
+ PowertoolsLogging.flushBuffer();
+
+ return new APIGatewayProxyResponseEvent().withStatusCode(200);
+ }
+ }
+ ```
+
+=== "Manual clear"
+
+ ```java hl_lines="1 12-13"
+ import software.amazon.lambda.powertools.logging.PowertoolsLogging;
+
+ public class PaymentFunction implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(PaymentFunction.class);
+
+ @Logging
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ LOGGER.debug("Processing payment"); // this is buffered
+ LOGGER.info("Payment validation complete"); // this is buffered
+
+ // Manually clear buffered logs without outputting them
+ PowertoolsLogging.clearBuffer();
+
+ return new APIGatewayProxyResponseEvent().withStatusCode(200);
+ }
+ }
+ ```
+
+**Available methods:**
+
+- `#!java PowertoolsLogging.flushBuffer()` - Outputs all buffered logs and clears the buffer
+- `#!java PowertoolsLogging.clearBuffer()` - Discards all buffered logs without outputting them
+
+#### Flushing on exceptions
+
+Use the `@Logging` annotation to automatically flush buffered logs when an uncaught exception is raised in your Lambda function. This is enabled by default (`flushBufferOnUncaughtError = true`), but you can explicitly configure it if needed.
+
+???+ warning
+ This feature is only available when using the `@Logging` annotation. When using the functional API, you must manually flush the buffer in exception handlers.
+
+=== "@Logging annotation"
+
+ ```java hl_lines="5 11"
+ public class PaymentFunction implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(PaymentFunction.class);
+
+ @Logging(flushBufferOnUncaughtError = true)
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ LOGGER.debug("a debug log"); // this is buffered
+
+ // do stuff
+
+ throw new RuntimeException("Something went wrong"); // Logs will be flushed here
+ }
+ }
+ ```
+
+=== "Functional API"
+
+ ```java hl_lines="14"
+ import software.amazon.lambda.powertools.logging.PowertoolsLogging;
+
+ public class PaymentFunction implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(PaymentFunction.class);
+
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ return PowertoolsLogging.withLogging(context, () -> {
+ try {
+ LOGGER.debug("a debug log"); // this is buffered
+ // do stuff
+ throw new RuntimeException("Something went wrong");
+ } catch (Exception e) {
+ PowertoolsLogging.flushBuffer(); // Manually flush buffered logs
+ throw e;
+ }
+ });
+ }
+ }
+ ```
+
+#### Buffering workflows
+
+##### Manual flush
+
+
+```mermaid
+sequenceDiagram
+ participant Client
+ participant Lambda
+ participant Logger
+ participant CloudWatch
+ Client->>Lambda: Invoke Lambda
+ Lambda->>Logger: Initialize with DEBUG level buffering
+ Logger-->>Lambda: Logger buffer ready
+ Lambda->>Logger: logger.debug("First debug log")
+ Logger-->>Logger: Buffer first debug log
+ Lambda->>Logger: logger.info("Info log")
+ Logger->>CloudWatch: Directly log info message
+ Lambda->>Logger: logger.debug("Second debug log")
+ Logger-->>Logger: Buffer second debug log
+ Lambda->>Logger: Manual flush call
+ Logger->>CloudWatch: Emit buffered logs to stdout
+ Lambda->>Client: Return execution result
+```
+Flushing buffer manually
+
+
+##### Flushing when logging an error
+
+
+```mermaid
+sequenceDiagram
+ participant Client
+ participant Lambda
+ participant Logger
+ participant CloudWatch
+ Client->>Lambda: Invoke Lambda
+ Lambda->>Logger: Initialize with DEBUG level buffering
+ Logger-->>Lambda: Logger buffer ready
+ Lambda->>Logger: logger.debug("First log")
+ Logger-->>Logger: Buffer first debug log
+ Lambda->>Logger: logger.debug("Second log")
+ Logger-->>Logger: Buffer second debug log
+ Lambda->>Logger: logger.debug("Third log")
+ Logger-->>Logger: Buffer third debug log
+ Lambda->>Lambda: Exception occurs
+ Lambda->>Logger: logger.error("Error details")
+ Logger->>CloudWatch: Emit error log
+ Logger->>CloudWatch: Emit buffered debug logs
+ Lambda->>Client: Raise exception
+```
+Flushing buffer when an error happens
+
+
+##### Flushing on exception
+
+This works when using the `@Logging` annotation which automatically clears the buffer at the end of method execution.
+
+
+```mermaid
+sequenceDiagram
+ participant Client
+ participant Lambda
+ participant Logger
+ participant CloudWatch
+ Client->>Lambda: Invoke Lambda
+ Lambda->>Logger: Using @Logging annotation
+ Logger-->>Lambda: Logger context injected
+ Lambda->>Logger: logger.debug("First log")
+ Logger-->>Logger: Buffer first debug log
+ Lambda->>Logger: logger.debug("Second log")
+ Logger-->>Logger: Buffer second debug log
+ Lambda->>Lambda: Uncaught Exception
+ Lambda->>CloudWatch: Automatically emit buffered debug logs
+ Lambda->>Client: Raise uncaught exception
+```
+Flushing buffer when an uncaught exception happens
+
+
+#### Buffering FAQs
+
+1. **Does the buffer persist across Lambda invocations?** No, each Lambda invocation has its own buffer. The buffer is initialized when the Lambda function is invoked and is cleared after the function execution completes or when flushed manually.
+2. **Are my logs buffered during cold starts (INIT phase)?** No, we never buffer logs during cold starts. This is because we want to ensure that logs emitted during this phase are always available for debugging and monitoring purposes. The buffer is only used during the execution of the Lambda function.
+3. **How can I prevent log buffering from consuming excessive memory?** You can limit the size of the buffer by setting the `maxBytes` option in the `BufferingAppender` configuration. This will ensure that the buffer does not grow indefinitely.
+4. **What happens if the log buffer reaches its maximum size?** Older logs are removed from the buffer to make room for new logs. This means that if the buffer is full, you may lose some logs if they are not flushed before the buffer reaches its maximum size. When this happens, we emit a warning when flushing the buffer to indicate that some logs have been dropped.
+5. **How is the log size of a log line calculated?** The log size is calculated based on the size of the log line in bytes. This includes the size of the log message, any exception (if present), the log line location, additional keys, and the timestamp.
+6. **What timestamp is used when I flush the logs?** The timestamp is the original time when the log record was created. If you create a log record at 11:00:10 and flush it at 11:00:25, the log line will retain its original timestamp of 11:00:10.
+7. **What happens if I try to add a log line that is bigger than max buffer size?** The log will be emitted directly to standard output and not buffered. When this happens, we emit a warning to indicate that the log line was too big to be buffered.
+8. **What happens if Lambda times out without flushing the buffer?** Logs that are still in the buffer will be lost.
+9. **How does the `BufferingAppender` work with different appenders?** The `BufferingAppender` is designed to wrap arbitrary appenders, providing maximum flexibility. You can wrap console appenders, file appenders, or any custom appenders with buffering functionality.
+
+## Sampling debug logs
+
+You can dynamically set a percentage of your logs to`DEBUG` level to be included in the logger output, regardless of configured log level, using the`POWERTOOLS_LOGGER_SAMPLE_RATE` environment variable,
+via the `samplingRate` attribute on the `@Logging` annotation, or as a parameter in the functional API.
+
+!!! info
+ Configuration via environment variable is given precedence over sampling rate configuration, provided it's in valid value range.
+
+=== "@Logging annotation"
+
+ ```java hl_lines="5"
+ public class App implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(App.class);
+
+ @Logging(samplingRate = 0.5)
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ // will eventually be logged based on the sampling rate
+ LOGGER.debug("Handle payment");
+ }
+ }
+ ```
+
+=== "Functional API"
+
+ ```java hl_lines="6"
+ public class App implements RequestHandler {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(App.class);
+
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ return PowertoolsLogging.withLogging(context, 0.5, () -> {
+ // will eventually be logged based on the sampling rate
+ LOGGER.debug("Handle payment");
+ return new APIGatewayProxyResponseEvent().withStatusCode(200);
+ });
+ }
+ }
+ ```
+
+=== "Sampling via environment variable"
+
+ ```yaml hl_lines="8"
+ Resources:
+ PaymentFunction:
+ Type: AWS::Serverless::Function
+ Properties:
+ ...
+ Environment:
+ Variables:
+ POWERTOOLS_LOGGER_SAMPLE_RATE: 0.5
+
+ ```
+
+## Built-in Correlation ID expressions
+
+You can use any of the following built-in JMESPath expressions with the `@Logging` annotation or the functional API:
+
+???+ note "Note: Any object key named with `-` must be escaped"
+ For example, **`request.headers."x-amzn-trace-id"`**.
+
+| Name | Expression | Description |
+|-------------------------------|-------------------------------------|---------------------------------|
+| **API_GATEWAY_REST** | `"requestContext.requestId"` | API Gateway REST API request ID |
+| **API_GATEWAY_HTTP** | `"requestContext.requestId"` | API Gateway HTTP API request ID |
+| **APPSYNC_RESOLVER** | `request.headers."x-amzn-trace-id"` | AppSync X-Ray Trace ID |
+| **APPLICATION_LOAD_BALANCER** | `headers."x-amzn-trace-id"` | ALB X-Ray Trace ID |
+| **EVENT_BRIDGE** | `"id"` | EventBridge Event ID |
+
+
+## Customising fields in logs
+
+Powertools for AWS Lambda comes with default json structure ([standard fields](#standard-structured-keys) & [lambda context fields](#logging-lambda-context-information)).
+
+You can go further and customize which fields you want to keep in your logs or not. The configuration varies according to the underlying logging library.
+
+### Log4j2 configuration
+Log4j2 configuration is done in _log4j2.xml_ and leverages `JsonTemplateLayout`:
+
+```xml
+
+
+
+```
+
+The `JsonTemplateLayout` is automatically configured with the provided template:
+
+??? example "LambdaJsonLayout.json"
+ ```json
+ {
+ "level": {
+ "$resolver": "level",
+ "field": "name"
+ },
+ "message": {
+ "$resolver": "message"
+ },
+ "error": {
+ "message": {
+ "$resolver": "exception",
+ "field": "message"
+ },
+ "name": {
+ "$resolver": "exception",
+ "field": "className"
+ },
+ "stack": {
+ "$resolver": "exception",
+ "field": "stackTrace",
+ "stackTrace": {
+ "stringified": true
+ }
+ }
+ },
+ "cold_start": {
+ "$resolver": "powertools",
+ "field": "cold_start"
+ },
+ "function_arn": {
+ "$resolver": "powertools",
+ "field": "function_arn"
+ },
+ "function_memory_size": {
+ "$resolver": "powertools",
+ "field": "function_memory_size"
+ },
+ "function_name": {
+ "$resolver": "powertools",
+ "field": "function_name"
+ },
+ "function_request_id": {
+ "$resolver": "powertools",
+ "field": "function_request_id"
+ },
+ "function_version": {
+ "$resolver": "powertools",
+ "field": "function_version"
+ },
+ "sampling_rate": {
+ "$resolver": "powertools",
+ "field": "sampling_rate"
+ },
+ "service": {
+ "$resolver": "powertools",
+ "field": "service"
+ },
+ "timestamp": {
+ "$resolver": "timestamp",
+ "pattern": {
+ "format": "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
+ }
+ },
+ "xray_trace_id": {
+ "$resolver": "powertools",
+ "field": "xray_trace_id"
+ },
+ "correlation_id": {
+ "$resolver": "powertools",
+ "field": "correlation_id"
+ },
+ "": {
+ "$resolver": "powertools"
+ }
+ }
+ ```
+
+You can create your own template and leverage the [PowertoolsResolver](https://github.com/aws-powertools/powertools-lambda-java/tree/v2/powertools-logging/powertools-logging-log4j/src/main/java/org/apache/logging/log4j/layout/template/json/resolver/PowertoolsResolver.java){target="_blank"}
+and any other resolver to log the desired fields with the desired format. Some examples of customization are given below:
+
+#### Customising date format
+
+Utility by default emits `timestamp` field in the logs in format `yyyy-MM-dd'T'HH:mm:ss.SSS'Z'` and in system default timezone.
+If you need to customize format and timezone, you can update your template.json or by configuring `log4j2.component.properties` as shown in examples below:
+
+=== "my-custom-template.json"
+
+ ```json
+ {
+ "timestamp": {
+ "$resolver": "timestamp",
+ "pattern": {
+ "format": "yyyy-MM-dd HH:mm:ss",
+ "timeZone": "Europe/Paris",
+ }
+ },
+ }
+ ```
+
+=== "log4j2.component.properties"
+
+ ```properties hl_lines="1 2"
+ log4j.layout.jsonTemplate.timestampFormatPattern=yyyy-MM-dd'T'HH:mm:ss.SSSZz
+ log4j.layout.jsonTemplate.timeZone=Europe/Oslo
+ ```
+
+See [`TimestampResolver` documentation](https://logging.apache.org/log4j/2.x/manual/json-template-layout.html#event-template-resolver-timestamp){target="_blank"} for more details.
+
+???+ warning "Lambda Advanced Logging Controls date format"
+ When using the Lambda ALC, you must have a date format compatible with the [RFC3339](https://www.rfc-editor.org/rfc/rfc3339)
+
+#### More customization
+You can also customize how [exceptions are logged](https://logging.apache.org/log4j/2.x/manual/json-template-layout.html#event-template-resolver-exception){target="_blank"}, and much more.
+See the [JSON Layout template documentation](https://logging.apache.org/log4j/2.x/manual/json-template-layout.html){target="_blank"} for more details.
+
+### Logback configuration
+Logback configuration is done in _logback.xml_ and the `LambdaJsonEncoder`:
+
+```xml
+
+
+
+
+```
+
+The `LambdaJsonEncoder` can be customized in different ways:
+
+#### Customising date format
+Utility by default emits `timestamp` field in the logs in format `yyyy-MM-dd'T'HH:mm:ss.SSS'Z'` and in system default timezone.
+If you need to customize format and timezone, you can change use the following:
+
+```xml
+
+ yyyy-MM-dd HH:mm:ss
+ Europe/Paris
+
+```
+
+#### More customization
+
+- You can use a standard `ThrowableHandlingConverter` to customize the exception format (default is no converter). Example:
+
+```xml
+
+
+ 30
+ 2048
+ 20
+ sun\.reflect\..*\.invoke.*
+ net\.sf\.cglib\.proxy\.MethodProxy\.invoke
+
+ true
+ true
+
+
+```
+
+- You can choose to add information about threads (default is `false`):
+
+```xml
+
+ true
+
+```
+
+- You can even choose to remove Powertools information from the logs like function name, arn:
+
+```xml
+
+ false
+
+```
+
+## Elastic Common Schema (ECS) Support
+
+Utility also supports [Elastic Common Schema(ECS)](https://www.elastic.co/guide/en/ecs/current/ecs-reference.html){target="_blank"} format.
+The field emitted in logs will follow specs from [ECS](https://www.elastic.co/guide/en/ecs/current/ecs-reference.html){target="_blank"} together with field captured by utility as mentioned [above](#standard-structured-keys).
+
+### Log4j2 configuration
+
+Use `LambdaEcsLayout.json` as `eventTemplateUri` when configuring `JsonTemplateLayout`.
+
+=== "log4j2.xml"
+
+ ```xml hl_lines="5"
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ```
+
+### Logback configuration
+
+Use the `LambdaEcsEncoder` rather than the `LambdaJsonEncoder` when configuring the appender:
+
+=== "logback.xml"
+
+ ```xml hl_lines="3"
+
+
+
+
+
+
+
+
+
+ ```
diff --git a/docs/core/metrics.md b/docs/core/metrics.md
new file mode 100644
index 000000000..e7f7bd87f
--- /dev/null
+++ b/docs/core/metrics.md
@@ -0,0 +1,691 @@
+---
+title: Metrics
+description: Core utility
+---
+
+Metrics creates custom metrics asynchronously by logging metrics to standard output following [Amazon CloudWatch Embedded Metric Format (EMF)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format.html).
+
+These metrics can be visualized through [Amazon CloudWatch Console](https://aws.amazon.com/cloudwatch/).
+
+## Key features
+
+- Aggregate up to 100 metrics using a single [CloudWatch EMF](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format_Specification.html){target="\_blank"} object (large JSON blob)
+- Validating your metrics against common metric definitions mistakes (for example, metric unit, values, max dimensions, max metrics)
+- Metrics are created asynchronously by the CloudWatch service. You do not need any custom stacks, and there is no impact to Lambda function latency
+- Support for creating one off metrics with different dimensions
+- GraalVM support
+
+## Terminologies
+
+If you're new to Amazon CloudWatch, there are some terminologies you must be aware of before using this utility:
+
+- **Namespace**. It's the highest level container that will group multiple metrics from multiple services for a given application, for example `ServerlessAirline`.
+- **Dimensions**. Metrics metadata in key-value format. They help you slice and dice metrics visualization, for example `ColdStart` metric by `service`.
+- **Metric**. It's the name of the metric, for example: `SuccessfulBooking` or `UpdatedBooking`.
+- **Unit**. It's a value representing the unit of measure for the corresponding metric, for example: `Count` or `Seconds`.
+- **Resolution**. It's a value representing the storage resolution for the corresponding metric. Metrics can be either `Standard` or `High` resolution. Read more about CloudWatch Periods [here](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Resolution_definition).
+
+Visit the AWS documentation for a complete explanation for [Amazon CloudWatch concepts](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html).
+
+
+
+ Metric terminology, visually explained
+
+
+## Install
+
+=== "Maven"
+
+ ```xml hl_lines="3-7 16 18 24-27"
+
+ ...
+
+ software.amazon.lambda
+ powertools-metrics
+ {{ powertools.version }}
+
+ ...
+
+ ...
+
+
+
+
+ ...
+
+ dev.aspectj
+ aspectj-maven-plugin
+ 1.14
+
+ 11
+ 11
+ 11
+
+
+ software.amazon.lambda
+ powertools-metrics
+
+
+
+
+
+ org.aspectj
+ aspectjtools
+
+ 1.9.22
+
+
+
+
+
+ compile
+
+
+
+
+ ...
+
+
+ ```
+
+=== "Gradle"
+
+ ```groovy hl_lines="3 11 12"
+ plugins {
+ id 'java'
+ id 'io.freefair.aspectj.post-compile-weaving' version '8.1.0' // Not needed when using the functional approach
+ }
+
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ aspect 'software.amazon.lambda:powertools-metrics:{{ powertools.version }}' // Not needed when using the functional approach
+ implementation 'software.amazon.lambda:powertools-metrics:{{ powertools.version }}' // Use this instead of 'aspect' when using the functional approach
+ }
+
+ sourceCompatibility = 11
+ targetCompatibility = 11
+ ```
+
+## Getting started
+
+Metrics has three global settings that will be used across all metrics emitted. Use your application or main service as the metric namespace to easily group all metrics:
+
+| Setting | Description | Environment variable | Decorator parameter |
+| -------------------- | ------------------------------------------------------------------------------- | ---------------------------------- | ------------------- |
+| **Metric namespace** | Logical container where all metrics will be placed e.g. `ServerlessAirline` | `POWERTOOLS_METRICS_NAMESPACE` | `namespace` |
+| **Service** | Optionally, sets **service** metric dimension across all metrics e.g. `payment` | `POWERTOOLS_SERVICE_NAME` | `service` |
+| **Function name** | Function name used as dimension for the cold start metric | `POWERTOOLS_METRICS_FUNCTION_NAME` | `functionName` |
+| **Disable Metrics** | Optionally, disables all metrics flushing | `POWERTOOLS_METRICS_DISABLED` | N/A |
+
+!!! tip "Use your application or main service as the metric namespace to easily group all metrics"
+
+!!! info "`POWERTOOLS_METRICS_DISABLED` will not disable default metrics created by AWS services."
+
+### Order of Precedence of `Metrics` configuration
+
+The `Metrics` Singleton can be configured by three different interfaces. The following order of precedence applies:
+
+1. `@FlushMetrics` annotation
+2. `MetricsBuilder` using Builder pattern (see [Advanced section](#usage-without-flushmetrics-annotation))
+3. Environment variables (recommended)
+
+For most use-cases, we recommend using Environment variables and only overwrite settings in code where needed using either the `@FlushMetrics` annotation or `MetricsBuilder` if the annotation cannot be used.
+
+=== "@FlushMetrics annotation"
+
+ ```java hl_lines="9"
+ import software.amazon.lambda.powertools.metrics.FlushMetrics;
+ import software.amazon.lambda.powertools.metrics.MetricsFactory;
+
+ public class MetricsEnabledHandler implements RequestHandler {
+
+ private static final Metrics metrics = MetricsFactory.getMetricsInstance();
+
+ @Override
+ @FlushMetrics(namespace = "ServerlessAirline", service = "payment")
+ public Object handleRequest(Object input, Context context) {
+ // ...
+ }
+ }
+ ```
+
+=== "MetricsBuilder"
+
+ ```java hl_lines="7-8"
+ import software.amazon.lambda.powertools.metrics.Metrics;
+ import software.amazon.lambda.powertools.metrics.MetricsBuilder;
+
+ public class MetricsEnabledHandler implements RequestHandler {
+
+ private static final Metrics metrics = MetricsBuilder.builder()
+ .withNamespace("ServerlessAirline")
+ .withService("payment")
+ .build();
+
+ @Override
+ public Object handleRequest(Object input, Context context) {
+ // ...
+ metrics.flush();
+ }
+ }
+ ```
+
+=== "Environment variables"
+
+ ```yaml hl_lines="9 10"
+ Resources:
+ HelloWorldFunction:
+ Type: AWS::Serverless::Function
+ Properties:
+ ...
+ Runtime: java11
+ Environment:
+ Variables:
+ POWERTOOLS_SERVICE_NAME: payment
+ POWERTOOLS_METRICS_NAMESPACE: ServerlessAirline
+ ```
+
+`Metrics` is implemented as a Singleton to keep track of your aggregate metrics in memory and make them accessible anywhere in your code. The `@FlushMetrics` annotation automatically flushes metrics at the end of the Lambda handler execution. Alternatively, you can use the functional approach and manually flush metrics using `metrics.flush()`.
+
+!!!info "Read more about the functional approach in the [advanced section below](#usage-without-flushmetrics-annotation)."
+
+## Creating metrics
+
+You can create metrics using `addMetric`, and manually create dimensions for all your aggregate metrics using `addDimension`. Anywhere in your code, you can access the current `Metrics` Singleton using the `MetricsFactory`.
+
+=== "MetricsEnabledHandler.java"
+
+ ```java hl_lines="13"
+ import software.amazon.lambda.powertools.metrics.FlushMetrics;
+ import software.amazon.lambda.powertools.metrics.Metrics;
+ import software.amazon.lambda.powertools.metrics.MetricsFactory;
+ import software.amazon.lambda.powertools.metrics.model.MetricUnit;
+
+ public class MetricsEnabledHandler implements RequestHandler {
+
+ private static final Metrics metrics = MetricsFactory.getMetricsInstance();
+
+ @Override
+ @FlushMetrics(namespace = "ServerlessAirline", service = "payment")
+ public Object handleRequest(Object input, Context context) {
+ metrics.addDimension("environment", "prod");
+ metrics.addMetric("SuccessfulBooking", 1, MetricUnit.COUNT);
+ // ...
+ }
+ }
+ ```
+
+!!! tip "The `MetricUnit` enum facilitates finding a supported metric unit by CloudWatch."
+
+
+!!! note "Metrics dimensions"
+ CloudWatch EMF supports a max of 9 dimensions per metric. The Metrics utility will validate this limit when adding dimensions.
+
+
+### Adding high-resolution metrics
+
+You can create [high-resolution metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html#high-resolution-metrics)
+passing a `#!java MetricResolution.HIGH` to the `addMetric` method. If nothing is passed `#!java MetricResolution.STANDARD` will be used.
+
+=== "HigResMetricsHandler.java"
+
+ ```java hl_lines="3 13"
+ import software.amazon.lambda.powertools.metrics.FlushMetrics;
+ import software.amazon.lambda.powertools.metrics.Metrics;
+ import software.amazon.lambda.powertools.metrics.model.MetricResolution;
+
+ public class MetricsEnabledHandler implements RequestHandler {
+
+ private static final Metrics metrics = MetricsFactory.getMetricsInstance();
+
+ @Override
+ @FlushMetrics(namespace = "ServerlessAirline", service = "payment")
+ public Object handleRequest(Object input, Context context) {
+ // ...
+ metrics.addMetric("SuccessfulBooking", 1, MetricUnit.COUNT, MetricResolution.HIGH);
+ }
+ }
+ ```
+
+
+!!! info "When is it useful?"
+ High-resolution metrics are data with a granularity of one second and are very useful in several situations such as telemetry, time series, real-time incident management, and others.
+
+
+### Adding dimensions
+
+You can add dimensions to your metrics using the `addDimension` method. You can either pass key-value pairs or you can create higher cardinality dimensions using `DimensionSet`.
+
+=== "KeyValueDimensionHandler.java"
+
+ ```java hl_lines="3 13"
+ import software.amazon.lambda.powertools.metrics.FlushMetrics;
+ import software.amazon.lambda.powertools.metrics.Metrics;
+ import software.amazon.lambda.powertools.metrics.model.MetricResolution;
+
+ public class MetricsEnabledHandler implements RequestHandler {
+
+ private static final Metrics metrics = MetricsFactory.getMetricsInstance();
+
+ @Override
+ @FlushMetrics(namespace = "ServerlessAirline", service = "payment")
+ public Object handleRequest(Object input, Context context) {
+ metrics.addDimension("Dimension", "Value");
+ metrics.addMetric("SuccessfulBooking", 1, MetricUnit.COUNT);
+ }
+ }
+ ```
+
+=== "HighCardinalityDimensionHandler.java"
+
+ ```java hl_lines="4 13-14"
+ import software.amazon.lambda.powertools.metrics.FlushMetrics;
+ import software.amazon.lambda.powertools.metrics.Metrics;
+ import software.amazon.lambda.powertools.metrics.model.MetricResolution;
+ import software.amazon.lambda.powertools.metrics.model.DimensionSet;
+
+ public class MetricsEnabledHandler implements RequestHandler {
+
+ private static final Metrics metrics = MetricsFactory.getMetricsInstance();
+
+ @Override
+ @FlushMetrics(namespace = "ServerlessAirline", service = "payment")
+ public Object handleRequest(Object input, Context context) {
+ // You can add up to 30 dimensions in a single DimensionSet
+ metrics.addDimension(DimensionSet.of("Dimension1", "Value1", "Dimension2", "Value2"));
+ metrics.addMetric("SuccessfulBooking", 1, MetricUnit.COUNT);
+ }
+ }
+ ```
+
+### Flushing metrics
+
+The `@FlushMetrics` annotation **validates**, **serializes**, and **flushes** all your metrics. During metrics validation,
+if no metrics are provided no exception will be raised. If metrics are provided, and any of the following criteria are
+not met, `IllegalStateException` or `IllegalArgumentException` exceptions will be raised.
+
+
+!!! tip "Metric validation"
+ - Maximum of 30 dimensions (`Service` default dimension counts as a regular dimension)
+ - Dimension keys and values cannot be null or empty
+ - Metric values must be valid numbers
+
+
+If you want to ensure that at least one metric is emitted, you can pass `raiseOnEmptyMetrics = true` to the `@FlushMetrics` annotation:
+
+=== "MetricsRaiseOnEmpty.java"
+
+ ```java hl_lines="6"
+ import software.amazon.lambda.powertools.metrics.FlushMetrics;
+
+ public class MetricsRaiseOnEmpty implements RequestHandler {
+
+ @Override
+ @FlushMetrics(raiseOnEmptyMetrics = true)
+ public Object handleRequest(Object input, Context context) {
+ ...
+ }
+ }
+ ```
+
+## Capturing cold start metric
+
+You can capture cold start metrics automatically with `@FlushMetrics` via the `captureColdStart` variable.
+
+=== "MetricsColdStart.java"
+
+ ```java hl_lines="6"
+ import software.amazon.lambda.powertools.metrics.FlushMetrics;
+
+ public class MetricsColdStart implements RequestHandler {
+
+ @Override
+ @FlushMetrics(captureColdStart = true)
+ public Object handleRequest(Object input, Context context) {
+ ...
+ }
+ }
+ ```
+
+If it's a cold start invocation, this feature will:
+
+- Create a separate EMF blob solely containing a metric named `ColdStart`
+- Add `FunctionName` and `Service` dimensions
+
+This has the advantage of keeping cold start metric separate from your application metrics.
+
+You can also specify a custom function name to be used in the cold start metric:
+
+=== "MetricsColdStartCustomFunction.java"
+
+ ```java hl_lines="6"
+ import software.amazon.lambda.powertools.metrics.FlushMetrics;
+
+ public class MetricsColdStartCustomFunction implements RequestHandler {
+
+ @Override
+ @FlushMetrics(captureColdStart = true, functionName = "CustomFunction")
+ public Object handleRequest(Object input, Context context) {
+ ...
+ }
+ }
+ ```
+
+
+!!!tip "You can overwrite the default `Service` and `FunctionName` dimensions of the cold start metric"
+ Set `#!java @FlushMetrics(captureColdStart = false)` and use the `captureColdStartMetric` method manually:
+
+ ```java hl_lines="6 8"
+ public class MetricsColdStartCustomFunction implements RequestHandler {
+
+ private static final Metrics metrics = MetricsFactory.getMetricsInstance();
+
+ @Override
+ @FlushMetrics(captureColdStart = false)
+ public Object handleRequest(Object input, Context context) {
+ metrics.captureColdStartMetric(context, DimensionSet.of("CustomDimension", "CustomValue"));
+ ...
+ }
+ }
+ ```
+
+
+## Advanced
+
+### Adding metadata
+
+You can use `addMetadata` for advanced use cases, where you want to add metadata as part of the serialized metrics object.
+
+
+!!! info
+ This will not be available during metrics visualization, use Dimensions for this purpose.
+
+!!! info
+ Adding metadata with a key that is the same as an existing metric will be ignored.
+
+
+=== "App.java"
+
+ ```java hl_lines="13"
+ import software.amazon.lambda.powertools.metrics.FlushMetrics;
+ import software.amazon.lambda.powertools.metrics.Metrics;
+ import software.amazon.lambda.powertools.metrics.MetricsFactory;
+
+ public class App implements RequestHandler {
+
+ private static final Metrics metrics = MetricsFactory.getMetricsInstance();
+
+ @Override
+ @FlushMetrics(namespace = "ServerlessAirline", service = "booking-service")
+ public Object handleRequest(Object input, Context context) {
+ metrics.addMetric("CustomMetric1", 1, MetricUnit.COUNT);
+ metrics.addMetadata("booking_id", "1234567890"); // Needs to be added BEFORE flushing
+ ...
+ }
+ }
+ ```
+
+This will be available in CloudWatch Logs to ease operations on high cardinal data.
+
+### Setting default dimensions
+
+By default, all metrics emitted via module captures `Service` as one of the default dimensions. This is either specified via `POWERTOOLS_SERVICE_NAME` environment variable or via `service` attribute on `Metrics` annotation.
+
+If you wish to set custom default dimensions, it can be done via `#!java metrics.setDefaultDimensions()`. You can also use the `MetricsBuilder` instead of the `MetricsFactory` to configure **and** retrieve the `Metrics` Singleton at the same time (see `MetricsBuilder.java` tab).
+
+=== "App.java"
+
+ ```java hl_lines="13"
+ import software.amazon.lambda.powertools.metrics.FlushMetrics;
+ import software.amazon.lambda.powertools.metrics.Metrics;
+ import software.amazon.lambda.powertools.metrics.MetricsFactory;
+ import software.amazon.lambda.powertools.metrics.model.DimensionSet;
+
+ public class App implements RequestHandler {
+
+ private static final Metrics metrics = MetricsFactory.getMetricsInstance();
+
+ @Override
+ @FlushMetrics(namespace = "ServerlessAirline", service = "payment")
+ public Object handleRequest(Object input, Context context) {
+ metrics.setDefaultDimensions(DimensionSet.of("CustomDimension", "booking", "Environment", "prod"));
+ ...
+ }
+ }
+ ```
+
+=== "MetricsBuilder.java"
+
+ ```java hl_lines="8-10"
+ import software.amazon.lambda.powertools.metrics.FlushMetrics;
+ import software.amazon.lambda.powertools.metrics.Metrics;
+ import software.amazon.lambda.powertools.metrics.MetricsFactory;
+ import software.amazon.lambda.powertools.metrics.model.DimensionSet;
+
+ public class App implements RequestHandler {
+
+ private static final Metrics metrics = MetricsBuilder.builder()
+ .withDefaultDimensions(DimensionSet.of("CustomDimension", "booking", "Environment", "prod"))
+ .build();
+
+ @Override
+ @FlushMetrics(namespace = "ServerlessAirline", service = "payment")
+ public Object handleRequest(Object input, Context context) {
+ metrics.addMetric("CustomMetric1", 1, MetricUnit.COUNT);
+ ...
+ }
+ }
+ ```
+
+
+!!!note
+ Overwriting the default dimensions will also overwrite the default `Service` dimension. If you wish to keep `Service` in your default dimensions, you need to add it manually.
+
+
+### Creating metrics with different configuration
+
+You can create metrics with different configurations e.g. different namespace and/or dimensions using `flushMetrics()`:
+
+=== "App.java"
+
+ ```java hl_lines="12-22"
+ import software.amazon.lambda.powertools.metrics.Metrics;
+ import software.amazon.lambda.powertools.metrics.MetricsFactory;
+ import software.amazon.lambda.powertools.metrics.model.DimensionSet;
+ import software.amazon.lambda.powertools.metrics.model.MetricUnit;
+
+ public class App implements RequestHandler {
+ private static final Metrics metrics = MetricsFactory.getMetricsInstance();
+
+ @Override
+ @FlushMetrics(namespace = "ServerlessAirline", service = "payment")
+ public Object handleRequest(Object input, Context context) {
+ metrics.flushMetrics((customMetrics) -> {
+ customMetrics.addMetric("CustomMetric", 1, MetricUnit.COUNT);
+ // To optionally set a different namespace
+ customMetrics.setNamespace("CustomNamespace");
+ // To optionally set different default dimensions
+ customMetrics.setDefaultDimensions(DimensionSet.of("CustomDefaultDimension", "value"));
+ // To optionally append additional dimensions to default dimensions
+ customMetrics.addDimension(DimensionSet.of("CustomDimension", "value"));
+ // To optionally add metadata
+ customMetrics.addMetadata("CustomMetadata", "value"));
+ });
+ }
+ }
+ ```
+
+
+!!! info
+ Generally, this would be an edge case since you [pay for unique metric](https://aws.amazon.com/cloudwatch/pricing). Keep the following formula in mind:
+
+ **unique metric = (metric_name + dimension_name + dimension_value)**
+
+
+### Usage without `@FlushMetrics` annotation
+
+You can use the **functional API** approach (see [usage patterns](../usage-patterns.md#functional-approach)) to work with Metrics without the `@FlushMetrics` annotation. The `Metrics` Singleton provides all configuration options via `MetricsBuilder`. This approach eliminates the AspectJ runtime dependency and is useful if you work in an environment or with a framework that does not leverage the vanilla Lambda `handleRequest` method.
+
+!!!info "The environment variables for Service and Namespace configuration still apply but can be overwritten with `MetricsBuilder` if needed."
+
+The following example shows how to configure a custom `Metrics` Singleton using the Builder pattern. With the functional approach, you must manually flush metrics using `metrics.flush()`.
+
+=== "App.java"
+
+ ```java hl_lines="7-12 19 24"
+ import software.amazon.lambda.powertools.metrics.Metrics;
+ import software.amazon.lambda.powertools.metrics.MetricsBuilder;
+ import software.amazon.lambda.powertools.metrics.model.DimensionSet;
+ import software.amazon.lambda.powertools.metrics.model.MetricUnit;
+
+ public class App implements RequestHandler {
+ // Create and configure a Metrics singleton using the functional approach
+ private static final Metrics metrics = MetricsBuilder.builder()
+ .withNamespace("ServerlessAirline")
+ .withRaiseOnEmptyMetrics(true)
+ .withService("payment")
+ .build();
+
+ @Override
+ public Object handleRequest(Object input, Context context) {
+ // You can manually capture the cold start metric
+ // Lambda context is an optional argument if not available in your environment
+ // Dimensions are also optional.
+ metrics.captureColdStartMetric(context, DimensionSet.of("FunctionName", "MyFunction", "Service", "payment"));
+
+ // Add metrics
+ metrics.addMetric("CustomMetric", 1, MetricUnit.COUNT);
+ // Manually flush metrics
+ metrics.flush();
+ }
+ }
+ ```
+
+## Testing your code
+
+### Suppressing metrics output
+
+If you would like to suppress metrics output during your unit tests, you can use the `POWERTOOLS_METRICS_DISABLED` environment variable. For example, using Maven you can set in your build plugins:
+
+```xml
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ true
+
+
+
+```
+
+### Asserting EMF output
+
+When unit testing your code, you can run assertions against the output generated by the `Metrics` Singleton. For the `EmfMetricsLogger`, you can assert the generated JSON blob following the [CloudWatch EMF specification](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format.html) against your expected output.
+
+Make sure to set a test metrics namespace and service name to run assertions against metrics. For example, by setting the following environment variables in your tests:
+
+```xml
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ TestService
+ TestNamespace
+
+
+
+```
+
+Consider the following example where we redirect the standard output to a custom `PrintStream`. We use the Jackson library to parse the EMF output into a `JsonNode` and run assertions against that.
+
+```java hl_lines="35 40 56-72"
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+
+import com.amazonaws.services.lambda.runtime.Context;
+import com.amazonaws.services.lambda.runtime.RequestHandler;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import software.amazon.lambda.powertools.metrics.model.MetricUnit;
+
+@ExtendWith(MockitoExtension.class)
+class MetricsTestExample {
+
+ @Mock
+ Context lambdaContext;
+
+ private final PrintStream standardOut = System.out;
+ private ByteArrayOutputStream outputStreamCaptor;
+ private final ObjectMapper objectMapper = new ObjectMapper();
+
+ @BeforeEach
+ void setUp() {
+ outputStreamCaptor = new ByteArrayOutputStream();
+ System.setOut(new PrintStream(outputStreamCaptor));
+ }
+
+ @AfterEach
+ void tearDown() throws Exception {
+ System.setOut(standardOut);
+ }
+
+ @Test
+ void shouldCaptureMetricsFromAnnotatedHandler() throws Exception {
+ // Given
+ RequestHandler, String> handler = new HandlerWithMetricsAnnotation();
+ Map input = new HashMap<>();
+
+ // When
+ handler.handleRequest(input, lambdaContext);
+
+ // Then
+ String emfOutput = outputStreamCaptor.toString().trim();
+ String[] jsonLines = emfOutput.split("\n");
+
+ // First JSON object should be the cold start metric
+ JsonNode coldStartNode = objectMapper.readTree(jsonLines[0]);
+ assertThat(coldStartNode.has("ColdStart")).isTrue();
+ assertThat(coldStartNode.get("ColdStart").asDouble()).isEqualTo(1.0);
+ assertThat(coldStartNode.get("_aws").get("CloudWatchMetrics").get(0).get("Namespace").asText())
+ .isEqualTo("TestNamespace");
+ assertThat(coldStartNode.has("Service")).isTrue();
+ assertThat(coldStartNode.get("Service").asText()).isEqualTo("TestService");
+
+ // Second JSON object should be the regular metric
+ JsonNode regularNode = objectMapper.readTree(jsonLines[1]);
+ assertThat(regularNode.has("test-metric")).isTrue();
+ assertThat(regularNode.get("test-metric").asDouble()).isEqualTo(100.0);
+ assertThat(regularNode.get("_aws").get("CloudWatchMetrics").get(0).get("Namespace").asText())
+ .isEqualTo("TestNamespace");
+ assertThat(regularNode.has("Service")).isTrue();
+ assertThat(regularNode.get("Service").asText()).isEqualTo("TestService");
+ }
+
+ static class HandlerWithMetricsAnnotation implements RequestHandler, String> {
+ @Override
+ @FlushMetrics(captureColdStart = true)
+ public String handleRequest(Map input, Context context) {
+ Metrics metrics = MetricsFactory.getMetricsInstance();
+ metrics.addMetric("test-metric", 100, MetricUnit.COUNT);
+ return "OK";
+ }
+ }
+}
+```
diff --git a/docs/core/tracing.md b/docs/core/tracing.md
new file mode 100644
index 000000000..1cd37f91c
--- /dev/null
+++ b/docs/core/tracing.md
@@ -0,0 +1,498 @@
+---
+title: Tracing
+description: Core utility
+---
+
+The Tracing utility is an opinionated thin wrapper for [AWS X-Ray Java SDK](https://github.com/aws/aws-xray-sdk-java/)
+a provides functionality to reduce the overhead of performing common tracing tasks.
+
+
+
+ **Key Features**
+
+ * Capture cold start as annotation, and responses as well as full exceptions as metadata
+ * Helper methods to improve the developer experience of creating new X-Ray subsegments.
+ * Better developer experience when developing with multiple threads.
+ * Auto patch supported modules by AWS X-Ray
+ * GraalVM support
+
+## Install
+
+=== "Maven"
+
+ ```xml hl_lines="3-7 25-28"
+
+ ...
+
+ software.amazon.lambda
+ powertools-tracing
+ {{ powertools.version }}
+
+ ...
+
+ ...
+
+
+
+
+ ...
+
+ dev.aspectj
+ aspectj-maven-plugin
+ 1.14
+
+ 11
+ 11
+ 11
+
+
+ software.amazon.lambda
+ powertools-tracing
+
+
+
+
+
+ org.aspectj
+ aspectjtools
+
+ 1.9.22
+
+
+
+
+
+ compile
+
+
+
+
+ ...
+
+
+ ```
+
+=== "Gradle"
+
+ ```groovy hl_lines="3 11 12"
+ plugins {
+ id 'java'
+ id 'io.freefair.aspectj.post-compile-weaving' version '8.1.0' // Not needed when using the functional approach
+ }
+
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ aspect 'software.amazon.lambda:powertools-tracing:{{ powertools.version }}' // Not needed when using the functional approach
+ implementation 'software.amazon.lambda:powertools-tracing:{{ powertools.version }}' // Use this instead of 'aspect' when using the functional approach
+ }
+
+ sourceCompatibility = 11 // or higher
+ targetCompatibility = 11 // or higher
+ ```
+
+## Initialization
+
+Before your use this utility, your AWS Lambda function [must have permissions](https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html#services-xray-permissions) to send traces to AWS X-Ray.
+
+> Example using AWS Serverless Application Model (SAM)
+
+=== "template.yaml"
+
+ ```yaml hl_lines="8 11"
+ Resources:
+ HelloWorldFunction:
+ Type: AWS::Serverless::Function
+ Properties:
+ ...
+ Runtime: java11
+
+ Tracing: Active
+ Environment:
+ Variables:
+ POWERTOOLS_SERVICE_NAME: example
+ ```
+
+The Powertools for AWS Lambda (Java) service name is used as the X-Ray namespace. This can be set using the environment variable
+`POWERTOOLS_SERVICE_NAME`
+
+### Lambda handler
+
+You can enable tracing using either the `@Tracing` annotation or the functional API.
+
+**With the `@Tracing` annotation**, add it to your `handleRequest` method or any method to capture it as a separate subsegment automatically. You can optionally customize the segment name that appears in traces.
+
+**With the functional API**, use `TracingUtils.withSubsegment()` to manually create subsegments without AspectJ configuration.
+
+=== "@Tracing annotation"
+
+ ```java hl_lines="3 10 15"
+ public class App implements RequestHandler {
+
+ @Tracing
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ businessLogic1();
+
+ businessLogic2();
+ }
+
+ @Tracing
+ public void businessLogic1(){
+
+ }
+
+ @Tracing
+ public void businessLogic2(){
+
+ }
+ }
+ ```
+
+=== "Functional API"
+
+ ```java hl_lines="1 6 7 8 10 11 12"
+ import software.amazon.lambda.powertools.tracing.TracingUtils;
+
+ public class App implements RequestHandler {
+
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ TracingUtils.withSubsegment("businessLogic1", subsegment -> {
+ // Business logic 1
+ });
+
+ TracingUtils.withSubsegment("businessLogic2", subsegment -> {
+ // Business logic 2
+ });
+ }
+ }
+ ```
+
+=== "Custom Segment names"
+
+ ```java hl_lines="3"
+ public class App implements RequestHandler {
+
+ @Tracing(segmentName="yourCustomName")
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ ...
+ }
+ ```
+
+When using the `@Tracing` annotation, the utility performs these additional tasks to ease operations:
+
+ * Creates a `ColdStart` annotation to easily filter traces that have had an initialization overhead.
+ * Creates a `Service` annotation if service parameter or `POWERTOOLS_SERVICE_NAME` is set.
+ * Captures any response, or full exceptions generated by the handler, and include as tracing metadata.
+
+By default, the `@Tracing` annotation uses `captureMode=ENVIRONMENT_VAR`, which means it will only record method responses and exceptions if you set
+the environment variables `POWERTOOLS_TRACER_CAPTURE_RESPONSE` and `POWERTOOLS_TRACER_CAPTURE_ERROR` to `true`. You can override this behavior by
+specifying a different `captureMode` to always record response, exception, both, or neither.
+
+!!! note
+ When using the functional API with `TracingUtils.withSubsegment()`, response and exception capture is not automatic. You can manually add metadata using `TracingUtils.putMetadata()` as needed.
+
+!!! warning "Returning sensitive information from your Lambda handler or functions?"
+ When using the `@Tracing` annotation, you can disable it from capturing responses and exceptions as tracing metadata with **`captureMode=DISABLED`**
+ or globally by setting the environment variables **`POWERTOOLS_TRACER_CAPTURE_RESPONSE`** and **`POWERTOOLS_TRACER_CAPTURE_ERROR`** to **`false`**.
+ When using the functional API, you have full control over what metadata is captured.
+
+=== "@Tracing annotation - Disable on method"
+
+ ```java hl_lines="3"
+ public class App implements RequestHandler {
+
+ @Tracing(captureMode=CaptureMode.DISABLED)
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ ...
+ }
+ ```
+
+=== "@Tracing annotation - Disable Globally"
+
+ ```yaml hl_lines="11 12"
+ Resources:
+ HelloWorldFunction:
+ Type: AWS::Serverless::Function
+ Properties:
+ ...
+ Runtime: java11
+
+ Tracing: Active
+ Environment:
+ Variables:
+ POWERTOOLS_TRACER_CAPTURE_RESPONSE: false
+ POWERTOOLS_TRACER_CAPTURE_ERROR: false
+ ```
+
+=== "Functional API"
+
+ ```java hl_lines="6 7 8"
+ import software.amazon.lambda.powertools.tracing.TracingUtils;
+
+ public class App implements RequestHandler {
+
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ TracingUtils.withSubsegment("businessLogic", subsegment -> {
+ // With functional API, you control what metadata is captured
+ });
+ }
+ ```
+
+### Annotations & Metadata
+
+**Annotations** are key-values associated with traces and indexed by AWS X-Ray. You can use them to filter traces and to
+create [Trace Groups](https://aws.amazon.com/about-aws/whats-new/2018/11/aws-xray-adds-the-ability-to-group-traces/) to slice and dice your transactions.
+
+**Metadata** are key-values also associated with traces but not indexed by AWS X-Ray. You can use them to add additional
+context for an operation using any native object.
+
+=== "Annotations"
+
+ You can add annotations using `putAnnotation()` method from TracingUtils
+ ```java hl_lines="8"
+ import software.amazon.lambda.powertools.tracing.Tracing;
+ import software.amazon.lambda.powertools.tracing.TracingUtils;
+
+ public class App implements RequestHandler {
+
+ @Tracing
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ TracingUtils.putAnnotation("annotation", "value");
+ }
+ }
+ ```
+
+=== "Metadata"
+
+ You can add metadata using `putMetadata()` method from TracingUtils
+ ```java hl_lines="8"
+ import software.amazon.lambda.powertools.tracing.Tracing;
+ import software.amazon.lambda.powertools.tracing.TracingUtils;
+
+ public class App implements RequestHandler {
+
+ @Tracing
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ TracingUtils.putMetadata("content", "value");
+ }
+ }
+ ```
+
+## Override default object mapper
+
+You can optionally choose to override default object mapper which is used to serialize method response and exceptions when enabled. You might
+want to supply custom object mapper in order to control how serialisation is done, for example, when you want to log only
+specific fields from received event due to security.
+
+=== "App.java"
+
+ ```java hl_lines="10-14"
+ import software.amazon.lambda.powertools.tracing.Tracing;
+ import software.amazon.lambda.powertools.tracing.TracingUtils;
+ import static software.amazon.lambda.powertools.tracing.CaptureMode.RESPONSE;
+
+ /**
+ * Handler for requests to Lambda function.
+ */
+ public class App implements RequestHandler {
+ static {
+ ObjectMapper objectMapper = new ObjectMapper();
+ SimpleModule simpleModule = new SimpleModule();
+ objectMapper.registerModule(simpleModule);
+
+ TracingUtils.defaultObjectMapper(objectMapper);
+ }
+
+ @Tracing(captureMode = RESPONSE)
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ ...
+ }
+ }
+ ```
+
+## Advanced usage
+
+### Multi-threaded programming
+
+When working with multiple threads, you need to pass the trace entity to ensure proper trace context propagation.
+
+=== "Multi-threaded example"
+
+ ```java hl_lines="7 9 10 11"
+ import static software.amazon.lambda.powertools.tracing.TracingUtils.withEntitySubsegment;
+
+ public class App implements RequestHandler {
+
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ // Extract existing trace data
+ Entity traceEntity = AWSXRay.getTraceEntity();
+
+ Thread anotherThread = new Thread(() -> withEntitySubsegment("inlineLog", traceEntity, subsegment -> {
+ // Business logic in separate thread
+ }));
+ }
+ }
+ ```
+
+## Instrumenting SDK clients and HTTP calls
+
+### AWS SDK for Java 2.x
+
+Powertools for AWS Lambda (Java) includes the `aws-xray-recorder-sdk-aws-sdk-v2-instrumentor` library, which **automatically instruments all AWS SDK v2 clients** when you add the `powertools-tracing` dependency to your project. This means downstream calls to AWS services are traced without any additional configuration.
+
+If you need more control over which clients are instrumented, you can manually add the `TracingInterceptor` to specific clients:
+
+=== "Manual instrumentation (optional)"
+
+ ```java hl_lines="1 2 3 8 9 10 11"
+ import com.amazonaws.xray.interceptors.TracingInterceptor;
+ import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration;
+ import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
+
+ public class LambdaHandler {
+ private DynamoDbClient client = DynamoDbClient.builder()
+ .region(Region.US_WEST_2)
+ .overrideConfiguration(ClientOverrideConfiguration.builder()
+ .addExecutionInterceptor(new TracingInterceptor())
+ .build()
+ )
+ .build();
+ // ...
+ }
+ ```
+
+For more details, refer to the [AWS X-Ray documentation on tracing AWS SDK calls](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-java-awssdkclients.html) and [outgoing HTTP calls](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-java-httpclients.html).
+
+## Testing your code
+
+When using `@Tracing` annotation, your Junit test cases needs to be configured to create parent Segment required by [AWS X-Ray SDK for Java](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-java.html).
+
+Below are two ways in which you can configure your tests.
+
+#### Configure environment variable on project level (Recommended)
+
+You can choose to configure environment variable on project level for your test cases run. This is recommended approach as it will avoid the need of configuring each test case specifically.
+
+Below are examples configuring your maven/gradle projects. You can choose to configure it differently as well as long as you are making sure that environment variable `LAMBDA_TASK_ROOT` is set. This variable is
+used internally via AWS X-Ray SDK to configure itself properly for lambda runtime.
+
+=== "Maven (pom.xml)"
+
+ ```xml
+
+ ...
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ handler
+
+
+
+
+
+
+ ```
+
+=== "Gradle (build.gradle)"
+
+ ```json
+ // Configures environment variable to avoid initialization of AWS X-Ray segments for each tests
+ test {
+ environment "LAMBDA_TASK_ROOT", "handler"
+ }
+ ```
+
+#### Configure test cases (Not Recommended)
+
+You can choose to configure each of your test case instead as well if you choose not to configure environment variable on project level.
+Below is an example configuration needed for each test case.
+
+=== "AppTest.java"
+
+ ```java hl_lines="10 11 12 17 18 19 20 21 22 23 24"
+ import com.amazonaws.xray.AWSXRay;
+ import org.junit.After;
+ import org.junit.Before;
+ import org.junit.Test;
+
+ public class AppTest {
+
+ @Before
+ public void setup() {
+ if(null == System.getenv("LAMBDA_TASK_ROOT")) {
+ AWSXRay.beginSegment("test");
+ }
+ }
+
+ @After
+ public void tearDown() {
+ // Needed when using sam build --use-container
+ if (AWSXRay.getCurrentSubsegmentOptional().isPresent()) {
+ AWSXRay.endSubsegment();
+ }
+
+ if(null == System.getenv("LAMBDA_TASK_ROOT")) {
+ AWSXRay.endSegment();
+ }
+ }
+
+ @Test
+ public void successfulResponse() {
+ // test logic
+ }
+ ```
+## Advanced
+
+### Lambda SnapStart priming
+
+The Tracing utility integrates with AWS Lambda SnapStart to improve restore durations. To make sure the SnapStart priming logic of this utility runs correctly, you need an explicit reference to `TracingUtils` in your code to allow the library to register before SnapStart takes a memory snapshot. Learn more about what priming is in this [blog post](https://aws.amazon.com/blogs/compute/optimizing-cold-start-performance-of-aws-lambda-using-advanced-priming-strategies-with-snapstart/){target="_blank"}.
+
+If you don't set a custom `TracingUtils` in your code yet, make sure to reference `TracingUtils` in your Lambda handler initialization code. This can be done by adding one of the following lines to your handler class:
+
+=== "Constructor"
+
+ ```java hl_lines="7"
+ import software.amazon.lambda.powertools.validation.Validation;
+ import software.amazon.lambda.powertools.validation.ValidationConfig;
+
+ public class MyFunctionHandler implements RequestHandler {
+
+ public MyFunctionHandler() {
+ TracingUtils.init(); // Ensure TracingUtils is loaded for SnapStart
+ }
+
+ @Override
+ @Validation(inboundSchema = "classpath:/schema_in.json", outboundSchema = "classpath:/schema_out.json")
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ // ...
+ return something;
+ }
+ }
+ ```
+
+=== "Static Initializer"
+
+ ```java hl_lines="7"
+ import software.amazon.lambda.powertools.validation.Validation;
+ import software.amazon.lambda.powertools.validation.ValidationConfig;
+
+ public class MyFunctionHandler implements RequestHandler {
+
+ static {
+ TracingUtils.init(); // Ensure TracingUtils is loaded for SnapStart
+ }
+
+ @Override
+ @Validation(inboundSchema = "classpath:/schema_in.json", outboundSchema = "classpath:/schema_out.json")
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ // ...
+ return something;
+ }
+ }
+ ```
diff --git a/docs/gatsby-browser.js b/docs/gatsby-browser.js
deleted file mode 100644
index b5c868e23..000000000
--- a/docs/gatsby-browser.js
+++ /dev/null
@@ -1,27 +0,0 @@
-import "./src/styles/global.css"
-import Amplify from 'aws-amplify';
-import { Analytics, AWSKinesisFirehoseProvider } from '@aws-amplify/analytics';
-import awsconfig from './src/config';
-
-export const onRouteUpdate = ({ location, prevLocation }) => {
- Analytics.record({
- data: {
- url: window.location.href,
- section: location.pathname,
- previous: prevLocation ? prevLocation.pathname : null,
- language: 'java'
- },
- streamName: awsconfig.aws_kinesis_firehose_stream_name
- }, 'AWSKinesisFirehose')
-}
-
-export const onClientEntry = () => {
- Analytics.addPluggable(new AWSKinesisFirehoseProvider());
- Amplify.configure(awsconfig);
-
- Analytics.configure({
- AWSKinesisFirehose: {
- region: awsconfig.aws_project_region
- }
- });
-}
diff --git a/docs/gatsby-config.js b/docs/gatsby-config.js
deleted file mode 100644
index b79126b44..000000000
--- a/docs/gatsby-config.js
+++ /dev/null
@@ -1,74 +0,0 @@
-const docsWebsite = "https://awslabs.github.io/aws-lambda-powertools-java"
-
-module.exports = {
- pathPrefix: '/aws-lambda-powertools-java',
- siteMetadata: {
- title: 'AWS Lambda Powertools Java',
- description: 'A suite of utilities for AWS Lambda Functions that makes tracing with AWS X-Ray, structured logging and creating custom metrics asynchronously easier',
- author: `Amazon Web Services`,
- siteName: 'AWS Lambda Powertools Java',
- siteUrl: `${docsWebsite}`
- },
- plugins: [
- {
- resolve: 'gatsby-theme-apollo-docs',
- options: {
- root: __dirname,
- menuTitle: 'Helpful resources',
- githubRepo: 'awslabs/aws-lambda-powertools-java',
- baseUrl: `${docsWebsite}`,
- logoLink: `${docsWebsite}`,
- sidebarCategories: {
- null: [
- 'index'
- ],
- 'Core utilities': [
- 'core/logging',
- 'core/tracing',
- 'core/metrics'
- ],
- 'Utilities': [
- 'utilities/sqs_large_message_handling',
- 'utilities/batch',
- 'utilities/parameters',
- ],
- },
- navConfig: {
- 'Serverless Best Practices video': {
- url: 'https://www.youtube.com/watch?v=9IYpGTS7Jy0',
- description: 'AWS re:Invent ARC307: Serverless architectural patterns & best practices - Origins of Powertools',
- },
- 'AWS Well-Architected Serverless Lens': {
- url: 'https://d1.awsstatic.com/whitepapers/architecture/AWS-Serverless-Applications-Lens.pdf',
- description: 'AWS Well-Architected Serverless Applications Lens whitepaper',
- },
- 'Amazon Builders Library': {
- url: 'https://aws.amazon.com/builders-library/',
- description: 'Collection of living articles covering topics across architecture, software delivery, and operations'
- },
- 'AWS CDK Patterns': {
- url: 'https://cdkpatterns.com/patterns/',
- description: "CDK Patterns maintained by Matt Coulter (@nideveloper)"
- }
- },
- footerNavConfig: {
- Serverless: {
- href: 'https://aws.amazon.com/serverless/'
- },
- 'AWS SAM Docs': {
- href: 'https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html',
- }
- }
- }
- },
- {
- resolve: `gatsby-plugin-catch-links`,
- options: {
- excludePattern: /\/aws-lambda-powertools-java/,
- },
- },
- 'gatsby-plugin-antd',
- 'gatsby-remark-autolink-headers',
- 'gatsby-plugin-sitemap'
- ]
-};
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 000000000..655c16e03
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,231 @@
+---
+title: Homepage
+description: Powertools for AWS Lambda (Java)
+---
+
+Powertools for AWS Lambda (Java) is a developer toolkit to implement Serverless best practices and increase developer velocity.
+
+???+ tip
+ Powertools for AWS Lambda is also available for [Python](https://docs.powertools.aws.dev/lambda/python/latest/){target="_blank"}, [TypeScript](https://docs.powertools.aws.dev/lambda/typescript/latest/){target="_blank"}, and [.NET](https://docs.powertools.aws.dev/lambda/dotnet/){target="_blank"}
+
+
+???+ tip "Looking for a quick run through of the core utilities?"
+ Check out [this detailed blog post](https://aws.amazon.com/blogs/compute/introducing-v2-of-powertools-for-aws-lambda-java/) with a practical example. To dive deeper,
+ the [Powertools for AWS Lambda (Java) workshop](https://catalog.us-east-1.prod.workshops.aws/workshops/a7011c82-e4af-4a52-80fa-fcd61f1dacd9/en-US/introduction) is a great next step.
+
+## Tenets
+
+This project separates core utilities that will be available in other runtimes vs general utilities that might not be available across all runtimes.
+
+* **AWS Lambda only** – We optimise for AWS Lambda function environments and supported runtimes only. Utilities might work with web frameworks and non-Lambda environments, though they are not officially supported.
+* **Eases the adoption of best practices** – The main priority of the utilities is to facilitate best practices adoption, as defined in the AWS Well-Architected Serverless Lens; all other functionality is optional.
+* **Keep it lean** – Additional dependencies are carefully considered for security and ease of maintenance, and prevent negatively impacting startup time.
+* **We strive for backwards compatibility** – New features and changes should keep backwards compatibility. If a breaking change cannot be avoided, the deprecation and migration process should be clearly defined.
+* **We work backwards from the community** – We aim to strike a balance of what would work best for 80% of customers. Emerging practices are considered and discussed via Requests for Comment (RFCs)
+* **Progressive** - Utilities are designed to be incrementally adoptable for customers at any stage of their Serverless journey. They follow language idioms and their community’s common practices.
+
+## Install
+
+
+
+Powertools for AWS Lambda (Java) dependencies are available in Maven Central. You can use your favourite dependency management tool to install it
+
+* [Maven](https://maven.apache.org/)
+* [Gradle](https://gradle.org)
+
+=== "Maven"
+
+ ```xml
+
+ ...
+
+ software.amazon.lambda
+ powertools-tracing
+ {{ powertools.version }}
+
+
+ software.amazon.lambda
+ powertools-logging-log4j
+ {{ powertools.version }}
+
+
+ software.amazon.lambda
+ powertools-metrics
+ {{ powertools.version }}
+
+
+
+ org.aspectj
+ aspectjrt
+ 1.9.22
+
+ ...
+
+ ...
+
+
+
+
+ ...
+
+ dev.aspectj
+ aspectj-maven-plugin
+ 1.14
+
+ 11
+ 11
+ 11
+
+
+ software.amazon.lambda
+ powertools-tracing
+
+
+ software.amazon.lambda
+ powertools-logging
+
+
+ software.amazon.lambda
+ powertools-metrics
+
+
+
+
+
+ org.aspectj
+ aspectjtools
+
+ 1.9.22
+
+
+
+
+
+ compile
+
+
+
+
+ ...
+
+
+ ```
+
+=== "Gradle"
+
+ ```groovy
+
+ plugins {
+ id 'java'
+ id 'io.freefair.aspectj.post-compile-weaving' version '8.2.2'
+ }
+
+ // the freefair aspect plugins targets gradle 8.2.1
+ // https://docs.freefair.io/gradle-plugins/8.2.2/reference/
+ wrapper {
+ gradleVersion = "8.2.1"
+ }
+
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ // Note: This AspectJ configuration is not needed when using the functional approach
+ aspect 'software.amazon.lambda:powertools-logging-log4j:{{ powertools.version }}'
+ aspect 'software.amazon.lambda:powertools-tracing:{{ powertools.version }}'
+ aspect 'software.amazon.lambda:powertools-metrics:{{ powertools.version }}'
+ }
+
+ sourceCompatibility = 11
+ targetCompatibility = 11
+ ```
+
+???+ tip "Don't want to use AspectJ?"
+ Powertools for AWS Lambda (Java) now provides a functional API that doesn't require AspectJ configuration. Learn more about the [functional approach](./usage-patterns.md#functional-approach).
+
+### Java Compatibility
+Powertools for AWS Lambda (Java) supports all Java versions from 11 to 25 in line with the [corresponding Lambda runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html).
+
+In addition to the functional approach, [Logging](./core/logging.md), [Metrics](./core/metrics.md), [Tracing](./core/tracing.md), [Parameters](./utilities/parameters.md), [Idempotency](./utilities/idempotency.md), [Validation](./utilities/validation.md), and [Large Messages](./utilities/large_messages.md) utilities support annotations using AspectJ, which require configuration of the `aspectjrt` runtime library.
+
+You may need to add the appropriate version of `aspectjrt` to your dependencies based on the JDK used for building your function:
+
+```xml
+
+ org.aspectj
+ aspectjrt
+ 1.9.??
+
+```
+
+Use the following [dependency matrix](https://github.com/eclipse-aspectj/aspectj/blob/master/docs/release/JavaVersionCompatibility.adoc) to understand which AspectJ version to use based on your JDK version:
+
+| JDK version | aspectj version |
+|-------------|------------------------|
+| `11-17` | `1.9.20.1` (or higher) |
+| `21` | `1.9.21` (or higher) |
+| `25` | `1.9.25` (or higher) |
+
+## Environment variables
+
+!!! info
+ Explicit parameters take precedence over environment variables.
+
+| Environment variable | Description | Utility |
+| -------------------------------------- | -------------------------------------------------------------------------------------- | ------------------------- |
+| **POWERTOOLS_SERVICE_NAME** | Sets service name used for tracing namespace, metrics dimension and structured logging | All |
+| **POWERTOOLS_METRICS_NAMESPACE** | Sets namespace used for metrics | [Metrics](./core/metrics) |
+| **POWERTOOLS_METRICS_FUNCTION_NAME** | Function name used as dimension for the cold start metric | [Metrics](./core/metrics) |
+| **POWERTOOLS_METRICS_DISABLED** | Disables all flushing of metrics | [Metrics](./core/metrics) |
+| **POWERTOOLS_LOGGER_SAMPLE_RATE** | Debug log sampling | [Logging](./core/logging) |
+| **POWERTOOLS_LOG_LEVEL** | Sets logging level | [Logging](./core/logging) |
+| **POWERTOOLS_LOGGER_LOG_EVENT** | Enables/Disables whether to log the incoming event when using the aspect | [Logging](./core/logging) |
+| **POWERTOOLS_TRACER_CAPTURE_RESPONSE** | Enables/Disables tracing mode to capture method response | [Tracing](./core/tracing) |
+| **POWERTOOLS_TRACER_CAPTURE_ERROR** | Enables/Disables tracing mode to capture method error | [Tracing](./core/tracing) |
diff --git a/docs/media/aws-logo-light.svg b/docs/media/aws-logo-light.svg
new file mode 100644
index 000000000..982571b86
--- /dev/null
+++ b/docs/media/aws-logo-light.svg
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/media/idempotent_sequence.png b/docs/media/idempotent_sequence.png
new file mode 100644
index 000000000..92593184a
Binary files /dev/null and b/docs/media/idempotent_sequence.png differ
diff --git a/docs/media/idempotent_sequence_exception.png b/docs/media/idempotent_sequence_exception.png
new file mode 100644
index 000000000..4cf065993
Binary files /dev/null and b/docs/media/idempotent_sequence_exception.png differ
diff --git a/docs/media/intellij_checkstyle_1.png b/docs/media/intellij_checkstyle_1.png
new file mode 100644
index 000000000..322e24744
Binary files /dev/null and b/docs/media/intellij_checkstyle_1.png differ
diff --git a/docs/media/intellij_checkstyle_2.png b/docs/media/intellij_checkstyle_2.png
new file mode 100644
index 000000000..7fc82187b
Binary files /dev/null and b/docs/media/intellij_checkstyle_2.png differ
diff --git a/docs/media/intellij_checkstyle_3.png b/docs/media/intellij_checkstyle_3.png
new file mode 100644
index 000000000..6e08dde62
Binary files /dev/null and b/docs/media/intellij_checkstyle_3.png differ
diff --git a/docs/media/metrics_terminology.png b/docs/media/metrics_terminology.png
new file mode 100644
index 000000000..a20fafd6a
Binary files /dev/null and b/docs/media/metrics_terminology.png differ
diff --git a/docs/content/media/tracer_utility_showcase.png b/docs/media/tracing_utility_showcase.png
similarity index 100%
rename from docs/content/media/tracer_utility_showcase.png
rename to docs/media/tracing_utility_showcase.png
diff --git a/docs/overrides/assets/images/powertools_docs_thumbnail.png b/docs/overrides/assets/images/powertools_docs_thumbnail.png
new file mode 100644
index 000000000..6c21eaf03
Binary files /dev/null and b/docs/overrides/assets/images/powertools_docs_thumbnail.png differ
diff --git a/docs/overrides/main.html b/docs/overrides/main.html
new file mode 100644
index 000000000..5f7a59c02
--- /dev/null
+++ b/docs/overrides/main.html
@@ -0,0 +1,13 @@
+{% extends "base.html" %}
+
+{% block outdated %}
+You're not viewing the latest version.
+
+ Click here to go to latest.
+
+{% endblock %}
+
+{% block extrahead %}
+
+
+{% endblock %}
diff --git a/docs/package.json b/docs/package.json
deleted file mode 100644
index 6139b2c62..000000000
--- a/docs/package.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "scripts": {
- "start": "gatsby develop",
- "build": "gatsby build --prefix-paths"
- },
- "dependencies": {
- "@aws-amplify/analytics": "^3.2.0",
- "antd": "^4.2.4",
- "aws-amplify": "^3.0.17",
- "gatsby": "^2.24.37",
- "gatsby-plugin-antd": "^2.2.0",
- "gatsby-plugin-catch-links": "^2.3.2",
- "gatsby-plugin-sitemap": "^2.4.3",
- "gatsby-remark-autolink-headers": "^2.3.3",
- "gatsby-theme-apollo-docs": "^4.3.5",
- "react": "^16.13.1",
- "react-dom": "^16.13.1"
- },
- "resolutions": {
- "gatsby/*/*/dot-prop": "^5.1.1",
- "gatsby-theme-apollo-docs/*/*/*/*/bl": "^1.0.1",
- "gatsby-theme-apollo-docs/*/*/*/*/semver": "^4.3.2"
- },
- "keywords": [],
- "license": "Apache-2.0",
- "repository": "https://github.com/awslabs/aws-lambda-powertools-java",
- "name": "aws-lambda-powertools-java",
- "description": "Powertools is a suite of utilities for AWS Lambda Functions that makes tracing with AWS X-Ray, structured logging and creating custom metrics asynchronously easier.",
- "devDependencies": {}
-}
diff --git a/docs/processes/maintainers.md b/docs/processes/maintainers.md
new file mode 100644
index 000000000..f2839c532
--- /dev/null
+++ b/docs/processes/maintainers.md
@@ -0,0 +1,249 @@
+---
+title: Maintainers playbook
+description: Process
+---
+
+
+
+## Overview
+
+!!! note "Please treat this content as a living document."
+
+This is document explains who the maintainers are, their responsibilities, and how they should be doing it. If you're interested in contributing,
+ see [CONTRIBUTING](https://github.com/aws-powertools/powertools-lambda-java/blob/main/CONTRIBUTING.md){target="_blank"}.
+
+## Current Maintainers
+
+| Maintainer | GitHub ID | Affiliation |
+| --------------- | -------------------------------------------------------------------- | ----------- |
+| Philipp Page | [phipag](https://github.com/phipag){target="\_blank" rel="nofollow"} | Amazon |
+
+## Emeritus
+
+Previous active maintainers who contributed to this project.
+
+| Maintainer | GitHub ID | Affiliation |
+| --------------------- | -------------------------------------------------------------------------------------- | ------------- |
+| Simon Thulbourn | [sthulb](https://github.com/sthulb){target="\_blank" rel="nofollow"} | Former Amazon |
+| Jerome Van Der Linden | [jeromevdl](https://github.com/jeromevdl){target="\_blank" rel="nofollow"} | Amazon |
+| Michele Ricciardi | [mriccia](https://github.com/mriccia){target="\_blank" rel="nofollow"} | Amazon |
+| Scott Gerring | [scottgerring](https://github.com/scottgerring){target="\_blank" rel="nofollow"} | DataDog |
+| Mark Sailes | [msailes](https://github.com/msailes){target="\_blank" rel="nofollow"} | Former Amazon |
+| Pankaj Agrawal | [pankajagrawal16](https://github.com/pankajagrawal16){target="\_blank" rel="nofollow"} | Former Amazon |
+| Steve Houel | [stevehouel](https://github.com/stevehouel){target="\_blank" rel="nofollow"} | Amazon |
+
+## Labels
+
+These are the most common labels used by maintainers to triage issues, pull requests (PR), and for project management:
+
+| Label | Usage | Notes |
+|----------------------------------|---------------------------------------------------------------------------------------------------|----------------------------------------------------|
+| triage | New issues that require maintainers review | Issue template |
+| bug | Unexpected, reproducible and unintended software behavior | PR/Release automation; Doc snippets are excluded; |
+| documentation | Documentation improvements | PR/Release automation; Doc additions, fixes, etc.; |
+| duplicate | Dupe of another issue | |
+| enhancement | New or enhancements to existing features | Issue template |
+| RFC | Technical design documents related to a feature request | Issue template |
+| help wanted | Tasks you want help from anyone to move forward | Bandwidth, complex topics, etc. |
+| feature-parity | Adding features present in other Powertools for Lambda libraries | |
+| good first issue | Somewhere for new contributors to start | |
+| governance | Issues related to project governance - contributor guides, automation, etc. | |
+| question | Issues that are raised to ask questions | |
+| maven | Related to the build system | |
+| need-more-information | Missing information before making any calls | |
+| status/staged-next-release | Changes are merged and will be available once the next release is made. | |
+| status/staged-next-major-release | Contains breaking changes - merged changes will be available once the next major release is made. | |
+| blocked | Issues or PRs that are blocked for varying reasons | Timeline is uncertain |
+| priority:1 | Critical - needs urgent attention | |
+| priority:2 | High - core feature, or affects 60%+ of users | |
+| priority:3 | Neutral - not a core feature, or affects < 40% of users | |
+| priority:4 | Low - nice to have | |
+| priority:5 | Low - idea for later | |
+| invalid | This doesn't seem right | |
+| size/XS | PRs between 0-9 LOC | PR automation |
+| size/S | PRs between 10-29 LOC | PR automation |
+| size/M | PRs between 30-99 LOC | PR automation |
+| size/L | PRs between 100-499 LOC | PR automation |
+| size/XL | PRs between 500-999 LOC, often PRs that grown with feedback | PR automation |
+| size/XXL | PRs with 1K+ LOC, largely documentation related | PR automation |
+| dependencies | Changes that touch dependencies, e.g. Dependabot, etc. | PR/ automation |
+| maintenance | Address outstanding tech debt | |
+
+## Maintainer Responsibilities
+
+Maintainers are active and visible members of the community, and have
+[maintain-level permissions on a repository](https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization){target="_blank"}.
+Use those privileges to serve the community and evolve code as follows.
+
+Be aware of recurring ambiguous situations and [document them](#common-scenarios) to help your fellow maintainers.
+
+### Uphold Code of Conduct
+
+
+Model the behavior set forward by the
+[Code of Conduct](https://github.com/aws-powertools/powertools-lambda-java/blob/main/CODE_OF_CONDUCT.md){target="_blank"}
+and raise any violations to other maintainers and admins. There could be unusual circumstances where inappropriate
+behavior does not immediately fall within the [Code of Conduct](https://github.com/aws-powertools/powertools-lambda-java/blob/main/CODE_OF_CONDUCT.md){target="_blank"}.
+
+These might be nuanced and should be handled with extra care - when in doubt, do not engage and reach out to other maintainers
+and admins.
+
+### Prioritize Security
+
+Security is your number one priority. Maintainer's Github keys must be password protected securely and any reported
+security vulnerabilities are addressed before features or bugs.
+
+Note that this repository is monitored and supported 24/7 by Amazon Security, see
+[Security disclosures](https://github.com/aws-powertools/powertools-lambda-java/){target="_blank"} for details.
+
+### Review Pull Requests
+
+Review pull requests regularly, comment, suggest, reject, merge and close. Accept only high quality pull-requests.
+Provide code reviews and guidance on incoming pull requests.
+
+PRs are [labeled](#labels) based on file changes and semantic title. Pay attention to whether labels reflect the current
+state of the PR and correct accordingly.
+
+Use and enforce [semantic versioning](https://semver.org/){target="_blank" rel="nofollow"} pull request titles, as these will be used for
+[CHANGELOG](https://github.com/aws-powertools/powertools-lambda-java/blob/main/CHANGELOG.md){target="_blank"}
+and [Release notes](https://github.com/aws-powertools/powertools-lambda-java/releases) - make sure they communicate their
+intent at the human level.
+
+For issues linked to a PR, make sure `status/staged-next-release` label is applied to them when merging.
+[Upon release](#releasing-a-new-version), these issues will be notified which release version contains their change.
+
+See [Common scenarios](#common-scenarios) section for additional guidance.
+
+### Triage New Issues
+
+Manage [labels](#labels), review issues regularly, and create new labels as needed by the project. Remove `triage`
+label when you're able to confirm the validity of a request, a bug can be reproduced, etc.
+Give priority to the original author for implementation, unless it is a sensitive task that is best handled by maintainers.
+
+Make sure issues are assigned to our [board of activities](https://github.com/orgs/aws-powertools/projects/4).
+
+Use our [labels](#labels) to signal good first issues to new community members, and to set expectation that this might
+need additional feedback from the author, other customers, experienced community members and/or maintainers.
+
+Be aware of [casual contributors](https://opensource.com/article/17/10/managing-casual-contributors){target="_blank" rel="nofollow"} and recurring contributors.
+Provide the experience and attention you wish you had if you were starting in open source.
+
+See [Common scenarios](#common-scenarios) section for additional guidance.
+
+### Triage Bug Reports
+
+Be familiar with [our definition of bug](#is-that-a-bug). If it's not a bug, you can close it or adjust its title and
+labels - always communicate the reason accordingly.
+
+For bugs caused by upstream dependencies, replace `bug` with `bug-upstream` label. Ask the author whether they'd like to
+raise the issue upstream or if they prefer us to do so.
+
+Assess the impact and make the call on whether we need an emergency release. Contact other [maintainers](#current-maintainers) when in doubt.
+
+See [Common scenarios](#common-scenarios) section for additional guidance.
+
+### Triage RFCs
+
+RFC is a collaborative process to help us get to the most optimal solution given the context. Their purpose is to ensure
+everyone understands what this context is, their trade-offs, and alternative solutions that were part of the research
+before implementation begins.
+
+Make sure you ask these questions in mind when reviewing:
+
+- Does it use our [RFC template](https://github.com/aws-powertools/powertools-lambda-java/issues/new?assignees=&labels=RFC%2C+triage&projects=&template=rfc.md&title=RFC%3A+)?
+- Does it match our [Tenets](https://docs.powertools.aws.dev/lambda/java/latest/#tenets)?
+- Does the proposal address the use case? If so, is the recommended usage explicit?
+- Does it focus on the mechanics to solve the use case over fine-grained implementation details?
+- Can anyone familiar with the code base implement it?
+- If approved, are they interested in contributing? Do they need any guidance?
+- Does this significantly increase the overall project maintenance? Do we have the skills to maintain it?
+- If we can't take this use case, are there alternative projects we could recommend? Or does it call for a new project altogether?
+
+When necessary, be upfront that the time to review, approve, and implement a RFC can vary -
+see [Contribution is stuck](#contribution-is-stuck). Some RFCs may be further updated after implementation, as certain areas become clearer.
+
+Some examples using our initial and new RFC templates: #92, #94, #95, #991, #1226
+
+### Releasing a new version
+
+!!! note "The release process is currently a long, multi-step process. The team is in the process of automating at it."
+
+Firstly, make sure the commit history in the `main` branch **(1)** it's up to date, **(2)** commit messages are semantic,
+and **(3)** commit messages have their respective area, for example `feat: `, `chore: ...`).
+
+**Looks good, what's next?**
+
+Kickoff the `Prepare for maven central release` workflow with the intended rekease version. Once this has completed, it will
+draft a Pull Request named something like `chore: Prep release 1.19.0`. the PR will **(1)** roll all of the POM versions
+forward to the new release version and **(2)** release notes.
+
+Once this is done, check out the branch and clean up the release notes. These will be used both in the
+[CHANGELOG.md file](https://github.com/aws-powertools/powertools-lambda-java/blob/main/CHANGELOG.md)
+file and the [published github release information](https://github.com/aws-powertools/powertools-lambda-java/releases),
+and you can use the existing release notes to see how changes are summarized.
+
+Next, commit and push, wait for the build to complete, and merge to main. Once main has built successfully (i.e. build, tests and end-to-end tests should pass), create a
+tagged release from the Github UI, using the same release notes.
+
+Next, run the `Publish package to the Maven Central Repository` action to release the library.
+
+Finally, by hand, create a PR rolling all of the POMs onto the next snapshot version (e.g. `1.20.0-SNAPSHOT`).
+
+
+### Add Continuous Integration Checks
+
+Add integration checks that validate pull requests and pushes to ease the burden on Pull Request reviewers.
+Continuously revisit areas of improvement to reduce operational burden in all parties involved.
+
+### Negative Impact on the Project
+
+Actions that negatively impact the project will be handled by the admins, in coordination with other maintainers,
+in balance with the urgency of the issue. Examples would be
+[Code of Conduct](https://github.com/aws-powertools/powertools-lambda-java/blob/main/CODE_OF_CONDUCT.md){target="_blank"}
+violations, deliberate harmful or malicious actions, spam, monopolization, and security risks.
+
+## Common scenarios
+
+These are recurring ambiguous situations that new and existing maintainers may encounter. They serve as guidance.
+It is up to each maintainer to follow, adjust, or handle in a different manner as long as
+[our conduct is consistent](#uphold-code-of-conduct)
+
+### Contribution is stuck
+
+A contribution can get stuck often due to lack of bandwidth and language barrier. For bandwidth issues,
+check whether the author needs help. Make sure you get their permission before pushing code into their existing PR -
+do not create a new PR unless strictly necessary.
+
+For language barrier and others, offer a 1:1 chat to get them unblocked. Often times, English might not be their
+primary language, and writing in public might put them off, or come across not the way they intended to be.
+
+In other cases, you may have constrained capacity. Use `help wanted` label when you want to signal other maintainers
+and external contributors that you could use a hand to move it forward.
+
+### Insufficient feedback or information
+
+When in doubt, use the `need-more-information` label to signal more context and feedback are necessary before proceeding.
+
+### Crediting contributions
+
+We credit all contributions as part of each [release note](https://github.com/aws-powertools/powertools-lambda-java/releases){target="_blank"}
+as an automated process. If you find contributors are missing from the release note you're producing, please add them manually.
+
+### Is that a bug?
+
+A bug produces incorrect or unexpected results at runtime that differ from its intended behavior.
+Bugs must be reproducible. They directly affect customers experience at runtime despite following its recommended usage.
+
+Documentation snippets, use of internal components, or unadvertised functionalities are not considered bugs.
+
+### Mentoring contributions
+
+Always favor mentoring issue authors to contribute, unless they're not interested or the implementation is sensitive (_e.g., complexity, time to release, etc._).
+
+Make use of `help wanted` and `good first issue` to signal additional contributions the community can help.
+
+### Long running issues or PRs
+
+Try offering a 1:1 call in the attempt to get to a mutual understanding and clarify areas that maintainers could help.
+
+In the rare cases where both parties don't have the bandwidth or expertise to continue, it's best to use the `revisit-in-3-months` label. By then, see if it's possible to break the PR or issue in smaller chunks, and eventually close if there is no progress.
diff --git a/docs/processes/versioning.md b/docs/processes/versioning.md
new file mode 100644
index 000000000..d20269001
--- /dev/null
+++ b/docs/processes/versioning.md
@@ -0,0 +1,61 @@
+---
+title: Versioning and maintenance policy
+description: Versioning and maintenance policy for Powertools for AWS Lambda (Python)
+---
+
+### Overview
+
+This document outlines the maintenance policy for Powertools for AWS Lambda and their underlying dependencies. AWS regularly provides Powertools for AWS Lambda with updates that may contain new features, enhancements, bug fixes, security patches, or documentation updates. Updates may also address changes with dependencies, language runtimes, and operating systems. Powertools for AWS Lambda is published to package managers (e.g. PyPi, NPM, Maven, NuGet), and are available as source code on GitHub.
+
+We recommend users to stay up-to-date with Powertools for AWS Lambda releases to keep up with the latest features, security updates, and underlying dependencies. Continued use of an unsupported Powertools for AWS Lambda version is not recommended and is done at the user’s discretion.
+
+!!! info "For brevity, we will interchangeably refer to Powertools for AWS Lambda as "SDK" _(Software Development Toolkit)_."
+
+### Versioning
+
+Powertools for AWS Lambda release versions are in the form of X.Y.Z where X represents the major version. Increasing the major version of an SDK indicates that this SDK underwent significant and substantial changes to support new idioms and patterns in the language. Major versions are introduced when public interfaces _(e.g. classes, methods, types, etc.)_, behaviors, or semantics have changed. Applications need to be updated in order for them to work with the newest SDK version. It is important to update major versions carefully and in accordance with the upgrade guidelines provided by AWS.
+
+### SDK major version lifecycle
+
+The lifecycle for major Powertools for AWS Lambda versions consists of 5 phases, which are outlined below.
+
+- **Developer Preview** (Phase 0) - During this phase, SDKs are not supported, should not be used in production environments, and are meant for early access and feedback purposes only. It is possible for future releases to introduce breaking changes. Once AWS identifies a release to be a stable product, it may mark it as a Release Candidate. Release Candidates are ready for GA release unless significant bugs emerge, and will receive full AWS support.
+- **General Availability (GA)** (Phase 1) - During this phase, SDKs are fully supported. AWS will provide regular SDK releases that include support for new features, enhancements, as well as bug and security fixes. AWS will support the GA version of an SDK for _at least 24 months_, unless otherwise specified.
+- **Maintenance Announcement** (Phase 2) - AWS will make a public announcement at least 6 months before an SDK enters maintenance mode. During this period, the SDK will continue to be fully supported. Typically, maintenance mode is announced at the same time as the next major version is transitioned to GA.
+- **Maintenance** (Phase 3) - During the maintenance mode, AWS limits SDK releases to address critical bug fixes and security issues only. An SDK will not receive API updates for new or existing services, or be updated to support new regions. Maintenance mode has a _default duration of 6 months_, unless otherwise specified.
+- **End-of-Support** (Phase 4) - When an SDK reaches end-of support, it will no longer receive updates or releases. Previously published releases will continue to be available via public package managers and the code will remain on GitHub. The GitHub repository may be archived. Use of an SDK which has reached end-of-support is done at the user’s discretion. We recommend users upgrade to the new major version.
+
+!!! note "Please note that the timelines shown below are illustrative and not binding"
+
+
+
+### Dependency lifecycle
+
+Most AWS SDKs have underlying dependencies, such as language runtimes, AWS Lambda runtime, or third party libraries and frameworks. These dependencies are typically tied to the language community or the vendor who owns that particular component. Each community or vendor publishes their own end-of-support schedule for their product.
+
+The following terms are used to classify underlying third party dependencies:
+
+- [**AWS Lambda Runtime**](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html): Examples include `java17`, `nodejs20.x`, `python3.13`, etc.
+- **Language Runtime**: Examples include Java 17, Python 3.13, NodeJS 20, .NET Core, etc.
+- **Third party Library**: Examples include Jackson Project, AWS X-Ray SDK, AWS Encryption SDK, etc.
+
+Powertools for AWS Lambda follows the [AWS Lambda Runtime deprecation policy cycle](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy), when it comes to Language Runtime. This means we will stop supporting their respective deprecated Language Runtime _(e.g., `java8`)_ without increasing the major SDK version.
+
+!!! note "AWS reserves the right to stop support for an underlying dependency without increasing the major SDK version"
+
+### Communication methods
+
+Maintenance announcements are communicated in several ways:
+
+- A pinned GitHub Request For Comments (RFC) issue indicating the campaign for the next major version. The RFC will outline the path to end-of-support, specify campaign timelines, and upgrade guidance.
+- AWS SDK documentation, such as API reference documentation, user guides, SDK product marketing pages, and GitHub readme(s) are updated to indicate the campaign timeline and provide guidance on upgrading affected applications.
+- Deprecation warnings are added to the SDKs, outlining the path to end-of-support and linking to the upgrade guide.
+
+To see the list of available major versions of Powertools for AWS Lambda and where they are in their maintenance lifecycle, see the [version support matrix](#version-support-matrix).
+
+### Version support matrix
+
+| SDK | Major version | Current Phase | General Availability Date | Notes |
+| -------------------------------- | ------------- | -------------------- | ------------------------- | ------------------------------------------------------------------------------------------------- |
+| Powertools for AWS Lambda (Java) | 2.x | General Availability | 06/12/2025 | See [Release notes](https://github.com/aws-powertools/powertools-lambda-java/releases/tag/v2.0.0) |
+| Powertools for AWS Lambda (Java) | 1.x | End-of-life | 11/04/2020 | See [announcement](https://github.com/aws-powertools/powertools-lambda-java/issues/1895) |
diff --git a/docs/requirements.in b/docs/requirements.in
new file mode 100644
index 000000000..e8acc7112
--- /dev/null
+++ b/docs/requirements.in
@@ -0,0 +1,3 @@
+mkdocs-git-revision-date-plugin==0.3.2
+mkdocs-macros-plugin==1.3.7
+mkdocs-llmstxt==0.2.0
diff --git a/docs/requirements.txt b/docs/requirements.txt
new file mode 100644
index 000000000..16529cf3b
--- /dev/null
+++ b/docs/requirements.txt
@@ -0,0 +1,296 @@
+#
+# This file is autogenerated by pip-compile with Python 3.12
+# by the following command:
+#
+# pip-compile --generate-hashes --output-file=requirements.txt requirements.in
+#
+beautifulsoup4==4.13.3 \
+ --hash=sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b \
+ --hash=sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16
+ # via
+ # markdownify
+ # mkdocs-llmstxt
+click==8.1.8 \
+ --hash=sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2 \
+ --hash=sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a
+ # via mkdocs
+ghp-import==2.1.0 \
+ --hash=sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619 \
+ --hash=sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343
+ # via mkdocs
+gitdb==4.0.12 \
+ --hash=sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571 \
+ --hash=sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf
+ # via gitpython
+gitpython==3.1.44 \
+ --hash=sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110 \
+ --hash=sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269
+ # via mkdocs-git-revision-date-plugin
+hjson==3.1.0 \
+ --hash=sha256:55af475a27cf83a7969c808399d7bccdec8fb836a07ddbd574587593b9cdcf75 \
+ --hash=sha256:65713cdcf13214fb554eb8b4ef803419733f4f5e551047c9b711098ab7186b89
+ # via
+ # mkdocs-macros-plugin
+ # super-collections
+jinja2==3.1.6 \
+ --hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \
+ --hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67
+ # via
+ # mkdocs
+ # mkdocs-git-revision-date-plugin
+ # mkdocs-macros-plugin
+markdown==3.7 \
+ --hash=sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2 \
+ --hash=sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803
+ # via mkdocs
+markdown-it-py==3.0.0 \
+ --hash=sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1 \
+ --hash=sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb
+ # via mdformat
+markdownify==1.1.0 \
+ --hash=sha256:32a5a08e9af02c8a6528942224c91b933b4bd2c7d078f9012943776fc313eeef \
+ --hash=sha256:449c0bbbf1401c5112379619524f33b63490a8fa479456d41de9dc9e37560ebd
+ # via mkdocs-llmstxt
+markupsafe==3.0.2 \
+ --hash=sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4 \
+ --hash=sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30 \
+ --hash=sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0 \
+ --hash=sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9 \
+ --hash=sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396 \
+ --hash=sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13 \
+ --hash=sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028 \
+ --hash=sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca \
+ --hash=sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557 \
+ --hash=sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832 \
+ --hash=sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0 \
+ --hash=sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b \
+ --hash=sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579 \
+ --hash=sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a \
+ --hash=sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c \
+ --hash=sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff \
+ --hash=sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c \
+ --hash=sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22 \
+ --hash=sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094 \
+ --hash=sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb \
+ --hash=sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e \
+ --hash=sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5 \
+ --hash=sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a \
+ --hash=sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d \
+ --hash=sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a \
+ --hash=sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b \
+ --hash=sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8 \
+ --hash=sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225 \
+ --hash=sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c \
+ --hash=sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144 \
+ --hash=sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f \
+ --hash=sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87 \
+ --hash=sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d \
+ --hash=sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93 \
+ --hash=sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf \
+ --hash=sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158 \
+ --hash=sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84 \
+ --hash=sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb \
+ --hash=sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48 \
+ --hash=sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171 \
+ --hash=sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c \
+ --hash=sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6 \
+ --hash=sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd \
+ --hash=sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d \
+ --hash=sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1 \
+ --hash=sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d \
+ --hash=sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca \
+ --hash=sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a \
+ --hash=sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29 \
+ --hash=sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe \
+ --hash=sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798 \
+ --hash=sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c \
+ --hash=sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8 \
+ --hash=sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f \
+ --hash=sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f \
+ --hash=sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a \
+ --hash=sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178 \
+ --hash=sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0 \
+ --hash=sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79 \
+ --hash=sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430 \
+ --hash=sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50
+ # via
+ # jinja2
+ # mkdocs
+mdformat==0.7.22 \
+ --hash=sha256:61122637c9e1d9be1329054f3fa216559f0d1f722b7919b060a8c2a4ae1850e5 \
+ --hash=sha256:eef84fa8f233d3162734683c2a8a6222227a229b9206872e6139658d99acb1ea
+ # via mkdocs-llmstxt
+mdurl==0.1.2 \
+ --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \
+ --hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba
+ # via markdown-it-py
+mergedeep==1.3.4 \
+ --hash=sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8 \
+ --hash=sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307
+ # via
+ # mkdocs
+ # mkdocs-get-deps
+mkdocs==1.6.1 \
+ --hash=sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2 \
+ --hash=sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e
+ # via
+ # mkdocs-git-revision-date-plugin
+ # mkdocs-macros-plugin
+mkdocs-get-deps==0.2.0 \
+ --hash=sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c \
+ --hash=sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134
+ # via mkdocs
+mkdocs-git-revision-date-plugin==0.3.2 \
+ --hash=sha256:2e67956cb01823dd2418e2833f3623dee8604cdf223bddd005fe36226a56f6ef
+ # via -r requirements.in
+mkdocs-llmstxt==0.2.0 \
+ --hash=sha256:104f10b8101167d6baf7761942b4743869be3d8f8a8d909f4e9e0b63307f709e \
+ --hash=sha256:907de892e0c8be74002e8b4d553820c2b5bbcf03cc303b95c8bca48fb49c1a29
+ # via -r requirements.in
+mkdocs-macros-plugin==1.3.7 \
+ --hash=sha256:02432033a5b77fb247d6ec7924e72fc4ceec264165b1644ab8d0dc159c22ce59 \
+ --hash=sha256:17c7fd1a49b94defcdb502fd453d17a1e730f8836523379d21292eb2be4cb523
+ # via -r requirements.in
+packaging==24.2 \
+ --hash=sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 \
+ --hash=sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f
+ # via
+ # mkdocs
+ # mkdocs-macros-plugin
+pathspec==0.12.1 \
+ --hash=sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 \
+ --hash=sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712
+ # via
+ # mkdocs
+ # mkdocs-macros-plugin
+platformdirs==4.3.7 \
+ --hash=sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94 \
+ --hash=sha256:eb437d586b6a0986388f0d6f74aa0cde27b48d0e3d66843640bfb6bdcdb6e351
+ # via mkdocs-get-deps
+python-dateutil==2.9.0.post0 \
+ --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
+ --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
+ # via
+ # ghp-import
+ # mkdocs-macros-plugin
+pyyaml==6.0.2 \
+ --hash=sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff \
+ --hash=sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48 \
+ --hash=sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086 \
+ --hash=sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e \
+ --hash=sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133 \
+ --hash=sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5 \
+ --hash=sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484 \
+ --hash=sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee \
+ --hash=sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5 \
+ --hash=sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68 \
+ --hash=sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a \
+ --hash=sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf \
+ --hash=sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99 \
+ --hash=sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8 \
+ --hash=sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85 \
+ --hash=sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19 \
+ --hash=sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc \
+ --hash=sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a \
+ --hash=sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1 \
+ --hash=sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317 \
+ --hash=sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c \
+ --hash=sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631 \
+ --hash=sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d \
+ --hash=sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652 \
+ --hash=sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5 \
+ --hash=sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e \
+ --hash=sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b \
+ --hash=sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8 \
+ --hash=sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476 \
+ --hash=sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706 \
+ --hash=sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563 \
+ --hash=sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237 \
+ --hash=sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b \
+ --hash=sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083 \
+ --hash=sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180 \
+ --hash=sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425 \
+ --hash=sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e \
+ --hash=sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f \
+ --hash=sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725 \
+ --hash=sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183 \
+ --hash=sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab \
+ --hash=sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774 \
+ --hash=sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725 \
+ --hash=sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e \
+ --hash=sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5 \
+ --hash=sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d \
+ --hash=sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290 \
+ --hash=sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44 \
+ --hash=sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed \
+ --hash=sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4 \
+ --hash=sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba \
+ --hash=sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12 \
+ --hash=sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4
+ # via
+ # mkdocs
+ # mkdocs-get-deps
+ # mkdocs-macros-plugin
+ # pyyaml-env-tag
+pyyaml-env-tag==0.1 \
+ --hash=sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb \
+ --hash=sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069
+ # via mkdocs
+six==1.17.0 \
+ --hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \
+ --hash=sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81
+ # via
+ # markdownify
+ # python-dateutil
+smmap==5.0.2 \
+ --hash=sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5 \
+ --hash=sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e
+ # via gitdb
+soupsieve==2.6 \
+ --hash=sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb \
+ --hash=sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9
+ # via beautifulsoup4
+super-collections==0.5.3 \
+ --hash=sha256:907d35b25dc4070910e8254bf2f5c928348af1cf8a1f1e8259e06c666e902cff \
+ --hash=sha256:94c1ec96c0a0d5e8e7d389ed8cde6882ac246940507c5e6b86e91945c2968d46
+ # via mkdocs-macros-plugin
+termcolor==3.0.1 \
+ --hash=sha256:a6abd5c6e1284cea2934443ba806e70e5ec8fd2449021be55c280f8a3731b611 \
+ --hash=sha256:da1ed4ec8a5dc5b2e17476d859febdb3cccb612be1c36e64511a6f2485c10c69
+ # via mkdocs-macros-plugin
+typing-extensions==4.13.2 \
+ --hash=sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c \
+ --hash=sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef
+ # via beautifulsoup4
+watchdog==6.0.0 \
+ --hash=sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a \
+ --hash=sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2 \
+ --hash=sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f \
+ --hash=sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c \
+ --hash=sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c \
+ --hash=sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c \
+ --hash=sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0 \
+ --hash=sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13 \
+ --hash=sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134 \
+ --hash=sha256:7a0e56874cfbc4b9b05c60c8a1926fedf56324bb08cfbc188969777940aef3aa \
+ --hash=sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e \
+ --hash=sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379 \
+ --hash=sha256:90c8e78f3b94014f7aaae121e6b909674df5b46ec24d6bebc45c44c56729af2a \
+ --hash=sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11 \
+ --hash=sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282 \
+ --hash=sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b \
+ --hash=sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f \
+ --hash=sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c \
+ --hash=sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112 \
+ --hash=sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948 \
+ --hash=sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881 \
+ --hash=sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860 \
+ --hash=sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3 \
+ --hash=sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680 \
+ --hash=sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26 \
+ --hash=sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26 \
+ --hash=sha256:e6439e374fc012255b4ec786ae3c4bc838cd7309a540e5fe0952d03687d8804e \
+ --hash=sha256:e6f0e77c9417e7cd62af82529b10563db3423625c5fce018430b249bf977f9e8 \
+ --hash=sha256:e7631a77ffb1f7d2eefa4445ebbee491c720a5661ddf6df3498ebecae5ed375c \
+ --hash=sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2
+ # via mkdocs
diff --git a/docs/roadmap.md b/docs/roadmap.md
new file mode 100644
index 000000000..4ef1ef06e
--- /dev/null
+++ b/docs/roadmap.md
@@ -0,0 +1,142 @@
+---
+title: Roadmap
+description: Public roadmap for Powertools for AWS Lambda (Java)
+---
+
+## Overview
+
+Our public roadmap outlines the high level direction we are working towards. We update this document when our priorities change: security and stability are our top priority.
+
+### Key areas
+
+Security and operational excellence take precedence above all else. This means bug fixing, stability, customer's support, and internal compliance may delay one or more key areas below.
+
+!!! info "We may choose to re-prioritize or defer items based on customer feedback, security, and operational impacts, and business value."
+
+#### Release Security (p0)
+
+Our top priority is to establish the processes and infrastructure needed for a fully automated and secure end-to-end release process of new versions to Maven Central.
+
+- [x] [Implement GitHub workflows](https://github.com/aws-powertools/powertools-lambda-java/issues/1231){target="\_blank"} and create infrastructure to release to Maven Central
+- [x] [Implement end-to-end tests](https://github.com/aws-powertools/powertools-lambda-java/issues/1815){target="\_blank"}
+- [x] Implement [OpenSSF Scorecard](https://openssf.org/projects/scorecard/){target="\_blank"}
+
+#### `v2` Release: Consistency and Ecosystem (p1)
+
+As part of a new major version `v2` release, we prioritize the Java project's consistency of core utilities (Logging, Metrics, Tracing) with the other runtimes (Python, TypeScript, .NET). Additionally, we will focus on integrating the library with popular technologies and frameworks from the Java and AWS ecosystem. Particularly, we aim at leveraging new techniques to allow customers to reduce Lambda cold-start time. The `v2` release will also drop support for Java 8 moving to Java 11 as the baseline.
+
+##### Core Utilities
+
+- [x] [Review public interfaces and reduce public API surface area](https://github.com/aws-powertools/powertools-lambda-java/issues/1283){target="\_blank"}
+- [x] [Release Logging `v2` module](https://github.com/aws-powertools/powertools-lambda-java/issues/965){target="\_blank"} allowing customers to choose the logging framework and adding support for logging deeply nested objects as JSON
+- [x] [Support high resolution metrics](https://github.com/aws-powertools/powertools-lambda-java/issues/1041){target="\_blank"}
+- [x] [Improve modularity of metrics module](https://github.com/aws-powertools/powertools-lambda-java/issues/1848){target="\_blank"} to remove coupling with EMF library and enable future support for additional metrics providers / backends
+
+##### Ecosystem
+
+- [x] [Add GraalVM support for core utilities](https://github.com/aws-powertools/powertools-lambda-java/issues/764){target="\_blank"}
+- [ ] [Implement priming using CRaC to improve AWS Snapstart support](https://github.com/aws-powertools/powertools-lambda-java/issues/1588){target="\_blank"}
+- [ ] [Evaluate integration with popular Java frameworks such as Micronaut, Spring Cloud Function, or Quarkus](https://github.com/aws-powertools/powertools-lambda-java/issues/1701){target="\_blank"}
+
+##### Other
+
+- [x] [Validation module integration with HTTP requests](https://github.com/aws-powertools/powertools-lambda-java/issues/1298){target="\_blank"}
+- [x] [Support validation module from within the batch module](https://github.com/aws-powertools/powertools-lambda-java/issues/1496){target="\_blank"}
+- [x] [Add support for parallel processing in Batch Processing utility](https://github.com/aws-powertools/powertools-lambda-java/issues/1540){target="\_blank"}
+- [ ] [Documentation: Review and improve documentation to be consistent with other runtimes](https://github.com/aws-powertools/powertools-lambda-java/issues/1352){target="\_blank"}
+
+#### Feature Parity (p2)
+
+If priorities `p0` and `p1` are addressed, we will also focus on feature parity of non-core utilities. This allows customers to achieve better standardization of their development processes across different Powertools runtimes.
+
+- [ ] [Re-evaluate if there is a need for adding a lightweight customer Powertools event handler](https://github.com/aws-powertools/powertools-lambda-java/issues/1103){target="\_blank"}
+- [ ] [Add comprehensive GraalVM support for all utilities](){target="\_blank"}
+- [ ] [Add Feature Flags module](https://github.com/aws-powertools/powertools-lambda-java/issues/1086){target="\_blank"}
+- [ ] [Add S3 Streaming module](https://github.com/aws-powertools/powertools-lambda-java/issues/1085){target="\_blank"}
+- [ ] Add support for Data Masking during JSON serialization
+
+### Missing something?
+
+You can help us prioritize by [upvoting existing feature requests](https://github.com/aws-powertools/powertools-lambda-java/issues?q=is%3Aissue%20state%3Aopen%20label%3Aenhancement){target="\_blank"},
+leaving a comment on what use cases it could unblock for you, and by joining our discussions on Discord.
+
+[](https://discord.gg/B8zZKbbyET){target="\_blank"}
+
+### Roadmap status definition
+
+
+```mermaid
+graph LR
+ Ideas --> Backlog --> Work["Working on it"] --> Merged["Coming soon"] --> Shipped
+```
+Visual representation
+
+
+Within our [public board](https://github.com/orgs/aws-powertools/projects/4/){target="\_blank"}, you'll see the following values in the `Status` column:
+
+- **Ideas**. Incoming and existing feature requests that are not being actively considered yet. These will be reviewed
+ when bandwidth permits.
+- **Backlog**. Accepted feature requests or enhancements that we want to work on.
+- **Working on it**. Features or enhancements we're currently either researching or implementing it.
+- **Coming soon**. Any feature, enhancement, or bug fixes that have been merged and are coming in the next release.
+- **Shipped**. Features or enhancements that are now available in the most recent release.
+
+> Tasks or issues with empty `Status` will be categorized in upcoming review cycles.
+
+### Process
+
+
+```mermaid
+graph LR
+ PFR[Feature request] --> Triage{Need RFC?}
+ Triage --> |Complex/major change or new utility?| RFC[Ask or write RFC] --> Approval{Approved?}
+ Triage --> |Minor feature or enhancement?| NoRFC[No RFC required] --> Approval
+ Approval --> |Yes| Backlog
+ Approval --> |No | Reject["Inform next steps"]
+ Backlog --> |Prioritized| Implementation
+ Backlog --> |Defer| WelcomeContributions["help-wanted label"]
+```
+Visual representation
+
+
+Our end-to-end mechanism follows four major steps:
+
+- **Feature Request**. Ideas start with a [feature request](https://github.com/aws-powertools/powertools-lambda-java/issues/new?template=feature_request.md){target="\_blank"} to outline their use case at a high level. For complex use cases, maintainers might ask for/write a
+ RFC.
+ - Maintainers review requests based on [project tenets](index.md#tenets){target="\_blank"}, customers reaction (👍),
+ and use cases.
+- **Request-for-comments (RFC)**. Design proposals use
+ our [RFC template](https://github.com/aws-powertools/powertools-lambda-java/issues/new?q=is%3Aissue+state%3Aopen+label%3Aenhancement&template=rfc.md){target="\_blank"} to describe its implementation, challenges, developer experience, dependencies, and alternative solutions.
+ - This helps refine the initial idea with community feedback before a decision is made.
+- **Decision**. After carefully reviewing and discussing them, maintainers make a final decision on whether to start
+ implementation, defer or reject it, and update everyone with the next steps.
+- **Implementation**. For approved features, maintainers give priority to the original authors for implementation unless
+ it is a sensitive task that is best handled by maintainers.
+
+!!! info "See [Maintainers](./processes/maintainers.md){target="\_blank"} document to understand how we triage issues and pull requests, labels and governance."
+
+### Disclaimer
+
+The Powertools for AWS Lambda (Java) team values feedback and guidance from its community of users, although final
+decisions on inclusion into the project will be made by AWS.
+
+We determine the high-level direction for our open roadmap based on customer feedback and popularity (👍🏽 and comments),
+security and operational impacts, and business value. Where features don’t meet our goals and longer-term strategy, we
+will communicate that clearly and openly as quickly as possible with an explanation of why the decision was made.
+
+### FAQs
+
+**Q: Why did you build this?**
+
+A: We know that our customers are making decisions and plans based on what we are developing, and we want to provide our
+customers the insights they need to plan.
+
+**Q: Why are there no dates on your roadmap?**
+
+A: Because job zero is security and operational stability, we can't provide specific target dates for features. The
+roadmap is subject to change at any time, and roadmap issues in this repository do not guarantee a feature will be
+launched as proposed.
+
+**Q: How can I provide feedback or ask for more information?**
+
+A: For existing features, you can directly comment on issues. For anything else, please open an issue.
diff --git a/docs/src/assets/aws-logo.svg b/docs/src/assets/aws-logo.svg
deleted file mode 100644
index 92d2f3b7d..000000000
--- a/docs/src/assets/aws-logo.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
- aws-logo
-
-
-
-
-
-
-
diff --git a/docs/src/components/Note/index.js b/docs/src/components/Note/index.js
deleted file mode 100644
index 5bd3b4c55..000000000
--- a/docs/src/components/Note/index.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import React from 'react'
-import { Alert } from 'antd'
-
-
-/**
- * Note is a React component that renders an Alert box message
- *
- * @param {object} obj
- * @param {string} obj.type - Type of alert (success, info, warning, error)
- * @param {string} obj.title - Title for the alert
- * @param {string} obj.children - Alert message
- */
-const Note = ({ type = 'info', title = '', children }) => {
- return (
-
- )
-}
-
-export default Note
diff --git a/docs/src/config.js b/docs/src/config.js
deleted file mode 100644
index e158be4bb..000000000
--- a/docs/src/config.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/* eslint-disable */
-
-const awsmobile = {
- "aws_project_region": "eu-west-1",
- "aws_cognito_identity_pool_id": "eu-west-1:3df3caec-4bb6-4891-b154-ee940c8264b8",
- "aws_cognito_region": "eu-west-1",
- "aws_kinesis_firehose_stream_name": "ClickStreamKinesisFirehose-OGX7PQdrynUo",
-
-};
-
-
-export default awsmobile;
diff --git a/docs/src/gatsby-theme-apollo-core/components/flex-wrapper.js b/docs/src/gatsby-theme-apollo-core/components/flex-wrapper.js
deleted file mode 100644
index 94e1cd42e..000000000
--- a/docs/src/gatsby-theme-apollo-core/components/flex-wrapper.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import styled from '@emotion/styled';
-
-const FlexWrapper = styled.div({
- display: 'flex',
- minHeight: '100vh',
- maxWidth: 1600,
- margin: '0 auto'
-});
-
-export default FlexWrapper;
diff --git a/docs/src/gatsby-theme-apollo-core/components/logo.js b/docs/src/gatsby-theme-apollo-core/components/logo.js
deleted file mode 100644
index 29b5f669f..000000000
--- a/docs/src/gatsby-theme-apollo-core/components/logo.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import React from 'react';
-import styled from '@emotion/styled';
-import { ReactComponent as AWSLogo } from '../../assets/aws-logo.svg';
-
-
-const Wrapper = styled.div({
- display: 'flex',
- padding: '0 60px',
- height: '5vh'
-});
-
-const StyledAwsIcon = styled(AWSLogo)({
- width: '100%'
-});
-
-export default function Logo() {
- return (
-
-
-
- );
-}
diff --git a/docs/src/gatsby-theme-apollo-docs/components/docset-switcher.js b/docs/src/gatsby-theme-apollo-docs/components/docset-switcher.js
deleted file mode 100644
index e4a0f3b60..000000000
--- a/docs/src/gatsby-theme-apollo-docs/components/docset-switcher.js
+++ /dev/null
@@ -1,264 +0,0 @@
-
-import PropTypes from 'prop-types';
-import React, { Fragment, useEffect, useMemo, useRef } from 'react';
-import styled from '@emotion/styled';
-import useKey from 'react-use/lib/useKey';
-import useWindowSize from 'react-use/lib/useWindowSize';
-import { IconTwitter } from '@apollo/space-kit/icons/IconTwitter';
-import { IconYoutube } from '@apollo/space-kit/icons/IconYoutube';
-import { boxShadow } from './search';
-import { breakpoints, colors, smallCaps } from 'gatsby-theme-apollo-core';
-import { size, transparentize } from 'polished';
-
-const Wrapper = styled.div({
- width: '100%',
- height: '100%',
- backgroundColor: transparentize(0.5, colors.text2),
- overflow: 'auto',
- position: 'fixed',
- top: 0,
- left: 0,
- zIndex: 3,
- perspective: '1000px',
- transitionProperty: 'opacity, visibility',
- transitionDuration: '150ms',
- transitionTimingFunction: 'ease-in-out'
-});
-
-const transitionDuration = 150; // in ms
-const Menu = styled.div({
- width: 700,
- marginBottom: 24,
- borderRadius: 4,
- boxShadow,
- backgroundColor: 'white',
- overflow: 'hidden',
- position: 'absolute',
- transformOrigin: '25% 25%',
- transition: `transform ${transitionDuration}ms ease-in-out`,
- outline: 'none',
- [breakpoints.md]: {
- width: 450
- },
- [breakpoints.sm]: {
- width: 'calc(100vw - 48px)'
- }
-});
-
-const MenuTitle = styled.h6(smallCaps, {
- margin: 24,
- marginBottom: 0,
- fontSize: 13,
- fontWeight: 600,
- color: colors.text3
-});
-
-const StyledNav = styled.nav({
- display: 'flex',
- flexWrap: 'wrap',
- margin: 12
-});
-
-const NavItem = styled.div({
- display: 'block',
- width: '50%',
- [breakpoints.md]: {
- width: '100%'
- }
-});
-
-const NavItemInner = styled.a({
- display: 'block',
- height: '100%',
- padding: 12,
- borderRadius: 4,
- color: colors.text1,
- textDecoration: 'none',
- backgroundColor: 'transparent',
- transitionProperty: 'color, background-color',
- transitionDuration: '150ms',
- transitionTimingFunction: 'ease-in-out',
- '@media (hover: hover)': {
- ':hover': {
- color: 'white',
- backgroundColor: colors.primary,
- p: {
- color: colors.primaryLight
- }
- }
- }
-});
-
-export const NavItemTitle = styled.h4({
- marginBottom: 8,
- fontWeight: 600,
- color: 'inherit'
-});
-
-export const NavItemDescription = styled.p({
- marginBottom: 0,
- fontSize: 14,
- lineHeight: 1.5,
- color: colors.text3,
- transition: 'color 150ms ease-in-out'
-});
-
-const FooterNav = styled.nav({
- display: 'flex',
- alignItems: 'center',
- padding: '16px 24px',
- backgroundColor: colors.background,
- [breakpoints.md]: {
- display: 'block'
- }
-});
-
-const FooterNavItem = styled.a({
- color: colors.text2,
- textDecoration: 'none',
- ':hover': {
- color: colors.text3
- },
- ':not(:last-child)': {
- marginRight: 24
- }
-});
-
-const SocialLinks = styled.div({
- display: 'flex',
- marginLeft: 'auto',
- [breakpoints.md]: {
- marginTop: 8
- }
-});
-
-const SocialLink = styled.a({
- color: colors.text2,
- ':hover': {
- color: colors.text3
- },
- ':not(:last-child)': {
- marginRight: 24
- },
- svg: {
- ...size(24),
- display: 'block',
- fill: 'currentColor'
- }
-});
-
-export default function DocsetSwitcher(props) {
- const menuRef = useRef(null);
- const { width } = useWindowSize();
- useKey('Escape', props.onClose);
-
- useEffect(() => {
- if (props.open) {
- // focus the menu after it has been transitioned in
- setTimeout(() => {
- menuRef.current.focus();
- }, transitionDuration);
- }
- }, [props.open]);
-
- const { current } = props.buttonRef;
- const menuStyles = useMemo(() => {
- if (!current) {
- return null;
- }
-
- const { top, left, height } = current.getBoundingClientRect();
- return {
- top: top + height + 2,
- left
- };
- // eslint-disable-next-line react-hooks/exhaustive-deps
- }, [current, width, props.open]);
-
- function handleWrapperClick(event) {
- if (event.target === event.currentTarget) {
- props.onClose();
- }
- }
-
- const hasSocialUrls = Boolean(
- props.spectrumUrl || props.twitterUrl || props.youtubeUrl
- );
- return (
-
-
- {props.siteName}
-
- {props.navItems.map(navItem => (
-
-
- {navItem.title}
- {navItem.description}
-
-
- ))}
-
- {(props.footerNavConfig || hasSocialUrls) && (
-
-
- {props.footerNavConfig &&
- Object.entries(props.footerNavConfig).map(([text, props]) => (
-
- {text}
-
- ))}
- {hasSocialUrls && (
-
- {props.twitterUrl && (
-
-
-
- )}
- {props.youtubeUrl && (
-
-
-
- )}
-
- )}
-
-
- )}
-
-
- );
-}
-
-DocsetSwitcher.propTypes = {
- open: PropTypes.bool.isRequired,
- onClose: PropTypes.func.isRequired,
- buttonRef: PropTypes.object.isRequired,
- siteName: PropTypes.string.isRequired,
- navItems: PropTypes.array.isRequired,
- footerNavConfig: PropTypes.object.isRequired,
- spectrumUrl: PropTypes.string,
- twitterUrl: PropTypes.string,
- youtubeUrl: PropTypes.string
-};
diff --git a/docs/src/gatsby-theme-apollo-docs/components/header-button.js b/docs/src/gatsby-theme-apollo-docs/components/header-button.js
deleted file mode 100644
index 5830a97de..000000000
--- a/docs/src/gatsby-theme-apollo-docs/components/header-button.js
+++ /dev/null
@@ -1,2 +0,0 @@
-// Shadow Header built-in component and remove `Launch Graph Manager`
-export default () => null;
diff --git a/docs/src/gatsby-theme-apollo-docs/components/header.js b/docs/src/gatsby-theme-apollo-docs/components/header.js
deleted file mode 100644
index 25cd50807..000000000
--- a/docs/src/gatsby-theme-apollo-docs/components/header.js
+++ /dev/null
@@ -1,37 +0,0 @@
-import PropTypes from 'prop-types';
-import React from 'react';
-import styled from '@emotion/styled';
-import { HEADER_HEIGHT } from '../utils';
-import { breakpoints } from 'gatsby-theme-apollo-core';
-
-const Wrapper = styled.header({
- position: 'sticky',
- top: 0,
- left: 0,
- zIndex: 1
-});
-
-const InnerWrapper = styled.div({
- display: 'flex',
- alignItems: 'center',
- height: HEADER_HEIGHT,
- padding: '0 56px',
- backgroundColor: 'white',
- [breakpoints.md]: {
- padding: '0 24px'
- }
-});
-
-export default function Header(props) {
- return (
-
- {props.beforeContent}
- {props.children}
-
- );
-}
-
-Header.propTypes = {
- beforeContent: PropTypes.node.isRequired,
- children: PropTypes.node.isRequired
-};
diff --git a/docs/src/gatsby-theme-apollo-docs/components/mobile-logo.js b/docs/src/gatsby-theme-apollo-docs/components/mobile-logo.js
deleted file mode 100644
index 93b73a25f..000000000
--- a/docs/src/gatsby-theme-apollo-docs/components/mobile-logo.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import React from 'react';
-import styled from '@emotion/styled';
-
-import { ReactComponent as Logo } from '../../assets/aws-logo.svg';
-
-const Wrapper = styled.div({
- display: 'flex',
- height: '5vh'
-});
-
-const AwsMobileLogo = styled(Logo)({
- height: 'auto'
-});
-
-export function MobileLogo() {
- return (
-
-
-
- );
-}
diff --git a/docs/src/gatsby-theme-apollo-docs/components/page-content.js b/docs/src/gatsby-theme-apollo-docs/components/page-content.js
deleted file mode 100644
index 3c752c478..000000000
--- a/docs/src/gatsby-theme-apollo-docs/components/page-content.js
+++ /dev/null
@@ -1,226 +0,0 @@
-import PropTypes from 'prop-types';
-import React, { useRef, useState } from 'react';
-import SectionNav from './section-nav';
-import styled from '@emotion/styled';
-import useMount from 'react-use/lib/useMount';
-import { HEADER_HEIGHT } from '../utils';
-import { IconGithub } from '@apollo/space-kit/icons/IconGithub';
-import { PageNav, breakpoints, colors } from 'gatsby-theme-apollo-core';
-import { withPrefix } from 'gatsby';
-
-const Wrapper = styled.div({
- display: 'flex',
- alignItems: 'flex-start'
-});
-
-const InnerWrapper = styled.div({
- flexGrow: 1,
- width: 0
-});
-
-const BodyContent = styled.div({
- // style all anchors with an href and no prior classes
- // this helps avoid anchors with names and styled buttons
- 'a[href]:not([class])': {
- color: colors.primary,
- textDecoration: 'none',
- ':hover': {
- textDecoration: 'underline'
- },
- code: {
- color: 'inherit'
- }
- },
- [['h1', 'h2', 'h3', 'h4', 'h5', 'h6']]: {
- code: {
- whiteSpace: 'normal'
- },
- a: {
- color: 'inherit',
- textDecoration: 'none',
- ':hover': {
- color: colors.text2
- },
- '&.anchor': {
- display: 'none'
- }
- }
- },
- '*:not(style) +': {
- [['h2', 'h3', 'h4']]: {
- marginTop: 56
- }
- },
- img: {
- display: 'block',
- maxWidth: '100%',
- margin: '0 auto'
- },
- '.mermaid svg': {
- maxWidth: '100%'
- }
-});
-
-const Aside = styled.aside({
- display: 'flex',
- flexDirection: 'column',
- flexShrink: 0,
- width: 240,
- maxHeight: `calc(100vh - ${HEADER_HEIGHT}px)`,
- marginTop: -36,
- padding: '40px 0',
- marginLeft: 40,
- position: 'sticky',
- top: HEADER_HEIGHT,
- [breakpoints.lg]: {
- display: 'none'
- },
- [breakpoints.md]: {
- display: 'block'
- },
- [breakpoints.sm]: {
- display: 'none'
- }
-});
-
-const AsideHeading = styled.h4({
- fontWeight: 600
-});
-
-const AsideLinkWrapper = styled.h5({
- display: 'flex',
- marginBottom: 0,
- ':not(:last-child)': {
- marginBottom: 16
- }
-});
-
-const AsideLinkInner = styled.a({
- display: 'flex',
- alignItems: 'center',
- color: colors.text2,
- textDecoration: 'none',
- ':hover': {
- color: colors.text3
- },
- svg: {
- width: 20,
- height: 20,
- marginRight: 6,
- fill: 'currentColor'
- }
-});
-
-function AsideLink(props) {
- return (
-
-
-
- );
-}
-
-const EditLink = styled.div({
- display: 'none',
- marginTop: 48,
- justifyContent: 'flex-end',
- [breakpoints.lg]: {
- display: 'flex'
- },
- [breakpoints.md]: {
- display: 'none'
- },
- [breakpoints.sm]: {
- display: 'flex',
- marginTop: 24
- }
-});
-
-export default function PageContent(props) {
- const contentRef = useRef(null);
- const [imagesToLoad, setImagesToLoad] = useState(0);
- const [imagesLoaded, setImagesLoaded] = useState(0);
-
- useMount(() => {
- if (props.hash) {
- // turn numbers at the beginning of the hash to unicode
- // see https://stackoverflow.com/a/20306237/8190832
- const hash = props.hash.toLowerCase().replace(/^#(\d)/, '#\\3$1 ');
- try {
- const hashElement = contentRef.current.querySelector(hash);
- if (hashElement) {
- hashElement.scrollIntoView();
- }
- } catch (error) {
- // let errors pass
- }
- }
-
- let toLoad = 0;
- const images = contentRef.current.querySelectorAll('img');
- images.forEach(image => {
- if (!image.complete) {
- image.addEventListener('load', handleImageLoad);
- toLoad++;
- }
- });
-
- setImagesToLoad(toLoad);
- });
-
- function handleImageLoad() {
- setImagesLoaded(prevImagesLoaded => prevImagesLoaded + 1);
- }
-
- const pageIndex = props.pages.findIndex(page => {
- const prefixedPath = withPrefix(page.path);
- return (
- prefixedPath === props.pathname ||
- prefixedPath.replace(/\/$/, '') === props.pathname
- );
- });
-
- const githubUrl = props.githubUrl.replace("master", "master/docs")
- const editLink = githubUrl && (
-
- Edit on GitHub
-
- );
-
- return (
-
-
-
- {props.children}
-
- {editLink}
-
-
-
- {props.title}
- {props.headings.length > 0 && (
-
- )}
- {editLink}
-
-
- );
-}
-
-PageContent.propTypes = {
- children: PropTypes.node.isRequired,
- pathname: PropTypes.string.isRequired,
- githubUrl: PropTypes.string,
- pages: PropTypes.array.isRequired,
- hash: PropTypes.string.isRequired,
- title: PropTypes.string.isRequired,
- graphManagerUrl: PropTypes.string.isRequired,
- headings: PropTypes.array.isRequired,
- spectrumUrl: PropTypes.string
-};
diff --git a/docs/src/gatsby-theme-apollo-docs/components/search.js b/docs/src/gatsby-theme-apollo-docs/components/search.js
deleted file mode 100644
index 609b47bee..000000000
--- a/docs/src/gatsby-theme-apollo-docs/components/search.js
+++ /dev/null
@@ -1,217 +0,0 @@
-/* global docsearch */
-import PropTypes from 'prop-types';
-import React, { Fragment, useEffect, useRef, useState } from 'react';
-import styled from '@emotion/styled';
-import useKey from 'react-use/lib/useKey';
-import { HEADER_HEIGHT } from '../utils';
-import { TextField } from '@apollo/space-kit/TextField';
-import { breakpoints, colors, smallCaps } from 'gatsby-theme-apollo-core';
-import { css } from '@emotion/core';
-import { position, size, transparentize } from 'polished';
-
-const borderRadius = 5;
-const border = `1px solid ${colors.text3}`;
-const verticalAlign = css({
- position: 'absolute',
- top: '50%',
- transform: 'translateY(-50%)'
-});
-
-const Hotkey = styled.div(verticalAlign, size(24), {
- border,
- borderColor: colors.text4,
- color: colors.text4,
- borderRadius,
- textAlign: 'center',
- lineHeight: 1.125,
- right: 10,
- pointerEvents: 'none'
-});
-
-const boxShadowColor = transparentize(0.9, 'black');
-export const boxShadow = `${boxShadowColor} 0 2px 12px`;
-const Container = styled.div({
- flexGrow: 1,
- marginRight: 40,
- color: colors.text2,
- position: 'relative',
- zIndex: 1,
- [breakpoints.md]: {
- marginRight: 0
- },
- '.algolia-autocomplete': {
- width: '100%',
- '.ds-dropdown-menu': {
- width: '100%',
- maxWidth: '100%',
- minWidth: 'auto',
- marginTop: 14,
- borderRadius,
- boxShadow,
- '&::before': {
- display: 'none'
- },
- '[class^=ds-dataset-]': {
- maxHeight: `calc(100vh - ${HEADER_HEIGHT}px - 32px)`,
- padding: 0,
- border,
- borderRadius: 'inherit'
- },
- '.ds-suggestions': {
- marginTop: 0
- },
- '.ds-suggestion': {
- padding: '20px 32px',
- borderBottom: `1px solid ${colors.divider}`,
- '&.ds-cursor': {
- backgroundColor: transparentize(0.5, colors.divider)
- }
- }
- },
- '.algolia-docsearch-suggestion': {
- padding: 0,
- color: 'inherit',
- background: 'none',
- textDecoration: 'none',
- [['&--wrapper', '&--subcategory-column', '&--content']]: {
- width: 'auto',
- float: 'none'
- },
- '&--wrapper': {
- paddingTop: 0
- },
- '&--category-header': {
- marginTop: 0,
- marginBottom: 4,
- borderBottom: 0,
- fontSize: 14,
- color: 'inherit',
- ...smallCaps
- },
- [['&--subcategory-column', '&--content']]: {
- padding: 0,
- '&::before': {
- display: 'none'
- }
- },
- '&--subcategory-column': {
- marginBottom: 4,
- fontSize: 22,
- color: colors.text1,
- textAlign: 'initial'
- },
- '&--content': {
- background: 'none !important'
- },
- '&--title': {
- marginBottom: 0,
- fontSize: 18,
- fontWeight: 'normal',
- color: 'inherit'
- },
- '&--highlight': {
- boxShadow: 'none !important',
- color: `${colors.primary} !important`,
- background: 'none !important'
- },
- '&--no-results': {
- padding: 32
- }
- },
- '.algolia-docsearch-footer': {
- margin: 12
- }
- }
-});
-
-const Overlay = styled.div(
- position('fixed', 0),
- props =>
- !props.visible && {
- opacity: 0,
- visibility: 'hidden'
- },
- {
- backgroundColor: transparentize(0.5, colors.text2),
- transitionProperty: 'opacity, visibility',
- transitionDuration: '150ms',
- transitionTimingFunction: 'ease-in-out',
- zIndex: 1
- }
-);
-
-export default function Search(props) {
- const [focused, setFocused] = useState(false);
- const [value, setValue] = useState('');
- const inputRef = useRef(null);
-
- useEffect(() => {
- if (typeof docsearch !== 'undefined') {
- docsearch({
- apiKey: props.apiKey,
- indexName: props.indexName,
- inputSelector: '#input',
- // debug: true, // keeps the results list open
- algoliaOptions: {
- hitsPerPage: 10
- }
- });
- }
- }, [props.apiKey, props.indexName]);
-
- // focus the input when the slash key is pressed
- useKey(
- event =>
- event.keyCode === 191 && event.target.tagName.toUpperCase() !== 'INPUT',
- event => {
- event.preventDefault();
- inputRef.current.focus();
- }
- );
-
- function onChange(event) {
- setValue(event.target.value);
- }
-
- function onFocus() {
- setFocused(true);
- }
- function onBlur() {
- setFocused(false);
- }
-
- const resultsShown = focused && value.trim();
- return (
-
-
-
-
- }
- onFocus={onFocus}
- onBlur={onBlur}
- onChange={onChange}
- value={value}
- placeholder={`Search ${props.siteName}`}
- />
- {!focused && !value && / }
-
-
- );
-}
-
-Search.propTypes = {
- siteName: PropTypes.string.isRequired,
- apiKey: PropTypes.string.isRequired,
- indexName: PropTypes.string.isRequired
-};
diff --git a/docs/src/gatsby-theme-apollo-docs/components/section-nav.js b/docs/src/gatsby-theme-apollo-docs/components/section-nav.js
deleted file mode 100644
index 2a3e6bf49..000000000
--- a/docs/src/gatsby-theme-apollo-docs/components/section-nav.js
+++ /dev/null
@@ -1,97 +0,0 @@
-import PropTypes from 'prop-types';
-import React, { useEffect, useState } from 'react';
-import Slugger from 'github-slugger';
-import striptags from 'striptags';
-import styled from '@emotion/styled';
-import useWindowScroll from 'react-use/lib/useWindowScroll';
-import useWindowSize from 'react-use/lib/useWindowSize';
-import { colors } from 'gatsby-theme-apollo-core';
-import { trackCustomEvent } from 'gatsby-plugin-google-analytics';
-
-const StyledList = styled.ul({
- marginLeft: 0,
- marginBottom: 48,
- overflow: 'auto'
-});
-
-const StyledListItem = styled.li(props => ({
- listStyle: 'none',
- fontSize: '1rem',
- lineHeight: 'inherit',
- color: props.active && colors.primary,
- a: {
- color: 'inherit',
- textDecoration: 'none',
- ':hover': {
- opacity: colors.hoverOpacity
- }
- }
-}));
-
-function handleHeadingClick(event) {
- trackCustomEvent({
- category: 'Section Nav',
- action: 'Heading click',
- label: event.target.innerText
- });
-}
-
-export default function SectionNav(props) {
- const { y } = useWindowScroll();
- const { width, height } = useWindowSize();
- const [offsets, setOffsets] = useState([]);
-
- const { contentRef, imagesLoaded } = props;
- useEffect(() => {
- const headings = contentRef.current.querySelectorAll('h1, h2');
- setOffsets(
- Array.from(headings)
- .map(heading => {
- const anchor = heading.querySelector('a');
- if (!anchor) {
- return null;
- }
-
- return {
- id: heading.id,
- offset: heading.offsetTop + anchor.offsetTop
- };
- })
- .filter(Boolean)
- );
- }, [width, height, contentRef, imagesLoaded]);
-
- let activeHeading = null;
- const windowOffset = height / 2;
- const scrollTop = y + windowOffset;
- for (let i = offsets.length - 1; i >= 0; i--) {
- const { id, offset } = offsets[i];
- if (scrollTop >= offset) {
- activeHeading = id;
- break;
- }
- }
-
- const slugger = new Slugger();
- return (
-
- {props.headings.map(({ value }) => {
- const text = striptags(value);
- const slug = slugger.slug(text);
- return (
-
-
- {text}
-
-
- );
- })}
-
- );
-}
-
-SectionNav.propTypes = {
- headings: PropTypes.array.isRequired,
- imagesLoaded: PropTypes.bool.isRequired,
- contentRef: PropTypes.object.isRequired
-};
diff --git a/docs/src/gatsby-theme-apollo-docs/utils.js b/docs/src/gatsby-theme-apollo-docs/utils.js
deleted file mode 100644
index 519a9e3b6..000000000
--- a/docs/src/gatsby-theme-apollo-docs/utils.js
+++ /dev/null
@@ -1,6 +0,0 @@
-function getVersionBasePath(version) {
- return `/v${version.replace(/\s+/g, '-')}`;
-}
-
-exports.getVersionBasePath = getVersionBasePath;
-exports.HEADER_HEIGHT = 72;
diff --git a/docs/src/styles/global.css b/docs/src/styles/global.css
deleted file mode 100644
index deeda92fa..000000000
--- a/docs/src/styles/global.css
+++ /dev/null
@@ -1,27 +0,0 @@
-tr > td {
- font-size: 0.95rem
-}
-
-/* Override Ant default styles */
-.ant-alert-with-description .ant-alert-message {
- font-size: 1.125rem !important
-}
-
-.ant-alert-description {
- font-size: 1rem !important
-}
-
-.language-text {
- font-weight: 700;
- color: #5A6270 !important
-}
-
-.token.variable,
-.token.boolean,
-.token.number,
-.language-bash > .variable,
-.token.function,
-.token.decorator,
-.token.property {
- color: darkmagenta !important
-}
diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css
new file mode 100644
index 000000000..dc08ef51e
--- /dev/null
+++ b/docs/stylesheets/extra.css
@@ -0,0 +1,33 @@
+.md-grid {
+ max-width: 90vw
+}
+
+.highlight .hll {
+ [data-md-color-scheme="default"] {
+ background-color: lavender;
+ }
+}
+
+.md-typeset table:not([class]) {
+ font-size: 0.75rem
+}
+
+.md-typeset a {
+ border-bottom: 0.1px dashed black
+}
+
+.md-typeset table:not([class]) {
+ font-size: 0.75rem
+}
+
+.md-nav__link--active {
+ font-weight: bold
+}
+
+.md-typeset .admonition, .md-typeset details {
+ font-size: 0.70rem
+}
+
+p > code {
+ font-weight: bold
+}
diff --git a/docs/upgrade.md b/docs/upgrade.md
new file mode 100644
index 000000000..c9662a3db
--- /dev/null
+++ b/docs/upgrade.md
@@ -0,0 +1,458 @@
+---
+title: Upgrade guide
+description: Guide to update between major Powertools for AWS Lambda (Java) versions
+---
+
+## End of support v1
+
+
+!!! warning "End of support notice"
+ On December 12th, 2025, Powertools for AWS Lambda (Java) v1 reached end-of-life and will no longer receive updates or releases. If you are still using v1, we strongly recommend you to read our upgrade guide and update to the latest version. Refer to [our announcement](https://github.com/aws-powertools/powertools-lambda-java/issues/1895) for details.
+
+
+Given our commitment to all of our customers using Powertools for AWS Lambda (Java), we will keep [Maven Central](https://central.sonatype.com/search?q=powertools){target="\_blank"} `v1` releases and a `v1` documentation archive to prevent any disruption.
+
+## Migrate to v2 from v1
+
+!!! info "We strongly encourage you to migrate to `v2`. Refer to our [versioning policy](./processes/versioning.md) to learn more about our version support process."
+
+We've made minimal breaking changes to make your transition to `v2` as smooth as possible.
+
+### Quick summary
+
+The following table shows a summary of the changes made in `v2` and whether code changes are necessary. Each change that requires a code change links to a section below explaining more details.
+
+| Area | Change | Code change required |
+| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |
+| **Logging** | The [logging module was re-designed](#redesigned-logging-utility) from scratch to support popular Java logging paradigms and libraries like `log4j2`, `logback`, and `slf4j`. | Yes |
+| **Metrics** | [Changed public interface](#updated-metrics-utility-interface) to remove direct coupling with `aws-embedded-metrics-java`. | Yes |
+| **Tracing** | [Removed deprecated `captureResponse` and `captureError` options](#deprecated-capture-mode-related-tracing-annotation-parameters) on `@Tracing` annotation. | Yes |
+| **Idempotency** | The [`powertools-idempotency` module was split by provider](#idempotency-utility-split-into-sub-modules-by-provider) to improve modularity and reduce the deployment package size. | Yes |
+| **Idempotency** | Updated `IdempotencyConfig` interface to support addition of response hooks. | No |
+| **Parameters** | The [`powertools-parameters` module was split by provider](#parameters-utility-split-into-sub-modules-by-provider) to improve modularity and reduce the deployment package size. | Yes |
+| **Batch Processing** | [Removed deprecated `powertools-sqs` module](#removed-powertools-sqs-module-in-favor-of-powertools-batch) in favor of the more generic [Batch Processing](./utilities/batch.md) utility. | Yes |
+| **Batch Processing** | Updated Batch Processing `BatchMessageHandler` interface to add support for parallel processing. | No |
+| **Validation** | The `@Validation` utility returns 4xx error codes instead of 5xx error codes when used with API Gateway now. | No |
+| **Validation** | Validating batch event sources now adds failed events as partial batch failures and does not fail the whole batch anymore. | No |
+| **Custom Resources** | [Removed deprecated `Response.failed()` and `Response.success()` methods](#custom-resources-updates-the-response-class). | Yes |
+| **Custom Resources** | Changed interface of `Response` class to add an optional `reason` field. | No |
+| **Dependencies** | Renamed `powertools-core` to `powertools-common`. This module should not be used as direct dependency and is listed here for completeness. | No |
+| **Dependencies** | [Removed `org.aspectj.aspectjrt` as project dependency](#aspectj-runtime-not-included-by-default-anymore) in favor of consumers including the version they prefer. | Yes |
+| **Language support** | Removed support for Java 8. The minimum required Java version is Java 11. | N/A |
+
+### First Steps
+
+Before you start, we suggest making a copy of your current working project or create a new branch with `git`.
+
+1. **Upgrade** Java to at least version 11. While version 11 is supported, we recommend using the [newest available LTS version](https://downloads.corretto.aws/#/downloads){target="\_blank"} of Java.
+2. **Review** the following section to confirm if you need to make changes to your code.
+
+## Redesigned Logging Utility
+
+
+
+The logging utility was re-designed from scratch to integrate better with Java idiomatic conventions and to remove the hard dependency on `log4j` as logging implementation. The new logging utility now supports `slfj4` as logging interface and gives you the choice among `log4j2` and `logback` as logging implementations. Consider the following steps to migrate from the v1 logging utility to the v2 logging utility:
+
+**1. Remove `powertools-logging` dependency and replace it with your logging backend of choice**
+
+In order to support different logging implementations, dedicated logging modules were created for the different logging implementations. Remove `powertools-logging` as a dependency and replace it with either `powertools-logging-log4j` or `powertools-logging-logback`.
+
+```diff
+
+-
+- software.amazon.lambda
+- powertools-logging
+- 1.x.x
+-
+
+
++
++ software.amazon.lambda
++ powertools-logging-log4j
++ 2.x.x
++
+```
+
+
+!!! info "The AspectJ configuration still needs to depend on `powertools-logging`"
+ We have only replaced the logging implementation dependency. The AspectJ configuration still needs to depend on `powertools-logging` which contains the main logic.
+
+ ```xml
+
+ software.amazon.lambda
+ powertools-logging
+
+ ```
+
+
+**2. Update `log4j2.xml` including new `JsonTemplateLayout`**
+
+This step is only required if you are using log4j2 as your logging implementation. The deprecated `#!xml ` element was removed. Replace it with the log4j2 agnostic `#!xml ` element.
+
+```diff
+
+
+
+
+-
++
+
+
+
+
+
+
+
+
+
+
+
+```
+
+**3. Migrate all logging specific calls to SLF4J native primitives (recommended)**
+
+The new logging utility is designed to integrate seamlessly with Java SLF4J to allow customers adopt the Logging utility without large code refactorings. This improvement requires the migration of non-native SLF4J primitives from the v1 Logging utility.
+
+!!! info "While we recommend using SLF4J as a logging implementation independent facade, you can still use the log4j2 and logback interfaces directly."
+
+Consider the following code example which gives you hints on how to achieve the same functionality between v1 and v2 Logging:
+
+```diff
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import software.amazon.lambda.powertools.logging.Logging;
+// ... other imports
+
+public class PaymentFunction implements RequestHandler {
+ // BEFORE v2: Uses org.apache.logging.log4j.LogManager
+- private static final Logger LOGGER = LogManager.getLogger(PaymentFunction.class);
+ // AFTER v2: Use org.slf4j.LoggerFactory
++ private static final Logger LOGGER = LoggerFactory.getLogger(PaymentFunction.class);
+
+ @Logging
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
+ // ...
+
+ // BEFORE v2: Uses LoggingUtils.appendKey to append custom global keys
+ // LoggingUtils was removed!
+- LoggingUtils.appendKey("cardNumber", card.getId());
+ // AFTER v2: Uses native SLF4J Mapped Diagnostic Context (MDC)
++ MDC.put("cardNumber", card.getId());
+
+ // Regular logging has not changed
+ LOGGER.info("My log message with argument.");
+
+ // Adding custom keys on a specific log message
+ // BEFORE v2: No direct way, only supported via LoggingUtils.appendKey and LoggingUtils.removeKey
+ // AFTER v2: Extensive support for StructuredArguments
++ LOGGER.info("Collecting payment", StructuredArguments.entry("orderId", order.getId()));
+ // { "message": "Collecting payment", ..., "orderId": 123}
+ Map customKeys = new HashMap<>();
+ customKeys.put("paymentId", payment.getId());
+ customKeys.put("amount", payment.getAmount);
++ LOGGER.info("Payment successful", StructuredArguments.entries(customKeys));
+ // { "message": "Payment successful", ..., "paymentId": 123, "amount": 12.99}
+ }
+}
+```
+
+!!! info "Make sure to learn more about the advanced structured argument serialization features in the [Logging v2 documentation](./core/logging.md/#custom-keys)."
+
+## Updated Metrics utility interface
+
+
+
+
+The Metrics utility was redesigned to be more modular and allow for the addition of new metrics providers in the future. The same EMF-based metrics logging still applies but will be called via an updated public interface. Consider the following list to understand some of changes:
+
+- `#!java @Metrics` was renamed to `#!java @FlushMetrics`
+- `#!java MetricsLogger.metricsLogger()` was renamed to `#!java MetricsFactory.getMetricsInstance()`
+- `put*` calls such as `#!java putMetric()` where replaced with `add*` nomenclature such as `#!java addMetric()`
+- All direct imports from `software.amazon.cloudwatchlogs.emf` need to be replaced with Powertools counterparts from `software.amazon.lambda.powertools.metrics` (see example below)
+- The `withSingleMetric` and `withMetricsLogger` methods were removed in favor of `#!java metrics.flushSingleMetric()`
+- It is no longer valid to skip declaration of a namespace. If no namespace is provided, an exception will be raised instead of using the default `aws-embedded-metrics` namespace.
+
+The following example shows a common Lambda handler using the Metrics utility and required refactorings.
+
+```diff
+// Metrics is not a decorator anymore but the replacement for the `MetricsLogger` Singleton
+import software.amazon.lambda.powertools.metrics.Metrics;
++ import software.amazon.lambda.powertools.metrics.FlushMetrics;
+- import software.amazon.lambda.powertools.metrics.MetricsUtils;
++ import software.amazon.lambda.powertools.metrics.MetricsFactory;
+- import software.amazon.cloudwatchlogs.emf.logger.MetricsLogger;
+- import software.amazon.cloudwatchlogs.emf.model.DimensionSet;
+- import software.amazon.cloudwatchlogs.emf.model.Unit;
++ import software.amazon.lambda.powertools.metrics.model.DimensionSet;
++ import software.amazon.lambda.powertools.metrics.model.MetricUnit;
+
+public class MetricsEnabledHandler implements RequestHandler {
+
+ // This is still a Singleton
+- MetricsLogger metricsLogger = MetricsUtils.metricsLogger();
++ Metrics metrics = MetricsFactory.getMetricsInstance();
+
+ @Override
+- @Metrics(namespace = "ExampleApplication", service = "booking")
++ @FlushMetrics(namespace = "ExampleApplication", service = "booking")
+ public Object handleRequest(Object input, Context context) {
+- metricsLogger.putDimensions(DimensionSet.of("environment", "prod"));
++ metrics.addDimension(DimensionSet.of("environment", "prod"));
+ // New method overload for adding 2D dimensions more conveniently
++ metrics.addDimension("environment", "prod");
+- metricsLogger.putMetric("SuccessfulBooking", 1, Unit.COUNT);
++ metrics.addMetric("SuccessfulBooking", 1, MetricUnit.COUNT);
+ ...
+ }
+}
+```
+
+Learn more about the redesigned Metrics utility in the [Metrics documentation](./core/metrics.md).
+
+## Deprecated capture mode related `@Tracing` annotation parameters
+
+
+
+The deprecated `captureError` and `captureResponse` arguments to the `@Tracing` annotation were removed in v2 and replaced by a new `captureMode` parameter. The parameter can be passed an Enum value of `CaptureMode`.
+
+You should update your code using the new `captureMode` argument:
+
+```diff
+- @Tracing(captureError = false, captureResponse = false)
++ @Tracing(captureMode = CaptureMode.DISABLED)
+public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ // ...
+}
+```
+
+Learn more about valid `CaptureMode` values in the [Tracing documentation](./core/tracing.md).
+
+## Idempotency utility split into sub-modules by provider
+
+The Idempotency utility was split from the common `powertools-idempotency` package into individual packages for different persistence store providers. The main business logic is now in the `powertools-idempotency-core` package.
+
+You should now include the `powertools-idempotency-core` package as an AspectJ library and the provider package like `powertools-idempotency-dynamodb` as a regular dependency.
+
+```diff
+
+-
+- software.amazon.lambda
+- powertools-idempotency
+- 1.x.x
+-
+
+
++
++ software.amazon.lambda
++ powertools-idempotency-dynamodb
++ 2.x.x
++
+
++
++ software.amazon.lambda
++ powertools-idempotency-core
++
+```
+
+## Parameters utility split into sub-modules by provider
+
+Parameters utilities were split from the common `powertools-parameters` package into individual packages for different parameter providers. You should now include the specific parameters dependency for your provider. If you use multiple providers, you can include multiple packages. Each parameter provider needs to be included as a dependency and an AspectJ library to use annotations.
+
+This new structure reduces the bundle size of your deployment package.
+
+```diff
+
+
+-
+- software.amazon.lambda
+- powertools-parameters
+- 1.x.x
+-
+
+-
+- software.amazon.lambda
+- powertools-parameters
+-
+
+
++
++ software.amazon.lambda
++ powertools-parameters-secrets
++ 2.x.x
++
+
+
++
++ software.amazon.lambda
++ powertools-parameters-secrets
++
+
+```
+
+!!! info "Find the full list of supported providers in the [Parameters utility documentation](./utilities/parameters.md)."
+
+## Custom Resources updates the `Response` class
+
+
+
+The `Response` class supporting CloudFormation Custom Resource implementations was updated to remove deprecated methods.
+
+The `#!java Response.failed()` and `#!java Response.success()` methods without parameters were removed and require the physical resource ID now. You should update your code to use:
+
+- `#!java Response.failed(String physicalResourceId)`
+- `#!java Response.success(String physicalResourceId)`
+
+```diff
+import com.amazonaws.services.lambda.runtime.Context;
+import com.amazonaws.services.lambda.runtime.events.CloudFormationCustomResourceEvent;
+import software.amazon.lambda.powertools.cloudformation.AbstractCustomResourceHandler;
+import software.amazon.lambda.powertools.cloudformation.Response;
+
+public class MyCustomResourceHandler extends AbstractCustomResourceHandler {
+
+ // ...
+
+ @Override
+ protected Response update(CloudFormationCustomResourceEvent updateEvent, Context context) {
++ String physicalResourceId = updateEvent.getPhysicalResourceId();
+ UpdateResult updateResult = doUpdates(physicalResourceId);
+ if (updateResult.isSuccessful()) {
+- return Response.success();
++ return Response.success(physicalResourceId);
+ } else {
+- return Response.failed();
++ return Response.failed(physicalResourceId);
+ }
+ }
+
+ // ...
+}
+```
+
+## Improved integration of Validation utility with other utilities
+
+
+
+The Validation utility includes two updates that change the behavior of integration with other utilities and AWS services.
+
+**1. Updated HTTP status code when using `@Validation` with API Gateway**
+
+This does not require a code change in the Lambda function using the Validation utility but might impact how your calling application treats exceptions. Prior to `v2`, a 500 HTTP status code was returned when the validation did not pass. Consistent with the [HTTP specification](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status){target="\_blank"}, a 400 status code is returned now indicating a user error instead of a server error.
+
+Consider the following example:
+
+```java
+import software.amazon.lambda.powertools.validation.Validation;
+
+public class MyFunctionHandler implements RequestHandler {
+
+ @Override
+ @Validation(inboundSchema = "classpath:/schema_in.json", outboundSchema = "classpath:/schema_out.json")
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ // ...
+ return something;
+ }
+}
+```
+
+If the request validation fails, you can expect the following change in the HTTP response status code on the client-side:
+
+```sh
+# BEFORE v2: 500 Internal Server Error
+❯ curl -s -o /dev/null -w "%{http_code}" https://{API_ID}.execute-api.{REGION}.amazonaws.com/{STAGE}/{PATH}
+500
+# AFTER v2: 400 Bad Request
+❯ curl -s -o /dev/null -w "%{http_code}" https://{API_ID}.execute-api.{REGION}.amazonaws.com/{STAGE}/{PATH}
+400
+```
+
+**2. Integration with partial batch failures when using Batch utility**
+
+This does not require a code change but might affect the batch processing flow when using the Validation utility in combination with the Batch processing utility.
+
+Consider the following example:
+
+```java
+import com.amazonaws.services.lambda.runtime.Context;
+import com.amazonaws.services.lambda.runtime.RequestHandler;
+import com.amazonaws.services.lambda.runtime.events.SQSBatchResponse;
+import com.amazonaws.services.lambda.runtime.events.SQSEvent;
+import software.amazon.lambda.powertools.batch.BatchMessageHandlerBuilder;
+import software.amazon.lambda.powertools.batch.handler.BatchMessageHandler;
+
+public class SqsBatchHandler implements RequestHandler {
+
+ private final BatchMessageHandler handler;
+
+ public SqsBatchHandler() {
+ handler = new BatchMessageHandlerBuilder()
+ .withSqsBatchHandler()
+ .buildWithMessageHandler(this::processMessage, Product.class);
+ }
+
+ @Override
+ @Validation(inboundSchema = "classpath:/schema_in.json", outboundSchema = "classpath:/schema_out.json")
+ public SQSBatchResponse handleRequest(SQSEvent sqsEvent, Context context) {
+ return handler.processBatch(sqsEvent, context);
+ }
+
+ private void processMessage(Product p, Context c) {
+ // Process the product
+ }
+}
+```
+
+- **Prior to `v2`** this caused the whole batch to fail.
+- **After `v2`** this will add only the failed events to the batch item failure list in the response and process the remaining messages.
+
+!!! info "Check if your workload can tolerate this behavior and make sure it is designed for idempotency when using partial batch item failures. We offer the [Idempotency](./utilities/idempotency.md) utility to simplify integration of idempotent behavior in your workloads."
+
+## AspectJ runtime not included by default anymore
+
+The AspectJ runtime is no longer included as a transitive dependency of Powertools. For all utilities offering annotations using AspectJ compile-time weaving, you need to include the AspectJ runtime yourself now. This is also documented, with a complete example, in our [installation guide](./index.md). For Maven projects, make sure to add the following dependency in your dependencies section:
+
+```diff
++
++ org.aspectj
++ aspectjrt
++ 1.9.22
++
+```
+
+## Removed `powertools-sqs` module in favor of `powertools-batch`
+
+The archived documentation contains a migration guide for both large message handling using `powertools-sqs` and batch processing using `powertools-sqs`. The sections below explain the high-level steps for your convenience.
+
+### Migrating SQS Batch processing (`@SqsBatch`)
+
+The [batch processing library](./utilities/batch.md) provides a way to process messages and gracefully handle partial failures for SQS, Kinesis Streams, and DynamoDB Streams batch sources. In comparison to the legacy SQS Batch library, it relies on [Lambda partial batch responses](https://docs.aws.amazon.com/lambda/latest/dg/services-sqs-errorhandling.html#services-sqs-batchfailurereporting){target="\_blank"}, which allows the library to provide a simpler, more reliable interface for processing batches.
+
+In order to get started, check out the new [processing messages from SQS](./utilities/batch.md/#processing-messages-from-sqs) documentation. In most cases, you will simply be able to retain your existing batch message handler function, and wrap it with the new batch processing interface. Unlike the `powertools-sqs` module, the new `powertools-batch` module uses _partial batch responses_ to communicate to Lambda which messages have been processed and must be removed from the queue. The return value of the handler's process function must be returned to Lambda.
+
+The new library also no longer requires the `SQS:DeleteMessage` action on the Lambda function's role policy, as Lambda
+itself now manages removal of messages from the queue.
+
+
+!!! info "Some tuneables from `powertools-sqs` are no longer provided."
+ - **Non-retryable Exceptions** - there is no mechanism to indicate in a partial batch response that a particular message
+ should not be retried and instead moved to DLQ - a message either succeeds, or fails and is retried. A message
+ will be moved to the DLQ once the normal retry process has expired.
+ - **Suppress Exception** - The new batch processor does not throw an exception on failure of a handler. Instead,
+ its result must be returned by your code from your message handler to Lambda, so that Lambda can manage
+ the completed messages and retry behaviour.
+
+
+### Migrating SQS Large message handling (`@SqsLargeMessage`)
+
+- Replace the dependency in Maven / Gradle: `powertools-sqs` ==> `powertools-large-messages`
+- Replace the annotation: `@SqsLargeMessage` ==> `@LargeMessage` (the new module handles both SQS and SNS)
+- Move the annotation away from the Lambda `handleRequest` method and put it on a method with `SQSEvent.SQSMessage` or `SNSEvent.SNSRecord` as first parameter.
+- The annotation now handles a single message, contrary to the previous version that was handling the complete batch. This gives more control, especially when dealing with partial failures with SQS (see the batch module).
+- The new module only provides an annotation: an equivalent to the `SqsUtils` class is not available anymore in this new version.
diff --git a/docs/usage-patterns.md b/docs/usage-patterns.md
new file mode 100644
index 000000000..e66538937
--- /dev/null
+++ b/docs/usage-patterns.md
@@ -0,0 +1,183 @@
+---
+title: Usage patterns
+description: Getting to know the Powertools for AWS Lambda toolkit
+---
+
+
+
+Powertools for AWS Lambda (Java) is a collection of utilities designed to help you build serverless applications on AWS.
+
+The toolkit is modular, so you can pick and choose the utilities you need for your application, but also combine them for a complete solution for your serverless applications.
+
+## Patterns
+
+Many of the utilities provided can be used with different patterns, depending on your preferences and the structure of your code.
+
+### AspectJ Annotation
+
+If you prefer using annotations to apply cross-cutting concerns to your Lambda handlers, the AspectJ annotation pattern is a good fit. This approach lets you decorate methods with Powertools utilities using annotations, applying their functionality with minimal code changes.
+
+This pattern works well when you want to keep your business logic clean and separate concerns using aspect-oriented programming.
+
+
+!!! note
+ This approach requires configuring AspectJ compile-time weaving in your build tool (Maven or Gradle). See the [installation guide](./index.md#install) for setup instructions.
+
+=== "Logging"
+
+ ```java
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent;
+ import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import software.amazon.lambda.powertools.logging.CorrelationIdPaths;
+ import software.amazon.lambda.powertools.logging.Logging;
+
+ public class App implements RequestHandler {
+ private static final Logger log = LoggerFactory.getLogger(App.class);
+
+ @Logging(logEvent = true, correlationIdPath = CorrelationIdPaths.API_GATEWAY_REST)
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ log.info("Processing request");
+ return new APIGatewayProxyResponseEvent().withStatusCode(200).withBody("Success");
+ }
+ }
+ ```
+
+=== "Metrics"
+
+ ```java
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent;
+ import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent;
+ import software.amazon.lambda.powertools.metrics.FlushMetrics;
+ import software.amazon.lambda.powertools.metrics.Metrics;
+ import software.amazon.lambda.powertools.metrics.MetricsFactory;
+ import software.amazon.lambda.powertools.metrics.model.MetricUnit;
+
+ public class App implements RequestHandler {
+ private static final Metrics metrics = MetricsFactory.getMetricsInstance();
+
+ @FlushMetrics(namespace = "ServerlessApp", service = "payment")
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ metrics.addMetric("SuccessfulBooking", 1, MetricUnit.COUNT);
+ return new APIGatewayProxyResponseEvent().withStatusCode(200).withBody("Success");
+ }
+ }
+ ```
+
+=== "Tracing"
+
+ ```java
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent;
+ import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent;
+ import software.amazon.lambda.powertools.tracing.Tracing;
+ import software.amazon.lambda.powertools.tracing.TracingUtils;
+
+ public class App implements RequestHandler {
+
+ @Tracing
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ TracingUtils.putAnnotation("operation", "payment");
+ return processPayment();
+ }
+
+ @Tracing
+ private APIGatewayProxyResponseEvent processPayment() {
+ return new APIGatewayProxyResponseEvent().withStatusCode(200).withBody("Success");
+ }
+ }
+ ```
+
+### Functional Approach
+
+If you prefer a more functional programming style or want to avoid AspectJ configuration, you can use the Powertools for AWS Lambda (Java) utilities directly in your code. This approach is more explicit and provides full control over how the utilities are applied.
+
+This pattern is ideal when you want to avoid AspectJ setup or prefer a more imperative style. It also eliminates the AspectJ runtime dependency, making your deployment package more lightweight.
+
+=== "Logging"
+
+ ```java
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent;
+ import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import software.amazon.lambda.powertools.logging.CorrelationIdPaths;
+ import software.amazon.lambda.powertools.logging.PowertoolsLogging;
+
+ public class App implements RequestHandler {
+ private static final Logger log = LoggerFactory.getLogger(App.class);
+
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ return PowertoolsLogging.withLogging(
+ context,
+ 0.7,
+ CorrelationIdPaths.API_GATEWAY_REST,
+ input,
+ () -> processRequest(input));
+ }
+
+ private APIGatewayProxyResponseEvent processRequest(APIGatewayProxyRequestEvent input) {
+ // do something with input
+ log.info("Processing request");
+ return new APIGatewayProxyResponseEvent().withStatusCode(200).withBody("Success");
+ }
+ }
+ ```
+
+=== "Metrics"
+
+ ```java
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent;
+ import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent;
+ import software.amazon.lambda.powertools.metrics.Metrics;
+ import software.amazon.lambda.powertools.metrics.MetricsFactory;
+ import software.amazon.lambda.powertools.metrics.model.MetricUnit;
+
+ public class App implements RequestHandler {
+ private static final Metrics metrics = MetricsFactory.getMetricsInstance();
+
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ try {
+ metrics.addMetric("SuccessfulBooking", 1, MetricUnit.COUNT);
+ return new APIGatewayProxyResponseEvent().withStatusCode(200).withBody("Success");
+ } finally {
+ metrics.flush();
+ }
+ }
+ }
+ ```
+
+=== "Tracing"
+
+ ```java
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent;
+ import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent;
+ import software.amazon.lambda.powertools.tracing.TracingUtils;
+
+ public class App implements RequestHandler {
+
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ TracingUtils.withSubsegment("processPayment", subsegment -> {
+ subsegment.putAnnotation("operation", "payment");
+ // Business logic here
+ });
+ return new APIGatewayProxyResponseEvent().withStatusCode(200).withBody("Success");
+ }
+ }
+ ```
+
+
+!!! note
+ The functional approach is available for all utilities. Further examples and detailed usage can be found in the individual documentation pages for each utility.
diff --git a/docs/utilities/batch.md b/docs/utilities/batch.md
new file mode 100644
index 000000000..b535a90f6
--- /dev/null
+++ b/docs/utilities/batch.md
@@ -0,0 +1,712 @@
+---
+title: Batch Processing
+description: Utility
+---
+
+The batch processing utility provides a way to handle partial failures when processing batches of messages from SQS queues,
+SQS FIFO queues, Kinesis Streams, or DynamoDB Streams.
+
+```mermaid
+stateDiagram-v2
+ direction LR
+ BatchSource: Amazon SQS Amazon Kinesis Data Streams Amazon DynamoDB Streams
+ LambdaInit: Lambda invocation
+ BatchProcessor: Batch Processor
+ RecordHandler: Record Handler function
+ YourLogic: Your logic to process each batch item
+ LambdaResponse: Lambda response
+ BatchSource --> LambdaInit
+ LambdaInit --> BatchProcessor
+ BatchProcessor --> RecordHandler
+ state BatchProcessor {
+ [*] --> RecordHandler: Your function
+ RecordHandler --> YourLogic
+ }
+ RecordHandler --> BatchProcessor: Collect results
+ BatchProcessor --> LambdaResponse: Report items that failed processing
+```
+
+**Key Features**
+
+* Reports batch item failures to reduce number of retries for a record upon errors
+* Simple interface to process each batch record
+* Parallel processing of batches
+* Integrates with Java Events library and the deserialization module
+* Build your own batch processor by extending primitives
+
+**Background**
+
+When using SQS, Kinesis Data Streams, or DynamoDB Streams as a Lambda event source, your Lambda functions are
+triggered with a batch of messages.
+If your function fails to process any message from the batch, the entire batch returns to your queue or stream.
+This same batch is then retried until either condition happens first:
+**a)** your Lambda function returns a successful response,
+**b)** record reaches maximum retry attempts, or
+**c)** records expire.
+
+```mermaid
+journey
+ section Conditions
+ Successful response: 5: Success
+ Maximum retries: 3: Failure
+ Records expired: 1: Failure
+```
+
+This behavior changes when you enable Report Batch Item Failures feature in your Lambda function event source configuration:
+
+
+* [**SQS queues**](#sqs-standard). Only messages reported as failure will return to the queue for a retry, while successful ones will be deleted.
+* [**Kinesis data streams**](#kinesis-and-dynamodb-streams) and [**DynamoDB streams**](#kinesis-and-dynamodb-streams).
+Single reported failure will use its sequence number as the stream checkpoint.
+Multiple reported failures will use the lowest sequence number as checkpoint.
+
+With this utility, batch records are processed individually – only messages that failed to be processed
+return to the queue or stream for a further retry. You simply build a `BatchProcessor` in your handler,
+and return its response from the handler's `processMessage` implementation. Exceptions are handled
+internally and an appropriate partial response for the message source is returned to Lambda for you.
+
+!!! warning
+ While this utility lowers the chance of processing messages more than once, it is still not guaranteed.
+ We recommend implementing processing logic in an idempotent manner wherever possible, for instance,
+ by taking advantage of [the idempotency module](idempotency.md).
+ More details on how Lambda works with SQS can be found in the [AWS documentation](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html)
+
+## Install
+
+We simply add `powertools-batch` to our build dependencies. Note - if you are using other Powertools
+modules that require code-weaving, such as `powertools-core`, you will need to configure that also.
+
+=== "Maven"
+
+ ```xml
+
+ ...
+
+ software.amazon.lambda
+ powertools-batch
+ {{ powertools.version }}
+
+ ...
+
+ ```
+
+=== "Gradle"
+
+ ```groovy
+
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ implementation 'software.amazon.lambda:powertools-batch:{{ powertools.version }}'
+ }
+ ```
+## Getting Started
+
+For this feature to work, you need to **(1)** configure your Lambda function event source to use `ReportBatchItemFailures`,
+and **(2)** return a specific response to report which records failed to be processed.
+
+You can use your preferred deployment framework to set the correct configuration while this utility,
+while the `powertools-batch` module handles generating the response, which simply needs to be returned as the result of
+your Lambda handler.
+
+A complete [Serverless Application Model](https://aws.amazon.com/serverless/sam/) example can be found [here](https://github.com/aws-powertools/powertools-lambda-java/tree/main/examples/powertools-examples-batch) covering all the batch sources.
+
+For more information on configuring `ReportBatchItemFailures`, see the details for [SQS](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#services-sqs-batchfailurereporting), [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-batchfailurereporting), and [DynamoDB Streams](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-batchfailurereporting).
+
+
+!!! note "You do not need any additional IAM permissions to use this utility, except for what each event source requires."
+
+### Processing messages from SQS
+
+=== "SQSBatchHandler"
+
+ ```java hl_lines="10 13-15 20 25"
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import com.amazonaws.services.lambda.runtime.events.SQSBatchResponse;
+ import com.amazonaws.services.lambda.runtime.events.SQSEvent;
+ import software.amazon.lambda.powertools.batch.BatchMessageHandlerBuilder;
+ import software.amazon.lambda.powertools.batch.handler.BatchMessageHandler;
+
+ public class SqsBatchHandler implements RequestHandler {
+
+ private final BatchMessageHandler handler;
+
+ public SqsBatchHandler() {
+ handler = new BatchMessageHandlerBuilder()
+ .withSqsBatchHandler()
+ .buildWithMessageHandler(this::processMessage, Product.class);
+ }
+
+ @Override
+ public SQSBatchResponse handleRequest(SQSEvent sqsEvent, Context context) {
+ return handler.processBatch(sqsEvent, context);
+ }
+
+ private void processMessage(Product p, Context c) {
+ // Process the product
+ }
+ }
+ ```
+
+=== "SQS Product"
+
+ ```java
+ public class Product {
+ private long id;
+
+ private String name;
+
+ private double price;
+
+ public Product() {
+ }
+
+ public Product(long id, String name, double price) {
+ this.id = id;
+ this.name = name;
+ this.price = price;
+ }
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public double getPrice() {
+ return price;
+ }
+
+ public void setPrice(double price) {
+ this.price = price;
+ }
+ }
+ ```
+
+=== "SQS Example Event"
+
+ ```json
+ {
+ "Records": [
+ {
+ "messageId": "d9144555-9a4f-4ec3-99a0-34ce359b4b54",
+ "receiptHandle": "13e7f7851d2eaa5c01f208ebadbf1e72==",
+ "body": "{\n \"id\": 1234,\n \"name\": \"product\",\n \"price\": 42\n}",
+ "attributes": {
+ "ApproximateReceiveCount": "1",
+ "SentTimestamp": "1601975706495",
+ "SenderId": "AROAIFU437PVZ5L2J53F5",
+ "ApproximateFirstReceiveTimestamp": "1601975706499"
+ },
+ "messageAttributes": {
+ },
+ "md5OfBody": "13e7f7851d2eaa5c01f208ebadbf1e72",
+ "eventSource": "aws:sqs",
+ "eventSourceARN": "arn:aws:sqs:eu-central-1:123456789012:TestLambda",
+ "awsRegion": "eu-central-1"
+ },
+ {
+ "messageId": "e9144555-9a4f-4ec3-99a0-34ce359b4b54",
+ "receiptHandle": "13e7f7851d2eaa5c01f208ebadbf1e72==",
+ "body": "{\n \"id\": 12345,\n \"name\": \"product5\",\n \"price\": 45\n}",
+ "attributes": {
+ "ApproximateReceiveCount": "1",
+ "SentTimestamp": "1601975706495",
+ "SenderId": "AROAIFU437PVZ5L2J53F5",
+ "ApproximateFirstReceiveTimestamp": "1601975706499"
+ },
+ "messageAttributes": {
+ },
+ "md5OfBody": "13e7f7851d2eaa5c01f208ebadbf1e72",
+ "eventSource": "aws:sqs",
+ "eventSourceARN": "arn:aws:sqs:eu-central-1:123456789012:TestLambda",
+ "awsRegion": "eu-central-1"
+ }]
+ }
+ ```
+
+### Processing messages from Kinesis Streams
+
+=== "KinesisBatchHandler"
+
+ ```java hl_lines="10 13-15 20 24"
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import com.amazonaws.services.lambda.runtime.events.KinesisEvent;
+ import com.amazonaws.services.lambda.runtime.events.StreamsEventResponse;
+ import software.amazon.lambda.powertools.batch.BatchMessageHandlerBuilder;
+ import software.amazon.lambda.powertools.batch.handler.BatchMessageHandler;
+
+ public class KinesisBatchHandler implements RequestHandler {
+
+ private final BatchMessageHandler handler;
+
+ public KinesisBatchHandler() {
+ handler = new BatchMessageHandlerBuilder()
+ .withKinesisBatchHandler()
+ .buildWithMessageHandler(this::processMessage, Product.class);
+ }
+
+ @Override
+ public StreamsEventResponse handleRequest(KinesisEvent kinesisEvent, Context context) {
+ return handler.processBatch(kinesisEvent, context);
+ }
+
+ private void processMessage(Product p, Context c) {
+ // process the product
+ }
+ }
+ ```
+
+=== "Kinesis Product"
+
+ ```java
+ public class Product {
+ private long id;
+
+ private String name;
+
+ private double price;
+
+ public Product() {
+ }
+
+ public Product(long id, String name, double price) {
+ this.id = id;
+ this.name = name;
+ this.price = price;
+ }
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public double getPrice() {
+ return price;
+ }
+
+ public void setPrice(double price) {
+ this.price = price;
+ }
+ }
+ ```
+
+=== "Kinesis Example Event"
+
+ ```json
+ {
+ "Records": [
+ {
+ "kinesis": {
+ "partitionKey": "partitionKey-03",
+ "kinesisSchemaVersion": "1.0",
+ "data": "eyJpZCI6MTIzNCwgIm5hbWUiOiJwcm9kdWN0IiwgInByaWNlIjo0Mn0=",
+ "sequenceNumber": "49545115243490985018280067714973144582180062593244200961",
+ "approximateArrivalTimestamp": 1428537600,
+ "encryptionType": "NONE"
+ },
+ "eventSource": "aws:kinesis",
+ "eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
+ "invokeIdentityArn": "arn:aws:iam::EXAMPLE",
+ "eventVersion": "1.0",
+ "eventName": "aws:kinesis:record",
+ "eventSourceARN": "arn:aws:kinesis:EXAMPLE",
+ "awsRegion": "eu-central-1"
+ },
+ {
+ "kinesis": {
+ "partitionKey": "partitionKey-03",
+ "kinesisSchemaVersion": "1.0",
+ "data": "eyJpZCI6MTIzNDUsICJuYW1lIjoicHJvZHVjdDUiLCAicHJpY2UiOjQ1fQ==",
+ "sequenceNumber": "49545115243490985018280067714973144582180062593244200962",
+ "approximateArrivalTimestamp": 1428537600,
+ "encryptionType": "NONE"
+ },
+ "eventSource": "aws:kinesis",
+ "eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
+ "invokeIdentityArn": "arn:aws:iam::EXAMPLE",
+ "eventVersion": "1.0",
+ "eventName": "aws:kinesis:record",
+ "eventSourceARN": "arn:aws:kinesis:EXAMPLE",
+ "awsRegion": "eu-central-1"
+ }
+ ]
+ }
+ ```
+### Processing messages from DynamoDB Streams
+
+=== "DynamoDBStreamBatchHandler"
+
+ ```java hl_lines="10 13-15 20 24"
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import com.amazonaws.services.lambda.runtime.events.DynamodbEvent;
+ import com.amazonaws.services.lambda.runtime.events.StreamsEventResponse;
+ import software.amazon.lambda.powertools.batch.BatchMessageHandlerBuilder;
+ import software.amazon.lambda.powertools.batch.handler.BatchMessageHandler;
+
+ public class DynamoDBStreamBatchHandler implements RequestHandler {
+
+ private final BatchMessageHandler handler;
+
+ public DynamoDBStreamBatchHandler() {
+ handler = new BatchMessageHandlerBuilder()
+ .withDynamoDbBatchHandler()
+ .buildWithRawMessageHandler(this::processMessage);
+ }
+
+ @Override
+ public StreamsEventResponse handleRequest(DynamodbEvent ddbEvent, Context context) {
+ return handler.processBatch(ddbEvent, context);
+ }
+
+ private void processMessage(DynamodbEvent.DynamodbStreamRecord dynamodbStreamRecord, Context context) {
+ // Process the change record
+ }
+ }
+ ```
+
+=== "DynamoDB Example Event"
+
+ ```json
+ {
+ "Records": [
+ {
+ "eventID": "c4ca4238a0b923820dcc509a6f75849b",
+ "eventName": "INSERT",
+ "eventVersion": "1.1",
+ "eventSource": "aws:dynamodb",
+ "awsRegion": "eu-central-1",
+ "dynamodb": {
+ "Keys": {
+ "Id": {
+ "N": "101"
+ }
+ },
+ "NewImage": {
+ "Message": {
+ "S": "New item!"
+ },
+ "Id": {
+ "N": "101"
+ }
+ },
+ "ApproximateCreationDateTime": 1428537600,
+ "SequenceNumber": "4421584500000000017450439091",
+ "SizeBytes": 26,
+ "StreamViewType": "NEW_AND_OLD_IMAGES"
+ },
+ "eventSourceARN": "arn:aws:dynamodb:eu-central-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899",
+ "userIdentity": {
+ "principalId": "dynamodb.amazonaws.com",
+ "type": "Service"
+ }
+ },
+ {
+ "eventID": "c81e728d9d4c2f636f067f89cc14862c",
+ "eventName": "MODIFY",
+ "eventVersion": "1.1",
+ "eventSource": "aws:dynamodb",
+ "awsRegion": "eu-central-1",
+ "dynamodb": {
+ "Keys": {
+ "Id": {
+ "N": "101"
+ }
+ },
+ "NewImage": {
+ "Message": {
+ "S": "This item has changed"
+ },
+ "Id": {
+ "N": "101"
+ }
+ },
+ "OldImage": {
+ "Message": {
+ "S": "New item!"
+ },
+ "Id": {
+ "N": "101"
+ }
+ },
+ "ApproximateCreationDateTime": 1428537600,
+ "SequenceNumber": "4421584500000000017450439092",
+ "SizeBytes": 59,
+ "StreamViewType": "NEW_AND_OLD_IMAGES"
+ },
+ "eventSourceARN": "arn:aws:dynamodb:eu-central-1:123456789012:table/ExampleTableWithStream/stream/2015-06-27T00:48:05.899"
+ }
+ ]
+ }
+ ```
+
+## Parallel processing
+You can choose to process batch items in parallel using the `BatchMessageHandler#processBatchInParallel()`
+instead of `BatchMessageHandler#processBatch()`. Partial batch failure works the same way but items are processed
+in parallel rather than sequentially.
+
+This feature is available for SQS, Kinesis and DynamoDB Streams but cannot be
+used with SQS FIFO. In that case, an `UnsupportedOperationException` is thrown.
+
+!!! warning
+ Note that parallel processing is not always better than sequential processing,
+ and you should benchmark your code to determine the best approach for your use case.
+
+!!! info
+ To get more threads available (more vCPUs), you need to increase the amount of memory allocated to your Lambda function.
+ While it is possible to increase the number of threads using Java options or custom thread pools,
+ in most cases the defaults work well, and changing them is more likely to decrease performance
+ (see [here](https://www.baeldung.com/java-when-to-use-parallel-stream#fork-join-framework)
+ and [here](https://dzone.com/articles/be-aware-of-forkjoinpoolcommonpool)).
+ In situations where this may be useful, such as performing IO-bound work in parallel, make sure to measure before and after!
+
+When using parallel processing with X-Ray tracing enabled, the Tracing utility automatically handles trace context propagation to worker threads. This ensures that subsegments created during parallel message processing appear under the correct parent segment in your X-Ray trace, maintaining proper trace hierarchy and visibility into your batch processing performance.
+
+
+=== "Example with SQS"
+
+ ```java hl_lines="13"
+ public class SqsBatchHandler implements RequestHandler {
+
+ private final BatchMessageHandler handler;
+
+ public SqsBatchHandler() {
+ handler = new BatchMessageHandlerBuilder()
+ .withSqsBatchHandler()
+ .buildWithMessageHandler(this::processMessage, Product.class);
+ }
+
+ @Override
+ public SQSBatchResponse handleRequest(SQSEvent sqsEvent, Context context) {
+ return handler.processBatchInParallel(sqsEvent, context);
+ }
+
+ private void processMessage(Product p, Context c) {
+ // Process the product
+ }
+ }
+ ```
+=== "Example with SQS (using custom executor)"
+
+ ```java hl_lines="4 10 15"
+ public class SqsBatchHandler implements RequestHandler {
+
+ private final BatchMessageHandler handler;
+ private final ExecutorService executor;
+
+ public SqsBatchHandler() {
+ handler = new BatchMessageHandlerBuilder()
+ .withSqsBatchHandler()
+ .buildWithMessageHandler(this::processMessage, Product.class);
+ executor = Executors.newFixedThreadPool(2);
+ }
+
+ @Override
+ public SQSBatchResponse handleRequest(SQSEvent sqsEvent, Context context) {
+ return handler.processBatchInParallel(sqsEvent, context, executor);
+ }
+
+ private void processMessage(Product p, Context c) {
+ // Process the product
+ }
+ }
+ ```
+
+=== "Example with X-Ray Tracing"
+
+ ```java hl_lines="12 17"
+ public class SqsBatchHandler implements RequestHandler {
+
+ private final BatchMessageHandler handler;
+
+ public SqsBatchHandler() {
+ handler = new BatchMessageHandlerBuilder()
+ .withSqsBatchHandler()
+ .buildWithMessageHandler(this::processMessage, Product.class);
+ }
+
+ @Override
+ @Tracing
+ public SQSBatchResponse handleRequest(SQSEvent sqsEvent, Context context) {
+ return handler.processBatchInParallel(sqsEvent, context);
+ }
+
+ @Tracing // This will appear correctly under the handleRequest subsegment
+ private void processMessage(Product p, Context c) {
+ // Process the product - subsegments will appear under handleRequest
+ }
+ }
+ ```
+
+### Choosing the right concurrency model
+
+The `processBatchInParallel` method has two overloads with different concurrency characteristics:
+
+#### Without custom executor (parallelStream)
+
+When you call `processBatchInParallel(event, context)` without providing an executor, the implementation uses Java's `parallelStream()` which leverages the common `ForkJoinPool`.
+
+**Best for: CPU-bound workloads**
+
+- Thread pool size matches available CPU cores
+- Optimized for computational tasks (data transformation, calculations, parsing)
+- Main thread participates in work-stealing
+- Simple to use with no configuration needed
+
+```java
+// Good for CPU-intensive processing
+return handler.processBatchInParallel(sqsEvent, context);
+```
+
+#### With custom executor (CompletableFuture)
+
+When you call `processBatchInParallel(event, context, executor)` with a custom executor, the implementation uses `CompletableFuture` which gives you full control over the thread pool.
+
+**Best for: I/O-bound workloads**
+
+- You control thread pool size and characteristics
+- Ideal for I/O operations (HTTP calls, database queries, S3 operations)
+- Can use larger thread pools since threads spend time waiting, not computing
+- Main thread only waits; worker threads do all processing
+
+```java
+// Good for I/O-intensive processing (API calls, DB queries, etc.)
+ExecutorService executor = Executors.newFixedThreadPool(50);
+return handler.processBatchInParallel(sqsEvent, context, executor);
+```
+
+**For Java 21+: Virtual Threads**
+
+If you're using Java 21 or later, virtual threads are ideal for I/O-bound workloads:
+
+```java
+ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor();
+return handler.processBatchInParallel(sqsEvent, context, executor);
+```
+
+Virtual threads are lightweight and can handle thousands of concurrent I/O operations efficiently without the overhead of platform threads.
+
+**Recommendation for typical Lambda SQS processing:**
+
+Most Lambda functions processing SQS messages perform I/O operations (calling APIs, querying databases, writing to S3). For these workloads, use the custom executor approach with a thread pool sized appropriately for your I/O operations or virtual threads for Java 21+.
+
+
+## Handling Messages
+
+### Raw message and deserialized message handlers
+You must provide either a raw message handler, or a deserialized message handler. The raw message handler receives
+the envelope record type relevant for the particular event source - for instance, the SQS event source provides
+[SQSMessage](https://javadoc.io/doc/com.amazonaws/aws-lambda-java-events/2.2.2/com/amazonaws/services/lambda/runtime/events/SQSEvent.html)
+instances. The deserialized message handler extracts the body from this envelope, and deserializes it to a user-defined
+type. Note that deserialized message handlers are not relevant for the DynamoDB provider, as the format of the inner
+message is fixed by DynamoDB.
+
+In general, the deserialized message handler should be used unless you need access to information on the envelope.
+
+=== "Raw Message Handler"
+
+ ```java hl_lines="4 7"
+ public void setup() {
+ BatchMessageHandler handler = new BatchMessageHandlerBuilder()
+ .withSqsBatchHandler()
+ .buildWithRawMessageHandler(this::processRawMessage);
+ }
+
+ private void processRawMessage(SQSEvent.SQSMessage sqsMessage) {
+ // Do something with the raw message
+ }
+
+ ```
+
+=== "Deserialized Message Handler"
+
+ ```java hl_lines="4 7"
+ public void setup() {
+ BatchMessageHandler handler = new BatchMessageHandlerBuilder()
+ .withSqsBatchHandler()
+ .buildWitMessageHandler(this::processRawMessage, Product.class);
+ }
+
+ private void processMessage(Product product) {
+ // Do something with the deserialized message
+ }
+
+ ```
+
+### Success and failure handlers
+
+You can register a success or failure handler which will be invoked as each message is processed by the batch
+module. This may be useful for reporting - for instance, writing metrics or logging failures.
+
+These handlers are optional. Batch failures are handled by the module regardless of whether or not you
+provide a custom failure handler.
+
+Handlers can be provided when building the batch processor and are available for all event sources.
+For instance for DynamoDB:
+
+```java hl_lines="3 8"
+BatchMessageHandler handler = new BatchMessageHandlerBuilder()
+ .withDynamoDbBatchHandler()
+ .withSuccessHandler((m) -> {
+ // Success handler receives the raw message
+ LOGGER.info("Message with sequenceNumber {} was successfully processed",
+ m.getDynamodb().getSequenceNumber());
+ })
+ .withFailureHandler((m, e) -> {
+ // Failure handler receives the raw message and the exception thrown.
+ LOGGER.info("Message with sequenceNumber {} failed to be processed: {}"
+ , e.getDynamodb().getSequenceNumber(), e);
+ })
+ .buildWithMessageHander(this::processMessage);
+```
+
+!!! info
+ If the success handler throws an exception, the item it is processing will be marked as failed by the
+ batch processor.
+ If the failure handler throws, the batch processing will continue; the item it is processing has
+ already been marked as failed.
+
+
+### Lambda Context
+
+Both raw and deserialized message handlers can choose to take the Lambda context as an argument if they
+need it, or not:
+
+```java
+ public class ClassWithHandlers {
+
+ private void processMessage(Product product) {
+ // Do something with the raw message
+ }
+
+ private void processMessageWithContext(Product product, Context context) {
+ // Do something with the raw message and the lambda Context
+ }
+ }
+```
diff --git a/docs/utilities/custom_resources.md b/docs/utilities/custom_resources.md
new file mode 100644
index 000000000..053e8a9d7
--- /dev/null
+++ b/docs/utilities/custom_resources.md
@@ -0,0 +1,293 @@
+---
+title: Custom Resources
+description: Utility
+---
+
+[CloudFormation Custom resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html)
+provide a way for [AWS Lambda functions](
+https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources-lambda.html) to execute
+provisioning logic whenever CloudFormation stacks are created, updated, or deleted.
+
+Powertools-cloudformation makes it easy to write Lambda functions in Java that are used as CloudFormation custom resources.
+The utility reads incoming CloudFormation events, calls your custom code depending on the operation (CREATE, UPDATE or DELETE) and sends responses back to CloudFormation.
+By using this library you do not need to write code to integrate with CloudFormation, and you only focus on writing the custom provisioning logic inside the Lambda function.
+
+## Install
+
+To install this utility, add the following dependency to your project.
+
+=== "Maven"
+
+ ```xml
+
+ software.amazon.lambda
+ powertools-cloudformation
+ {{ powertools.version }}
+
+ ```
+
+=== "Gradle"
+
+ ```groovy
+ dependencies {
+ ...
+ implementation 'software.amazon.lambda:powertools-cloudformation:{{ powertools.version }}'
+ }
+ ```
+
+## Usage
+
+To utilise the feature, extend the `AbstractCustomResourceHandler` class in your Lambda handler class.
+Next, implement and override the following 3 methods: `create`, `update` and `delete`. The `AbstractCustomResourceHandler` invokes the right method according to the CloudFormation [custom resource request event](
+https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/crpg-ref-requests.html) it receives.
+Inside the methods, implement your custom provisioning logic, and return a `Response`. The `AbstractCustomResourceHandler` takes your `Response`, builds a
+[custom resource responses](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/crpg-ref-responses.html) and sends it to CloudFormation automatically.
+
+Custom resources notify cloudformation either of `SUCCESS` or `FAILED` status. You have 2 utility methods to represent these responses: `Response.success(physicalResourceId)` and `Response.failed(physicalResourceId)`.
+The `physicalResourceId` is an identifier that is used during the lifecycle operations of the Custom Resource.
+You should generate a `physicalResourceId` during the `CREATE` operation, CloudFormation stores the `physicalResourceId` and includes it in `UPDATE` and `DELETE` events.
+
+Here an example of how to implement a Custom Resource using the powertools-cloudformation library:
+
+```java hl_lines="10-16 21-27 32-38"
+import com.amazonaws.services.lambda.runtime.Context;
+import com.amazonaws.services.lambda.runtime.events.CloudFormationCustomResourceEvent;
+import software.amazon.lambda.powertools.cloudformation.AbstractCustomResourceHandler;
+import software.amazon.lambda.powertools.cloudformation.Response;
+
+public class MyCustomResourceHandler extends AbstractCustomResourceHandler {
+
+ @Override
+ protected Response create(CloudFormationCustomResourceEvent createEvent, Context context) {
+ String physicalResourceId = "sample-resource-id-" + UUID.randomUUID(); //Create a unique ID for your resource
+ ProvisioningResult provisioningResult = doProvisioning(physicalResourceId);
+ if(provisioningResult.isSuccessful()){ //check if the provisioning was successful
+ return Response.success(physicalResourceId);
+ }else{
+ return Response.failed(physicalResourceId);
+ }
+ }
+
+ @Override
+ protected Response update(CloudFormationCustomResourceEvent updateEvent, Context context) {
+ String physicalResourceId = updateEvent.getPhysicalResourceId(); //Get the PhysicalResourceId from CloudFormation
+ UpdateResult updateResult = doUpdates(physicalResourceId);
+ if(updateResult.isSuccessful()){ //check if the update operations were successful
+ return Response.success(physicalResourceId);
+ }else{
+ return Response.failed(physicalResourceId);
+ }
+ }
+
+ @Override
+ protected Response delete(CloudFormationCustomResourceEvent deleteEvent, Context context) {
+ String physicalResourceId = deleteEvent.getPhysicalResourceId(); //Get the PhysicalResourceId from CloudFormation
+ DeleteResult deleteResult = doDeletes(physicalResourceId);
+ if(deleteResult.isSuccessful()){ //check if the delete operations were successful
+ return Response.success(physicalResourceId);
+ }else{
+ return Response.failed(physicalResourceId);
+ }
+ }
+}
+```
+
+### Missing `Response` and exception handling
+
+If a `Response` is not returned by your code, `AbstractCustomResourceHandler` defaults the response to `SUCCESS`.
+If your code raises an exception (which is not handled), the `AbstractCustomResourceHandler` defaults the response to `FAILED`.
+
+In both of the scenarios, powertools-java will return the `physicalResourceId` to CloudFormation based on the following logic:
+- For CREATE operations, the `LogStreamName` from the Lambda context is used.
+- For UPDATE and DELETE operations, the `physicalResourceId` provided in the `CloudFormationCustomResourceEvent` is used.
+
+#### Why do you need a physicalResourceId?
+
+It is recommended that you always explicitly provide a `physicalResourceId` in your response rather than letting Powertools for AWS Lambda (Java) generate if for you because `physicalResourceId` has a crucial role in the lifecycle of a CloudFormation custom resource.
+If the `physicalResourceId` changes between calls from Cloudformation, for instance in response to an `Update` event, Cloudformation [treats the resource update as a replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html).
+
+### Customising a response
+
+As well as the `Response.success(physicalResourceId)` and `Response.failed(physicalResourceId)`, you can customise the `Response` by using the `Response.builder()`.
+You customise the responses when you need additional attributes to be shared with other parts of the CloudFormation stack.
+
+In the example below, the Lambda function creates a [Chime AppInstance](https://docs.aws.amazon.com/chime/latest/dg/create-app-instance.html)
+and maps the returned ARN to a "ChimeAppInstanceArn" attribute.
+
+```java hl_lines="12-17"
+public class ChimeAppInstanceHandler extends AbstractCustomResourceHandler {
+ @Override
+ protected Response create(CloudFormationCustomResourceEvent createEvent, Context context) {
+ String physicalResourceId = "my-app-name-" + UUID.randomUUID(); //Create a unique ID
+ CreateAppInstanceRequest chimeRequest = CreateAppInstanceRequest.builder()
+ .name(physicalResourceId)
+ .build();
+ CreateAppInstanceResponse chimeResponse = ChimeClient.builder()
+ .region("us-east-1")
+ .createAppInstance(chimeRequest);
+
+ Map chimeAtts = Map.of("ChimeAppInstanceArn", chimeResponse.appInstanceArn());
+ return Response.builder()
+ .value(chimeAtts)
+ .status(Response.Status.SUCCESS)
+ .physicalResourceId(physicalResourceId)
+ .build();
+ }
+}
+```
+
+For the example above the following response payload will be sent.
+
+```json
+{
+ "Status": "SUCCESS",
+ "PhysicalResourceId": "2021/10/01/e3a37e552eff4718a5675c1e31f0649e",
+ "StackId": "arn:aws:cloudformation:us-east-1:123456789000:stack/Custom-stack/59e4d2d0-2fe2-10ec-b00e-124d7c1c5f15",
+ "RequestId": "7cae0346-0359-4dff-b80a-a82f247467b6",
+ "LogicalResourceId:": "ChimeTriggerResource",
+ "PhysicalResourceId:": "my-app-name-db4a47b9-0cac-45ba-8cc4-a480490c5779",
+ "NoEcho": false,
+ "Data": {
+ "ChimeAppInstanceArn": "arn:aws:chime:us-east-1:123456789000:app-instance/150972c2-5490-49a9-8ba7-e7da4257c16a"
+ }
+}
+```
+
+Once the custom resource receives this response, its "ChimeAppInstanceArn" attribute is set and the
+[Fn::GetAtt function](
+https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) may be used to
+retrieve the attribute value and make it available to other resources in the stack.
+
+#### Sensitive Response Data
+
+If any attributes are sensitive, enable the "noEcho" flag to mask the output of the custom resource when it's retrieved
+with the Fn::GetAtt function.
+
+```java hl_lines="9"
+public class SensitiveDataHandler extends AbstractResourceHandler {
+ @Override
+ protected Response create(CloudFormationCustomResourceEvent createEvent, Context context) {
+ String physicalResourceId = "my-sensitive-resource-" + UUID.randomUUID(); //Create a unique ID
+ return Response.builder()
+ .status(Response.Status.SUCCESS)
+ .physicalResourceId(physicalResourceId)
+ .value(Map.of("SomeSecret", sensitiveValue))
+ .noEcho(true)
+ .build();
+ }
+}
+```
+
+#### Customizing Serialization
+
+Although using a `Map` as the Response's value is the most straightforward way to provide attribute name/value pairs,
+any arbitrary `java.lang.Object` may be used. By default, these objects are serialized with an internal Jackson
+`ObjectMapper`. If the object requires special serialization logic, a custom `ObjectMapper` can be specified.
+
+```java hl_lines="14-16 26"
+public class CustomSerializationHandler extends AbstractResourceHandler {
+ /**
+ * Type representing the custom response Data.
+ */
+ static class Policy {
+ public ZonedDateTime getExpires() {
+ return ZonedDateTime.now().plusDays(10);
+ }
+ }
+
+ /**
+ * Mapper for serializing Policy instances.
+ */
+ private final ObjectMapper policyMapper = new ObjectMapper()
+ .registerModule(new JavaTimeModule())
+ .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
+
+ @Override
+ protected Response create(CloudFormationCustomResourceEvent createEvent, Context context) {
+ String physicalResourceId = "my-policy-name-" + UUID.randomUUID(); //Create a unique ID
+ Policy policy = new Policy();
+ return Response.builder()
+ .status(Response.Status.SUCCESS)
+ .physicalResourceId(physicalResourceId)
+ .value(policy)
+ .objectMapper(policyMapper) // customize serialization
+ .build();
+ }
+}
+```
+
+## Advanced
+
+### Understanding the CloudFormation custom resource lifecycle
+
+While the library provides an easy-to-use interface, we recommend that you understand the lifecycle of CloudFormation custom resources before using them in production.
+
+#### Creating a custom resource
+When CloudFormation issues a `CREATE` on a custom resource, there are 2 possible states: `CREATE_COMPLETE` and `CREATE_FAILED`
+```mermaid
+stateDiagram
+ direction LR
+ createState: Create custom resource
+ [*] --> createState
+ createState --> CREATE_COMPLETE
+ createState --> CREATE_FAILED
+```
+
+If the resource is created successfully, the `physicalResourceId` is stored by CloudFormation for future operations.
+If the resource failed to create, CloudFormation triggers a rollback operation by default (rollback can be disabled, see [stack failure options](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stack-failure-options.html))
+
+#### Updating a custom resource
+CloudFormation issues an `UPDATE` operation on a custom resource only when one or more custom resource properties change.
+During the update, the custom resource may update successfully, or may fail the update.
+```mermaid
+stateDiagram
+ direction LR
+ updateState: Update custom resource
+ [*] --> updateState
+ updateState --> UPDATE_COMPLETE
+ updateState --> UPDATE_FAILED
+```
+
+In both of these scenarios, the custom resource can return the same `physicalResourceId` it received in the CloudFormation event, or a different `physicalResourceId`.
+Semantically an `UPDATE_COMPLETE` that returns the same `physicalResourceId` it received indicates that the existing resource was updated successfully.
+Instead, an `UPDATE_COMPLETE` with a different `physicalResourceId` means that a new physical resource was created successfully.
+```mermaid
+flowchart BT
+ id1(Logical resource)
+ id2(Previous physical Resource)
+ id3(New physical Resource)
+ id2 --> id1
+ id3 --> id1
+```
+Therefore, after the custom resource update completed or failed, there may be other cleanup operations by Cloudformation during the rollback, as described in the diagram below:
+```mermaid
+stateDiagram
+ state if_state <>
+ updateState: Update custom resource
+ deletePrev: DELETE resource with previous physicalResourceId
+ updatePrev: Rollback - UPDATE resource with previous properties
+ noOp: No further operations
+ [*] --> updateState
+ updateState --> UPDATE_COMPLETE
+ UPDATE_COMPLETE --> if_state
+ if_state --> noOp : Same physicalResourceId
+ if_state --> deletePrev : Different physicalResourceId
+ updateState --> UPDATE_FAILED
+ UPDATE_FAILED --> updatePrev
+```
+
+#### Deleting a custom resource
+
+CloudFormation issues a `DELETE` on a custom resource when:
+
+- the CloudFormation stack is being deleted
+- a new `physicalResourceId` was received during an update, and CloudFormation proceeds to rollback(DELETE) the custom resource with the previous `physicalResourceId`.
+
+```mermaid
+stateDiagram
+ direction LR
+ deleteState: Delete custom resource
+ [*] --> deleteState
+ deleteState --> DELETE_COMPLETE
+ deleteState --> DELETE_FAILED
+```
diff --git a/docs/utilities/idempotency.md b/docs/utilities/idempotency.md
new file mode 100644
index 000000000..cecc65d7b
--- /dev/null
+++ b/docs/utilities/idempotency.md
@@ -0,0 +1,1488 @@
+---
+title: Idempotency
+description: Utility
+---
+
+The idempotency utility provides a simple solution to convert your Lambda functions into idempotent operations which
+are safe to retry.
+
+## Terminology
+
+The property of idempotency means that an operation does not cause additional side effects if it is called more than
+once with the same input parameters.
+
+**Idempotent operations will return the same result when they are called multiple
+times with the same parameters**. This makes idempotent operations safe to retry. [Read more](https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/) about idempotency.
+
+**Idempotency key** is a hash representation of either the entire event or a specific configured subset of the event, and invocation results are **JSON serialized** and stored in your persistence storage layer.
+
+## Key features
+
+* Prevent Lambda handler function from executing more than once on the same event payload during a time window
+* Ensure Lambda handler returns the same result when called with the same payload
+* Select a subset of the event as the idempotency key using JMESPath expressions
+* Set a time window in which records with the same payload should be considered duplicates
+
+## Getting started
+
+### Installation
+
+=== "Maven"
+
+ ```xml hl_lines="3-7 16 18 25-28"
+
+ ...
+
+ software.amazon.lambda
+ powertools-idempotency-dynamodb
+ {{ powertools.version }}
+
+ ...
+
+ ...
+
+
+
+
+ ...
+
+ dev.aspectj
+ aspectj-maven-plugin
+ 1.14
+
+ 11
+ 11
+ 11
+
+
+ software.amazon.lambda
+ powertools-idempotency-core
+
+
+
+
+
+ org.aspectj
+ aspectjtools
+
+ 1.9.22
+
+
+
+
+
+ compile
+
+
+
+
+ ...
+
+
+ ```
+
+=== "Gradle"
+
+ ```groovy hl_lines="3 11 12"
+ plugins {
+ id 'java'
+ id 'io.freefair.aspectj.post-compile-weaving' version '8.1.0' // Not needed when using the functional approach
+ }
+
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ aspect 'software.amazon.lambda:powertools-idempotency-core:{{ powertools.version }}' // Not needed when using the functional approach
+ implementation 'software.amazon.lambda:powertools-idempotency-dynamodb:{{ powertools.version }}'
+ }
+
+ sourceCompatibility = 11 // or higher
+ targetCompatibility = 11 // or higher
+ ```
+
+### Required resources
+
+Before getting started, you need to create a persistent storage layer where the idempotency utility can store its state - your Lambda functions will need read and write access to it.
+
+As of now, Amazon DynamoDB is the only supported persistent storage layer, so you'll need to create a table first or [bring your own persistence store](#bring-your-own-persistent-store).
+
+**Default table configuration**
+
+If you're not [changing the default configuration for the DynamoDB persistence layer](#dynamodbpersistencestore), this is the expected default configuration:
+
+| Configuration | Value | Notes |
+|--------------------|--------------|-------------------------------------------------------------------------------------|
+| Partition key | `id` | |
+| TTL attribute name | `expiration` | This can only be configured after your table is created if you're using AWS Console |
+
+!!! Tip "Tip: You can share a single state table for all functions"
+ You can reuse the same DynamoDB table to store idempotency state. We add your function name in addition to the idempotency key as a hash key.
+
+```yaml hl_lines="5-13 21-23 26" title="AWS Serverless Application Model (SAM) example"
+Resources:
+ IdempotencyTable:
+ Type: AWS::DynamoDB::Table
+ Properties:
+ AttributeDefinitions:
+ - AttributeName: id
+ AttributeType: S
+ KeySchema:
+ - AttributeName: id
+ KeyType: HASH
+ TimeToLiveSpecification:
+ AttributeName: expiration
+ Enabled: true
+ BillingMode: PAY_PER_REQUEST
+
+ IdempotencyFunction:
+ Type: AWS::Serverless::Function
+ Properties:
+ CodeUri: Function
+ Handler: helloworld.App::handleRequest
+ Policies:
+ - DynamoDBCrudPolicy:
+ TableName: !Ref IdempotencyTable
+ Environment:
+ Variables:
+ TABLE_NAME: !Ref IdempotencyTable
+```
+
+!!! warning "Warning: Large responses with DynamoDB persistence layer"
+ When using this utility with DynamoDB, your function's responses must be [smaller than 400KB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Constraints.html#limits-items).
+ Larger items cannot be written to DynamoDB and will cause exceptions.
+
+!!! info "Info: DynamoDB"
+ Each function invocation will generally make 1 request to DynamoDB. If the
+ result returned by your Lambda is less than 1kb, you can expect 1 WCUs per invocation. For retried invocations, you will
+ see 1 WCU. In some cases, the utility might make 2 requests to DynamoDB in which case you will see 1 RCU and 1 WCU. Review the [DynamoDB pricing documentation](https://aws.amazon.com/dynamodb/pricing/) to
+ estimate the cost.
+
+### Basic usage
+
+You can use Powertools for AWS Lambda Idempotency with either the `@Idempotent` annotation or the functional API.
+
+!!! warning "Important"
+ Initialization and configuration of the `DynamoDBPersistenceStore` must be performed outside the handler, preferably in the constructor.
+
+=== "@Idempotent annotation"
+
+ ```java hl_lines="5-9 12 19"
+ public class App implements RequestHandler {
+
+ public App() {
+ // We need to initialize idempotency store before the handleRequest method is called
+ Idempotency.config().withPersistenceStore(
+ DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .build()
+ ).configure();
+ }
+
+ @Idempotent
+ public SubscriptionResult handleRequest(final Subscription event, final Context context) {
+ SubscriptionPayment payment = createSubscriptionPayment(
+ event.getUsername(),
+ event.getProductId()
+ );
+
+ return new SubscriptionResult(payment.getId(), "success", 200);
+ }
+ }
+
+ ```
+
+=== "Functional API"
+
+ ```java hl_lines="5-9 13-14"
+ public class App implements RequestHandler {
+
+ public App() {
+ // We need to initialize idempotency store before the handleRequest method is called
+ Idempotency.config().withPersistenceStore(
+ DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .build()
+ ).configure();
+ }
+
+ public SubscriptionResult handleRequest(final Subscription event, final Context context) {
+ Idempotency.registerLambdaContext(context);
+ return Idempotency.makeIdempotent(this::processSubscription, event, SubscriptionResult.class);
+ }
+
+ private SubscriptionResult processSubscription(Subscription event) {
+ SubscriptionPayment payment = createSubscriptionPayment(event.getUsername(), event.getProductId());
+ return new SubscriptionResult(payment.getId(), "success", 200);
+ }
+ }
+
+ ```
+
+=== "Example event"
+
+ ```json
+ {
+ "username": "xyz",
+ "product_id": "123456789"
+ }
+ ```
+
+#### Making non-handler methods idempotent
+
+You can make any synchronous Java function idempotent, not only the `handleRequest` handler.
+
+**With the `@Idempotent` annotation**, you must specify which parameter contains the idempotency key:
+
+ - If the method only has one parameter, it will be used by default.
+ - If there are 2 or more parameters, you must set the `@IdempotencyKey` on the parameter to use.
+
+**With the functional API**, you explicitly pass the idempotency key:
+
+ - For single-parameter methods, use `Idempotency.makeIdempotent(this::method, param, ReturnType.class)`
+ - For multi-parameter methods, use `Idempotency.makeIdempotent(idempotencyKey, () -> method(param1, param2), ReturnType.class)`
+
+!!! info "The parameter must be serializable in JSON. We use Jackson internally to (de)serialize objects"
+
+=== "@Idempotent annotation"
+
+ This example also demonstrates how you can integrate with [Batch utility](batch.md), so you can process each record in an idempotent manner.
+
+ ```java hl_lines="6-15 17-19 27-28"
+ public class SqsBatchHandler implements RequestHandler {
+
+ private final BatchMessageHandler handler;
+
+ public SqsBatchHandler() {
+ Idempotency.config()
+ .withPersistenceStore(
+ DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .build()
+ ).withConfig(
+ IdempotencyConfig.builder()
+ .withEventKeyJMESPath("messageId")
+ .build()
+ ).configure();
+
+ handler = new BatchMessageHandlerBuilder()
+ .withSqsBatchHandler()
+ .buildWithRawMessageHandler(this::processMessage);
+ }
+
+ @Override
+ public SQSBatchResponse handleRequest(SQSEvent sqsEvent, Context context) {
+ return handler.processBatch(sqsEvent, context);
+ }
+
+ @Idempotent
+ private void processMessage(@IdempotencyKey SQSEvent.SQSMessage message) {
+ // Process message
+ }
+ }
+ ```
+
+=== "Functional API"
+
+ This example also demonstrates how you can integrate with the [Batch utility](batch.md), so you can process each record in an idempotent manner. **Note: The JMESPath function still applies even when passing the idempotency key manually.**
+
+ ```java hl_lines="6-15 17-19 24 29"
+ public class SqsBatchHandler implements RequestHandler {
+
+ private final BatchMessageHandler handler;
+
+ public SqsBatchHandler() {
+ Idempotency.config()
+ .withPersistenceStore(
+ DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .build()
+ ).withConfig(
+ IdempotencyConfig.builder()
+ .withEventKeyJMESPath("messageId")
+ .build()
+ ).configure();
+
+ handler = new BatchMessageHandlerBuilder()
+ .withSqsBatchHandler()
+ .buildWithRawMessageHandler(this::processMessage);
+ }
+
+ @Override
+ public SQSBatchResponse handleRequest(SQSEvent sqsEvent, Context context) {
+ Idempotency.registerLambdaContext(context);
+ return handler.processBatch(sqsEvent, context);
+ }
+
+ private void processMessage(SQSEvent.SQSMessage message) {
+ Idempotency.makeIdempotent(this::handleMessage, message, Void.class);
+ }
+
+ private Void handleMessage(SQSEvent.SQSMessage message) {
+ // Process message
+ return null;
+ }
+ }
+ ```
+
+=== "Batch event"
+
+ ```json hl_lines="4"
+ {
+ "Records": [
+ {
+ "messageId": "059f36b4-87a3-44ab-83d2-661975830a7d",
+ "receiptHandle": "AQEBwJnKyrHigUMZj6rYigCgxlaS3SLy0a...",
+ "body": "Test message.",
+ "attributes": {
+ "ApproximateReceiveCount": "1",
+ "SentTimestamp": "1545082649183",
+ "SenderId": "AIDAIENQZJOLO23YVJ4VO",
+ "ApproximateFirstReceiveTimestamp": "1545082649185"
+ },
+ "messageAttributes": {
+ "testAttr": {
+ "stringValue": "100",
+ "binaryValue": "base64Str",
+ "dataType": "Number"
+ }
+ },
+ "md5OfBody": "e4e68fb7bd0e697a0ae8f1bb342846b3",
+ "eventSource": "aws:sqs",
+ "eventSourceARN": "arn:aws:sqs:us-east-2:123456789012:my-queue",
+ "awsRegion": "us-east-2"
+ }
+ ]
+ }
+ ```
+
+### Choosing a payload subset for idempotency
+
+!!! tip "Tip: Dealing with always changing payloads"
+ When dealing with an elaborate payload (API Gateway request for example), where parts of the payload always change, you should configure the **`EventKeyJMESPath`**.
+
+Use [`IdempotencyConfig`](#customizing-the-default-behavior) to instruct the Idempotent annotation to only use a portion of your payload to verify whether a request is idempotent, and therefore it should not be retried.
+
+> **Payment scenario**
+
+In this example, we have a Lambda handler that creates a payment for a user subscribing to a product. We want to ensure that we don't accidentally charge our customer by subscribing them more than once.
+
+Imagine the function executes successfully, but the client never receives the response due to a connection issue. It is safe to retry in this instance, as the idempotent decorator will return a previously saved response.
+
+!!! warning "Warning: Idempotency for JSON payloads"
+ The payload extracted by the `EventKeyJMESPath` is treated as a string by default, so will be sensitive to differences in whitespace even when the JSON payload itself is identical.
+
+ To alter this behaviour, you can use the [JMESPath built-in function](serialization.md#jmespath-functions) `powertools_json()` to treat the payload as a JSON object rather than a string.
+
+=== "@Idempotent annotation"
+
+ ```java hl_lines="7 16"
+ public class PaymentFunction implements RequestHandler {
+
+ public PaymentFunction() {
+ Idempotency.config()
+ .withConfig(
+ IdempotencyConfig.builder()
+ .withEventKeyJMESPath("powertools_json(body)")
+ .build())
+ .withPersistenceStore(
+ DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .build())
+ .configure();
+ }
+
+ @Idempotent
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent event, final Context context) {
+ APIGatewayProxyResponseEvent response = new APIGatewayProxyResponseEvent();
+
+ try {
+ Subscription subscription = JsonConfig.get().getObjectMapper().readValue(event.getBody(), Subscription.class);
+
+ SubscriptionPayment payment = createSubscriptionPayment(
+ subscription.getUsername(),
+ subscription.getProductId()
+ );
+
+ return response
+ .withStatusCode(200)
+ .withBody(String.format("{\"paymentId\":\"%s\"}", payment.getId()));
+
+ } catch (JsonProcessingException e) {
+ return response.withStatusCode(500);
+ }
+ }
+ ```
+
+=== "Functional API"
+
+ ```java hl_lines="7 17-18"
+ public class PaymentFunction implements RequestHandler {
+
+ public PaymentFunction() {
+ Idempotency.config()
+ .withConfig(
+ IdempotencyConfig.builder()
+ .withEventKeyJMESPath("powertools_json(body)")
+ .build())
+ .withPersistenceStore(
+ DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .build())
+ .configure();
+ }
+
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent event, final Context context) {
+ Idempotency.registerLambdaContext(context);
+ return Idempotency.makeIdempotent(this::processPayment, event, APIGatewayProxyResponseEvent.class);
+ }
+
+ private APIGatewayProxyResponseEvent processPayment(APIGatewayProxyRequestEvent event) {
+ APIGatewayProxyResponseEvent response = new APIGatewayProxyResponseEvent();
+
+ try {
+ Subscription subscription = JsonConfig.get().getObjectMapper().readValue(event.getBody(), Subscription.class);
+
+ SubscriptionPayment payment = createSubscriptionPayment(
+ subscription.getUsername(),
+ subscription.getProductId()
+ );
+
+ return response
+ .withStatusCode(200)
+ .withBody(String.format("{\"paymentId\":\"%s\"}", payment.getId()));
+
+ } catch (JsonProcessingException e) {
+ return response.withStatusCode(500);
+ }
+ }
+ ```
+
+=== "Example event"
+
+ ```json hl_lines="3"
+ {
+ "version":"2.0",
+ "body":"{\"username\":\"xyz\",\"productId\":\"123456789\"}",
+ "routeKey":"ANY /createpayment",
+ "rawPath":"/createpayment",
+ "rawQueryString":"",
+ "headers": {
+ "Header1": "value1",
+ "Header2": "value2"
+ },
+ "requestContext":{
+ "accountId":"123456789012",
+ "apiId":"api-id",
+ "domainName":"id.execute-api.us-east-1.amazonaws.com",
+ "domainPrefix":"id",
+ "http":{
+ "method":"POST",
+ "path":"/createpayment",
+ "protocol":"HTTP/1.1",
+ "sourceIp":"ip",
+ "userAgent":"agent"
+ },
+ "requestId":"id",
+ "routeKey":"ANY /createpayment",
+ "stage":"$default",
+ "time":"10/Feb/2021:13:40:43 +0000",
+ "timeEpoch":1612964443723
+ },
+ "isBase64Encoded":false
+ }
+ ```
+
+
+### Idempotency request flow
+
+This sequence diagram shows an example flow of what happens in the payment scenario:
+
+
+```mermaid
+sequenceDiagram
+ participant Client
+ participant Lambda
+ participant Persistence Layer
+ alt initial request
+ Client->>Lambda: Invoke (event)
+ Lambda->>Persistence Layer: Get or set (id=event.search(payload))
+ activate Persistence Layer
+ Note right of Persistence Layer: Locked to prevent concurrent invocations with the same payload.
+ Lambda-->>Lambda: Call handler (event)
+ Lambda->>Persistence Layer: Update record with result
+ deactivate Persistence Layer
+ Persistence Layer-->>Persistence Layer: Update record with result
+ Lambda-->>Client: Response sent to client
+ else retried request
+ Client->>Lambda: Invoke (event)
+ Lambda->>Persistence Layer: Get or set (id=event.search(payload))
+ Persistence Layer-->>Lambda: Already exists in persistence layer. Return result
+ Lambda-->>Client: Response sent to client
+ end
+```
+Idempotent sequence
+
+
+The client was successful in receiving the result after the retry. Since the Lambda handler was only executed once, our customer hasn't been charged twice.
+
+!!! note
+ Bear in mind that the entire Lambda handler is treated as a single idempotent operation. If your Lambda handler can cause multiple side effects, consider splitting it into separate functions.
+
+#### Lambda timeouts
+
+To prevent against extended failed retries when a [Lambda function times out](https://aws.amazon.com/premiumsupport/knowledge-center/lambda-verify-invocation-timeouts/), Powertools for AWS Lambda (Java) calculates and includes the remaining invocation available time as part of the idempotency record.
+
+!!! example
+ If a second invocation happens **after** this timestamp, and the record is marked as `INPROGRESS`, we will execute the invocation again as if it was in the `EXPIRED` state.
+ This means that if an invocation expired during execution, it will be quickly executed again on the next retry.
+
+**With the `@Idempotent` annotation**, this is automatically done when you annotate your Lambda handler.
+
+**With the functional API** or when using the `@Idempotent` annotation on methods other than the handler, you must call `Idempotency.registerLambdaContext(context)` to benefit from this protection.
+
+!!! important
+ Here is an example on how you register the Lambda context in your handler:
+
+ === "@Idempotent annotation"
+
+ ```java hl_lines="14" title="Registering the Lambda context"
+ public class PaymentHandler implements RequestHandler> {
+
+ public PaymentHandler() {
+ Idempotency.config()
+ .withPersistenceStore(
+ DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .build())
+ .configure();
+ }
+
+ @Override
+ public List handleRequest(SQSEvent sqsEvent, Context context) {
+ Idempotency.registerLambdaContext(context);
+ return sqsEvent.getRecords().stream().map(record -> process(record.getMessageId(), record.getBody())).collect(Collectors.toList());
+ }
+
+ @Idempotent
+ private String process(String messageId, @IdempotencyKey String messageBody) {
+ logger.info("Processing messageId: {}", messageId);
+ PaymentRequest request = extractDataFrom(messageBody).as(PaymentRequest.class);
+ return paymentService.process(request);
+ }
+
+ }
+ ```
+
+ === "Functional API"
+
+ ```java hl_lines="14" title="Registering the Lambda context"
+ public class PaymentHandler implements RequestHandler> {
+
+ public PaymentHandler() {
+ Idempotency.config()
+ .withPersistenceStore(
+ DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .build())
+ .configure();
+ }
+
+ @Override
+ public List handleRequest(SQSEvent sqsEvent, Context context) {
+ Idempotency.registerLambdaContext(context);
+ return sqsEvent.getRecords().stream()
+ .map(record -> Idempotency.makeIdempotent(
+ record.getBody(),
+ () -> process(record.getMessageId(), record.getBody()),
+ String.class))
+ .collect(Collectors.toList());
+ }
+
+ private String process(String messageId, String messageBody) {
+ logger.info("Processing messageId: {}", messageId);
+ PaymentRequest request = extractDataFrom(messageBody).as(PaymentRequest.class);
+ return paymentService.process(request);
+ }
+
+ }
+ ```
+
+#### Lambda timeout sequence diagram
+
+This sequence diagram shows an example flow of what happens if a Lambda function times out:
+
+
+```mermaid
+sequenceDiagram
+ participant Client
+ participant Lambda
+ participant Persistence Layer
+ alt initial request
+ Client->>Lambda: Invoke (event)
+ Lambda->>Persistence Layer: Get or set (id=event.search(payload))
+ activate Persistence Layer
+ Note right of Persistence Layer: Locked to prevent concurrent invocations with the same payload.
+ Note over Lambda: Time out
+ Lambda--xLambda: Call handler (event)
+ Lambda-->>Client: Return error response
+ deactivate Persistence Layer
+ else concurrent request before timeout
+ Client->>Lambda: Invoke (event)
+ Lambda->>Persistence Layer: Get or set (id=event.search(payload))
+ Persistence Layer-->>Lambda: Request already INPROGRESS
+ Lambda--xClient: Return IdempotencyAlreadyInProgressError
+ else retry after Lambda timeout
+ Client->>Lambda: Invoke (event)
+ Lambda->>Persistence Layer: Get or set (id=event.search(payload))
+ activate Persistence Layer
+ Note right of Persistence Layer: Locked to prevent concurrent invocations with the same payload.
+ Lambda-->>Lambda: Call handler (event)
+ Lambda->>Persistence Layer: Update record with result
+ deactivate Persistence Layer
+ Persistence Layer-->>Persistence Layer: Update record with result
+ Lambda-->>Client: Response sent to client
+ end
+```
+Idempotent sequence for Lambda timeouts
+
+
+### Handling exceptions
+
+**With the `@Idempotent` annotation**, any unhandled exceptions that are thrown during the code execution will cause **the record in the persistence layer to be deleted**.
+This means that new invocations will execute your code again despite having the same payload. If you don't want the record to be deleted, you need to catch exceptions within the idempotent function and return a successful response.
+
+**With the functional API**, exceptions are handled the same way - unhandled exceptions will cause the record to be deleted. You should catch and handle exceptions within your idempotent function if you want to preserve the record.
+
+
+```mermaid
+sequenceDiagram
+ participant Client
+ participant Lambda
+ participant Persistence Layer
+ Client->>Lambda: Invoke (event)
+ Lambda->>Persistence Layer: Get or set (id=event.search(payload))
+ activate Persistence Layer
+ Note right of Persistence Layer: Locked during this time. Prevents multiple Lambda invocations with the same payload running concurrently.
+ Lambda--xLambda: Call handler (event). Raises exception
+ Lambda->>Persistence Layer: Delete record (id=event.search(payload))
+ deactivate Persistence Layer
+ Lambda-->>Client: Return error response
+```
+Idempotent sequence exception
+
+
+If an Exception is raised _outside_ the scope of a decorated method and after your method has been called, the persistent record will not be affected. In this case, idempotency will be maintained for your decorated function. Example:
+
+```java hl_lines="2-4 8-10" title="Exception not affecting idempotency record sample"
+ public SubscriptionResult handleRequest(final Subscription event, final Context context) {
+ // If an exception is thrown here, no idempotent record will ever get created as the
+ // idempotent function does not get called
+ doSomeStuff();
+
+ result = idempotentMethod(event);
+
+ // This exception will not cause the idempotent record to be deleted, since it
+ // happens after the decorated function has been successfully called
+ throw new Exception();
+ }
+
+ @Idempotent
+ private String idempotentMethod(final Subscription subscription) {
+ // perform some operation with no exception thrown
+ }
+```
+
+!!! warning
+ **We will throw an `IdempotencyPersistenceLayerException`** if any of the calls to the persistence layer fail unexpectedly.
+
+ As this happens outside the scope of your decorated function, you are not able to catch it.
+
+### Persistence stores
+
+#### DynamoDBPersistenceStore
+
+This persistence store is built-in, and you can either use an existing DynamoDB table or create a new one dedicated for idempotency state (recommended).
+
+Use the builder to customize the table structure:
+```java hl_lines="2-7" title="Customizing DynamoDBPersistenceStore to suit your table structure"
+DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .withKeyAttr("idempotency_key")
+ .withExpiryAttr("expires_at")
+ .withStatusAttr("current_status")
+ .withDataAttr("result_data")
+ .withValidationAttr("validation_key")
+ .build()
+```
+
+When using DynamoDB as a persistence layer, you can alter the attribute names by passing these parameters when initializing the persistence layer:
+
+| Parameter | Required | Default | Description |
+|--------------------|----------|--------------------------------------|--------------------------------------------------------------------------------------------------------|
+| **TableName** | Y | | Table name to store state |
+| **KeyAttr** | | `id` | Partition key of the table. Hashed representation of the payload (unless **SortKeyAttr** is specified) |
+| **ExpiryAttr** | | `expiration` | Unix timestamp of when record expires |
+| **StatusAttr** | | `status` | Stores status of the Lambda execution during and after invocation |
+| **DataAttr** | | `data` | Stores results of successfully idempotent methods |
+| **ValidationAttr** | | `validation` | Hashed representation of the parts of the event used for validation |
+| **SortKeyAttr** | | | Sort key of the table (if table is configured with a sort key). |
+| **StaticPkValue** | | `idempotency#{LAMBDA_FUNCTION_NAME}` | Static value to use as the partition key. Only used when **SortKeyAttr** is set. |
+
+## Advanced
+
+### Using explicit function names
+
+When using the functional API, if you need to call different methods with the same payload as the idempotency key, you must provide explicit function names to differentiate between them. This ensures each function has its own idempotency scope.
+
+=== "Functional API with explicit names"
+
+ ```java hl_lines="5-9 11-15"
+ public Response handleRequest(Order order, Context context) {
+ Idempotency.registerLambdaContext(context);
+
+ // Same orderId, different operations - need explicit function names
+ Idempotency.makeIdempotent(
+ "processPayment",
+ order.getId(),
+ () -> processPayment(order),
+ PaymentResult.class);
+
+ Idempotency.makeIdempotent(
+ "sendConfirmation",
+ order.getId(),
+ () -> sendEmail(order),
+ EmailResult.class);
+
+ return new Response("success");
+ }
+ ```
+
+!!! note
+ When using the `@Idempotent` annotation, the function name is automatically inferred from the method name, so this is not needed.
+
+### Generic return types support
+
+The functional API supports making methods with generic return types idempotent using Jackson's `TypeReference`. This is not possible with the `@Idempotent` annotation due to type erasure.
+
+=== "Functional API with TypeReference"
+
+ ```java hl_lines="1 6-10"
+ import com.fasterxml.jackson.core.type.TypeReference;
+
+ public Map handleRequest(Product input, Context context) {
+ Idempotency.registerLambdaContext(context);
+
+ return Idempotency.makeIdempotent(
+ this::processProduct,
+ input,
+ new TypeReference>() {}
+ );
+ }
+
+ private Map processProduct(Product product) {
+ // business logic returning generic type
+ Map result = new HashMap<>();
+ // ...
+ return result;
+ }
+ ```
+
+### Customizing the default behavior
+
+Idempotency behavior can be further configured with **`IdempotencyConfig`** using a builder:
+
+```java hl_lines="2-9" title="Customizing IdempotencyConfig"
+IdempotencyConfig.builder()
+ .withEventKeyJMESPath("id")
+ .withPayloadValidationJMESPath("paymentId")
+ .withThrowOnNoIdempotencyKey(true)
+ .withExpiration(Duration.of(5, ChronoUnit.MINUTES))
+ .withUseLocalCache(true)
+ .withLocalCacheMaxItems(432)
+ .withHashFunction("SHA-256")
+ .withResponseHook((responseData, dataRecord) -> responseData)
+ .build()
+```
+
+These are the available options for further configuration:
+
+| Parameter | Default | Description |
+|---------------------------------------------------|---------|----------------------------------------------------------------------------------------------------------------------------------|
+| **EventKeyJMESPath** | `""` | JMESPath expression to extract the idempotency key from the event record. See available [built-in functions](serialization) |
+| **PayloadValidationJMESPath** | `""` | JMESPath expression to validate whether certain parameters have changed in the event |
+| **ThrowOnNoIdempotencyKey** | `false` | Throw exception if no idempotency key was found in the request |
+| **ExpirationInSeconds** | 3600 | The number of seconds to wait before a record is expired |
+| **UseLocalCache** | `false` | Whether to locally cache idempotency results (LRU cache) |
+| **LocalCacheMaxItems** | 256 | Max number of items to store in local cache |
+| **HashFunction** | `MD5` | Algorithm to use for calculating hashes, as supported by `java.security.MessageDigest` (eg. SHA-1, SHA-256, ...) |
+| **ResponseHook** | `null` | Response hook to apply modifications to idempotent responses |
+
+These features are detailed below.
+
+### Handling concurrent executions with the same payload
+
+This utility will throw an **`IdempotencyAlreadyInProgressException`** if we receive **multiple invocations with the same payload while the first invocation hasn't completed yet**.
+
+!!! info
+ If you receive `IdempotencyAlreadyInProgressException`, you can safely retry the operation.
+
+This is a locking mechanism for correctness. Since we don't know the result from the first invocation yet, we can't safely allow another concurrent execution.
+
+### Using in-memory cache
+
+**By default, in-memory local caching is disabled**, to avoid using memory in an unpredictable way.
+
+!!! warning Memory configuration of your function
+ Be sure to configure the Lambda memory according to the number of records and the potential size of each record.
+
+You can enable it as seen before with:
+```java title="Enable local cache"
+ IdempotencyConfig.builder()
+ .withUseLocalCache(true)
+ .build()
+```
+When enabled, we cache a maximum of 256 records in each Lambda execution environment - You can change it with the **`LocalCacheMaxItems`** parameter.
+
+!!! note "Note: This in-memory cache is local to each Lambda execution environment"
+ This means it will be effective in cases where your function's concurrency is low in comparison to the number of "retry" invocations with the same payload, because cache might be empty.
+
+
+### Expiring idempotency records
+
+!!! note
+ By default, we expire idempotency records after **an hour** (3600 seconds).
+
+In most cases, it is not desirable to store the idempotency records forever. Rather, you want to guarantee that the same payload won't be executed within a period of time.
+
+You can change this window with the **`ExpirationInSeconds`** parameter:
+```java title="Customizing expiration time"
+IdempotencyConfig.builder()
+ .withExpiration(Duration.of(5, ChronoUnit.MINUTES))
+ .build()
+```
+
+Records older than 5 minutes will be marked as expired, and the Lambda handler will be executed normally even if it is invoked with a matching payload.
+
+!!! note "Note: DynamoDB time-to-live field"
+ This utility uses **`expiration`** as the TTL field in DynamoDB, as [demonstrated in the SAM example earlier](#required-resources).
+
+### Payload validation
+
+!!! question "Question: What if your function is invoked with the same payload except some outer parameters have changed?"
+ Example: A payment transaction for a given productID was requested twice for the same customer, **however the amount to be paid has changed in the second transaction**.
+
+By default, we will return the same result as it returned before, however in this instance it may be misleading; we provide a fail fast payload validation to address this edge case.
+
+With **`PayloadValidationJMESPath`**, you can provide an additional JMESPath expression to specify which part of the event body should be validated against previous idempotent invocations
+
+=== "@Idempotent annotation"
+
+ ```java hl_lines="8 13 20 26"
+ public App() {
+ Idempotency.config()
+ .withPersistenceStore(DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .build())
+ .withConfig(IdempotencyConfig.builder()
+ .withEventKeyJMESPath("[userDetail, productId]")
+ .withPayloadValidationJMESPath("amount")
+ .build())
+ .configure();
+ }
+
+ @Idempotent
+ public SubscriptionResult handleRequest(final Subscription input, final Context context) {
+ // Creating a subscription payment is a side
+ // effect of calling this function!
+ SubscriptionPayment payment = createSubscriptionPayment(
+ input.getUserDetail().getUsername(),
+ input.getProductId(),
+ input.getAmount()
+ )
+ // ...
+ return new SubscriptionResult(
+ "success", 200,
+ payment.getId(),
+ payment.getAmount()
+ );
+ }
+ ```
+
+=== "Functional API"
+
+ ```java hl_lines="8 14-15 24 30"
+ public App() {
+ Idempotency.config()
+ .withPersistenceStore(DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .build())
+ .withConfig(IdempotencyConfig.builder()
+ .withEventKeyJMESPath("[userDetail, productId]")
+ .withPayloadValidationJMESPath("amount")
+ .build())
+ .configure();
+ }
+
+ public SubscriptionResult handleRequest(final Subscription input, final Context context) {
+ Idempotency.registerLambdaContext(context);
+ return Idempotency.makeIdempotent(this::processSubscription, input, SubscriptionResult.class);
+ }
+
+ private SubscriptionResult processSubscription(Subscription input) {
+ // Creating a subscription payment is a side
+ // effect of calling this function!
+ SubscriptionPayment payment = createSubscriptionPayment(
+ input.getUserDetail().getUsername(),
+ input.getProductId(),
+ input.getAmount()
+ )
+ // ...
+ return new SubscriptionResult(
+ "success", 200,
+ payment.getId(),
+ payment.getAmount()
+ );
+ }
+ ```
+
+=== "Example Event 1"
+
+ ```json hl_lines="8"
+ {
+ "userDetail": {
+ "username": "User1",
+ "user_email": "user@example.com"
+ },
+ "productId": 1500,
+ "charge_type": "subscription",
+ "amount": 500
+ }
+ ```
+
+=== "Example Event 2"
+
+ ```json hl_lines="8"
+ {
+ "userDetail": {
+ "username": "User1",
+ "user_email": "user@example.com"
+ },
+ "productId": 1500,
+ "charge_type": "subscription",
+ "amount": 1
+ }
+ ```
+
+In this example, the **`userDetail`** and **`productId`** keys are used as the payload to generate the idempotency key, as per **`EventKeyJMESPath`** parameter.
+
+!!! note
+ If we try to send the same request but with a different amount, we will raise **`IdempotencyValidationException`**.
+
+Without payload validation, we would have returned the same result as we did for the initial request. Since we're also returning an amount in the response, this could be quite confusing for the client.
+
+By using **`withPayloadValidationJMESPath("amount")`**, we prevent this potentially confusing behavior and instead throw an Exception.
+
+### Making idempotency key required
+
+If you want to enforce that an idempotency key is required, you can set **`ThrowOnNoIdempotencyKey`** to `true`.
+
+This means that we will throw **`IdempotencyKeyException`** if the evaluation of **`EventKeyJMESPath`** is `null`.
+
+When set to `false` (the default), if the idempotency key is null, then the data is not persisted in the store.
+
+=== "@Idempotent annotation"
+
+ ```java hl_lines="9"
+ public App() {
+ Idempotency.config()
+ .withPersistenceStore(DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .build())
+ .withConfig(IdempotencyConfig.builder()
+ // Requires "user"."uid" and "orderId" to be present
+ .withEventKeyJMESPath("[user.uid, orderId]")
+ .withThrowOnNoIdempotencyKey(true)
+ .build())
+ .configure();
+ }
+
+ @Idempotent
+ public OrderResult handleRequest(final Order input, final Context context) {
+ // ...
+ }
+ ```
+
+=== "Functional API"
+
+ ```java hl_lines="9"
+ public App() {
+ Idempotency.config()
+ .withPersistenceStore(DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .build())
+ .withConfig(IdempotencyConfig.builder()
+ // Requires "user"."uid" and "orderId" to be present
+ .withEventKeyJMESPath("[user.uid, orderId]")
+ .withThrowOnNoIdempotencyKey(true)
+ .build())
+ .configure();
+ }
+
+ public OrderResult handleRequest(final Order input, final Context context) {
+ Idempotency.registerLambdaContext(context);
+ return Idempotency.makeIdempotent(this::processOrder, input, OrderResult.class);
+ }
+
+ private OrderResult processOrder(Order input) {
+ // ...
+ }
+ ```
+
+=== "Success Event"
+
+ ```json hl_lines="3 6"
+ {
+ "user": {
+ "uid": "BB0D045C-8878-40C8-889E-38B3CB0A61B1",
+ "name": "Foo"
+ },
+ "orderId": 10000
+ }
+ ```
+
+=== "Failure Event"
+
+ Notice that `orderId` is now accidentally within `user` key
+
+ ```json hl_lines="3 5"
+ {
+ "user": {
+ "uid": "DE0D000E-1234-10D1-991E-EAC1DD1D52C8",
+ "name": "Joe Bloggs",
+ "orderId": 10000
+ },
+ }
+ ```
+
+### Customizing DynamoDB configuration
+
+When creating the `DynamoDBPersistenceStore`, you can set a custom [`DynamoDbClient`](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/dynamodb/DynamoDbClient.html) if you need to customize the configuration:
+
+=== "Custom DynamoDbClient with X-Ray interceptor"
+
+ ```java hl_lines="2-8 13"
+ public App() {
+ DynamoDbClient customClient = DynamoDbClient.builder()
+ .region(Region.US_WEST_2)
+ .overrideConfiguration(ClientOverrideConfiguration.builder()
+ .addExecutionInterceptor(new TracingInterceptor())
+ .build()
+ )
+ .build();
+
+ Idempotency.config().withPersistenceStore(
+ DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .withDynamoDbClient(customClient)
+ .build()
+ ).configure();
+ }
+ ```
+
+!!! info "Default configuration is the following:"
+
+ ```java
+ DynamoDbClient.builder()
+ .credentialsProvider(EnvironmentVariableCredentialsProvider.create())
+ .httpClient(UrlConnectionHttpClient.builder().build())
+ .region(Region.of(System.getenv(AWS_REGION_ENV)))
+ .build();
+ ```
+
+### Using a DynamoDB table with a composite primary key
+
+When using a composite primary key table (hash+range key), use `SortKeyAttr` parameter when initializing your persistence store.
+
+With this setting, we will save the idempotency key in the sort key instead of the primary key. By default, the primary key will now be set to `idempotency#{LAMBDA_FUNCTION_NAME}`.
+
+You can optionally set a static value for the partition key using the `StaticPkValue` parameter.
+
+```java hl_lines="5" title="Reusing a DynamoDB table that uses a composite primary key"
+Idempotency.config().withPersistenceStore(
+ DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .withSortKeyAttr("sort_key")
+ .build())
+ .configure();
+```
+
+Data would then be stored in DynamoDB like this:
+
+| id | sort_key | expiration | status | data |
+|------------------------------|----------------------------------|------------|-------------|--------------------------------------|
+| idempotency#MyLambdaFunction | 1e956ef7da78d0cb890be999aecc0c9e | 1636549553 | COMPLETED | {"id": 12391, "message": "success"} |
+| idempotency#MyLambdaFunction | 2b2cdb5f86361e97b4383087c1ffdf27 | 1636549571 | COMPLETED | {"id": 527212, "message": "success"} |
+| idempotency#MyLambdaFunction | f091d2527ad1c78f05d54cc3f363be80 | 1636549585 | IN_PROGRESS | |
+
+### Bring your own persistent store
+
+This utility provides an abstract base class, so that you can implement your choice of persistent storage layer.
+
+You can extend the `BasePersistenceStore` class and implement the abstract methods `getRecord`, `putRecord`,
+`updateRecord` and `deleteRecord`. You can have a look at [`DynamoDBPersistenceStore`](https://github.com/aws-powertools/powertools-lambda-java/blob/master/powertools-idempotency/src/main/java/software/amazon/lambda/powertools/idempotency/persistence/DynamoDBPersistenceStore.java) as an implementation reference.
+
+!!! danger
+ Pay attention to the documentation for each method - you may need to perform additional checks inside these methods to ensure the idempotency guarantees remain intact.
+
+ For example, the `putRecord` method needs to throw an exception if a non-expired record already exists in the data store with a matching key.
+
+### Manipulating the Idempotent Response
+
+You can set up a response hook in the Idempotency configuration to manipulate the returned data when an operation is idempotent. The hook function will be called with the current de-serialized response `Object` and the Idempotency `DataRecord`.
+
+The example below shows how to append an HTTP header to an `APIGatewayProxyResponseEvent`.
+
+=== "Using an Idempotent Response Hook"
+
+ ```java hl_lines="3-20"
+ Idempotency.config().withConfig(
+ IdempotencyConfig.builder()
+ .withResponseHook((responseData, dataRecord) -> {
+ if (responseData instanceof APIGatewayProxyResponseEvent) {
+ APIGatewayProxyResponseEvent proxyResponse =
+ (APIGatewayProxyResponseEvent) responseData;
+ final Map headers = new HashMap<>();
+ headers.putAll(proxyResponse.getHeaders());
+ // Append idempotency headers
+ headers.put("x-idempotency-response", "true");
+ headers.put("x-idempotency-expiration",
+ String.valueOf(dataRecord.getExpiryTimestamp()));
+
+ proxyResponse.setHeaders(headers);
+
+ return proxyResponse;
+ }
+
+ return responseData;
+ })
+ .build())
+ .withPersistenceStore(
+ DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .build())
+ .configure();
+ ```
+
+???+ info "Info: Using custom de-serialization?"
+
+ The response hook is called after de-serialization so the payload you process will be the de-serialized Java object.
+
+#### Being a good citizen
+
+When using response hooks to manipulate returned data from idempotent operations, it's important to follow best practices to avoid introducing complexity or issues. Keep these guidelines in mind:
+
+1. **Response hook works exclusively when operations are idempotent.** The hook will not be called when an operation is not idempotent, or when the idempotent logic fails.
+
+2. **Catch and Handle Exceptions.** Your response hook code should catch and handle any exceptions that may arise from your logic. Unhandled exceptions will cause the Lambda function to fail unexpectedly.
+
+3. **Keep Hook Logic Simple** Response hooks should consist of minimal and straightforward logic for manipulating response data. Avoid complex conditional branching and aim for hooks that are easy to reason about.
+
+
+## Compatibility with other utilities
+
+### Validation utility
+
+The idempotency utility can be used with the `@Validation` annotation from the [validation module](validation.md). Ensure that idempotency is the innermost annotation.
+
+```java hl_lines="1 2" title="Using Idempotency with JSONSchema Validation utility"
+@Validation(inboundSchema = "classpath:/schema_in.json")
+@Idempotent
+public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ // ...
+}
+```
+
+!!! tip "Tip: JMESPath Powertools for AWS Lambda (Java) functions are also available"
+ Built-in functions like `powertools_json`, `powertools_base64`, `powertools_base64_gzip` are also available to use in this utility. See [JMESPath Powertools for AWS Lambda (Java) functions](serialization.md)
+
+
+## Testing your code
+
+The idempotency utility provides several routes to test your code.
+
+### Disabling the idempotency utility
+When testing your code, you may wish to disable the idempotency logic altogether and focus on testing your business logic. To do this, you can set the environment variable `POWERTOOLS_IDEMPOTENCY_DISABLED` to true.
+If you prefer setting this for specific tests, and are using JUnit 5, you can use [junit-pioneer](https://junit-pioneer.org/docs/environment-variables/) library:
+
+=== "MyFunctionTest.java"
+
+ ```java hl_lines="2"
+ @Test
+ @SetEnvironmentVariable(key = Constants.IDEMPOTENCY_DISABLED_ENV, value = "true")
+ public void testIdempotencyDisabled_shouldJustRunTheFunction() {
+ MyFunction func = new MyFunction();
+ func.handleRequest(someInput, mockedContext);
+ }
+ ```
+
+You can also disable the idempotency for all tests using `maven-surefire-plugin` and adding the environment variable:
+
+=== "pom.xml"
+```xml hl_lines="5-7"
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ true
+
+
+
+```
+
+### Testing with DynamoDB Local
+
+#### Unit tests
+
+To unit test your function with DynamoDB Local, you can refer to this guide to [setup with Maven](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html#apache-maven).
+
+=== "pom.xml"
+
+ ```xml
+
+
+
+ com.amazonaws
+ DynamoDBLocal
+
+
+ 2.2.0
+ test
+
+
+
+ io.github.ganadist.sqlite4java
+ libsqlite4java-osx-aarch64
+ 1.0.392
+ test
+ dylib
+
+
+
+
+
+
+ dynamodb-local-oregon
+ DynamoDB Local Release Repository
+ https://s3-us-west-2.amazonaws.com/dynamodb-local/release
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 3.0.0-M5
+
+
+
+ ${project.build.directory}/native-libs
+
+
+
+ idempotency
+ eu-central-1
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy
+ test-compile
+
+ copy-dependencies
+
+
+ test
+ so,dll,dylib
+ ${project.build.directory}/native-libs
+
+
+
+
+
+ ```
+
+=== "AppTest.java"
+
+ ```java
+ public class AppTest {
+ @Mock
+ private Context context;
+ private App app;
+ private static DynamoDbClient client;
+
+ @BeforeAll
+ public static void setupDynamoLocal() {
+ int port = getFreePort();
+
+ // Initialize DynamoDBLocal
+ try {
+ DynamoDBProxyServer dynamoProxy = ServerRunner.createServerFromCommandLineArgs(new String[]{
+ "-inMemory",
+ "-port",
+ Integer.toString(port)
+ });
+ dynamoProxy.start();
+ } catch (Exception e) {
+ throw new RuntimeException();
+ }
+
+ // Initialize DynamoDBClient
+ client = DynamoDbClient.builder()
+ .httpClient(UrlConnectionHttpClient.builder().build())
+ .region(Region.EU_WEST_1)
+ .endpointOverride(URI.create("http://localhost:" + port))
+ .credentialsProvider(StaticCredentialsProvider.create(
+ AwsBasicCredentials.create("FAKE", "FAKE")))
+ .build();
+
+ // create the table (use same table name as in pom.xml)
+ client.createTable(CreateTableRequest.builder()
+ .tableName("idempotency")
+ .keySchema(KeySchemaElement.builder().keyType(KeyType.HASH).attributeName("id").build())
+ .attributeDefinitions(
+ AttributeDefinition.builder().attributeName("id").attributeType(ScalarAttributeType.S).build()
+ )
+ .billingMode(BillingMode.PAY_PER_REQUEST)
+ .build());
+ }
+
+ private static int getFreePort() {
+ try {
+ ServerSocket socket = new ServerSocket(0);
+ int port = socket.getLocalPort();
+ socket.close();
+ return port;
+ } catch (IOException ioe) {
+ throw new RuntimeException(ioe);
+ }
+ }
+
+ @BeforeEach
+ void setUp() {
+ MockitoAnnotations.openMocks(this);
+ app = new App(client);
+ }
+
+ @Test
+ public void testApp() {
+ app.handleRequest(..., context);
+ // ... assert
+ }
+ }
+ ```
+
+=== "App.java"
+
+ ```java
+ public class App implements RequestHandler {
+
+ public App(DynamoDbClient ddbClient) {
+ Idempotency.config().withPersistenceStore(
+ DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .withDynamoDbClient(ddbClient)
+ .build()
+ ).configure();
+ }
+
+ public App() {
+ this(null);
+ }
+
+ @Idempotent
+ public SubscriptionResult handleRequest(final Subscription event, final Context context) {
+ // ...
+ }
+ ```
+
+
+#### SAM Local
+
+=== "App.java"
+
+ ```java
+ public class App implements RequestHandler {
+
+ public App() {
+ DynamoDbClientBuilder ddbBuilder = DynamoDbClient.builder()
+ .credentialsProvider(EnvironmentVariableCredentialsProvider.create())
+ .httpClient(UrlConnectionHttpClient.builder().build());
+
+ if (System.getenv("AWS_SAM_LOCAL") != null) {
+ ddbBuilder.endpointOverride(URI.create("http://dynamo:8000"));
+ } else {
+ ddbBuilder.region(Region.of(System.getenv("AWS_REGION")));
+ }
+
+ Idempotency.config().withPersistenceStore(
+ DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .withDynamoDbClient(ddbBuilder.build())
+ .build()
+ ).configure();
+ }
+
+ @Idempotent
+ public SubscriptionResult handleRequest(final Subscription event, final Context context) {
+ // ...
+ }
+ }
+ ```
+
+=== "shell"
+
+ ```shell
+ # use or create a docker network
+ docker network inspect sam-local || docker network create sam-local
+
+ # start dynamodb-local with docker
+ docker run -d --rm -p 8000:8000 \
+ --network sam-local \
+ --name dynamo \
+ amazon/dynamodb-local
+
+ # create the idempotency table
+ aws dynamodb create-table
+ --table-name idempotency \
+ --attribute-definitions AttributeName=id,AttributeType=S \
+ --key-schema AttributeName=id,KeyType=HASH \
+ --billing-mode PAY_PER_REQUEST \
+ --endpoint-url http://localhost:8000
+
+ # invoke the function locally
+ sam local invoke IdempotentFunction \
+ --event event.json \
+ --env-vars env.json \
+ --docker-network sam-local
+ ```
+
+=== "env.json"
+
+ ```json
+ {
+ "IdempotentFunction": {
+ "TABLE_NAME": "idempotency"
+ }
+ }
+ ```
+
+## Extra resources
+
+If you're interested in a deep dive on how Amazon uses idempotency when building our APIs, check out
+[this article](https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/).
diff --git a/docs/utilities/kafka.md b/docs/utilities/kafka.md
new file mode 100644
index 000000000..da179bc5c
--- /dev/null
+++ b/docs/utilities/kafka.md
@@ -0,0 +1,1001 @@
+---
+title: Kafka Consumer
+description: Utility
+status: new
+---
+
+
+
+The Kafka utility transparently handles message deserialization, provides an intuitive developer experience, and integrates seamlessly with the rest of the Powertools for AWS Lambda ecosystem.
+
+```mermaid
+flowchart LR
+ KafkaTopic["Kafka Topic"] --> MSK["Amazon MSK"]
+ KafkaTopic --> MSKServerless["Amazon MSK Serverless"]
+ KafkaTopic --> SelfHosted["Self-hosted Kafka"]
+ MSK --> EventSourceMapping["Event Source Mapping"]
+ MSKServerless --> EventSourceMapping
+ SelfHosted --> EventSourceMapping
+ EventSourceMapping --> Lambda["Lambda Function"]
+ Lambda --> KafkaUtility["Kafka Utility"]
+ KafkaUtility --> Deserialization["Deserialization"]
+ Deserialization --> YourLogic["Your Business Logic"]
+```
+
+## Key features
+
+- Automatic deserialization of Kafka messages (JSON, Avro, and Protocol Buffers)
+- Simplified event record handling with familiar Kafka `ConsumerRecords` interface
+- Support for key and value deserialization
+- Support for ESM with and without Schema Registry integration
+- Proper error handling for deserialization issues
+
+## Terminology
+
+**Event Source Mapping (ESM)** A Lambda feature that reads from streaming sources (like Kafka) and invokes your Lambda function. It manages polling, batching, and error handling automatically, eliminating the need for consumer management code.
+
+**Record Key and Value** A Kafka messages contain two important parts: an optional key that determines the partition and a value containing the actual message data. Both are base64-encoded in Lambda events and can be independently deserialized.
+
+**Deserialization** Is the process of converting binary data (base64-encoded in Lambda events) into usable Java objects according to a specific format like JSON, Avro, or Protocol Buffers. Powertools handles this conversion automatically.
+
+**DeserializationType enum** Contains parameters that tell Powertools how to interpret message data, including the format type (JSON, Avro, Protocol Buffers).
+
+**Schema Registry** Is a centralized service that stores and validates schemas, ensuring producers and consumers maintain compatibility when message formats evolve over time.
+
+## Moving from traditional Kafka consumers
+
+Lambda processes Kafka messages as discrete events rather than continuous streams, requiring a different approach to consumer development that Powertools for AWS helps standardize.
+
+| Aspect | Traditional Kafka Consumers | Lambda Kafka Consumer |
+| --------------------- | ----------------------------------- | -------------------------------------------------------------- |
+| **Model** | Pull-based (you poll for messages) | Push-based (Lambda invoked with messages) |
+| **Scaling** | Manual scaling configuration | Automatic scaling to partition count |
+| **State** | Long-running application with state | Stateless, ephemeral executions |
+| **Offsets** | Manual offset management | Automatic offset commitment |
+| **Schema Validation** | Client-side schema validation | Optional Schema Registry integration with Event Source Mapping |
+| **Error Handling** | Per-message retry control | Batch-level retry policies |
+
+## Getting started
+
+### Installation
+
+Add the Powertools for AWS Lambda Kafka dependency to your project. Make sure to also add the `kafka-clients` library as a dependency. The utility supports `kafka-clients >= 3.0.0`.
+
+=== "Maven"
+
+ ```xml
+
+ software.amazon.lambda
+ powertools-kafka
+ {{ powertools.version }}
+
+
+
+ org.apache.kafka
+ kafka-clients
+ 4.0.0
+
+ ```
+
+=== "Gradle"
+
+ ```gradle
+ dependencies {
+ implementation 'software.amazon.lambda:powertools-kafka:{{ powertools.version }}'
+ // Kafka clients dependency - compatibility works for >= 3.0.0
+ implementation 'org.apache.kafka:kafka-clients:4.0.0'
+ }
+ ```
+
+### Required resources
+
+To use the Kafka utility, you need an AWS Lambda function configured with a Kafka event source. This can be Amazon MSK, MSK Serverless, or a self-hosted Kafka cluster.
+
+=== "getting_started_with_msk.yaml"
+
+ ```yaml
+ AWSTemplateFormatVersion: '2010-09-09'
+ Transform: AWS::Serverless-2016-10-31
+ Resources:
+ KafkaConsumerFunction:
+ Type: AWS::Serverless::Function
+ Properties:
+ Handler: org.example.KafkaHandler::handleRequest
+ Runtime: java21
+ Timeout: 30
+ Events:
+ MSKEvent:
+ Type: MSK
+ Properties:
+ StartingPosition: LATEST
+ Stream: !GetAtt MyMSKCluster.Arn
+ Topics:
+ - my-topic-1
+ - my-topic-2
+ Policies:
+ - AWSLambdaMSKExecutionRole
+ ```
+
+### Using ESM with Schema Registry
+
+The Event Source Mapping configuration determines which mode is used. With `JSON`, Lambda converts all messages to JSON before invoking your function. With `SOURCE` mode, Lambda preserves the original format, requiring you function to handle the appropriate deserialization.
+
+Powertools for AWS supports both Schema Registry integration modes in your Event Source Mapping configuration.
+
+### Processing Kafka events
+
+The Kafka utility transforms raw Lambda Kafka events into an intuitive format for processing. To handle messages effectively, you'll need to configure the `@Deserialization` annotation that matches your data format. Based on the deserializer you choose, incoming records are directly transformed into your business objects which can be auto-generated classes from Avro / Protobuf or simple POJOs.
+
+
+???+ tip "Using Avro is recommended"
+ We recommend Avro for production Kafka implementations due to its schema evolution capabilities, compact binary format, and integration with Schema Registry. This offers better type safety and forward/backward compatibility compared to JSON.
+
+=== "Avro Messages"
+
+ ```java hl_lines="18 21"
+ package org.example;
+
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import org.apache.kafka.clients.consumer.ConsumerRecord;
+ import org.apache.kafka.clients.consumer.ConsumerRecords;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import software.amazon.lambda.powertools.kafka.Deserialization;
+ import software.amazon.lambda.powertools.kafka.DeserializationType;
+ import software.amazon.lambda.powertools.logging.Logging;
+
+ public class AvroKafkaHandler implements RequestHandler, String> {
+ private static final Logger LOGGER = LoggerFactory.getLogger(AvroKafkaHandler.class);
+
+ @Override
+ @Logging
+ @Deserialization(type = DeserializationType.KAFKA_AVRO)
+ public String handleRequest(ConsumerRecords records, Context context) {
+ for (ConsumerRecord record : records) {
+ User user = record.value(); // User class is auto-generated from Avro schema
+ LOGGER.info("Processing user: {}, age {}", user.getName(), user.getAge());
+ }
+ return "OK";
+ }
+ }
+ ```
+
+=== "Protocol Buffers"
+
+ ```java hl_lines="18 21"
+ package org.example;
+
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import org.apache.kafka.clients.consumer.ConsumerRecord;
+ import org.apache.kafka.clients.consumer.ConsumerRecords;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import software.amazon.lambda.powertools.kafka.Deserialization;
+ import software.amazon.lambda.powertools.kafka.DeserializationType;
+ import software.amazon.lambda.powertools.logging.Logging;
+
+ public class ProtobufKafkaHandler implements RequestHandler, String> {
+ private static final Logger LOGGER = LoggerFactory.getLogger(ProtobufKafkaHandler.class);
+
+ @Override
+ @Logging
+ @Deserialization(type = DeserializationType.KAFKA_PROTOBUF)
+ public String handleRequest(ConsumerRecords records, Context context) {
+ for (ConsumerRecord record : records) {
+ UserProto.User user = record.value(); // UserProto.User class is auto-generated from Protocol Buffer schema
+ LOGGER.info("Processing user: {}, age {}", user.getName(), user.getAge());
+ }
+ return "OK";
+ }
+ }
+ ```
+
+=== "JSON Messages"
+
+ ```java hl_lines="18 21"
+ package org.example;
+
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import org.apache.kafka.clients.consumer.ConsumerRecord;
+ import org.apache.kafka.clients.consumer.ConsumerRecords;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import software.amazon.lambda.powertools.kafka.Deserialization;
+ import software.amazon.lambda.powertools.kafka.DeserializationType;
+ import software.amazon.lambda.powertools.logging.Logging;
+
+ public class JsonKafkaHandler implements RequestHandler, String> {
+ private static final Logger LOGGER = LoggerFactory.getLogger(JsonKafkaHandler.class);
+
+ @Override
+ @Logging
+ @Deserialization(type = DeserializationType.KAFKA_JSON)
+ public String handleRequest(ConsumerRecords records, Context context) {
+ for (ConsumerRecord record : records) {
+ User user = record.value(); // Deserialized JSON object into User POJO
+ LOGGER.info("Processing user: {}, age {}", user.getName(), user.getAge());
+ }
+ return "OK";
+ }
+ }
+ ```
+
+
+???+ tip "Full examples on GitHub"
+ A full example including how to generate Avro and Protobuf Java classes can be found on GitHub at [https://github.com/aws-powertools/powertools-lambda-java/tree/main/examples/powertools-examples-kafka](https://github.com/aws-powertools/powertools-lambda-java/tree/main/examples/powertools-examples-kafka).
+
+### Deserializing keys and values
+
+The `@Deserialization` annotation deserializes both keys and values based on your type configuration. This flexibility allows you to work with different data formats in the same message.
+
+=== "Key and Value Deserialization"
+
+ ```java hl_lines="22"
+ package org.example;
+
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import org.apache.kafka.clients.consumer.ConsumerRecord;
+ import org.apache.kafka.clients.consumer.ConsumerRecords;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import software.amazon.lambda.powertools.kafka.Deserialization;
+ import software.amazon.lambda.powertools.kafka.DeserializationType;
+ import software.amazon.lambda.powertools.logging.Logging;
+
+ public class KeyValueKafkaHandler implements RequestHandler, String> {
+ private static final Logger LOGGER = LoggerFactory.getLogger(KeyValueKafkaHandler.class);
+
+ @Override
+ @Logging
+ @Deserialization(type = DeserializationType.KAFKA_AVRO)
+ public String handleRequest(ConsumerRecords records, Context context) {
+ for (ConsumerRecord record : records) {
+ // Access both deserialized components
+ ProductKey key = record.key(); // ProductKey class is auto-generated from Avro schema
+ ProductInfo product = record.value(); // ProductInfo class is auto-generated from Avro schema
+
+ LOGGER.info("Processing product ID: {}", key.getProductId());
+ LOGGER.info("Product: {} - ${}", product.getName(), product.getPrice());
+ }
+ return "OK";
+ }
+ }
+ ```
+
+=== "Value-Only Deserialization"
+
+ ```java hl_lines="22"
+ package org.example;
+
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import org.apache.kafka.clients.consumer.ConsumerRecord;
+ import org.apache.kafka.clients.consumer.ConsumerRecords;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import software.amazon.lambda.powertools.kafka.Deserialization;
+ import software.amazon.lambda.powertools.kafka.DeserializationType;
+ import software.amazon.lambda.powertools.logging.Logging;
+
+ public class ValueOnlyKafkaHandler implements RequestHandler, String> {
+ private static final Logger LOGGER = LoggerFactory.getLogger(ValueOnlyKafkaHandler.class);
+
+ @Override
+ @Logging
+ @Deserialization(type = DeserializationType.KAFKA_JSON)
+ public String handleRequest(ConsumerRecords records, Context context) {
+ for (ConsumerRecord record : records) {
+ // Key remains as string (if present)
+ String key = record.key();
+ if (key != null) {
+ LOGGER.info("Message key: {}", key);
+ }
+
+ // Value is deserialized as JSON
+ Order order = record.value();
+ LOGGER.info("Order #{} - Total: ${}", order.getOrderId(), order.getTotal());
+ }
+ return "OK";
+ }
+ }
+ ```
+
+### Handling primitive types
+
+When working with primitive data types (strings, integers, etc.) rather than structured objects, you can use any deserialization type such as `KAFKA_JSON`. Simply place the primitive type like `Integer` or `String` in the `ConsumerRecords` generic type parameters, and the library will automatically handle primitive type deserialization.
+
+
+???+ tip "Common pattern: Keys with primitive values"
+ Using primitive types (strings, integers) as Kafka message keys is a common pattern for partitioning and identifying messages. Powertools automatically handles these primitive keys without requiring special configuration, making it easy to implement this popular design pattern.
+
+=== "Primitive key"
+
+ ```java hl_lines="18 22"
+ package org.example;
+
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import org.apache.kafka.clients.consumer.ConsumerRecord;
+ import org.apache.kafka.clients.consumer.ConsumerRecords;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import software.amazon.lambda.powertools.kafka.Deserialization;
+ import software.amazon.lambda.powertools.kafka.DeserializationType;
+ import software.amazon.lambda.powertools.logging.Logging;
+
+ public class PrimitiveKeyHandler implements RequestHandler, String> {
+ private static final Logger LOGGER = LoggerFactory.getLogger(PrimitiveKeyHandler.class);
+
+ @Override
+ @Logging
+ @Deserialization(type = DeserializationType.KAFKA_JSON)
+ public String handleRequest(ConsumerRecords records, Context context) {
+ for (ConsumerRecord record : records) {
+ // Key is automatically deserialized as Integer
+ Integer key = record.key();
+
+ // Value is deserialized as JSON
+ Customer customer = record.value();
+
+ LOGGER.info("Key: {}", key);
+ LOGGER.info("Name: {}", customer.getName());
+ LOGGER.info("Email: {}", customer.getEmail());
+ }
+ return "OK";
+ }
+ }
+ ```
+
+=== "Primitive key and value"
+
+ ```java hl_lines="18 22"
+ package org.example;
+
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import org.apache.kafka.clients.consumer.ConsumerRecord;
+ import org.apache.kafka.clients.consumer.ConsumerRecords;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import software.amazon.lambda.powertools.kafka.Deserialization;
+ import software.amazon.lambda.powertools.kafka.DeserializationType;
+ import software.amazon.lambda.powertools.logging.Logging;
+
+ public class PrimitiveHandler implements RequestHandler, String> {
+ private static final Logger LOGGER = LoggerFactory.getLogger(PrimitiveHandler.class);
+
+ @Override
+ @Logging
+ @Deserialization(type = DeserializationType.KAFKA_JSON)
+ public String handleRequest(ConsumerRecords records, Context context) {
+ for (ConsumerRecord record : records) {
+ // Key is automatically deserialized as String
+ String key = record.key();
+
+ // Value is automatically deserialized as String
+ String value = record.value();
+
+ LOGGER.info("Key: {}", key);
+ LOGGER.info("Value: {}", value);
+ }
+ return "OK";
+ }
+ }
+ ```
+
+### Message format support and comparison
+
+The Kafka utility supports multiple serialization formats to match your existing Kafka implementation. Choose the format that best suits your needs based on performance, schema evolution requirements, and ecosystem compatibility.
+
+
+???+ tip "Selecting the right format"
+ For new applications, consider Avro or Protocol Buffers over JSON. Both provide schema validation, evolution support, and significantly better performance with smaller message sizes. Avro is particularly well-suited for Kafka due to its built-in schema evolution capabilities.
+
+=== "Supported Formats"
+
+ | Format | DeserializationType | Description | Required Dependencies |
+ |--------|---------------------|-------------|----------------------|
+ | **JSON** | `KAFKA_JSON` | Human-readable text format | Jackson |
+ | **Avro** | `KAFKA_AVRO` | Compact binary format with schema | Apache Avro |
+ | **Protocol Buffers** | `KAFKA_PROTOBUF` | Efficient binary format | Protocol Buffers |
+ | **Lambda Default** | `LAMBDA_DEFAULT` | Uses Lambda's built-in deserialization (equivalent to removing the `@Deserialization` annotation) | None |
+
+=== "Format Comparison"
+
+ | Feature | JSON | Avro | Protocol Buffers |
+ |---------|------|------|-----------------|
+ | **Schema Definition** | Optional | Required schema file | Required .proto file |
+ | **Schema Evolution** | None | Strong support | Strong support |
+ | **Size Efficiency** | Low | High | Highest |
+ | **Processing Speed** | Slower | Fast | Fastest |
+ | **Human Readability** | High | Low | Low |
+ | **Implementation Complexity** | Low | Medium | Medium |
+ | **Additional Dependencies** | None | Apache Avro | Protocol Buffers |
+
+Choose the serialization format that best fits your needs:
+
+- **JSON**: Best for simplicity and when schema flexibility is important
+- **Avro**: Best for systems with evolving schemas and when compatibility is critical
+- **Protocol Buffers**: Best for performance-critical systems with structured data
+- **Lambda Default**: Best for simple string-based messages or when using Lambda's built-in deserialization
+
+## Advanced
+
+### Accessing record metadata
+
+Each Kafka record contains important metadata that you can access alongside the deserialized message content. This metadata helps with message processing, troubleshooting, and implementing advanced patterns like exactly-once processing.
+
+=== "Working with Record Metadata"
+
+ ```java
+ package org.example;
+
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import org.apache.kafka.clients.consumer.ConsumerRecord;
+ import org.apache.kafka.clients.consumer.ConsumerRecords;
+ import org.apache.kafka.common.header.Header;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import software.amazon.lambda.powertools.kafka.Deserialization;
+ import software.amazon.lambda.powertools.kafka.DeserializationType;
+ import software.amazon.lambda.powertools.logging.Logging;
+
+ public class MetadataKafkaHandler implements RequestHandler, String> {
+ private static final Logger LOGGER = LoggerFactory.getLogger(MetadataKafkaHandler.class);
+
+ @Override
+ @Logging
+ @Deserialization(type = DeserializationType.KAFKA_AVRO)
+ public String handleRequest(ConsumerRecords records, Context context) {
+ for (ConsumerRecord record : records) {
+ // Log record coordinates for tracing
+ LOGGER.info("Processing message from topic '{}'", record.topic());
+ LOGGER.info(" Partition: {}, Offset: {}", record.partition(), record.offset());
+ LOGGER.info(" Produced at: {}", record.timestamp());
+
+ // Process message headers
+ if (record.headers() != null) {
+ for (Header header : record.headers()) {
+ LOGGER.info(" Header: {} = {}",
+ header.key(), new String(header.value()));
+ }
+ }
+
+ // Access the Avro deserialized message content
+ Customer customer = record.value(); // Customer class is auto-generated from Avro schema
+ LOGGER.info("Processing order for: {}", customer.getName());
+ LOGGER.info("Order total: ${}", customer.getOrderTotal());
+ }
+ return "OK";
+ }
+ }
+ ```
+
+#### Available metadata properties
+
+| Property | Description | Example Use Case |
+| ----------------- | ----------------------------------------------- | ------------------------------------------- |
+| `topic()` | Topic name the record was published to | Routing logic in multi-topic consumers |
+| `partition()` | Kafka partition number | Tracking message distribution |
+| `offset()` | Position in the partition | De-duplication, exactly-once processing |
+| `timestamp()` | Unix timestamp when record was created | Event timing analysis |
+| `timestampType()` | Timestamp type (CREATE_TIME or LOG_APPEND_TIME) | Data lineage verification |
+| `headers()` | Key-value pairs attached to the message | Cross-cutting concerns like correlation IDs |
+| `key()` | Deserialized message key | Customer ID or entity identifier |
+| `value()` | Deserialized message content | The actual business data |
+
+### Error handling
+
+Handle errors gracefully when processing Kafka messages to ensure your application maintains resilience and provides clear diagnostic information. The Kafka utility integrates with standard Java exception handling patterns.
+
+
+!!! info "Treating Deserialization errors"
+ Read [Deserialization failures](#deserialization-failures). Deserialization failures will fail the whole batch and do not execute your handler.
+
+=== "Error Handling"
+
+ ```java
+ package org.example;
+
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import org.apache.kafka.clients.consumer.ConsumerRecord;
+ import org.apache.kafka.clients.consumer.ConsumerRecords;
+ import software.amazon.lambda.powertools.kafka.Deserialization;
+ import software.amazon.lambda.powertools.kafka.DeserializationType;
+ import software.amazon.lambda.powertools.metrics.FlushMetrics;
+ import software.amazon.lambda.powertools.metrics.Metrics;
+ import software.amazon.lambda.powertools.metrics.MetricsFactory;
+ import software.amazon.lambda.powertools.metrics.model.MetricUnit;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+
+ public class ErrorHandlingKafkaHandler implements RequestHandler, String> {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(ErrorHandlingKafkaHandler.class);
+ private static final Metrics metrics = MetricsFactory.getMetricsInstance();
+
+ @Override
+ @Logging
+ @FlushMetrics(namespace = "KafkaProcessing", service = "order-processing")
+ @Deserialization(type = DeserializationType.KAFKA_AVRO)
+ public String handleRequest(ConsumerRecords records, Context context) {
+ metrics.addMetric("TotalRecords", records.count(), MetricUnit.COUNT);
+ int successfulRecords = 0;
+ int failedRecords = 0;
+
+ for (ConsumerRecord record : records) {
+ try {
+ Order order = record.value(); // Order class is auto-generated from Avro schema
+ processOrder(order);
+ successfulRecords++;
+ metrics.addMetric("ProcessedRecords", 1, MetricUnit.COUNT);
+ } catch (Exception e) {
+ failedRecords++;
+ LOGGER.error("Error processing Kafka message from topic: {}, partition: {}, offset: {}",
+ record.topic(), record.partition(), record.offset(), e);
+ metrics.addMetric("ProcessingErrors", 1, MetricUnit.COUNT);
+ // Optionally send to DLQ or error topic
+ sendToDlq(record);
+ }
+ }
+
+ return String.format("Processed %d records successfully, %d failed",
+ successfulRecords, failedRecords);
+ }
+
+ private void processOrder(Order order) {
+ // Your business logic here
+ LOGGER.info("Processing order: {}", order.getOrderId());
+ }
+
+ private void sendToDlq(ConsumerRecord record) {
+ // Implementation to send failed records to dead letter queue
+ }
+ }
+ ```
+
+### Integrating with Idempotency
+
+When processing Kafka messages in Lambda, failed batches can result in message reprocessing. The idempotency utility prevents duplicate processing by tracking which messages have already been handled, ensuring each message is processed exactly once.
+
+The Idempotency utility automatically stores the result of each successful operation, returning the cached result if the same message is processed again, which prevents potentially harmful duplicate operations like double-charging customers or double-counting metrics.
+
+=== "Idempotent Kafka Processing"
+
+ ```java
+ package org.example;
+
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import org.apache.kafka.clients.consumer.ConsumerRecord;
+ import org.apache.kafka.clients.consumer.ConsumerRecords;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import software.amazon.lambda.powertools.kafka.Deserialization;
+ import software.amazon.lambda.powertools.kafka.DeserializationType;
+ import software.amazon.lambda.powertools.idempotency.Idempotency;
+ import software.amazon.lambda.powertools.idempotency.IdempotencyConfig;
+ import software.amazon.lambda.powertools.idempotency.Idempotent;
+ import software.amazon.lambda.powertools.idempotency.persistence.dynamodb.DynamoDBPersistenceStore;
+ import software.amazon.lambda.powertools.logging.Logging;
+
+ public class IdempotentKafkaHandler implements RequestHandler, String> {
+ private static final Logger LOGGER = LoggerFactory.getLogger(IdempotentKafkaHandler.class);
+
+ public IdempotentKafkaHandler() {
+ // Configure idempotency with DynamoDB persistence store
+ Idempotency.config()
+ .withPersistenceStore(
+ DynamoDBPersistenceStore.builder()
+ .withTableName("IdempotencyTable")
+ .build())
+ .configure();
+ }
+
+ @Override
+ @Logging
+ @Deserialization(type = DeserializationType.KAFKA_JSON)
+ public String handleRequest(ConsumerRecords records, Context context) {
+ for (ConsumerRecord record : records) {
+ // Payment class deserialized from JSON
+ Payment payment = record.value();
+
+ // Process each message with idempotency protection
+ processPayment(payment);
+ }
+ return "OK";
+ }
+
+ @Idempotent
+ private void processPayment(Payment payment) {
+ LOGGER.info("Processing payment {}", payment.getPaymentId());
+
+ // Your business logic here
+ PaymentService.process(payment.getPaymentId(), payment.getCustomerId(), payment.getAmount());
+ }
+ }
+ ```
+
+
+???+ tip "Ensuring exactly-once processing"
+ The `@Idempotent` annotation will use the JSON representation of the Payment object to make sure that the same object is only processed exactly once. Even if a batch fails and Lambda retries the messages, each unique payment will be processed exactly once.
+
+### Best practices
+
+#### Batch size configuration
+
+The number of Kafka records processed per Lambda invocation is controlled by your Event Source Mapping configuration. Properly sized batches optimize cost and performance.
+
+=== "Batch size configuration"
+
+ ```yaml
+ Resources:
+ OrderProcessingFunction:
+ Type: AWS::Serverless::Function
+ Properties:
+ Handler: org.example.OrderHandler::handleRequest
+ Runtime: java21
+ Events:
+ KafkaEvent:
+ Type: MSK
+ Properties:
+ Stream: !GetAtt OrdersMSKCluster.Arn
+ Topics:
+ - order-events
+ - payment-events
+ # Configuration for optimal throughput/latency balance
+ BatchSize: 100
+ MaximumBatchingWindowInSeconds: 5
+ StartingPosition: LATEST
+ # Enable partial batch success reporting
+ FunctionResponseTypes:
+ - ReportBatchItemFailures
+ ```
+
+Different workloads benefit from different batch configurations:
+
+- **High-volume, simple processing**: Use larger batches (100-500 records) with short timeout
+- **Complex processing with database operations**: Use smaller batches (10-50 records)
+- **Mixed message sizes**: Set appropriate batching window (1-5 seconds) to handle variability
+
+#### Cross-language compatibility
+
+When using binary serialization formats across multiple programming languages, ensure consistent schema handling to prevent deserialization failures.
+
+=== "Using Python naming convention"
+
+ ```java hl_lines="33 36 39 42 56"
+ package org.example;
+
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import org.apache.kafka.clients.consumer.ConsumerRecord;
+ import org.apache.kafka.clients.consumer.ConsumerRecords;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+ import software.amazon.lambda.powertools.kafka.Deserialization;
+ import software.amazon.lambda.powertools.kafka.DeserializationType;
+ import software.amazon.lambda.powertools.logging.Logging;
+ import com.fasterxml.jackson.annotation.JsonProperty;
+ import java.time.Instant;
+
+ public class CrossLanguageKafkaHandler implements RequestHandler, String> {
+ private static final Logger LOGGER = LoggerFactory.getLogger(CrossLanguageKafkaHandler.class);
+
+ @Override
+ @Logging
+ @Deserialization(type = DeserializationType.KAFKA_JSON)
+ public String handleRequest(ConsumerRecords records, Context context) {
+ for (ConsumerRecord record : records) {
+ OrderEvent order = record.value(); // OrderEvent class handles JSON with Python field names
+ LOGGER.info("Processing order {} from {}",
+ order.getOrderId(), order.getOrderDate());
+ }
+ return "OK";
+ }
+ }
+
+ // Example class that handles Python snake_case field names
+ public class OrderEvent {
+ @JsonProperty("order_id")
+ private String orderId;
+
+ @JsonProperty("customer_id")
+ private String customerId;
+
+ @JsonProperty("total_amount")
+ private double totalAmount;
+
+ @JsonProperty("order_date")
+ private long orderDateMillis;
+
+ // Getters and setters
+ public String getOrderId() { return orderId; }
+ public void setOrderId(String orderId) { this.orderId = orderId; }
+
+ public String getCustomerId() { return customerId; }
+ public void setCustomerId(String customerId) { this.customerId = customerId; }
+
+ public double getTotalAmount() { return totalAmount; }
+ public void setTotalAmount(double totalAmount) { this.totalAmount = totalAmount; }
+
+ public Instant getOrderDate() {
+ return Instant.ofEpochMilli(orderDateMillis);
+ }
+ public void setOrderDate(long orderDateMillis) {
+ this.orderDateMillis = orderDateMillis;
+ }
+ }
+ ```
+
+Common cross-language challenges to address:
+
+- **Field naming conventions**: camelCase in Java vs snake_case in Python
+- **Date/time**: representation differences
+- **Numeric precision handling**: especially decimals
+
+### Troubleshooting
+
+#### Deserialization failures
+
+The Java Kafka utility registers a [custom Lambda serializer](https://docs.aws.amazon.com/lambda/latest/dg/java-custom-serialization.html) that performs **eager deserialization** of all records in the batch before your handler method is invoked.
+
+This means that if any record in the batch fails deserialization, a `RuntimeException` will be thrown with a concrete error message explaining why deserialization failed, and your handler method will never be called.
+
+**Key implications:**
+
+- **Batch-level failure**: If one record fails deserialization, the entire batch fails
+- **Early failure detection**: Deserialization errors are caught before your business logic runs
+- **Clear error messages**: The `RuntimeException` provides specific details about what went wrong
+- **No partial processing**: You cannot process some records while skipping failed ones within the same batch
+
+**Example of deserialization failure:**
+
+```java
+// If any record in the batch has invalid Avro data, you'll see:
+// RuntimeException: Failed to deserialize Kafka record: Invalid Avro schema for record at offset 12345
+```
+
+
+!!! warning "Handler method not invoked on deserialization failure"
+ When deserialization fails, your `handleRequest` method will not be invoked at all. The `RuntimeException` is thrown before your handler code runs, preventing any processing of the batch.
+
+**Handling deserialization failures:**
+
+Since deserialization happens before your handler is called, you cannot catch these exceptions within your handler method. Instead, configure your Event Source Mapping with appropriate error handling:
+
+- **Dead Letter Queue (DLQ)**: Configure a DLQ to capture failed batches for later analysis
+- **Maximum Retry Attempts**: Set appropriate retry limits to avoid infinite retries
+- **Batch Size**: Use smaller batch sizes to minimize the impact of individual record failures
+
+```yaml
+# Example SAM template configuration for error handling
+Events:
+ KafkaEvent:
+ Type: MSK
+ Properties:
+ # ... other properties
+ BatchSize: 10 # Smaller batches reduce failure impact
+ MaximumRetryAttempts: 3
+ DestinationConfig:
+ OnFailure:
+ Type: SQS
+ Destination: !GetAtt DeadLetterQueue.Arn
+```
+
+#### Schema compatibility issues
+
+Schema compatibility issues often manifest as successful connections but failed deserialization. Common causes include:
+
+- **Schema evolution without backward compatibility**: New producer schema is incompatible with consumer schema
+- **Field type mismatches**: For example, a field changed from String to Integer across systems
+- **Missing required fields**: Fields required by the consumer schema but absent in the message
+- **Default value discrepancies**: Different handling of default values between languages
+
+When using Schema Registry, verify schema compatibility rules are properly configured for your topics and that all applications use the same registry.
+
+#### Memory and timeout optimization
+
+Lambda functions processing Kafka messages may encounter resource constraints, particularly with large batches or complex processing logic.
+
+For memory errors:
+
+- Increase Lambda memory allocation, which also provides more CPU resources
+- Process fewer records per batch by adjusting the `BatchSize` parameter in your event source mapping
+- Consider optimizing your message format to reduce memory footprint
+
+For timeout issues:
+
+- Extend your Lambda function timeout setting to accommodate processing time
+- Implement chunked or asynchronous processing patterns for time-consuming operations
+- Monitor and optimize database operations, external API calls, or other I/O operations in your handler
+
+
+???+ tip "Monitoring memory usage"
+ Use CloudWatch metrics to track your function's memory utilization. If it consistently exceeds 80% of allocated memory, consider increasing the memory allocation or optimizing your code.
+
+## Kafka workflow
+
+### Using ESM with Schema Registry validation (SOURCE)
+
+
+```mermaid
+sequenceDiagram
+ participant Kafka
+ participant ESM as Event Source Mapping
+ participant SchemaRegistry as Schema Registry
+ participant Lambda
+ participant KafkaUtility
+ participant YourCode
+ Kafka->>+ESM: Send batch of records
+ ESM->>+SchemaRegistry: Validate schema
+ SchemaRegistry-->>-ESM: Confirm schema is valid
+ ESM->>+Lambda: Invoke with validated records (still encoded)
+ Lambda->>+KafkaUtility: Pass Kafka event
+ KafkaUtility->>KafkaUtility: Parse event structure
+ loop For each record
+ KafkaUtility->>KafkaUtility: Decode base64 data
+ KafkaUtility->>KafkaUtility: Deserialize based on DeserializationType
+ end
+ KafkaUtility->>+YourCode: Provide ConsumerRecords
+ YourCode->>YourCode: Process records
+ YourCode-->>-KafkaUtility: Return result
+ KafkaUtility-->>-Lambda: Pass result back
+ Lambda-->>-ESM: Return response
+ ESM-->>-Kafka: Acknowledge processed batch
+```
+
+
+### Using ESM with Schema Registry deserialization (JSON)
+
+
+```mermaid
+sequenceDiagram
+ participant Kafka
+ participant ESM as Event Source Mapping
+ participant SchemaRegistry as Schema Registry
+ participant Lambda
+ participant KafkaUtility
+ participant YourCode
+ Kafka->>+ESM: Send batch of records
+ ESM->>+SchemaRegistry: Validate and deserialize
+ SchemaRegistry->>SchemaRegistry: Deserialize records
+ SchemaRegistry-->>-ESM: Return deserialized data
+ ESM->>+Lambda: Invoke with pre-deserialized JSON records
+ Lambda->>+KafkaUtility: Pass Kafka event
+ KafkaUtility->>KafkaUtility: Parse event structure
+ loop For each record
+ KafkaUtility->>KafkaUtility: Decode base64 data
+ KafkaUtility->>KafkaUtility: Record is already deserialized
+ KafkaUtility->>KafkaUtility: Map to POJO (if specified)
+ end
+ KafkaUtility->>+YourCode: Provide ConsumerRecords
+ YourCode->>YourCode: Process records
+ YourCode-->>-KafkaUtility: Return result
+ KafkaUtility-->>-Lambda: Pass result back
+ Lambda-->>-ESM: Return response
+ ESM-->>-Kafka: Acknowledge processed batch
+```
+
+
+### Using ESM without Schema Registry integration
+
+
+```mermaid
+sequenceDiagram
+ participant Kafka
+ participant Lambda
+ participant KafkaUtility
+ participant YourCode
+ Kafka->>+Lambda: Invoke with batch of records (direct integration)
+ Lambda->>+KafkaUtility: Pass raw Kafka event
+ KafkaUtility->>KafkaUtility: Parse event structure
+ loop For each record
+ KafkaUtility->>KafkaUtility: Decode base64 data
+ KafkaUtility->>KafkaUtility: Deserialize based on DeserializationType
+ end
+ KafkaUtility->>+YourCode: Provide ConsumerRecords
+ YourCode->>YourCode: Process records
+ YourCode-->>-KafkaUtility: Return result
+ KafkaUtility-->>-Lambda: Pass result back
+ Lambda-->>-Kafka: Acknowledge processed batch
+```
+
+
+## Testing your code
+
+Testing Kafka consumer functions is straightforward with JUnit. You can construct Kafka `ConsumerRecords` in the default way provided by the kafka-clients library without needing a real Kafka cluster.
+
+=== "Testing your code"
+
+ ```java
+ package org.example;
+
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.events.KafkaEvent;
+ import org.apache.kafka.clients.consumer.ConsumerRecord;
+ import org.apache.kafka.clients.consumer.ConsumerRecords;
+ import org.apache.kafka.common.TopicPartition;
+ import org.junit.jupiter.api.Test;
+ import org.junit.jupiter.api.extension.ExtendWith;
+ import org.mockito.Mock;
+ import org.mockito.junit.jupiter.MockitoExtension;
+ import java.util.*;
+
+ import static org.junit.jupiter.api.Assertions.*;
+ import static org.mockito.Mockito.*;
+
+ @ExtendWith(MockitoExtension.class)
+ class KafkaHandlerTest {
+
+ @Mock
+ private Context context;
+
+ @Test
+ void testProcessJsonMessage() {
+ // Create a test Kafka event with JSON data
+ Order testOrder = new Order("12345", 99.95);
+ ConsumerRecord record = new ConsumerRecord<>(
+ "orders-topic", 0, 15L, null, testOrder);
+
+ Map>> recordsMap = new HashMap<>();
+ recordsMap.put(new TopicPartition("orders-topic", 0), Arrays.asList(record));
+ ConsumerRecords records = new ConsumerRecords<>(recordsMap);
+
+ // Create handler and invoke
+ JsonKafkaHandler handler = new JsonKafkaHandler();
+ String response = handler.handleRequest(records, context);
+
+ // Verify the response
+ assertEquals("OK", response);
+ }
+
+ @Test
+ void testProcessMultipleRecords() {
+ // Create a test event with multiple records
+ Customer customer1 = new Customer("A1", "Alice");
+ Customer customer2 = new Customer("B2", "Bob");
+
+ List> recordList = Arrays.asList(
+ new ConsumerRecord<>("customers-topic", 0, 10L, null, customer1),
+ new ConsumerRecord<>("customers-topic", 0, 11L, null, customer2)
+ );
+
+ Map>> recordsMap = new HashMap<>();
+ recordsMap.put(new TopicPartition("customers-topic", 0), recordList);
+ ConsumerRecords records = new ConsumerRecords<>(recordsMap);
+
+ // Create handler and invoke
+ JsonKafkaHandler handler = new JsonKafkaHandler();
+ String response = handler.handleRequest(records, context);
+
+ // Verify the response
+ assertEquals("OK", response);
+ }
+ }
+ ```
+
+## Extra Resources
+
+### Lambda Custom Serializers Compatibility
+
+This Kafka utility uses [Lambda custom serializers](https://docs.aws.amazon.com/lambda/latest/dg/java-custom-serialization.html) to provide automatic deserialization of Kafka messages.
+
+**Important compatibility considerations:**
+
+- **Existing custom serializers**: This utility will not be compatible if you already use your own custom Lambda serializer in your project
+- **Non-Kafka handlers**: Installing this library will not affect default Lambda serialization behavior for non-Kafka related handlers
+- **Kafka-specific**: The custom serialization only applies to handlers annotated with `@Deserialization`
+- **Lambda default fallback**: Using `@Deserialization(type = DeserializationType.LAMBDA_DEFAULT)` will proxy to Lambda's default serialization behavior
+
+**Need help with compatibility?**
+
+If you are blocked from adopting this utility due to existing custom serializers or other compatibility concerns, please contact us with your specific use-cases. We'd like to understand your requirements and explore potential solutions.
+
+For more information about Lambda custom serialization, see the [official AWS documentation](https://docs.aws.amazon.com/lambda/latest/dg/java-custom-serialization.html).
diff --git a/docs/utilities/large_messages.md b/docs/utilities/large_messages.md
new file mode 100644
index 000000000..9d14c8228
--- /dev/null
+++ b/docs/utilities/large_messages.md
@@ -0,0 +1,494 @@
+---
+title: Large Messages
+description: Utility
+---
+
+The large message utility handles SQS and SNS messages which have had their payloads
+offloaded to S3 if they are larger than the maximum allowed size (1 MB).
+
+## Features
+
+- Automatically retrieve the content of S3 objects when SQS or SNS messages have been offloaded to S3.
+- Automatically delete the S3 Objects after processing succeeds.
+- Compatible with the batch module (with SQS).
+
+## Background
+
+```mermaid
+stateDiagram-v2
+ direction LR
+ Function : Lambda Function
+
+ state Application {
+ direction TB
+ sendMsg: sendMessage(QueueUrl, MessageBody)
+ extendLib: extended-client-lib
+ [*] --> sendMsg
+ sendMsg --> extendLib
+ state extendLib {
+ state if_big <>
+ bigMsg: MessageBody > 1MB ?
+ putObject: putObject(S3Bucket, S3Key, Body)
+ updateMsg: Update MessageBody with a pointer to S3 and add a message attribute
+ bigMsg --> if_big
+ if_big --> [*]: size(body) <= 1MB
+ if_big --> putObject: size(body) > 1MB
+ putObject --> updateMsg
+ updateMsg --> [*]
+ }
+ }
+
+ state Function {
+ direction TB
+ iterateMsgs: Iterate over messages
+ ptLargeMsg: powertools-large-messages
+ [*] --> Handler
+ Handler --> iterateMsgs
+ iterateMsgs --> ptLargeMsg
+ state ptLargeMsg {
+ state if_pointer <>
+ pointer: Message attribute for large message ?
+ normalMsg: Small message, body left unchanged
+ getObject: getObject(S3Pointer)
+ deleteObject: deleteObject(S3Pointer)
+ updateBody: Update message body with content from S3 object and remove message attribute
+ updateMD5: Update MD5 of the body and attributes (SQS only)
+ yourcode: YOUR CODE HERE!
+ pointer --> if_pointer
+ if_pointer --> normalMsg : False
+ normalMsg --> [*]
+ if_pointer --> getObject : True
+ getObject --> updateBody
+ updateBody --> updateMD5
+ updateMD5 --> yourcode
+ yourcode --> deleteObject
+ deleteObject --> [*]
+ }
+ }
+
+ [*] --> Application
+ Application --> Function : Lambda Invocation
+ Function --> [*]
+
+```
+
+SQS and SNS message payload is limited to 1MB. If you wish to send messages with a larger payload, you can leverage the
+[amazon-sqs-java-extended-client-lib](https://github.com/awslabs/amazon-sqs-java-extended-client-lib)
+or [amazon-sns-java-extended-client-lib](https://github.com/awslabs/amazon-sns-java-extended-client-lib) which
+offload the message to Amazon S3. See documentation
+([SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-s3-messages.html)
+/ [SNS](https://docs.aws.amazon.com/sns/latest/dg/large-message-payloads.html))
+
+When offloaded to S3, the message contains a specific message attribute and the payload only contains a pointer to the
+S3 object (bucket and object key).
+
+This utility automatically retrieves messages which have been offloaded to S3 using the
+extended client libraries. Once a message's payload has been processed successfully, the
+utility deletes the payload from S3.
+
+This utility is compatible with
+versions *[1.1.0+](https://github.com/awslabs/amazon-sqs-java-extended-client-lib/releases/tag/1.1.0)* and *[2.0.0+](https://github.com/awslabs/amazon-sqs-java-extended-client-lib/releases/tag/2.0.0)*
+of [amazon-sqs-java-extended-client-lib](https://github.com/awslabs/amazon-sqs-java-extended-client-lib) / [amazon-sns-java-extended-client-lib](https://github.com/awslabs/amazon-sns-java-extended-client-lib).
+
+## Install
+
+=== "Maven"
+
+ ```xml hl_lines="3-7 25-28"
+
+ ...
+
+ software.amazon.lambda
+ powertools-large-messages
+ {{ powertools.version }}
+
+ ...
+
+ ...
+
+
+
+
+ ...
+
+ dev.aspectj
+ aspectj-maven-plugin
+ 1.14
+
+ 11
+ 11
+ 11
+
+
+ software.amazon.lambda
+ powertools-large-messages
+
+
+
+
+
+ org.aspectj
+ aspectjtools
+
+ 1.9.22
+
+
+
+
+
+ compile
+
+
+
+
+ ...
+
+
+ ```
+
+=== "Gradle"
+
+ ```groovy hl_lines="3 11"
+ plugins {
+ id 'java'
+ id 'io.freefair.aspectj.post-compile-weaving' version '8.1.0' // Not needed when using the functional approach
+ }
+
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ aspect 'software.amazon.lambda:powertools-large-messages:{{ powertools.version }}' // Use 'implementation' instead of 'aspect' when using the functional approach
+ }
+
+ sourceCompatibility = 11 // or higher
+ targetCompatibility = 11 // or higher
+ ```
+
+## Permissions
+
+As the utility interacts with Amazon S3, the lambda function must have the following permissions
+on the S3 bucket used for the large messages offloading:
+
+- `s3:GetObject`
+- `s3:DeleteObject`
+
+## Usage
+
+You can use the Large Messages utility with either the `@LargeMessage` annotation or the functional API.
+
+The `@LargeMessage` annotation can be used on any method where the *first* parameter is one of:
+
+- `SQSEvent.SQSMessage`
+- `SNSEvent.SNSRecord`
+
+The functional API `LargeMessages.processLargeMessage()` accepts the same message types.
+
+### Basic usage
+
+=== "@LargeMessage annotation - SQS"
+
+ ```java hl_lines="8 13 15"
+ import software.amazon.lambda.powertools.largemessages.LargeMessage;
+
+ public class SqsMessageHandler implements RequestHandler {
+
+ @Override
+ public SQSBatchResponse handleRequest(SQSEvent event, Context context) {
+ for (SQSMessage message: event.getRecords()) {
+ processRawMessage(message, context);
+ }
+ return SQSBatchResponse.builder().build();
+ }
+
+ @LargeMessage
+ private void processRawMessage(SQSEvent.SQSMessage sqsMessage, Context context) {
+ // sqsMessage.getBody() will contain the content of the S3 object
+ }
+ }
+ ```
+
+=== "Functional API - SQS"
+
+ ```java hl_lines="1 8"
+ import software.amazon.lambda.powertools.largemessages.LargeMessages;
+
+ public class SqsMessageHandler implements RequestHandler {
+
+ @Override
+ public SQSBatchResponse handleRequest(SQSEvent event, Context context) {
+ for (SQSMessage message: event.getRecords()) {
+ LargeMessages.processLargeMessage(message, this::processRawMessage);
+ }
+ return SQSBatchResponse.builder().build();
+ }
+
+ private void processRawMessage(SQSEvent.SQSMessage sqsMessage) {
+ // sqsMessage.getBody() will contain the content of the S3 object
+ }
+ }
+ ```
+
+=== "@LargeMessage annotation - SNS"
+
+ ```java hl_lines="7 11 13"
+ import software.amazon.lambda.powertools.largemessages.LargeMessage;
+
+ public class SnsRecordHandler implements RequestHandler {
+
+ @Override
+ public String handleRequest(SNSEvent event, Context context) {
+ processSNSRecord(event.records.get(0)); // there are always only one message
+ return "Hello World";
+ }
+
+ @LargeMessage
+ private void processSNSRecord(SNSEvent.SNSRecord snsRecord) {
+ // snsRecord.getSNS().getMessage() will contain the content of the S3 object
+ }
+ }
+ ```
+
+=== "Functional API - SNS"
+
+ ```java hl_lines="1 7"
+ import software.amazon.lambda.powertools.largemessages.LargeMessages;
+
+ public class SnsRecordHandler implements RequestHandler {
+
+ @Override
+ public String handleRequest(SNSEvent event, Context context) {
+ return LargeMessages.processLargeMessage(event.records.get(0), this::processSNSRecord);
+ }
+
+ private String processSNSRecord(SNSEvent.SNSRecord snsRecord) {
+ // snsRecord.getSNS().getMessage() will contain the content of the S3 object
+ return "Hello World";
+ }
+ }
+ ```
+
+When the Lambda function is invoked with a SQS or SNS event, the utility first
+checks if the content was offloaded to S3. In the case of a large message, there is a message attribute
+specifying the size of the offloaded message and the message contains a pointer to the S3 object.
+
+If this is the case, the utility will retrieve the object from S3 using the `getObject(bucket, key)` API,
+and place the content of the object in the message payload. You can then directly use the content of the message.
+If there was an error during the S3 download, the function will fail with a `LargeMessageProcessingException`.
+
+After your code is invoked and returns without error, the object is deleted from S3
+using the `deleteObject(bucket, key)` API. You can disable the deletion of S3 objects:
+
+=== "@LargeMessage annotation"
+ ```java
+ @LargeMessage(deleteS3Object = false)
+ private void processRawMessage(SQSEvent.SQSMessage sqsMessage) {
+ // do something with the message
+ }
+ ```
+
+=== "Functional API"
+ ```java
+ LargeMessages.processLargeMessage(message, this::processRawMessage, false);
+ ```
+
+!!! tip "Use together with batch module"
+ This utility works perfectly together with the batch module (`powertools-batch`), especially for SQS:
+
+ === "@LargeMessage annotation"
+ ```java hl_lines="2 5-7 12 15 16" title="Combining batch and large message modules"
+ public class SqsBatchHandler implements RequestHandler {
+ private final BatchMessageHandler handler;
+
+ public SqsBatchHandler() {
+ handler = new BatchMessageHandlerBuilder()
+ .withSqsBatchHandler()
+ .buildWithRawMessageHandler(this::processMessage);
+ }
+
+ @Override
+ public SQSBatchResponse handleRequest(SQSEvent sqsEvent, Context context) {
+ return handler.processBatch(sqsEvent, context);
+ }
+
+ @LargeMessage
+ private void processMessage(SQSEvent.SQSMessage sqsMessage) {
+ // do something with the message
+ }
+ }
+ ```
+
+ === "Functional API"
+ ```java hl_lines="7-9 14 18" title="Combining batch and large message modules"
+ import software.amazon.lambda.powertools.largemessages.LargeMessages;
+
+ public class SqsBatchHandler implements RequestHandler {
+ private final BatchMessageHandler handler;
+
+ public SqsBatchHandler() {
+ handler = new BatchMessageHandlerBuilder()
+ .withSqsBatchHandler()
+ .buildWithRawMessageHandler(this::processMessage);
+ }
+
+ @Override
+ public SQSBatchResponse handleRequest(SQSEvent sqsEvent, Context context) {
+ return handler.processBatch(sqsEvent, context);
+ }
+
+ private void processMessage(SQSEvent.SQSMessage sqsMessage) {
+ LargeMessages.processLargeMessage(sqsMessage, this::handleProcessedMessage);
+ }
+
+ private void handleProcessedMessage(SQSEvent.SQSMessage processedMessage) {
+ // do something with the message
+ }
+ }
+ ```
+
+!!! tip "Use together with idempotency module"
+ When using the `@LargeMessage` annotation, you can combine it with the `@Idempotent` annotation on the same method.
+ The `@Idempotent` takes precedence over the `@LargeMessage` annotation, meaning the Idempotency module will use the initial raw message (containing the S3 pointer) and not the large message.
+
+ When using the functional API, call `LargeMessages.processLargeMessage()` from within the `@Idempotent` method to ensure idempotency is based on the S3 pointer, not the unwrapped large blob.
+
+ === "@LargeMessage annotation"
+ ```java hl_lines="6 23-25" title="Combining idempotency and large message modules"
+ public class SqsBatchHandler implements RequestHandler {
+
+ public SqsBatchHandler() {
+ Idempotency.config().withConfig(
+ IdempotencyConfig.builder()
+ .withEventKeyJMESPath("body") // get the body of the message for the idempotency key
+ .build())
+ .withPersistenceStore(
+ DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("IDEMPOTENCY_TABLE"))
+ .build()
+ ).configure();
+ }
+
+ @Override
+ public SQSBatchResponse handleRequest(SQSEvent sqsEvent, Context context) {
+ for (SQSMessage message: event.getRecords()) {
+ processRawMessage(message, context);
+ }
+ return SQSBatchResponse.builder().build();
+ }
+
+ @Idempotent
+ @LargeMessage
+ private String processRawMessage(@IdempotencyKey SQSEvent.SQSMessage sqsMessage, Context context) {
+ // do something with the message
+ }
+ }
+ ```
+
+ === "Functional API"
+ ```java hl_lines="8 25 27" title="Combining idempotency and large message modules"
+ import software.amazon.lambda.powertools.largemessages.LargeMessages;
+
+ public class SqsBatchHandler implements RequestHandler {
+
+ public SqsBatchHandler() {
+ Idempotency.config().withConfig(
+ IdempotencyConfig.builder()
+ .withEventKeyJMESPath("body") // get the body of the message for the idempotency key
+ .build())
+ .withPersistenceStore(
+ DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("IDEMPOTENCY_TABLE"))
+ .build()
+ ).configure();
+ }
+
+ @Override
+ public SQSBatchResponse handleRequest(SQSEvent sqsEvent, Context context) {
+ for (SQSMessage message: event.getRecords()) {
+ processRawMessage(message, context);
+ }
+ return SQSBatchResponse.builder().build();
+ }
+
+ @Idempotent
+ private String processRawMessage(@IdempotencyKey SQSEvent.SQSMessage sqsMessage, Context context) {
+ return LargeMessages.processLargeMessage(sqsMessage, this::handleProcessedMessage);
+ }
+
+ private String handleProcessedMessage(SQSEvent.SQSMessage processedMessage) {
+ // do something with the message
+ }
+ }
+ ```
+
+## Customizing S3 client configuration
+
+To interact with S3, the utility creates a default S3 Client:
+
+=== "Default S3 Client"
+ ```java
+ S3Client client = S3Client.builder()
+ .httpClient(UrlConnectionHttpClient.builder().build())
+ .region(Region.of(System.getenv(AWS_REGION_ENV)))
+ .build();
+ ```
+
+If you need to customize this `S3Client`, you can leverage the `LargeMessageConfig` singleton. This works with both the annotation and functional API:
+
+=== "@LargeMessage annotation"
+ ```java hl_lines="6"
+ import software.amazon.lambda.powertools.largemessages.LargeMessage;
+
+ public class SnsRecordHandler implements RequestHandler {
+
+ public SnsRecordHandler() {
+ LargeMessageConfig.init().withS3Client(/* put your custom S3Client here */);
+ }
+
+ @Override
+ public String handleRequest(SNSEvent event, Context context) {
+ processSNSRecord(event.records.get(0));
+ return "Hello World";
+ }
+
+ @LargeMessage
+ private void processSNSRecord(SNSEvent.SNSRecord snsRecord) {
+ // snsRecord.getSNS().getMessage() will contain the content of the S3 object
+ }
+ }
+ ```
+
+=== "Functional API"
+ ```java hl_lines="1 6"
+ import software.amazon.lambda.powertools.largemessages.LargeMessages;
+
+ public class SnsRecordHandler implements RequestHandler {
+
+ public SnsRecordHandler() {
+ LargeMessageConfig.init().withS3Client(/* put your custom S3Client here */);
+ }
+
+ @Override
+ public String handleRequest(SNSEvent event, Context context) {
+ return LargeMessages.processLargeMessage(event.records.get(0), this::processSNSRecord);
+ }
+
+ private String processSNSRecord(SNSEvent.SNSRecord snsRecord) {
+ // snsRecord.getSNS().getMessage() will contain the content of the S3 object
+ return "Hello World";
+ }
+ }
+ ```
+
+## Migration from the SQS Large Message utility
+
+- Replace the dependency in maven / gradle: `powertools-sqs` ==> `powertools-large-messages`
+- Replace the annotation: `@SqsLargeMessage` ==> `@LargeMessage` (the new module handles both SQS and SNS)
+- Move the annotation away from the Lambda `handleRequest` method and put it on a method with `SQSEvent.SQSMessage`
+ or `SNSEvent.SNSRecord` as first parameter.
+- The annotation now handles a single message, contrary to the previous version that was handling the complete batch.
+ It gives more control, especially when dealing with partial failures with SQS (see the batch module).
+- The new module only provides an annotation, an equivalent to the `SqsUtils` class is not available anymore in this new version.
+
+Finally, if you are still using the `powertools-sqs` library for batch processing, consider moving to `powertools-batch` at the same time to remove the dependency on this library completely; it has been deprecated and will be removed in v2.
diff --git a/docs/utilities/parameters.md b/docs/utilities/parameters.md
new file mode 100644
index 000000000..6de47df68
--- /dev/null
+++ b/docs/utilities/parameters.md
@@ -0,0 +1,616 @@
+---
+title: Parameters
+description: Utility
+---
+
+
+The parameters utilities provide a way to retrieve parameter values from
+[AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html),
+[AWS Secrets Manager](https://aws.amazon.com/secrets-manager/), [Amazon DynamoDB](https://aws.amazon.com/dynamodb/),
+or [AWS AppConfig](https://aws.amazon.com/systems-manager/features/appconfig/).
+
+## Key features
+
+* Retrieve one or multiple parameters from an underlying provider in a standard way
+* Cache parameter values for a given amount of time (defaults to 5 seconds)
+* Transform parameter values from JSON or base 64 encoded strings
+* GraalVM support
+
+## Install
+In order to provide lightweight dependencies, each parameters module is available as its own
+package:
+
+* **Secrets Manager** - `powertools-parameters-secrets`
+* **SSM Parameter Store** - `powertools-parameters-ssm`
+* **Amazon DynamoDB** -`powertools-parameters-dynamodb`
+* **AWS AppConfig** - `powertools-parameters-appconfig`
+
+You can easily mix and match parameter providers within the same project for different needs.
+
+Note that you must provide the concrete parameters module you want to use below - see the TODOs!
+
+=== "Maven"
+
+ ```xml hl_lines="4-12 17 24 30-34"
+
+ ...
+
+ software.amazon.lambda
+
+
+ powertools-parameters-secrets
+ powertools-parameters-ssm
+ powertools-parameters-dynamodb
+ powertools-parameters-appconfig
+
+ {{ powertools.version }}
+
+ ...
+
+ ...
+
+
+
+
+ ...
+
+ dev.aspectj
+ aspectj-maven-plugin
+ 1.14
+
+ 11
+ 11
+ 11
+
+
+
+ software.amazon.lambda
+ powertools-parameters-secrets
+
+
+
+
+
+ org.aspectj
+ aspectjtools
+
+ 1.9.22
+
+
+
+
+
+ compile
+
+
+
+
+ ...
+
+
+ ```
+
+=== "Gradle"
+
+ ```groovy hl_lines="3 11-13"
+ plugins {
+ id 'java'
+ id 'io.freefair.aspectj.post-compile-weaving' version '8.1.0' // Not needed when using provider classes directly (without annotations)
+ }
+
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ // TODO! Provide the parameters module you want to use here
+ aspect 'software.amazon.lambda:powertools-parameters-secrets:{{ powertools.version }}' // Not needed when using provider classes directly (without annotations)
+ implementation 'software.amazon.lambda:powertools-parameters-secrets:{{ powertools.version }}' // Use this instead of 'aspect' when using provider classes directly
+ }
+
+ sourceCompatibility = 11 // or higher
+ targetCompatibility = 11 // or higher
+ ```
+
+**IAM Permissions**
+
+This utility requires additional permissions to work as expected. See the table below:
+
+| Provider | Function/Method | IAM Permission |
+|-----------|-------------------------------------------------------------------------|---------------------------------------------------------------------------|
+| SSM | `SSMProvider.get(String)` `SSMProvider.get(String, Class)` | `ssm:GetParameter` |
+| SSM | `SSMProvider.getMultiple(String)` | `ssm:GetParametersByPath` |
+| SSM | If using `withDecryption(true)` | You must add an additional permission `kms:Decrypt` |
+| Secrets | `SecretsProvider.get(String)` `SecretsProvider.get(String, Class)` | `secretsmanager:GetSecretValue` |
+| DynamoDB | `DynamoDBProvider.get(String)` `DynamoDBProvider.getMultiple(string)` | `dynamodb:GetItem` `dynamoDB:Query` |
+| AppConfig | `AppConfigProvider.get(String)` `AppConfigProvider.getMultiple(string)` | `appconfig:StartConfigurationSession`, `appConfig:GetLatestConfiguration` |
+
+## Retrieving Parameters
+You can retrieve parameters using either annotations or provider classes directly:
+
+- **Annotations** (e.g., `@SecretsParam`, `@SSMParam`) - Simpler syntax with field injection, but requires AspectJ configuration
+- **Provider classes** (e.g., `SecretsProvider`, `SSMProvider`) - No AspectJ required, useful when you need to configure the underlying SDK client (e.g., different region or credentials), or prefer avoiding AspectJ setup
+
+## Built-in provider classes
+
+This section describes the built-in provider classes for each parameter store. For each provider, examples are shown for both the annotation-based approach and the provider class approach. In cases where a provider supports extra features, these will also be described.
+
+### Secrets Manager
+
+=== "@SecretsParam annotation"
+
+ ```java hl_lines="8 9"
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import software.amazon.lambda.powertools.parameters.secrets.SecretsParam;
+
+ public class ParametersFunction implements RequestHandler {
+
+ // Annotation-style injection from secrets manager
+ @SecretsParam(key = "/powertools-java/userpwd")
+ String secretParam;
+
+ public string handleRequest(String request, Context context) {
+ // ... do something with the secretParam here
+ return "something";
+ }
+ }
+ ```
+
+=== "SecretsProvider class"
+
+ ```java hl_lines="12-15 19"
+ import static software.amazon.lambda.powertools.parameters.transform.Transformer.base64;
+
+ import com.amazonaws.services.lambda.runtime.Context;
+ import software.amazon.awssdk.services.secretsmanager.SecretsManagerClient;
+ import software.amazon.lambda.powertools.parameters.secrets.SecretsProvider;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+
+ public class RequestHandlerWithParams implements RequestHandler {
+
+ // Get an instance of the SecretsProvider. We can provide a custom client here if we want,
+ // for instance to use a particular region.
+ SecretsProvider secretsProvider = SecretsProvider
+ .builder()
+ .withClient(SecretsManagerClient.builder().build())
+ .build();
+
+ public String handleRequest(String input, Context context) {
+ // Retrieve a single secret
+ String value = secretsProvider.get("/my/secret");
+
+ // ... do something with the secretParam here
+ return "something";
+ }
+ }
+ ```
+
+### SSM Parameter Store
+
+The AWS Systems Manager Parameter Store provider supports two additional arguments for the `get()` and `getMultiple()` methods:
+
+| Option | Default | Description |
+|---------------|---------|-------------|
+| **withDecryption()** | `False` | Will automatically decrypt the parameter. |
+| **recursive()** | `False` | For `getMultiple()` only, will fetch all parameter values recursively based on a path prefix. |
+
+
+=== "@SSMParam annotation"
+
+ ```java hl_lines="8 9"
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import software.amazon.lambda.powertools.parameters.ssm.SSMParam;
+
+ public class ParametersFunction implements RequestHandler {
+
+ // Annotation-style injection from SSM Parameter Store
+ @SSMParam(key = "/powertools-java/param")
+ String ssmParam;
+
+ public string handleRequest(String request, Context context) {
+ return ssmParam; // Request handler simply returns our configuration value
+ }
+ }
+ ```
+
+=== "SSMProvider class"
+
+ ```java hl_lines="12-15 19-20 22"
+ import static software.amazon.lambda.powertools.parameters.transform.Transformer.base64;
+
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import software.amazon.awssdk.services.ssm.SsmClient;
+ import software.amazon.lambda.powertools.parameters.ssm.SSMProvider;
+
+ public class RequestHandlerWithParams implements RequestHandler {
+
+ // Get an instance of the SSMProvider. We can provide a custom client here if we want,
+ // for instance to use a particular region.
+ SSMProvider ssmProvider = SSMProvider
+ .builder()
+ .withClient(SsmClient.builder().build())
+ .build();
+
+ public String handleRequest(String input, Context context) {
+ // Retrieve a single param
+ String value = ssmProvider
+ .get("/my/secret");
+ // We might instead want to retrieve multiple parameters at once, returning a Map of key/value pairs
+ // .getMultiple("/my/secret/path");
+
+ // Return the result
+ return value;
+ }
+ }
+ ```
+
+=== "Additional Options"
+
+ ```java hl_lines="5 9 12"
+ import software.amazon.lambda.powertools.parameters.ssm.SSMProvider;
+
+ public class AppWithSSM implements RequestHandler {
+ // Get an instance of the SSM Provider
+ SSMProvider ssmProvider = SSMProvider.builder().build();
+
+ // Retrieve a single parameter and decrypt it
+ String value = ssmProvider.withDecryption().get("/my/parameter");
+
+ // Retrieve multiple parameters recursively from a path prefix
+ Map values = ssmProvider.recursive().getMultiple("/my/path/prefix");
+
+ }
+ ```
+
+### DynamoDB
+
+=== "@DynamoDbParam annotation"
+
+ ```java hl_lines="8 9"
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import software.amazon.lambda.powertools.parameters.dynamodb.DynamoDBParam;
+
+ public class ParametersFunction implements RequestHandler {
+
+ // Annotation-style injection from DynamoDB
+ @DynamoDbParam(table = "my-test-tablename", key = "myKey")
+ String ddbParam;
+
+ public string handleRequest(String request, Context context) {
+ return ddbParam; // Request handler simply returns our configuration value
+ }
+ }
+ ```
+
+=== "DynamoDbProvider class"
+
+ ```java hl_lines="12-15 19-20 22"
+ import static software.amazon.lambda.powertools.parameters.transform.Transformer.base64;
+
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
+ import software.amazon.lambda.powertools.parameters.dynamodb.DynamoDbProvider;
+
+ public class RequestHandlerWithParams implements RequestHandler {
+
+ // Get an instance of the DynamoDbProvider. We can provide a custom client here if we want,
+ // for instance to use a particular region.
+ DynamoDbProvider ddbProvider = DynamoDbProvider
+ .builder()
+ .withClient(DynamoDbClient.builder().build())
+ .build();
+
+ public String handleRequest(String input, Context context) {
+ // Retrieve a single param
+ String value = ddbProvider
+ .get("/my/secret");
+ // We might instead want to retrieve multiple values at once, returning a Map of key/value pairs
+ // .getMultiple("my-partition-key-value");
+
+ // Return the result
+ return value;
+ }
+ }
+ ```
+
+### AppConfig
+
+=== "@AppConfigParam annotation"
+
+ ```java hl_lines="8 9"
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import software.amazon.lambda.powertools.parameters.appconfig.AppConfigParam;
+
+ public class ParametersFunction implements RequestHandler {
+
+ // Annotation-style injection from AppConfig
+ @AppConfigParam(application = "my-app", environment = "my-env", key = "myKey")
+ String appConfigParam;
+
+ public string handleRequest(String request, Context context) {
+ return appConfigParam; // Request handler simply returns our configuration value
+ }
+ }
+ ```
+
+=== "AppConfigProvider class"
+
+ ```java hl_lines="12-15 19-20"
+ import static software.amazon.lambda.powertools.parameters.transform.Transformer.base64;
+
+ import com.amazonaws.services.lambda.runtime.Context;
+ import com.amazonaws.services.lambda.runtime.RequestHandler;
+ import software.amazon.awssdk.services.appconfigdata.AppConfigDataClient;
+ import software.amazon.lambda.powertools.parameters.appconfig.AppConfigProvider;
+
+ public class RequestHandlerWithParams implements RequestHandler {
+
+ // Get an instance of the AppConfigProvider. We can provide a custom client here if we want,
+ // for instance to use a particular region.
+ AppConfigProvider appConfigProvider = AppConfigProvider
+ .builder()
+ .withClient(AppConfigDataClient.builder().build())
+ .build();
+
+ public String handleRequest(String input, Context context) {
+ // Retrieve a single param
+ String value = appConfigProvider
+ .get("/my/secret");
+
+ // Return the result
+ return value;
+ }
+ }
+ ```
+
+## Advanced configuration
+
+### Caching
+Each provider uses the `CacheManager` to cache parameter values. When a value is retrieved using from the provider, a
+custom cache duration can be provided using `withMaxAge(duration, unit)`.
+
+If this is not specified, the default value set on the `CacheManager` itself will be used. This default can be customized
+by calling `setDefaultExpirationTime(duration, unit)` on the `CacheManager`.
+
+=== "Customize Cache"
+
+ ```java hl_lines="9 10 14 19 22-25"
+ import java.time.Duration;
+ import software.amazon.lambda.powertools.parameters.appconfig.AppConfigProvider;
+ import software.amazon.lambda.powertools.parameters.cache.CacheManager;
+
+ public class CustomizeCache {
+
+ public void CustomizeCache() {
+
+ CacheManager cacheManager = new CacheManager();
+ cacheManager.setDefaultExpirationTime(Duration.ofSeconds(10));
+
+ AppConfigProvider paramProvider = AppConfigProvider
+ .builder()
+ .withCacheManager(cacheManager)
+ .withClient(AppConfigDataClient.builder().build())
+ .build();
+
+ // Will use the default specified above - 10 seconds
+ String myParam1 = paramProvider.get("myParam1");
+
+ // Will override the default above
+ String myParam2 = paramProvider
+ .withMaxAge(20, ChronoUnit.SECONDS)
+ .get("myParam2");
+
+ return myParam2;
+ }
+ }
+ ```
+
+
+### Transform values
+
+Parameter values can be transformed using ```withTransformation(transformerClass)```.
+Base64 and JSON transformations are provided. For more complex transformation, you need to specify how to deserialize.
+
+!!! warning "`getMultiple()` does not support transformation and will return simple Strings."
+
+=== "Base64 Transformation"
+ ```java
+ String value = provider
+ .withTransformation(Transformer.base64)
+ .get("/my/parameter/b64");
+ ```
+
+=== "Complex Transformation"
+
+ ```java
+ MyObj object = provider
+ .withTransformation(Transformer.json)
+ .get("/my/parameter/json", MyObj.class);
+ ```
+
+
+
+#### Create your own Transformer
+
+You can write your own transformer, by implementing the `Transformer` interface and the `applyTransformation()` method.
+For example, if you wish to deserialize XML into an object.
+
+=== "XmlTransformer.java"
+
+ ```java
+ public class XmlTransformer implements Transformer {
+
+ private final XmlMapper mapper = new XmlMapper();
+
+ @Override
+ public T applyTransformation(String value, Class targetClass) throws TransformationException {
+ try {
+ return mapper.readValue(value, targetClass);
+ } catch (IOException e) {
+ throw new TransformationException(e);
+ }
+ }
+ }
+ ```
+
+=== "Using XmlTransformer"
+
+ ```java
+ MyObj object = provider
+ .withTransformation(XmlTransformer.class)
+ .get("/my/parameter/xml", MyObj.class);
+ ```
+
+### Fluent API
+
+To simplify the use of the library, you can chain all method calls before a get.
+
+=== "Fluent API call"
+
+ ```java
+ ssmProvider
+ .withMaxAge(1, MINUTES) // will set the cache TTL for this value at 1 minute
+ .withTransformation(json) // json is a static import from Transformer.json
+ .withDecryption() // enable decryption of the parameter value
+ .get("/my/param", MyObj.class); // finally get the value
+ ```
+
+### Create your own Provider
+You can create your own custom parameter store provider by implementing a handful of classes:
+
+=== "CustomProvider.java"
+
+ ```java
+ import java.util.Map;
+ import software.amazon.lambda.powertools.parameters.BaseProvider;
+ import software.amazon.lambda.powertools.parameters.cache.CacheManager;
+ import software.amazon.lambda.powertools.parameters.transform.TransformationManager;
+
+ /**
+ * Our custom parameter provider itself. This does the heavy lifting of retrieving
+ * parameters from whatever our underlying parameter store might be.
+ **/
+ public class CustomProvider extends BaseProvider {
+
+ public CustomProvider(CacheManager cacheManager, TransformationManager transformationManager) {
+ super(cacheManager, transformationManager);
+ }
+
+ public CustomProviderBuilder builder() {
+ return new CustomProviderBuilder();
+ }
+
+ @Override
+ protected String getValue(String key) {
+ throw new RuntimeException("TODO - return a single value");
+ }
+
+ @Override
+ protected Map getMultipleValues(String path) {
+ throw new RuntimeException("TODO - Optional - return multiple values");
+ }
+ }
+ ```
+
+=== "CustomProviderBuilder.java"
+
+ ```java
+ /**
+ * Provides a builder-style interface to configure our @{link CustomProvider}.
+ **/
+ public class CustomProviderBuilder {
+ private CacheManager cacheManager;
+ private TransformationManager transformationManager;
+
+ /**
+ * Create a {@link CustomProvider} instance.
+ *
+ * @return a {@link CustomProvider}
+ */
+ public CustomProvider build() {
+ if (cacheManager == null) {
+ cacheManager = new CacheManager();
+ }
+ return new CustomProvider(cacheManager, transformationManager);
+ }
+
+ /**
+ * Provide a CacheManager to the {@link CustomProvider}
+ *
+ * @param cacheManager the manager that will handle the cache of parameters
+ * @return the builder to chain calls (eg. builder.withCacheManager().build() )
+ */
+ public CustomProviderBuilder withCacheManager(CacheManager cacheManager) {
+ this.cacheManager = cacheManager;
+ return this;
+ }
+
+ /**
+ * Provide a transformationManager to the {@link CustomProvider}
+ *
+ * @param transformationManager the manager that will handle transformation of parameters
+ * @return the builder to chain calls (eg. builder.withTransformationManager().build() )
+ */
+ public CustomProviderBuilder withTransformationManager(TransformationManager transformationManager) {
+ this.transformationManager = transformationManager;
+ return this;
+ }
+ }
+ ```
+
+=== "CustomProviderParam.java"
+
+ ```java
+ import java.lang.annotation.ElementType;
+ import java.lang.annotation.Retention;
+ import java.lang.annotation.RetentionPolicy;
+ import java.lang.annotation.Target;
+ import software.amazon.lambda.powertools.parameters.transform.Transformer;
+
+ /**
+ * Aspect to inject a parameter from our custom provider. Note that if you
+ * want to implement a provider _without_ an Aspect and field injection, you can
+ * skip implementing both this and the {@link CustomProviderAspect} class.
+ **/
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.FIELD)
+ public @interface CustomProviderParam {
+ // The parameter key
+ String key();
+
+ // The transformer to use
+ Class extends Transformer> transformer() default Transformer.class;
+ }
+ ```
+
+=== "CustomProviderAspect.java"
+
+ ```java
+
+ /**
+ * Aspect to inject a parameter from our custom provider where the {@link CustomProviderParam}
+ * annotation is used.
+ **/
+ @Aspect
+ public class CustomProviderAspect extends BaseParamAspect {
+
+ @Pointcut("get(* *) && @annotation(ddbConfigParam)")
+ public void getParam(CustomProviderParam customConfigParam) {
+ }
+
+ @Around("getParam(customConfigParam)")
+ public Object injectParam(final ProceedingJoinPoint joinPoint, final CustomProviderParam customConfigParam) {
+ BaseProvider provider = CustomProvider.builder().build();
+
+ return getAndTransform(customConfigParam.key(), ddbConfigParam.transformer(), provider,
+ (FieldSignature) joinPoint.getSignature());
+ }
+
+ }
+ ```
diff --git a/docs/utilities/serialization.md b/docs/utilities/serialization.md
new file mode 100644
index 000000000..b47bdbd91
--- /dev/null
+++ b/docs/utilities/serialization.md
@@ -0,0 +1,474 @@
+---
+title: Serialization Utilities
+description: Utility
+---
+
+This module contains a set of utilities you may use in your Lambda functions, to manipulate JSON.
+
+## Easy deserialization
+
+### Key features
+
+* Easily deserialize the main content of an event (for example, the body of an API Gateway event)
+* 15+ built-in events (see the [list below](#built-in-events))
+
+### Getting started
+
+=== "Maven"
+
+ ```xml hl_lines="5"
+
+ ...
+
+ software.amazon.lambda
+ powertools-serialization
+ {{ powertools.version }}
+
+ ...
+
+ ```
+
+=== "Gradle"
+
+ ```
+ implementation 'software.amazon.lambda:powertools-serialization:{{ powertools.version }}'
+ ```
+
+### EventDeserializer
+
+The `EventDeserializer` can be used to extract the main part of an event (body, message, records) and deserialize it from JSON to your desired type.
+
+It can handle single elements like the body of an API Gateway event:
+
+=== "APIGWHandler.java"
+
+ ```java hl_lines="1 6 9"
+ import static software.amazon.lambda.powertools.utilities.EventDeserializer.extractDataFrom;
+
+ public class APIGWHandler implements RequestHandler {
+
+ public APIGatewayProxyResponseEvent handleRequest(
+ final APIGatewayProxyRequestEvent event,
+ final Context context) {
+
+ Product product = extractDataFrom(event).as(Product.class);
+
+ }
+ ```
+
+=== "Product.java"
+
+ ```java
+ public class Product {
+ private long id;
+ private String name;
+ private double price;
+
+ public Product() {
+ }
+
+ public Product(long id, String name, double price) {
+ this.id = id;
+ this.name = name;
+ this.price = price;
+ }
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public double getPrice() {
+ return price;
+ }
+
+ public void setPrice(double price) {
+ this.price = price;
+ }
+ }
+ ```
+
+=== "event"
+
+ ```json hl_lines="2"
+ {
+ "body": "{\"id\":1234, \"name\":\"product\", \"price\":42}",
+ "resource": "/{proxy+}",
+ "path": "/path/to/resource",
+ "httpMethod": "POST",
+ "isBase64Encoded": false,
+ "queryStringParameters": {
+ "foo": "bar"
+ },
+ "pathParameters": {
+ "proxy": "/path/to/resource"
+ },
+ "stageVariables": {
+ "baz": "qux"
+ },
+ "headers": {
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
+ "Accept-Encoding": "gzip, deflate, sdch",
+ "Accept-Language": "en-US,en;q=0.8",
+ "Cache-Control": "max-age=0",
+ "Host": "1234567890.execute-api.us-east-1.amazonaws.com",
+ "Upgrade-Insecure-Requests": "1",
+ "User-Agent": "Custom User Agent String",
+ "Via": "1.1 08f323deadbeefa7af34d5feb414ce27.cloudfront.net (CloudFront)",
+ "X-Amz-Cf-Id": "cDehVQoZnx43VYQb9j2-nvCh-9z396Uhbp027Y2JvkCPNLmGJHqlaA==",
+ "X-Forwarded-For": "127.0.0.1, 127.0.0.2",
+ "X-Forwarded-Port": "443",
+ "X-Forwarded-Proto": "https"
+ },
+ "requestContext": {
+ "accountId": "123456789012",
+ "resourceId": "123456",
+ "stage": "prod",
+ "requestId": "c6af9ac6-7b61-11e6-9a41-93e8deadbeef",
+ "requestTime": "09/Apr/2015:12:34:56 +0000",
+ "requestTimeEpoch": 1428582896000,
+ "identity": {
+ "cognitoIdentityPoolId": null,
+ "accountId": null,
+ "cognitoIdentityId": null,
+ "caller": null,
+ "accessKey": null,
+ "sourceIp": "127.0.0.1",
+ "cognitoAuthenticationType": null,
+ "cognitoAuthenticationProvider": null,
+ "userArn": null,
+ "userAgent": "Custom User Agent String",
+ "user": null
+ },
+ "path": "/prod/path/to/resource",
+ "resourcePath": "/{proxy+}",
+ "httpMethod": "POST",
+ "apiId": "1234567890",
+ "protocol": "HTTP/1.1"
+ }
+ }
+ ```
+
+It can also handle a collection of elements like the records of an SQS event:
+
+=== "SQSHandler.java"
+
+ ```java hl_lines="1 6 9"
+ import static software.amazon.lambda.powertools.utilities.EventDeserializer.extractDataFrom;
+
+ public class SQSHandler implements RequestHandler {
+
+ public String handleRequest(
+ final SQSEvent event,
+ final Context context) {
+
+ List products = extractDataFrom(event).asListOf(Product.class);
+
+ }
+ ```
+
+=== "event"
+
+ ```json hl_lines="6 23"
+ {
+ "Records": [
+ {
+ "messageId": "d9144555-9a4f-4ec3-99a0-34ce359b4b54",
+ "receiptHandle": "13e7f7851d2eaa5c01f208ebadbf1e72==",
+ "body": "{ \"id\": 1234, \"name\": \"product\", \"price\": 42}",
+ "attributes": {
+ "ApproximateReceiveCount": "1",
+ "SentTimestamp": "1601975706495",
+ "SenderId": "AROAIFU437PVZ5L2J53F5",
+ "ApproximateFirstReceiveTimestamp": "1601975706499"
+ },
+ "messageAttributes": {
+ },
+ "md5OfBody": "13e7f7851d2eaa5c01f208ebadbf1e72",
+ "eventSource": "aws:sqs",
+ "eventSourceARN": "arn:aws:sqs:eu-central-1:123456789012:TestLambda",
+ "awsRegion": "eu-central-1"
+ },
+ {
+ "messageId": "d9144555-9a4f-4ec3-99a0-34ce359b4b54",
+ "receiptHandle": "13e7f7851d2eaa5c01f208ebadbf1e72==",
+ "body": "{ \"id\": 12345, \"name\": \"product5\", \"price\": 45}",
+ "attributes": {
+ "ApproximateReceiveCount": "1",
+ "SentTimestamp": "1601975706495",
+ "SenderId": "AROAIFU437PVZ5L2J53F5",
+ "ApproximateFirstReceiveTimestamp": "1601975706499"
+ },
+ "messageAttributes": {
+
+ },
+ "md5OfBody": "13e7f7851d2eaa5c01f208ebadbf1e72",
+ "eventSource": "aws:sqs",
+ "eventSourceARN": "arn:aws:sqs:eu-central-1:123456789012:TestLambda",
+ "awsRegion": "eu-central-1"
+ }
+ ]
+ }
+ ```
+
+!!! Tip
+ In the background, `EventDeserializer` is using Jackson. The `ObjectMapper` is configured in `JsonConfig`. You can customize the configuration of the mapper if needed:
+ `JsonConfig.get().getObjectMapper()`. Using this feature, you don't need to add Jackson to your project and create another instance of `ObjectMapper`.
+
+### Built-in events
+
+| Event Type | Path to the content | List |
+|---------------------------------------------------|-----------------------------------------------------------|------|
+| `APIGatewayProxyRequestEvent` | `body` | |
+| `APIGatewayV2HTTPEvent` | `body` | |
+| `SNSEvent` | `Records[0].Sns.Message` | |
+| `SQSEvent` | `Records[*].body` | x |
+| `ScheduledEvent` | `detail` | |
+| `ApplicationLoadBalancerRequestEvent` | `body` | |
+| `CloudWatchLogsEvent` | `powertools_base64_gzip(data)` | |
+| `CloudFormationCustomResourceEvent` | `resourceProperties` | |
+| `KinesisEvent` | `Records[*].kinesis.powertools_base64(data)` | x |
+| `KinesisFirehoseEvent` | `Records[*].powertools_base64(data)` | x |
+| `KafkaEvent` | `records[*].values[*].powertools_base64(value)` | x |
+| `ActiveMQEvent` | `messages[*].powertools_base64(data)` | x |
+| `RabbitMQEvent` | `rmqMessagesByQueue[*].values[*].powertools_base64(data)` | x |
+| `KinesisAnalyticsFirehoseInputPreprocessingEvent` | `Records[*].kinesis.powertools_base64(data)` | x |
+| `KinesisAnalyticsStreamsInputPreprocessingEvent` | `Records[*].kinesis.powertools_base64(data)` | x |
+
+
+## JMESPath functions
+
+!!! Tip
+ [JMESPath](https://jmespath.org/){target="_blank"} is a query language for JSON used by AWS CLI and Powertools for AWS Lambda (Java) to get a specific part of a json.
+
+### Key features
+
+* Deserialize JSON from JSON strings, base64, and compressed data
+* Use JMESPath to extract and combine data recursively
+
+### Getting started
+
+You might have events that contain encoded JSON payloads as string, base64, or even in compressed format. It is a common use case to decode and extract them partially or fully as part of your Lambda function invocation.
+
+You will generally use this in combination with other Powertools for AWS Lambda (Java) modules ([validation](validation.md) and [idempotency](idempotency.md)) where you might need to extract a portion of your data before using them.
+
+### Built-in functions
+
+Powertools for AWS Lambda (Java) provides the following JMESPath Functions to easily deserialize common encoded JSON payloads in Lambda functions:
+
+#### powertools_json function
+
+Use `powertools_json` function to decode any JSON string anywhere a JMESPath expression is allowed.
+
+Below example use this function to load the content from the body of an API Gateway request event as a JSON object and retrieve the id field in it:
+
+=== "MyHandler.java"
+
+ ```java hl_lines="7"
+ public class MyHandler implements RequestHandler {
+
+ public MyHandler() {
+ Idempotency.config()
+ .withConfig(
+ IdempotencyConfig.builder()
+ .withEventKeyJMESPath("powertools_json(body).id")
+ .build())
+ .withPersistenceStore(
+ DynamoDBPersistenceStore.builder()
+ .withTableName(System.getenv("TABLE_NAME"))
+ .build())
+ .configure();
+ }
+
+ @Idempotent
+ public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent event, final Context context) {
+ }
+ ```
+
+=== "event"
+
+ ```json hl_lines="2"
+ {
+ "body": "{\"message\": \"Lambda rocks\", \"id\": 43876123454654}",
+ "resource": "/{proxy+}",
+ "path": "/path/to/resource",
+ "httpMethod": "POST",
+ "queryStringParameters": {
+ "foo": "bar"
+ },
+ "headers": {
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
+ "Accept-Encoding": "gzip, deflate, sdch",
+ "Accept-Language": "en-US,en;q=0.8",
+ "Cache-Control": "max-age=0",
+ },
+ "requestContext": {
+ "accountId": "123456789012",
+ "resourceId": "123456",
+ "stage": "prod",
+ "requestId": "c6af9ac6-7b61-11e6-9a41-93e8deadbeef",
+ "requestTime": "09/Apr/2015:12:34:56 +0000",
+ "requestTimeEpoch": 1428582896000,
+ "identity": {
+ "cognitoIdentityPoolId": null,
+ "accountId": null,
+ "cognitoIdentityId": null,
+ "caller": null,
+ "accessKey": null,
+ "sourceIp": "127.0.0.1",
+ "cognitoAuthenticationType": null,
+ "cognitoAuthenticationProvider": null,
+ "userArn": null,
+ "userAgent": "Custom User Agent String",
+ "user": null
+ },
+ "path": "/prod/path/to/resource",
+ "resourcePath": "/{proxy+}",
+ "httpMethod": "POST",
+ "apiId": "1234567890",
+ "protocol": "HTTP/1.1"
+ }
+ }
+ ```
+
+#### powertools_base64 function
+
+Use `powertools_base64` function to decode any base64 data.
+
+Below sample will decode the base64 value within the `data` key, and decode the JSON string into a valid JSON before we can validate it.
+
+=== "MyEventHandler.java"
+
+ ```java hl_lines="7"
+ import software.amazon.lambda.powertools.validation.ValidationUtils;
+
+ public class MyEventHandler implements RequestHandler {
+
+ @Override
+ public String handleRequest(MyEvent myEvent, Context context) {
+ validate(myEvent, "classpath:/schema.json", "powertools_base64(data)");
+ return "OK";
+ }
+ }
+ ```
+=== "schema.json"
+```json
+{
+"data" : "ewogICJpZCI6IDQzMjQyLAogICJuYW1lIjogIkZvb0JhciBYWSIsCiAgInByaWNlIjogMjU4Cn0="
+}
+```
+
+#### powertools_base64_gzip function
+
+Use `powertools_base64_gzip` function to decompress and decode base64 data.
+
+Below sample will decompress and decode base64 data.
+
+=== "MyEventHandler.java"
+
+ ```java hl_lines="7"
+ import software.amazon.lambda.powertools.validation.ValidationUtils;
+
+ public class MyEventHandler implements RequestHandler {
+
+ @Override
+ public String handleRequest(MyEvent myEvent, Context context) {
+ validate(myEvent, "classpath:/schema.json", "powertools_base64_gzip(data)");
+ return "OK";
+ }
+ }
+ ```
+
+=== "schema.json"
+
+ ```json
+ {
+ "data" : "H4sIAAAAAAAA/6vmUlBQykxRslIwMTYyMdIBcfMSc1OBAkpu+flOiUUKEZFKYOGCosxkkLiRqQVXLQDnWo6bOAAAAA=="
+ }
+ ```
+
+
+### Bring your own JMESPath function
+
+!!! warning
+ This should only be used for advanced use cases where you have special formats not covered by the built-in functions.
+ Please open an issue in Github if you need us to add some common functions.
+
+Your function must extend `io.burt.jmespath.function.BaseFunction`, take a String as parameter and return a String.
+You can read the [doc](https://github.com/burtcorp/jmespath-java#adding-custom-functions) for more information.
+
+Below is an example that takes some xml and transform it into json. Once your function is created, you need to add it
+to powertools.You can then use it to do your validation or in idempotency module.
+
+=== "XMLFunction.java"
+
+ ```java
+ public class XMLFunction extends BaseFunction {
+ public Base64Function() {
+ super("powertools_xml", ArgumentConstraints.typeOf(JmesPathType.STRING));
+ }
+
+ @Override
+ protected T callFunction(Adapter runtime, List> arguments) {
+ T value = arguments.get(0).value();
+ String xmlString = runtime.toString(value);
+
+ String jsonString = // ... transform xmlString to json
+
+ return runtime.createString(jsonString);
+ }
+ }
+ ```
+
+=== "Handler with validation API"
+
+ ```java hl_lines="6 13"
+ ...
+ import software.amazon.lambda.powertools.validation.ValidationConfig;
+ import software.amazon.lambda.powertools.validation.ValidationUtils.validate;
+
+ static {
+ JsonConfig.get().addFunction(new XMLFunction());
+ }
+
+ public class MyXMLEventHandler implements RequestHandler {
+
+ @Override
+ public String handleRequest(MyEventWithXML myEvent, Context context) {
+ validate(myEvent, "classpath:/schema.json", "powertools_xml(path.to.xml_data)");
+ return "OK";
+ }
+ }
+ ```
+
+=== "Handler with validation annotation"
+
+ ```java hl_lines="6 12"
+ ...
+ import software.amazon.lambda.powertools.validation.ValidationConfig;
+ import software.amazon.lambda.powertools.validation.Validation;
+
+ static {
+ JsonConfig.get().addFunction(new XMLFunction());
+ }
+
+ public class MyXMLEventHandler implements RequestHandler {
+
+ @Override
+ @Validation(inboundSchema="classpath:/schema.json", envelope="powertools_xml(path.to.xml_data)")
+ public String handleRequest(MyEventWithXML myEvent, Context context) {
+ return "OK";
+ }
+ }
+ ```
diff --git a/docs/utilities/validation.md b/docs/utilities/validation.md
new file mode 100644
index 000000000..8e0d2c631
--- /dev/null
+++ b/docs/utilities/validation.md
@@ -0,0 +1,347 @@
+---
+title: Validation
+description: Utility
+---
+
+This utility provides JSON Schema validation for payloads held within events and response used in AWS Lambda.
+
+**Key features**
+
+* Validate incoming events and responses
+* Built-in validation for most common events (API Gateway, SNS, SQS, ...) and support for partial batch failures (SQS, Kinesis)
+* JMESPath support validate only a sub part of the event
+
+## Install
+
+=== "Maven"
+ ```xml hl_lines="3-7 16 18 24-27"
+
+ ...
+
+ software.amazon.lambda
+ powertools-validation
+ {{ powertools.version }}
+
+ ...
+
+ ...
+
+
+
+
+ ...
+
+ dev.aspectj
+ aspectj-maven-plugin
+ 1.14
+
+ 11
+ 11
+ 11
+
+
+ software.amazon.lambda
+ powertools-validation
+
+
+
+
+
+ org.aspectj
+ aspectjtools
+
+ 1.9.22
+
+
+
+
+
+ compile
+
+
+
+
+ ...
+
+
+ ```
+
+=== "Gradle"
+
+ ```groovy hl_lines="3 11 12"
+ plugins {
+ id 'java'
+ id 'io.freefair.aspectj.post-compile-weaving' version '8.1.0' // Not needed when using the functional approach with ValidationUtils.validate()
+ }
+
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ aspect 'software.amazon.lambda:powertools-validation:{{ powertools.version }}' // Not needed when using the functional approach with ValidationUtils.validate()
+ implementation 'software.amazon.lambda:powertools-validation:{{ powertools.version }}' // Use this instead of 'aspect' when using the functional approach
+ }
+
+ sourceCompatibility = 11 // or higher
+ targetCompatibility = 11 // or higher
+ ```
+
+## Validating events
+
+You can validate inbound and outbound events using either the `@Validation` annotation or the functional approach with `ValidationUtils.validate()` methods:
+
+- **@Validation annotation** - Simpler syntax with automatic validation, but requires AspectJ configuration
+- **ValidationUtils.validate()** - No AspectJ required, provides more control over the validation process such as handling validation errors
+
+We support JSON schema version 4, 6, 7, 2019-09 and 2020-12 using the [NetworkNT JSON Schema Validator](https://github.com/networknt/json-schema-validator) ([Compatibility with JSON Schema versions](https://github.com/networknt/json-schema-validator/blob/master/doc/compatibility.md)).
+
+The validator is configured to enable format assertions by default even for 2019-09 and 2020-12.
+
+### Validation annotation
+
+The `@Validation` annotation is used to validate either inbound events or functions' response.
+
+It will fail fast if an event or response doesn't conform with given JSON Schema. For most type of events a `ValidationException` will be thrown.
+
+For API gateway events associated with REST APIs and HTTP APIs - `APIGatewayProxyRequestEvent` and `APIGatewayV2HTTPEvent` - the `@Validation`
+annotation will build and return a custom 400 / "Bad Request" response, with a body containing the validation errors. This saves you from having
+to catch the validation exception and map it back to a meaningful user error yourself.
+
+For SQS and Kinesis events - `SQSEvent` and `KinesisEvent`- the `@Validation` annotation will add the invalid messages
+to the batch item failures list in the response, respectively `SQSBatchResponse` and `StreamsEventResponse`
+and removed from the event so that you do not process them within the handler.
+
+While it is easier to specify a json schema file in the classpath (using the notation `"classpath:/path/to/schema.json"`), you can also provide a JSON String containing the schema.
+
+=== "MyFunctionHandler.java"
+
+ ```java hl_lines="6"
+ import software.amazon.lambda.powertools.validation.Validation;
+
+ public class MyFunctionHandler implements RequestHandler {
+
+ @Override
+ @Validation(inboundSchema = "classpath:/schema_in.json", outboundSchema = "classpath:/schema_out.json")
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ // ...
+ return something;
+ }
+ }
+ ```
+
+**NOTE**: It's not a requirement to validate both inbound and outbound schemas - You can either use one, or both.
+
+### Functional approach with ValidationUtils
+
+The `ValidationUtils.validate()` method provides a functional approach that can be used within the Lambda handler or any other methods that perform data validation. This approach does not require AspectJ configuration.
+
+With this approach, you can gracefully handle schema validation errors by catching `ValidationException`.
+
+=== "MyFunctionHandler.java"
+
+ ```java hl_lines="8"
+ import static software.amazon.lambda.powertools.validation.ValidationUtils.*;
+
+ public class MyFunctionHandler implements RequestHandler {
+
+ @Override
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ try {
+ validate(input, "classpath:/schema.json");
+ } catch (ValidationException ex) {
+ // do something before throwing it
+ throw ex;
+ }
+
+ // ...
+ return something;
+ }
+ }
+ ```
+
+**NOTE**: Schemas are stored in memory for reuse, to avoid loading them from file each time.
+
+## Built-in events and responses
+
+For the following events and responses, the Validator will automatically perform validation on the content.
+
+**Events**
+
+| Type of event | Class | Path to content |
+|---------------------------------|-------------------------------------------------|----------------------------------------------|
+| API Gateway REST | APIGatewayProxyRequestEvent | `body` |
+| API Gateway HTTP | APIGatewayV2HTTPEvent | `body` |
+| Application Load Balancer | ApplicationLoadBalancerRequestEvent | `body` |
+| Cloudformation Custom Resource | CloudFormationCustomResourceEvent | `resourceProperties` |
+| CloudWatch Logs | CloudWatchLogsEvent | `awslogs.powertools_base64_gzip(data)` |
+| EventBridge / Cloudwatch | ScheduledEvent | `detail` |
+| Kafka | KafkaEvent | `records[*][*].value` |
+| Kinesis | KinesisEvent | `Records[*].kinesis.powertools_base64(data)` |
+| Kinesis Firehose | KinesisFirehoseEvent | `Records[*].powertools_base64(data)` |
+| Kinesis Analytics from Firehose | KinesisAnalyticsFirehoseInputPreprocessingEvent | `Records[*].powertools_base64(data)` |
+| Kinesis Analytics from Streams | KinesisAnalyticsStreamsInputPreprocessingEvent | `Records[*].powertools_base64(data)` |
+| SNS | SNSEvent | `Records[*].Sns.Message` |
+| SQS | SQSEvent | `Records[*].body` |
+
+**Responses**
+
+| Type of response | Class | Path to content (envelope) |
+|-----------------------|---------------------------------------------|---------------------------------------|
+| API Gateway REST | APIGatewayProxyResponseEvent} | `body` |
+| API Gateway HTTP | APIGatewayV2HTTPResponse} | `body` |
+| API Gateway WebSocket | APIGatewayV2WebSocketResponse} | `body` |
+| Load Balancer | ApplicationLoadBalancerResponseEvent} | `body` |
+| Kinesis Analytics | KinesisAnalyticsInputPreprocessingResponse} | `Records[*].powertools_base64(data)` |
+
+## Custom events and responses
+
+You can also validate any Event or Response type, once you have the appropriate schema.
+
+Sometimes, you might want to validate only a portion of it - This is where the envelope parameter is for.
+
+Envelopes are [JMESPath expressions](https://jmespath.org/tutorial.html) to extract a portion of JSON you want before applying JSON Schema validation.
+
+=== "MyCustomEventHandler.java"
+
+ ```java hl_lines="6 7"
+ import software.amazon.lambda.powertools.validation.Validation;
+
+ public class MyCustomEventHandler implements RequestHandler {
+
+ @Override
+ @Validation(inboundSchema = "classpath:/my_custom_event_schema.json",
+ envelope = "basket.products[*]")
+ public String handleRequest(MyCustomEvent input, Context context) {
+ return "OK";
+ }
+ }
+ ```
+
+=== "my_custom_event_schema.json"
+
+ ```json
+ {
+ "basket": {
+ "products" : [
+ {
+ "id": 43242,
+ "name": "FooBar XY",
+ "price": 258
+ },
+ {
+ "id": 765,
+ "name": "BarBaz AB",
+ "price": 43.99
+ }
+ ]
+ }
+ }
+ ```
+
+This is quite powerful because you can use JMESPath Query language to extract records from
+[arrays, slice and dice](https://jmespath.org/tutorial.html#list-and-slice-projections),
+to [pipe expressions](https://jmespath.org/tutorial.html#pipe-expressions)
+and [function](https://jmespath.org/tutorial.html#functions) expressions, where you'd extract what you need before validating the actual payload.
+
+
+## Change the schema version
+By default, powertools-validation is configured to use [V7](https://json-schema.org/draft-07/json-schema-release-notes.html) as the default dialect if [`$schema`](https://json-schema.org/understanding-json-schema/reference/schema#schema) is not explicitly specified within the schema. If [`$schema`](https://json-schema.org/understanding-json-schema/reference/schema#schema) is explicitly specified within the schema, the validator will use the specified dialect.
+
+You can use the `ValidationConfig` to change that behaviour.
+
+=== "Handler with custom schema version"
+
+ ```java hl_lines="6"
+ ...
+ import software.amazon.lambda.powertools.validation.ValidationConfig;
+ import software.amazon.lambda.powertools.validation.Validation;
+
+ static {
+ ValidationConfig.get().setSchemaVersion(SpecVersion.VersionFlag.V4);
+ }
+
+ public class MyXMLEventHandler implements RequestHandler {
+
+ @Override
+ @Validation(inboundSchema="classpath:/schema.json", envelope="powertools_xml(path.to.xml_data)")
+ public String handleRequest(MyEventWithXML myEvent, Context context) {
+ return "OK";
+ }
+ }
+ ```
+
+## Advanced ObjectMapper settings
+If you need to configure the Jackson ObjectMapper, you can use the `ValidationConfig`:
+
+=== "Handler with custom ObjectMapper"
+
+ ```java hl_lines="6 7"
+ ...
+ import software.amazon.lambda.powertools.validation.ValidationConfig;
+ import software.amazon.lambda.powertools.validation.Validation;
+
+ static {
+ ObjectMapper objectMapper= ValidationConfig.get().getObjectMapper();
+ // update (de)serializationConfig or other properties
+ }
+
+ public class MyXMLEventHandler implements RequestHandler {
+
+ @Override
+ @Validation(inboundSchema="classpath:/schema.json", envelope="powertools_xml(path.to.xml_data)")
+ public String handleRequest(MyEventWithXML myEvent, Context context) {
+ return "OK";
+ }
+ }
+ ```
+
+## Advanced
+
+### Lambda SnapStart priming
+
+The Validation utility integrates with AWS Lambda SnapStart to improve restore durations. To make sure the SnapStart priming logic of this utility runs correctly, you need an explicit reference to `ValidationConfig` in your code to allow the library to register before SnapStart takes a memory snapshot. Learn more about what priming is in this [blog post](https://aws.amazon.com/blogs/compute/optimizing-cold-start-performance-of-aws-lambda-using-advanced-priming-strategies-with-snapstart/){target="_blank"}.
+
+If you don't set a custom `ValidationConfig` in your code yet, make sure to reference `ValidationConfig` in your Lambda handler initialization code. This can be done by adding one of the following lines to your handler class:
+
+=== "Constructor"
+
+ ```java hl_lines="7"
+ import software.amazon.lambda.powertools.validation.Validation;
+ import software.amazon.lambda.powertools.validation.ValidationConfig;
+
+ public class MyFunctionHandler implements RequestHandler {
+
+ public MyFunctionHandler() {
+ ValidationConfig.get(); // Ensure ValidationConfig is loaded for SnapStart
+ }
+
+ @Override
+ @Validation(inboundSchema = "classpath:/schema_in.json", outboundSchema = "classpath:/schema_out.json")
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ // ...
+ return something;
+ }
+ }
+ ```
+
+=== "Static Initializer"
+
+ ```java hl_lines="7"
+ import software.amazon.lambda.powertools.validation.Validation;
+ import software.amazon.lambda.powertools.validation.ValidationConfig;
+
+ public class MyFunctionHandler implements RequestHandler {
+
+ static {
+ ValidationConfig.get(); // Ensure ValidationConfig is loaded for SnapStart
+ }
+
+ @Override
+ @Validation(inboundSchema = "classpath:/schema_in.json", outboundSchema = "classpath:/schema_out.json")
+ public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
+ // ...
+ return something;
+ }
+ }
+ ```
diff --git a/docs/yarn.lock b/docs/yarn.lock
deleted file mode 100644
index ac63a5e8f..000000000
--- a/docs/yarn.lock
+++ /dev/null
@@ -1,17354 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@ant-design/colors@^3.1.0":
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-3.2.2.tgz#5ad43d619e911f3488ebac303d606e66a8423903"
- integrity sha512-YKgNbG2dlzqMhA9NtI3/pbY16m3Yl/EeWBRa+lB1X1YaYxHrxNexiQYCLTWO/uDvAjLFMEDU+zR901waBtMtjQ==
- dependencies:
- tinycolor2 "^1.4.1"
-
-"@ant-design/css-animation@^1.7.2":
- version "1.7.3"
- resolved "https://registry.yarnpkg.com/@ant-design/css-animation/-/css-animation-1.7.3.tgz#60a1c970014e86b28f940510d69e503e428f1136"
- integrity sha512-LrX0OGZtW+W6iLnTAqnTaoIsRelYeuLZWsrmBJFUXDALQphPsN8cE5DCsmoSlL0QYb94BQxINiuS70Ar/8BNgA==
-
-"@ant-design/icons-svg@^4.0.0":
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.1.0.tgz#480b025f4b20ef7fe8f47d4a4846e4fee84ea06c"
- integrity sha512-Fi03PfuUqRs76aI3UWYpP864lkrfPo0hluwGqh7NJdLhvH4iRDc3jbJqZIvRDLHKbXrvAfPPV3+zjUccfFvWOQ==
-
-"@ant-design/icons@^4.2.1":
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-4.2.2.tgz#6533c5a02aec49238ec4748074845ad7d85a4f5e"
- integrity sha512-DrVV+wcupnHS7PehJ6KiTcJtAR5c25UMgjGECCc6pUT9rsvw0AuYG+a4HDjfxEQuDqKTHwW+oX/nIvCymyLE8Q==
- dependencies:
- "@ant-design/colors" "^3.1.0"
- "@ant-design/icons-svg" "^4.0.0"
- "@babel/runtime" "^7.10.4"
- classnames "^2.2.6"
- insert-css "^2.0.0"
- rc-util "^5.0.1"
-
-"@ant-design/react-slick@~0.27.0":
- version "0.27.0"
- resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-0.27.0.tgz#c5d4bfd879885b74024ffbce42cccb5f7bff41e9"
- integrity sha512-dq/p/1oKgew99cNrhT6/BA4v7c7nAhPlS6IcVGVTMsp175bYxbHBT1GfY5vxZyz97YaTnzJ8s2Wql4AOnFQ+9g==
- dependencies:
- "@babel/runtime" "^7.10.4"
- classnames "^2.2.5"
- json2mq "^0.2.0"
- lodash "^4.17.15"
- resize-observer-polyfill "^1.5.0"
-
-"@apollo/space-kit@^5.6.0":
- version "5.6.0"
- resolved "https://registry.yarnpkg.com/@apollo/space-kit/-/space-kit-5.6.0.tgz#a28055368ae7cfab5eef3c22cf9a2f0ab88e588f"
- integrity sha512-8/dVkTFVdHz9c1iBhhPtF6OAzoc314+j7QgQLCUHX5/RrwPnIUFyZizJpjUD3m+q4TSnvSuAXiidnwOAW1o5ug==
- dependencies:
- "@emotion/cache" "^10.0.15"
- "@emotion/core" "^10.0.15"
- "@tippyjs/react" "^4.0.0"
- "@types/classnames" "^2.2.9"
- "@types/tinycolor2" "^1.4.2"
- classnames "^2.2.6"
- tinycolor2 "^1.4.1"
- tslib "^1.10.0"
-
-"@ardatan/aggregate-error@0.0.1":
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/@ardatan/aggregate-error/-/aggregate-error-0.0.1.tgz#1403ac5de10d8ca689fc1f65844c27179ae1d44f"
- integrity sha512-UQ9BequOTIavs0pTHLMwQwKQF8tTV1oezY/H2O9chA+JNPFZSua55xpU5dPSjAU9/jLJ1VwU+HJuTVN8u7S6Fg==
-
-"@aws-amplify/analytics@^3.2.0", "@aws-amplify/analytics@^3.2.6":
- version "3.2.6"
- resolved "https://registry.yarnpkg.com/@aws-amplify/analytics/-/analytics-3.2.6.tgz#2b95137664bb14117405c8ad94f923916337d535"
- integrity sha512-60qkEXFwhEhIqpjwrKJWUL4oBs9S7Dtlj4MT80bXHZ/2Q4xsNStsW5OxrB4oJGOTl8TxQZc6zZFyCEW4nim4bA==
- dependencies:
- "@aws-amplify/cache" "^3.1.22"
- "@aws-amplify/core" "^3.4.5"
- "@aws-sdk/client-firehose" "1.0.0-gamma.4"
- "@aws-sdk/client-kinesis" "1.0.0-gamma.4"
- "@aws-sdk/client-personalize-events" "1.0.0-gamma.4"
- "@aws-sdk/client-pinpoint" "1.0.0-gamma.4"
- "@aws-sdk/util-utf8-browser" "1.0.0-gamma.3"
- uuid "^3.2.1"
-
-"@aws-amplify/api-graphql@^1.1.5":
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/@aws-amplify/api-graphql/-/api-graphql-1.1.5.tgz#25edc5dddb207cfbdcf8a7d195372d9246085e10"
- integrity sha512-kHsIFBWP8kYofbtUTJ3500xvJNM0JEo1LQ2/iUsxXBWorE5zd6odKnxcIzOO+o9UI9vQMdpA7ukKbLpKaMUJIA==
- dependencies:
- "@aws-amplify/api-rest" "^1.1.5"
- "@aws-amplify/auth" "^3.3.4"
- "@aws-amplify/cache" "^3.1.22"
- "@aws-amplify/core" "^3.4.5"
- "@aws-amplify/pubsub" "^3.0.23"
- graphql "14.0.0"
- uuid "^3.2.1"
- zen-observable-ts "0.8.19"
-
-"@aws-amplify/api-rest@^1.1.5":
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/@aws-amplify/api-rest/-/api-rest-1.1.5.tgz#935c9921186808a68e5debdb62f8c30e8d9f21eb"
- integrity sha512-nKYPN3+UWLBQlTm532kCX++gxgywx6mDJRok9TDbShoR1S537K9Emj93K4AnMVAdrauyE4rhqDePtaaxYyz2/Q==
- dependencies:
- "@aws-amplify/core" "^3.4.5"
- axios "0.19.0"
-
-"@aws-amplify/api@^3.1.22":
- version "3.1.22"
- resolved "https://registry.yarnpkg.com/@aws-amplify/api/-/api-3.1.22.tgz#84a017bc70c2060ee8c49fed173b2dd8f782ed92"
- integrity sha512-bw1opp9hPc3N6Yorg4qkH6kr0fI35jTfjFs9BbdoULwd2gBDOiNqaecE1IcWeUKipl6f8KBgkyVQlBAGuzZpQQ==
- dependencies:
- "@aws-amplify/api-graphql" "^1.1.5"
- "@aws-amplify/api-rest" "^1.1.5"
-
-"@aws-amplify/auth@^3.3.4":
- version "3.3.4"
- resolved "https://registry.yarnpkg.com/@aws-amplify/auth/-/auth-3.3.4.tgz#c8d85cd1783cb12b9fd76c3cf1eca398c3f0b7c2"
- integrity sha512-wtRdCysc2RhKs+fmg01BIUOMAZSRRN48gz0aK30+76Xj8pUJ1/BpJ78G70yMNKFOyvy1GC+BKdwxJC/G7wngNg==
- dependencies:
- "@aws-amplify/cache" "^3.1.22"
- "@aws-amplify/core" "^3.4.5"
- amazon-cognito-identity-js "^4.3.3"
- crypto-js "^3.3.0"
-
-"@aws-amplify/cache@^3.1.22":
- version "3.1.22"
- resolved "https://registry.yarnpkg.com/@aws-amplify/cache/-/cache-3.1.22.tgz#885783d26ec01c5322796a67a5736c839d829b53"
- integrity sha512-z++LAu7Lr1S6t2QeOOWwO6qWav/FD7VMU0ZZIIJWLQ8vhw60YkEzZn7CptzPqYBqod3OIXs1ervLx3G+yQ7oww==
- dependencies:
- "@aws-amplify/core" "^3.4.5"
-
-"@aws-amplify/core@^3.4.5":
- version "3.4.5"
- resolved "https://registry.yarnpkg.com/@aws-amplify/core/-/core-3.4.5.tgz#4480d185ff4431838ce0027fd29e544555957173"
- integrity sha512-uNZ+bj+1DYtRz8ooMsP1IDeK1b4u77Rd6aavHMwfDEEFLC8UDoedIWKj7TFkk0Y/JsOwgqPzepPB7nwJtUYLTQ==
- dependencies:
- "@aws-crypto/sha256-js" "1.0.0-alpha.0"
- "@aws-sdk/client-cognito-identity" "1.0.0-gamma.4"
- "@aws-sdk/credential-provider-cognito-identity" "1.0.0-gamma.4"
- "@aws-sdk/node-http-handler" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/util-hex-encoding" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-browser" "1.0.0-gamma.3"
- url "^0.11.0"
- zen-observable-ts "0.8.19"
-
-"@aws-amplify/datastore@^2.2.9":
- version "2.2.9"
- resolved "https://registry.yarnpkg.com/@aws-amplify/datastore/-/datastore-2.2.9.tgz#987d92dd890484670a7d68e3a220eac6600cff1d"
- integrity sha512-9nZY94iF9p4qYrZKjRFazynOspVUxozykxhsa9nxLlmRTVCC/ZZ3WK3p18nLGEcNm2uqomVegb2R98Yvzumsdg==
- dependencies:
- "@aws-amplify/api" "^3.1.22"
- "@aws-amplify/core" "^3.4.5"
- "@aws-amplify/pubsub" "^3.0.23"
- idb "5.0.2"
- immer "6.0.1"
- ulid "2.3.0"
- uuid "3.3.2"
- zen-observable-ts "0.8.19"
- zen-push "0.2.1"
-
-"@aws-amplify/interactions@^3.1.22":
- version "3.1.22"
- resolved "https://registry.yarnpkg.com/@aws-amplify/interactions/-/interactions-3.1.22.tgz#bbb527f05259f6dabdf613618c679ae983a8978f"
- integrity sha512-kgupqAc2ObjveCqic9sFeCbmW98OBGEClKU7lWmU7fq+uSgUzPODh6tKzeVzt83hqpc5ji/McMTo1w3/DGhuOg==
- dependencies:
- "@aws-amplify/core" "^3.4.5"
- "@aws-sdk/client-lex-runtime-service" "1.0.0-gamma.4"
-
-"@aws-amplify/predictions@^3.1.22":
- version "3.1.22"
- resolved "https://registry.yarnpkg.com/@aws-amplify/predictions/-/predictions-3.1.22.tgz#74396a4fe832c45b567a667eabe04b4ca46be78d"
- integrity sha512-WTzX2ho4tne3BaS6AqKRB9GOhOc7YKmaQ4ChTBTkm5wZ86teTxKV+c7MXlqjgwVg0xPB2gHibSBEaMfCsC7pJw==
- dependencies:
- "@aws-amplify/core" "^3.4.5"
- "@aws-amplify/storage" "^3.2.12"
- "@aws-sdk/client-comprehend" "1.0.0-gamma.4"
- "@aws-sdk/client-polly" "1.0.0-gamma.4"
- "@aws-sdk/client-rekognition" "1.0.0-gamma.4"
- "@aws-sdk/client-textract" "1.0.0-gamma.4"
- "@aws-sdk/client-translate" "1.0.0-gamma.4"
- "@aws-sdk/eventstream-marshaller" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-node" "1.0.0-gamma.3"
- uuid "^3.2.1"
-
-"@aws-amplify/pubsub@^3.0.23":
- version "3.0.23"
- resolved "https://registry.yarnpkg.com/@aws-amplify/pubsub/-/pubsub-3.0.23.tgz#64f63b418f599443affcd612c389047e6e60b388"
- integrity sha512-30bnhxWerReof79sYoyKu95CeDDV0pvnNj1DbzujDw6oSmdP16269kEnmyw1yuPOMVVnJGG0OJMDye0kQ9nsSw==
- dependencies:
- "@aws-amplify/auth" "^3.3.4"
- "@aws-amplify/cache" "^3.1.22"
- "@aws-amplify/core" "^3.4.5"
- graphql "14.0.0"
- paho-mqtt "^1.1.0"
- uuid "^3.2.1"
- zen-observable-ts "0.8.19"
-
-"@aws-amplify/storage@^3.2.12":
- version "3.2.12"
- resolved "https://registry.yarnpkg.com/@aws-amplify/storage/-/storage-3.2.12.tgz#4bc9e71558355f69ac1155f48cbc38320564b002"
- integrity sha512-1f0OF7x67yCcnaxtRwaiZ/ibfTtjVvqjSAc1UqOa1PyybsYWgmbX9qbcBvVhDvbvce/68cD7sOARps9u1dgdjw==
- dependencies:
- "@aws-amplify/core" "^3.4.5"
- "@aws-sdk/client-s3" "1.0.0-gamma.4"
- "@aws-sdk/s3-request-presigner" "1.0.0-gamma.3"
- "@aws-sdk/util-create-request" "1.0.0-gamma.3"
- "@aws-sdk/util-format-url" "1.0.0-gamma.3"
- axios "0.19.0"
- events "^3.1.0"
- sinon "^7.5.0"
-
-"@aws-amplify/ui@^2.0.2":
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/@aws-amplify/ui/-/ui-2.0.2.tgz#56bfc3674454f2a12d1cec247f38a444aa13ea09"
- integrity sha512-OLdZmUCVK29+JV8PrkgVPjg+GIFtBnNjhC0JSRgrps+ynOFkibMQQPKeFXlTYtlukuCuepCelPSkjxvhcLq2ZA==
-
-"@aws-amplify/xr@^2.1.22":
- version "2.1.22"
- resolved "https://registry.yarnpkg.com/@aws-amplify/xr/-/xr-2.1.22.tgz#7a4a5ccd80206ce598b03070c28511e169ae3b21"
- integrity sha512-0sx9pU0BnVMkrsVl4+XFipF3JDfGY2qNsS+wE0EbEohxZSMneWo6avhWW5AaQTqie0wqpUqYcCnKcHUNXitouQ==
- dependencies:
- "@aws-amplify/core" "^3.4.5"
-
-"@aws-crypto/crc32@^1.0.0-alpha.0":
- version "1.0.0-alpha.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-1.0.0-alpha.0.tgz#12e593b60c42352d1942a2fa31122747650dd8f8"
- integrity sha512-n4OJttn49liBR0CVdK7dAvkTaP8jLiRRekdA0wunTEELIIwjC4c60YODADbqR2Hug4dtzQ6huJTgyFeHIaYPHg==
- dependencies:
- tslib "^1.9.3"
-
-"@aws-crypto/ie11-detection@^1.0.0-alpha.0":
- version "1.0.0-alpha.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-1.0.0-alpha.0.tgz#16ca4a9233ec4a90e1d0b2f1712f4aa2043457bd"
- integrity sha512-TQ55S96+aD/iZF/VdgbLqCm2um8mQhjNrlFqQEJkXc12L4taF0wz0FfdFSJ9Uuy6EIf4GjgvbLExgJwxmFqL5A==
- dependencies:
- tslib "^1.9.3"
-
-"@aws-crypto/sha256-browser@^1.0.0-alpha.0":
- version "1.0.0-alpha.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-1.0.0-alpha.0.tgz#f438fb3423aa989814b87e6afbc490e1d17f3122"
- integrity sha512-ZhULGaJKI/o8KROknqvnmYX3gphPQL5HLoMdVD5yPEsEsFG7rEIu4ORv2s6uaiqkdEkXZcdS+CNC8ekIndr9QA==
- dependencies:
- "@aws-crypto/ie11-detection" "^1.0.0-alpha.0"
- "@aws-crypto/sha256-js" "^1.0.0-alpha.0"
- "@aws-crypto/supports-web-crypto" "^1.0.0-alpha.0"
- "@aws-sdk/types" "^1.0.0-alpha.0"
- "@aws-sdk/util-locate-window" "^1.0.0-alpha.0"
- "@aws-sdk/util-utf8-browser" "^1.0.0-alpha.0"
- tslib "^1.9.3"
-
-"@aws-crypto/sha256-js@1.0.0-alpha.0", "@aws-crypto/sha256-js@^1.0.0-alpha.0":
- version "1.0.0-alpha.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-1.0.0-alpha.0.tgz#1146f6fa823001a9065ce60db5bf1afcc7c1cc3a"
- integrity sha512-GidX2lccEtHZw8mXDKJQj6tea7qh3pAnsNSp1eZNxsN4MMu2OvSraPSqiB1EihsQkZBMg0IiZPpZHoACUX/QMQ==
- dependencies:
- "@aws-sdk/types" "^1.0.0-alpha.0"
- "@aws-sdk/util-utf8-browser" "^1.0.0-alpha.0"
- tslib "^1.9.3"
-
-"@aws-crypto/supports-web-crypto@^1.0.0-alpha.0":
- version "1.0.0-alpha.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-1.0.0-alpha.0.tgz#f9f2bed724caba3036be73e1f9bf25e01e5f6c42"
- integrity sha512-jVWjNCoEKY49NIWyU1ia1RvtupEZEzOTkYZ1kRH+Z0RqIg9DZksQ7PbSRvxtAv8rTBdyGSgQdEpbFtQtm/ZiRQ==
- dependencies:
- tslib "^1.9.3"
-
-"@aws-sdk/abort-controller@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/abort-controller/-/abort-controller-1.0.0-gamma.3.tgz#52e55073bd7fd85cfbdb2fe0bf943e668053539d"
- integrity sha512-iu3eXUlfrYa4hSlxuz93/3oLZwHYkvCGRapb5Mpv30V2+qKaoggQ9q1txycAqm0Pg+NpZgNJgYhSsMEGE775sA==
- dependencies:
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/chunked-blob-reader-native@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-1.0.0-gamma.3.tgz#f081c1c359e480b73545998b15bb17364ee85651"
- integrity sha512-QDGxdZWMFrxAwRa39xlm1kvBO/Nsz/ppTupK6MPRaUB0nk5NkoKwIZM9KQKb/UvcsQ+r74/Xh9S9Mr7ySgmuyQ==
- dependencies:
- "@aws-sdk/util-base64-browser" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/chunked-blob-reader@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-1.0.0-gamma.3.tgz#579d6fb29dab43bd86b80be6b3ee84fbde384497"
- integrity sha512-C0s1DcSTF+mhD47LFsoa2AvvMIhJE3J1x1JTRGeDcJ7bo60Fv4lF4ocsl77VgshZ4TlKvHGKdgNCCHsm22wMcg==
- dependencies:
- tslib "^1.8.0"
-
-"@aws-sdk/client-cognito-identity@1.0.0-gamma.4":
- version "1.0.0-gamma.4"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-1.0.0-gamma.4.tgz#9ca83d3ff415d72163ada3b8d64561929908f1c8"
- integrity sha512-NHXKW3rGzV1/g45thfY5CqHrHcMbTbKhzlAzjABtdDFBe7K+dIC/HVV0veJHMsX5ac/Wruu57kiWz7bleeP9wA==
- dependencies:
- "@aws-crypto/sha256-browser" "^1.0.0-alpha.0"
- "@aws-crypto/sha256-js" "^1.0.0-alpha.0"
- "@aws-sdk/config-resolver" "1.0.0-gamma.3"
- "@aws-sdk/credential-provider-node" "1.0.0-gamma.3"
- "@aws-sdk/fetch-http-handler" "1.0.0-gamma.4"
- "@aws-sdk/hash-node" "1.0.0-gamma.3"
- "@aws-sdk/invalid-dependency" "1.0.0-gamma.3"
- "@aws-sdk/middleware-content-length" "1.0.0-gamma.3"
- "@aws-sdk/middleware-host-header" "1.0.0-gamma.3"
- "@aws-sdk/middleware-retry" "1.0.0-gamma.3"
- "@aws-sdk/middleware-serde" "1.0.0-gamma.3"
- "@aws-sdk/middleware-signing" "1.0.0-gamma.3"
- "@aws-sdk/middleware-stack" "1.0.0-gamma.3"
- "@aws-sdk/middleware-user-agent" "1.0.0-gamma.3"
- "@aws-sdk/node-http-handler" "1.0.0-gamma.3"
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/region-provider" "1.0.0-gamma.3"
- "@aws-sdk/retry-config-provider" "1.0.0-gamma.2"
- "@aws-sdk/smithy-client" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-browser" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-node" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-node" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-node" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-node" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-node" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/client-comprehend@1.0.0-gamma.4":
- version "1.0.0-gamma.4"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-comprehend/-/client-comprehend-1.0.0-gamma.4.tgz#bf4ea2be0127e5814eea7fda5c5643ad7a032a31"
- integrity sha512-WxT04/xTHNYQiGBy46OD8bbKJfgdu/4mKsP5jTPk/1Za9gnmW3ivpLlmMT4KJmKvG169Cdd6uYwmz8CivDEHbw==
- dependencies:
- "@aws-crypto/sha256-browser" "^1.0.0-alpha.0"
- "@aws-crypto/sha256-js" "^1.0.0-alpha.0"
- "@aws-sdk/config-resolver" "1.0.0-gamma.3"
- "@aws-sdk/credential-provider-node" "1.0.0-gamma.3"
- "@aws-sdk/fetch-http-handler" "1.0.0-gamma.4"
- "@aws-sdk/hash-node" "1.0.0-gamma.3"
- "@aws-sdk/invalid-dependency" "1.0.0-gamma.3"
- "@aws-sdk/middleware-content-length" "1.0.0-gamma.3"
- "@aws-sdk/middleware-host-header" "1.0.0-gamma.3"
- "@aws-sdk/middleware-retry" "1.0.0-gamma.3"
- "@aws-sdk/middleware-serde" "1.0.0-gamma.3"
- "@aws-sdk/middleware-signing" "1.0.0-gamma.3"
- "@aws-sdk/middleware-stack" "1.0.0-gamma.3"
- "@aws-sdk/middleware-user-agent" "1.0.0-gamma.3"
- "@aws-sdk/node-http-handler" "1.0.0-gamma.3"
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/region-provider" "1.0.0-gamma.3"
- "@aws-sdk/retry-config-provider" "1.0.0-gamma.2"
- "@aws-sdk/smithy-client" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-browser" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-node" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-node" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-node" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-node" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-node" "1.0.0-gamma.3"
- tslib "^1.8.0"
- uuid "^3.0.0"
-
-"@aws-sdk/client-firehose@1.0.0-gamma.4":
- version "1.0.0-gamma.4"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-firehose/-/client-firehose-1.0.0-gamma.4.tgz#1e9fac84c5302f8b01d532dbc54709b3e725d37c"
- integrity sha512-1of4j5K2JEZItRRvvTydfee3UwGqydLUi1O14A7bBJdEXnLBBDDdM3gM2gj7UQNYcAx7DouGOwDG0SdEbN+J5Q==
- dependencies:
- "@aws-crypto/sha256-browser" "^1.0.0-alpha.0"
- "@aws-crypto/sha256-js" "^1.0.0-alpha.0"
- "@aws-sdk/config-resolver" "1.0.0-gamma.3"
- "@aws-sdk/credential-provider-node" "1.0.0-gamma.3"
- "@aws-sdk/fetch-http-handler" "1.0.0-gamma.4"
- "@aws-sdk/hash-node" "1.0.0-gamma.3"
- "@aws-sdk/invalid-dependency" "1.0.0-gamma.3"
- "@aws-sdk/middleware-content-length" "1.0.0-gamma.3"
- "@aws-sdk/middleware-host-header" "1.0.0-gamma.3"
- "@aws-sdk/middleware-retry" "1.0.0-gamma.3"
- "@aws-sdk/middleware-serde" "1.0.0-gamma.3"
- "@aws-sdk/middleware-signing" "1.0.0-gamma.3"
- "@aws-sdk/middleware-stack" "1.0.0-gamma.3"
- "@aws-sdk/middleware-user-agent" "1.0.0-gamma.3"
- "@aws-sdk/node-http-handler" "1.0.0-gamma.3"
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/region-provider" "1.0.0-gamma.3"
- "@aws-sdk/retry-config-provider" "1.0.0-gamma.2"
- "@aws-sdk/smithy-client" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-browser" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-node" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-node" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-node" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-node" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-node" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/client-kinesis@1.0.0-gamma.4":
- version "1.0.0-gamma.4"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-kinesis/-/client-kinesis-1.0.0-gamma.4.tgz#4e85b927de4ba43f2c17e5811b1ee9f924d8350d"
- integrity sha512-u4c3F7iNqcIti4g36VQP+jcE5jB5MyhxvFz9+ZrOpfbwysx3aKzt8EgA/cm/MeZ3yz59sXkHDmPeD1VHPeWvwg==
- dependencies:
- "@aws-crypto/sha256-browser" "^1.0.0-alpha.0"
- "@aws-crypto/sha256-js" "^1.0.0-alpha.0"
- "@aws-sdk/config-resolver" "1.0.0-gamma.3"
- "@aws-sdk/credential-provider-node" "1.0.0-gamma.3"
- "@aws-sdk/eventstream-serde-browser" "1.0.0-gamma.3"
- "@aws-sdk/eventstream-serde-config-resolver" "1.0.0-gamma.3"
- "@aws-sdk/eventstream-serde-node" "1.0.0-gamma.3"
- "@aws-sdk/fetch-http-handler" "1.0.0-gamma.4"
- "@aws-sdk/hash-node" "1.0.0-gamma.3"
- "@aws-sdk/invalid-dependency" "1.0.0-gamma.3"
- "@aws-sdk/middleware-content-length" "1.0.0-gamma.3"
- "@aws-sdk/middleware-host-header" "1.0.0-gamma.3"
- "@aws-sdk/middleware-retry" "1.0.0-gamma.3"
- "@aws-sdk/middleware-serde" "1.0.0-gamma.3"
- "@aws-sdk/middleware-signing" "1.0.0-gamma.3"
- "@aws-sdk/middleware-stack" "1.0.0-gamma.3"
- "@aws-sdk/middleware-user-agent" "1.0.0-gamma.3"
- "@aws-sdk/node-http-handler" "1.0.0-gamma.3"
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/region-provider" "1.0.0-gamma.3"
- "@aws-sdk/retry-config-provider" "1.0.0-gamma.2"
- "@aws-sdk/smithy-client" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-browser" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-node" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-node" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-node" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-node" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-node" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/client-lex-runtime-service@1.0.0-gamma.4":
- version "1.0.0-gamma.4"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-lex-runtime-service/-/client-lex-runtime-service-1.0.0-gamma.4.tgz#9d8f8c5471e5267e9ce5faa50421f13c6a009570"
- integrity sha512-vcpQkWDyMHu/4RzR3SFRz7tQop2/IEFx8WMUQRUKFrgxwGKFcirFof4QXycoN5Pr17aUaE17bGbW9nroIDfrrw==
- dependencies:
- "@aws-crypto/sha256-browser" "^1.0.0-alpha.0"
- "@aws-crypto/sha256-js" "^1.0.0-alpha.0"
- "@aws-sdk/config-resolver" "1.0.0-gamma.3"
- "@aws-sdk/credential-provider-node" "1.0.0-gamma.3"
- "@aws-sdk/fetch-http-handler" "1.0.0-gamma.4"
- "@aws-sdk/hash-node" "1.0.0-gamma.3"
- "@aws-sdk/invalid-dependency" "1.0.0-gamma.3"
- "@aws-sdk/middleware-content-length" "1.0.0-gamma.3"
- "@aws-sdk/middleware-host-header" "1.0.0-gamma.3"
- "@aws-sdk/middleware-retry" "1.0.0-gamma.3"
- "@aws-sdk/middleware-serde" "1.0.0-gamma.3"
- "@aws-sdk/middleware-signing" "1.0.0-gamma.3"
- "@aws-sdk/middleware-stack" "1.0.0-gamma.3"
- "@aws-sdk/middleware-user-agent" "1.0.0-gamma.3"
- "@aws-sdk/node-http-handler" "1.0.0-gamma.3"
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/region-provider" "1.0.0-gamma.3"
- "@aws-sdk/retry-config-provider" "1.0.0-gamma.2"
- "@aws-sdk/smithy-client" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-browser" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-node" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-node" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-node" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-node" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-node" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/client-personalize-events@1.0.0-gamma.4":
- version "1.0.0-gamma.4"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-personalize-events/-/client-personalize-events-1.0.0-gamma.4.tgz#1084d3229b75bd5a483149b7d8035fbd9e08b42a"
- integrity sha512-IjkGksADl/NaPmlxOZDl+4xazs4Hk2SraF0Kr6XayGKHhlUu1SgpI/qNFmNyaNnW3x56F9VVV2tAnV4L9Z9uqg==
- dependencies:
- "@aws-crypto/sha256-browser" "^1.0.0-alpha.0"
- "@aws-crypto/sha256-js" "^1.0.0-alpha.0"
- "@aws-sdk/config-resolver" "1.0.0-gamma.3"
- "@aws-sdk/credential-provider-node" "1.0.0-gamma.3"
- "@aws-sdk/fetch-http-handler" "1.0.0-gamma.4"
- "@aws-sdk/hash-node" "1.0.0-gamma.3"
- "@aws-sdk/invalid-dependency" "1.0.0-gamma.3"
- "@aws-sdk/middleware-content-length" "1.0.0-gamma.3"
- "@aws-sdk/middleware-host-header" "1.0.0-gamma.3"
- "@aws-sdk/middleware-retry" "1.0.0-gamma.3"
- "@aws-sdk/middleware-serde" "1.0.0-gamma.3"
- "@aws-sdk/middleware-signing" "1.0.0-gamma.3"
- "@aws-sdk/middleware-stack" "1.0.0-gamma.3"
- "@aws-sdk/middleware-user-agent" "1.0.0-gamma.3"
- "@aws-sdk/node-http-handler" "1.0.0-gamma.3"
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/region-provider" "1.0.0-gamma.3"
- "@aws-sdk/retry-config-provider" "1.0.0-gamma.2"
- "@aws-sdk/smithy-client" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-browser" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-node" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-node" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-node" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-node" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-node" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/client-pinpoint@1.0.0-gamma.4":
- version "1.0.0-gamma.4"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-pinpoint/-/client-pinpoint-1.0.0-gamma.4.tgz#f4daea9bc33268ca3077ebe99bc3157f2f7e89e9"
- integrity sha512-YAoz84AUGyYIVlajwoKSewWcPgcHXS3OXp+jJ36eWTgiImRVAmJlRzYn1ZYxeFo+2/x8jF6mG+5WDRBgP7H9iw==
- dependencies:
- "@aws-crypto/sha256-browser" "^1.0.0-alpha.0"
- "@aws-crypto/sha256-js" "^1.0.0-alpha.0"
- "@aws-sdk/config-resolver" "1.0.0-gamma.3"
- "@aws-sdk/credential-provider-node" "1.0.0-gamma.3"
- "@aws-sdk/fetch-http-handler" "1.0.0-gamma.4"
- "@aws-sdk/hash-node" "1.0.0-gamma.3"
- "@aws-sdk/invalid-dependency" "1.0.0-gamma.3"
- "@aws-sdk/middleware-content-length" "1.0.0-gamma.3"
- "@aws-sdk/middleware-host-header" "1.0.0-gamma.3"
- "@aws-sdk/middleware-retry" "1.0.0-gamma.3"
- "@aws-sdk/middleware-serde" "1.0.0-gamma.3"
- "@aws-sdk/middleware-signing" "1.0.0-gamma.3"
- "@aws-sdk/middleware-stack" "1.0.0-gamma.3"
- "@aws-sdk/middleware-user-agent" "1.0.0-gamma.3"
- "@aws-sdk/node-http-handler" "1.0.0-gamma.3"
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/region-provider" "1.0.0-gamma.3"
- "@aws-sdk/retry-config-provider" "1.0.0-gamma.2"
- "@aws-sdk/smithy-client" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-browser" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-node" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-node" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-node" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-node" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-node" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/client-polly@1.0.0-gamma.4":
- version "1.0.0-gamma.4"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-polly/-/client-polly-1.0.0-gamma.4.tgz#eacdb0bf27e4651776d8ea3c9e281384dea29abe"
- integrity sha512-dhxLkGrMP74IkTIPP3BLLAnsZdiLQphL+dWeEFdlwy0CGfccsssVcJ9EIGD/K++9F9E9265GQzm6fQ54g/t3LA==
- dependencies:
- "@aws-crypto/sha256-browser" "^1.0.0-alpha.0"
- "@aws-crypto/sha256-js" "^1.0.0-alpha.0"
- "@aws-sdk/config-resolver" "1.0.0-gamma.3"
- "@aws-sdk/credential-provider-node" "1.0.0-gamma.3"
- "@aws-sdk/fetch-http-handler" "1.0.0-gamma.4"
- "@aws-sdk/hash-node" "1.0.0-gamma.3"
- "@aws-sdk/invalid-dependency" "1.0.0-gamma.3"
- "@aws-sdk/middleware-content-length" "1.0.0-gamma.3"
- "@aws-sdk/middleware-host-header" "1.0.0-gamma.3"
- "@aws-sdk/middleware-retry" "1.0.0-gamma.3"
- "@aws-sdk/middleware-serde" "1.0.0-gamma.3"
- "@aws-sdk/middleware-signing" "1.0.0-gamma.3"
- "@aws-sdk/middleware-stack" "1.0.0-gamma.3"
- "@aws-sdk/middleware-user-agent" "1.0.0-gamma.3"
- "@aws-sdk/node-http-handler" "1.0.0-gamma.3"
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/region-provider" "1.0.0-gamma.3"
- "@aws-sdk/retry-config-provider" "1.0.0-gamma.2"
- "@aws-sdk/smithy-client" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-browser" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-node" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-node" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-node" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-node" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-node" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/client-rekognition@1.0.0-gamma.4":
- version "1.0.0-gamma.4"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-rekognition/-/client-rekognition-1.0.0-gamma.4.tgz#73f26e56adf4a6ad46a77ac819a0a7049f0415c0"
- integrity sha512-01syRSoCEjqnaSR0YksTrWwzkB+YG6E6JfzZyDzQ4RguT08X+MVUhvdrHYrftIeenNYTc90hR0qza0+CLMn5MQ==
- dependencies:
- "@aws-crypto/sha256-browser" "^1.0.0-alpha.0"
- "@aws-crypto/sha256-js" "^1.0.0-alpha.0"
- "@aws-sdk/config-resolver" "1.0.0-gamma.3"
- "@aws-sdk/credential-provider-node" "1.0.0-gamma.3"
- "@aws-sdk/fetch-http-handler" "1.0.0-gamma.4"
- "@aws-sdk/hash-node" "1.0.0-gamma.3"
- "@aws-sdk/invalid-dependency" "1.0.0-gamma.3"
- "@aws-sdk/middleware-content-length" "1.0.0-gamma.3"
- "@aws-sdk/middleware-host-header" "1.0.0-gamma.3"
- "@aws-sdk/middleware-retry" "1.0.0-gamma.3"
- "@aws-sdk/middleware-serde" "1.0.0-gamma.3"
- "@aws-sdk/middleware-signing" "1.0.0-gamma.3"
- "@aws-sdk/middleware-stack" "1.0.0-gamma.3"
- "@aws-sdk/middleware-user-agent" "1.0.0-gamma.3"
- "@aws-sdk/node-http-handler" "1.0.0-gamma.3"
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/region-provider" "1.0.0-gamma.3"
- "@aws-sdk/retry-config-provider" "1.0.0-gamma.2"
- "@aws-sdk/smithy-client" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-browser" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-node" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-node" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-node" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-node" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-node" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/client-s3@1.0.0-gamma.4":
- version "1.0.0-gamma.4"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-1.0.0-gamma.4.tgz#1666311027f7aa97ff120afca33bf8f2b4be37d7"
- integrity sha512-nnCeduoL25HRq/F1McYl0k/gqFfKhEWjOE/+XpvkKGLx62XAQutbw26GveLk2HOyul9p7FO4nJbk9iECejpLLw==
- dependencies:
- "@aws-crypto/sha256-browser" "^1.0.0-alpha.0"
- "@aws-crypto/sha256-js" "^1.0.0-alpha.0"
- "@aws-sdk/config-resolver" "1.0.0-gamma.3"
- "@aws-sdk/credential-provider-node" "1.0.0-gamma.3"
- "@aws-sdk/eventstream-serde-browser" "1.0.0-gamma.3"
- "@aws-sdk/eventstream-serde-config-resolver" "1.0.0-gamma.3"
- "@aws-sdk/eventstream-serde-node" "1.0.0-gamma.3"
- "@aws-sdk/fetch-http-handler" "1.0.0-gamma.4"
- "@aws-sdk/hash-blob-browser" "1.0.0-gamma.3"
- "@aws-sdk/hash-node" "1.0.0-gamma.3"
- "@aws-sdk/hash-stream-node" "1.0.0-gamma.3"
- "@aws-sdk/invalid-dependency" "1.0.0-gamma.3"
- "@aws-sdk/md5-js" "1.0.0-gamma.3"
- "@aws-sdk/middleware-apply-body-checksum" "1.0.0-gamma.3"
- "@aws-sdk/middleware-bucket-endpoint" "1.0.0-gamma.3"
- "@aws-sdk/middleware-content-length" "1.0.0-gamma.3"
- "@aws-sdk/middleware-expect-continue" "1.0.0-gamma.3"
- "@aws-sdk/middleware-host-header" "1.0.0-gamma.3"
- "@aws-sdk/middleware-location-constraint" "1.0.0-gamma.3"
- "@aws-sdk/middleware-retry" "1.0.0-gamma.3"
- "@aws-sdk/middleware-sdk-s3" "1.0.0-gamma.3"
- "@aws-sdk/middleware-serde" "1.0.0-gamma.3"
- "@aws-sdk/middleware-signing" "1.0.0-gamma.3"
- "@aws-sdk/middleware-ssec" "1.0.0-gamma.3"
- "@aws-sdk/middleware-stack" "1.0.0-gamma.3"
- "@aws-sdk/middleware-user-agent" "1.0.0-gamma.3"
- "@aws-sdk/node-http-handler" "1.0.0-gamma.3"
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/region-provider" "1.0.0-gamma.3"
- "@aws-sdk/retry-config-provider" "1.0.0-gamma.2"
- "@aws-sdk/smithy-client" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-browser" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-node" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-node" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-node" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-node" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-node" "1.0.0-gamma.3"
- "@aws-sdk/xml-builder" "1.0.0-gamma.3"
- fast-xml-parser "^3.16.0"
- tslib "^1.8.0"
-
-"@aws-sdk/client-textract@1.0.0-gamma.4":
- version "1.0.0-gamma.4"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-textract/-/client-textract-1.0.0-gamma.4.tgz#fd0505af6fc5de86295a75cb661ca317d1549daf"
- integrity sha512-nDijsSaYlSBgVEgo8T+N19U9VJ6J2RbE0C87sR9XoPUnnWcna1MCyoy5iMVIHX182H20DOZsjyCdwP1RtqhsLw==
- dependencies:
- "@aws-crypto/sha256-browser" "^1.0.0-alpha.0"
- "@aws-crypto/sha256-js" "^1.0.0-alpha.0"
- "@aws-sdk/config-resolver" "1.0.0-gamma.3"
- "@aws-sdk/credential-provider-node" "1.0.0-gamma.3"
- "@aws-sdk/fetch-http-handler" "1.0.0-gamma.4"
- "@aws-sdk/hash-node" "1.0.0-gamma.3"
- "@aws-sdk/invalid-dependency" "1.0.0-gamma.3"
- "@aws-sdk/middleware-content-length" "1.0.0-gamma.3"
- "@aws-sdk/middleware-host-header" "1.0.0-gamma.3"
- "@aws-sdk/middleware-retry" "1.0.0-gamma.3"
- "@aws-sdk/middleware-serde" "1.0.0-gamma.3"
- "@aws-sdk/middleware-signing" "1.0.0-gamma.3"
- "@aws-sdk/middleware-stack" "1.0.0-gamma.3"
- "@aws-sdk/middleware-user-agent" "1.0.0-gamma.3"
- "@aws-sdk/node-http-handler" "1.0.0-gamma.3"
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/region-provider" "1.0.0-gamma.3"
- "@aws-sdk/retry-config-provider" "1.0.0-gamma.2"
- "@aws-sdk/smithy-client" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-browser" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-node" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-node" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-node" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-node" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-node" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/client-translate@1.0.0-gamma.4":
- version "1.0.0-gamma.4"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-translate/-/client-translate-1.0.0-gamma.4.tgz#315f490e4b5123374eba2258db978ffa1232b2c6"
- integrity sha512-8wYXlG3rJHeehG1ZOreEETlPgdqDk5CGf1Yh2IG46TdVBoltqnRxz6xS05dddKNyM1G+DhUnECj1ec1JIrc3uQ==
- dependencies:
- "@aws-crypto/sha256-browser" "^1.0.0-alpha.0"
- "@aws-crypto/sha256-js" "^1.0.0-alpha.0"
- "@aws-sdk/config-resolver" "1.0.0-gamma.3"
- "@aws-sdk/credential-provider-node" "1.0.0-gamma.3"
- "@aws-sdk/fetch-http-handler" "1.0.0-gamma.4"
- "@aws-sdk/hash-node" "1.0.0-gamma.3"
- "@aws-sdk/invalid-dependency" "1.0.0-gamma.3"
- "@aws-sdk/middleware-content-length" "1.0.0-gamma.3"
- "@aws-sdk/middleware-host-header" "1.0.0-gamma.3"
- "@aws-sdk/middleware-retry" "1.0.0-gamma.3"
- "@aws-sdk/middleware-serde" "1.0.0-gamma.3"
- "@aws-sdk/middleware-signing" "1.0.0-gamma.3"
- "@aws-sdk/middleware-stack" "1.0.0-gamma.3"
- "@aws-sdk/middleware-user-agent" "1.0.0-gamma.3"
- "@aws-sdk/node-http-handler" "1.0.0-gamma.3"
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/region-provider" "1.0.0-gamma.3"
- "@aws-sdk/retry-config-provider" "1.0.0-gamma.2"
- "@aws-sdk/smithy-client" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-browser" "1.0.0-gamma.3"
- "@aws-sdk/url-parser-node" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-node" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-body-length-node" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-user-agent-node" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-browser" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-node" "1.0.0-gamma.3"
- tslib "^1.8.0"
- uuid "^3.0.0"
-
-"@aws-sdk/config-resolver@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-1.0.0-gamma.3.tgz#051f4aaa09370a3916a3e65f5c8a2bd1e40b0020"
- integrity sha512-rn2Pa3BtZnpHCGdv2GarX6z/XAWetEtF42w1TEZGI5qJRMg8ZDCJihUNEwLI3n2NB1SKmQMQ5eh0KJ/nmM1KMQ==
- dependencies:
- "@aws-sdk/signature-v4" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/credential-provider-cognito-identity@1.0.0-gamma.4":
- version "1.0.0-gamma.4"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-1.0.0-gamma.4.tgz#5159efff0f41368feaa7e8f8a7518b6b0cf9e504"
- integrity sha512-+m+Ifgs4x9ZF6u00wv9//zrKPPlHbRFl3s68HP/bdmERkvAAtqMzRKBO1dVbCC0ymsQuR/+1DmnEspfljNmMzQ==
- dependencies:
- "@aws-sdk/client-cognito-identity" "1.0.0-gamma.4"
- "@aws-sdk/property-provider" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/credential-provider-env@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-1.0.0-gamma.3.tgz#a08fd088406ce78a03dcd80c8b498b3291ecd094"
- integrity sha512-LAT36m8mAd9kf8o4zvNGWkgt/9K8w9fUV79UW2iFDR77goZeEVhNcDqtoU49x8p/eJdH3mh3LuF5gOY5iQZJAQ==
- dependencies:
- "@aws-sdk/property-provider" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/credential-provider-imds@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-1.0.0-gamma.3.tgz#5ea4aab0d2e9278e452a353ec41f3c2421d2c11d"
- integrity sha512-rI25N7K8H1b0oiyR9+8Xx1vgh3/NlXm5wWF4G0HRg4WVl4jGj/pRGYcZhNZZvzCjrF2hIquj+17SMtv6E9tx4g==
- dependencies:
- "@aws-sdk/property-provider" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/credential-provider-ini@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-1.0.0-gamma.3.tgz#ae9379f81c19d9a48ac483a9ba65741a7addfee0"
- integrity sha512-kf2ZjscM460jn01JqEfWfzq6VsmKtfD3JM9zMRyE7JyNIwW8tS+saljqNGcv0fzJdgA2aBA2cqOLHxQ5I8Va7w==
- dependencies:
- "@aws-sdk/property-provider" "1.0.0-gamma.3"
- "@aws-sdk/shared-ini-file-loader" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/credential-provider-node@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-1.0.0-gamma.3.tgz#961f284699094625c015b61edf809d7a1bd062d3"
- integrity sha512-hkqOULwckbv3DgNsG3D6az6ZETbDLPIW5+4SLjNH7MbCdB4HkT0KW0WDwE0QkdlcvQlKg1pfNIzolxDbv8VZCQ==
- dependencies:
- "@aws-sdk/credential-provider-env" "1.0.0-gamma.3"
- "@aws-sdk/credential-provider-imds" "1.0.0-gamma.3"
- "@aws-sdk/credential-provider-ini" "1.0.0-gamma.3"
- "@aws-sdk/credential-provider-process" "1.0.0-gamma.3"
- "@aws-sdk/property-provider" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/credential-provider-process@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-1.0.0-gamma.3.tgz#dd03efba196265a5b92c73be5f9d4578dc29a085"
- integrity sha512-zHkna6XakaOHkb56TR7vTQxA97tmaKYH00EEeIVkWZUu6/QFBOFoSZbQBUxVWdvlIcPDbKwr2Pth7OahsEGmIg==
- dependencies:
- "@aws-sdk/credential-provider-ini" "1.0.0-gamma.3"
- "@aws-sdk/property-provider" "1.0.0-gamma.3"
- "@aws-sdk/shared-ini-file-loader" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/eventstream-marshaller@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-1.0.0-gamma.3.tgz#408b76e6386f9982e3cad7bf37d3114903a6e1d5"
- integrity sha512-EZaNxRW17SX8eqbRhMsoFXdHp2XTwGmtz89DK6pC+i2OWIQSLskOAYYp0UPWZdeEk9FHk1gmdaY/oDeeeMS1oA==
- dependencies:
- "@aws-crypto/crc32" "^1.0.0-alpha.0"
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/util-hex-encoding" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/eventstream-serde-browser@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-1.0.0-gamma.3.tgz#21bab878d17079d18ba57fe0ae5ec0642ff931f2"
- integrity sha512-wDJLKAB88HE6Sf80R1CTXRig+v8AkugGRfrDheSde15DLh8Xfo4INkCRxxWF0P1OENVcUFF9MUo8IahyjGck/g==
- dependencies:
- "@aws-sdk/eventstream-marshaller" "1.0.0-gamma.3"
- "@aws-sdk/eventstream-serde-universal" "1.0.0-gamma.2"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/eventstream-serde-config-resolver@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-1.0.0-gamma.3.tgz#687e53c2918ac3ac38fbe07dd1c4638fd0774ce6"
- integrity sha512-fuYWrJhukxEHEoSR4IqWUWTHONOOEqJ+yMNA6yt+/oKC/HZGkW0SaOS8PYIG3+9tJHVr5S4f4uHRSmnm+Xhkpw==
- dependencies:
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/eventstream-serde-node@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-1.0.0-gamma.3.tgz#97f89665fbf69c4b762abfa10d93653c85d00771"
- integrity sha512-50e8wnyOBXsrLsJQbGV3SAGbhFXmo6RV+mwrEiXTNkIY/1T6/LkTIhEdyeFvUZI2qCUL2c4ucJYtbN4zpZLB2A==
- dependencies:
- "@aws-sdk/eventstream-marshaller" "1.0.0-gamma.3"
- "@aws-sdk/eventstream-serde-universal" "1.0.0-gamma.2"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/eventstream-serde-universal@1.0.0-gamma.2":
- version "1.0.0-gamma.2"
- resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-1.0.0-gamma.2.tgz#0e07c3a77e6525bb1272e674f6fc6d1b6d27ab04"
- integrity sha512-ZIUqI/DyYmlXJleUWaP0wiNgy125m/5lOCnv1t0bi/R+aIIrAlWey1Z97O8u4MdTTtF6i09RQv1Zfh7eVOn81g==
- dependencies:
- "@aws-sdk/eventstream-marshaller" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/fetch-http-handler@1.0.0-gamma.4":
- version "1.0.0-gamma.4"
- resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-1.0.0-gamma.4.tgz#8a5b6fe3ee05aefefedcaa8d33888c7145fd3063"
- integrity sha512-l5I8rMqkPfjz7UfQDw2HoDpnwoduWwwlciG9glS+m6lcSek3K9TK2BGjA0WUc2xd+1M11eCKZ5GqvcQYFc3ziw==
- dependencies:
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/querystring-builder" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/util-base64-browser" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/hash-blob-browser@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/hash-blob-browser/-/hash-blob-browser-1.0.0-gamma.3.tgz#6eb2364b0df8bca97c2185027daee9853f83b195"
- integrity sha512-Ewg8DQnl9JHR5lVjp5DjPkhKCupAOzXuMwHV7gN9FSog/bwyuKhwG0Isr9JvilM2qwyMgPh46hEaE+H3r34MZQ==
- dependencies:
- "@aws-sdk/chunked-blob-reader" "1.0.0-gamma.3"
- "@aws-sdk/chunked-blob-reader-native" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/hash-node@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-1.0.0-gamma.3.tgz#6d765d4ab99b3fa12c7ab762b970d8e8bc37179d"
- integrity sha512-AgkpRJtFXMRtVQLYLcW3uzHbKx6GNtcmvC6LhMAm7qiaCY4Z6J5PbjJzcQA4xEbKj53MW+LPPU6PDwGhca6fCw==
- dependencies:
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/util-buffer-from" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/hash-stream-node@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/hash-stream-node/-/hash-stream-node-1.0.0-gamma.3.tgz#49caea71ebcb0b442e49315089f6337fca2125de"
- integrity sha512-13hxtdbYdFjKyQLV2R/D8ZLXB8k7BVS5edDcFCOD64YJz/2JnX+oxz0sHtIgdtta7pBlGCuHw70NtKchrmH4rg==
- dependencies:
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/invalid-dependency@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-1.0.0-gamma.3.tgz#ceb0313445c12dec2642fe0b2f7fe3df8c571a1f"
- integrity sha512-dxMxL6x1E5xjaSmwbshLH+NX+5R3qzMemn6/kwIs22EVq89ALZc+oQbG4cEit276/GHgcTBlOc0BpD5/crwpdw==
- dependencies:
- tslib "^1.8.0"
-
-"@aws-sdk/is-array-buffer@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-1.0.0-gamma.3.tgz#13af4818c7539bda98f43547358265ac1c1b6eb0"
- integrity sha512-OWewCesYIYG3yNDxHCgK+E37QBbe/m6AV3jFAKtrW4bS2BybzDz1Id7D8FbLDycR2MmU4CoX5rGfEHZkE8ApdQ==
- dependencies:
- tslib "^1.8.0"
-
-"@aws-sdk/md5-js@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/md5-js/-/md5-js-1.0.0-gamma.3.tgz#717eb54fb493940c557053c2a80de47bfe95ea45"
- integrity sha512-vYcWVsE8Q5yqj0eruaz1PJc8fzIKSNRuiZ2RdruNQ2X5dv0zUk9wIGotyRzmM5zgaONagmePnSIom54CRA7GKQ==
- dependencies:
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/util-utf8-browser" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/middleware-apply-body-checksum@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-apply-body-checksum/-/middleware-apply-body-checksum-1.0.0-gamma.3.tgz#dc4d0a91eda1528fc162baf97dc99d8b888317bd"
- integrity sha512-m2+53oN9EW3c4JP1NMmR9cZv4G5mN4JuWGtDdIbSJulmcDPZ+koF2978VW775EbvfjUmOfjx5GK6yxj59u9kdg==
- dependencies:
- "@aws-sdk/is-array-buffer" "1.0.0-gamma.3"
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/middleware-bucket-endpoint@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-1.0.0-gamma.3.tgz#fb08d35305b6105d097ac198895bd7e57dbd21a9"
- integrity sha512-xmSbrUFTdebhxJTwW70mO52wq6Y8d3TsIukuvFQaNbT+0tfOm0wLZA2mm7Q+WPkwxUhjdwL19+es5KxVEA9EGw==
- dependencies:
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/middleware-content-length@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-1.0.0-gamma.3.tgz#e7d3f048f4dc11ffc60e5b7e1e95a5b3fe8a8727"
- integrity sha512-uqBaDyYi3+XyBKpJDN45aRuioL96gxpb5rAYmSn0oeAZSUKh25Yxp9c131e1LV0JmHto5mztgoLWjoq5r4CjSQ==
- dependencies:
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/middleware-expect-continue@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-1.0.0-gamma.3.tgz#952fd5d749a9f1ad9eebf0ea824adbcea99a0bd1"
- integrity sha512-J43w0c6DIVQvF4PNXmR6ANo3zwqvT3rUDSyqyUOTGybdRer4ctXxywCB/W3sHVaDX6R8dwCaZA3NOC24omDxlA==
- dependencies:
- "@aws-sdk/middleware-header-default" "1.0.0-gamma.3"
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/middleware-header-default@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-header-default/-/middleware-header-default-1.0.0-gamma.3.tgz#e45cca0c74341429e2cd16b56713f336c51ecdb6"
- integrity sha512-NgXxWENL9MqVbB6op+d4SZ/Ht9JQhoh2F0+YN/PG1JpCmwPmi6EyErsgW79MI1wdHG/H/bCQ4Ezgpv86xW1qVg==
- dependencies:
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/middleware-host-header@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-1.0.0-gamma.3.tgz#8c48b1fdca75ab3e084e66b3cd81f6335044b900"
- integrity sha512-YqDiMe3Rw7/XZ2aDRNSsHHIePQapRq4Qx2jv/6WWslg4zU3lI/8i1I00l0TlB6gcxP5phWZ9kIjL6b55vUBQkQ==
- dependencies:
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/middleware-location-constraint@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-1.0.0-gamma.3.tgz#9d0d1d354a1fab88b5ddfb944ead28c07858ba50"
- integrity sha512-U1Tyio81AMDFaaDfIMc/gFHUhc0Hhaerr7UrlDEmBPAZT4y20vvyazGeYr5tkSPl3pj48mugxWVIetpqF86XOA==
- dependencies:
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/middleware-retry@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-1.0.0-gamma.3.tgz#0215ae13a0d6bf317cbdc46f6444519005538b23"
- integrity sha512-XtrVkQ92lAeJxsw9SsKDevbW3WU/LnoKafKWCmbZnM1ygm7cpbHh9cuEFD8RR169scHR3BkARKZe8rwaMFUEIg==
- dependencies:
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/service-error-classification" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- react-native-get-random-values "^1.4.0"
- tslib "^1.8.0"
- uuid "^3.0.0"
-
-"@aws-sdk/middleware-sdk-s3@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-1.0.0-gamma.3.tgz#7268f10ac88f68ea31326008926f70d519a3b43a"
- integrity sha512-XvThcJdKAQuDm0TD1JlCrFjJ4otYxPZSHsSOA1WpSt/5dEcmaXOh1+H4Gd4iCcJJh9gpVyCwIRFGHrDBXnAyIA==
- dependencies:
- tslib "^1.8.0"
-
-"@aws-sdk/middleware-serde@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-1.0.0-gamma.3.tgz#035d1eca879cd7eb5a83e23cb485818c59f0c05d"
- integrity sha512-IESS+/uvRJeORZs4Td2ZAxys0iFYGCOvh5lxqGN7mwE4GLrviJPVJkuYnFgOYSRao5LdxzLmmCcMQYdZxVNSDA==
- dependencies:
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/middleware-signing@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-1.0.0-gamma.3.tgz#7ac24ad061ca4d18902a925c5b17c10d9d7e9144"
- integrity sha512-0H+QF5hu3e+qr6CIWl64NdX1wygFuFvukpYN84WfLcig0xTB3qduE0Z6TucBYigiK8xNSeKVtrDj9Mz/VGQJ2A==
- dependencies:
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/signature-v4" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/middleware-ssec@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-1.0.0-gamma.3.tgz#905b8d1aa415e5565d645dc5abc88d5fbeb9102d"
- integrity sha512-JVlLuOwcCl9mj0+VluhX3dN5yQ3kx8rM7sBWD7l2gYsresHmFHwJpyZC+Cd34lSnIMsx19Q5x9FcLeFcO6Y7eA==
- dependencies:
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/middleware-stack@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-1.0.0-gamma.3.tgz#e50557e0b56bf5d40c5d346a006fdc63255ff00c"
- integrity sha512-csiZhFxK6HWy3MDUZHr6saOdoT9CgAp8ifp1/HegZAZ+LhmADq4LNqtMqQaODyEXqxTSIjXBbIzq5vrs3qXwGw==
- dependencies:
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/middleware-user-agent@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-1.0.0-gamma.3.tgz#80b87de924cb7f35cc0c8a3cf01c19696d38d26e"
- integrity sha512-0utMFeSOQ+VodNSCmjP0uWdgks36qGwY4B1EwwlZekzebEF1sqpBxFrzPreK1VEyv8wUG9drDjIy14khO1S2Kw==
- dependencies:
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/node-http-handler@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/node-http-handler/-/node-http-handler-1.0.0-gamma.3.tgz#27d798ba0a4dca306ffab84493058a09a4459f58"
- integrity sha512-cUka0oYYhqrY3Vif5Re9PASPau0Eu3ygGAjozppTzK0W5HE2yjMYM73PCwIyPO/B6qdzv8hTbJe7F/uM24TNmw==
- dependencies:
- "@aws-sdk/abort-controller" "1.0.0-gamma.3"
- "@aws-sdk/protocol-http" "1.0.0-gamma.3"
- "@aws-sdk/querystring-builder" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/property-provider@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/property-provider/-/property-provider-1.0.0-gamma.3.tgz#eaf2ec4fcbc3e1d70bc154a52f0328674fdfca08"
- integrity sha512-8SOLgaZeniK6uuzurKjeb4LV9d+AyLC/3UTnLNwIvrC2QTfKfLm9S9YMj4kbgwuI/hCu7hhsOVpha7YKRP82lA==
- dependencies:
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/protocol-http@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/protocol-http/-/protocol-http-1.0.0-gamma.3.tgz#4e8daff60b10f5e27d655eb34bd118bffe23b92b"
- integrity sha512-RuXocAa90OFo+Es2sD0jaswTgnYUOg4eTXacm6vHGZhj1aYY7+JZsiZkRms53OwIuKrloo+974jQpIBS+DTT+A==
- dependencies:
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/querystring-builder@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-1.0.0-gamma.3.tgz#787c4f91ad18377de4cc880af304967b096abeb8"
- integrity sha512-EUheuS+HlYDbfOKi5WQ9De5VJTUe0Ew+EE/xMRjXyZ5SQyEuIlK9OwwKZy3A4DKDBo6rTiifxk6C0ZuE4kVNww==
- dependencies:
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/util-uri-escape" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/querystring-parser@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-parser/-/querystring-parser-1.0.0-gamma.3.tgz#7588bed0ed3be42cee60fab5fb398fa0b37f1921"
- integrity sha512-flAcTz2TitaLFEcc02AJESGbUS6n2ayQp5F7LBF2FSDAFq8E+Ysi/n/jh8xx8IglURrvoIzpGfem3J1Zm9djeQ==
- dependencies:
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/region-provider@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/region-provider/-/region-provider-1.0.0-gamma.3.tgz#37e862bd77203014d90422e4c3e71dfd2a1be6a8"
- integrity sha512-a7pT+t0tfV2hKgB2db+peMhdFew7ztgS7+bIscFxY5Ce2xqwrgbKOBDEfmgGbx4H3xoPZpa2JrfU1BK43NzjNA==
- dependencies:
- "@aws-sdk/property-provider" "1.0.0-gamma.3"
- "@aws-sdk/shared-ini-file-loader" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/retry-config-provider@1.0.0-gamma.2":
- version "1.0.0-gamma.2"
- resolved "https://registry.yarnpkg.com/@aws-sdk/retry-config-provider/-/retry-config-provider-1.0.0-gamma.2.tgz#bc4aa806c8be3243bc104cc20a93fcf683702a4a"
- integrity sha512-7brOLUXkTc/rA+AbMGzRdlTB16/KeQhaa+2/ozf7ZjKsEhfVW2ymw9y+H7yfZ5MHaJ2ml/WsXjk/7EYP7k4FTQ==
- dependencies:
- "@aws-sdk/middleware-retry" "1.0.0-gamma.3"
- "@aws-sdk/property-provider" "1.0.0-gamma.3"
- "@aws-sdk/shared-ini-file-loader" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/s3-request-presigner@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/s3-request-presigner/-/s3-request-presigner-1.0.0-gamma.3.tgz#32b124cfbf24271b69f87cdb3c8b5b822a5ef9f3"
- integrity sha512-e5qwTYOraLljAA30v1B7fjyYBHuU2wUiTimAgzThE2P/9k4wM924Q0i0DAa7hSaIdlUdiGKUFX4hP2UyID3bIg==
- dependencies:
- "@aws-sdk/signature-v4" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/util-create-request" "1.0.0-gamma.3"
- "@aws-sdk/util-format-url" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/service-error-classification@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/service-error-classification/-/service-error-classification-1.0.0-gamma.3.tgz#449b6ff5976f70db1a2addc89445d7e08907ef1b"
- integrity sha512-O/CsFVWZyfhNIvzDAfNHJ3Uao/9+E5MNek0/jDW2ezZhmPZumW7tQgZ7CrFmPW9o9J5YWjozGaOuF3kuadBGkg==
-
-"@aws-sdk/shared-ini-file-loader@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-1.0.0-gamma.3.tgz#b56637e79cc0fca3eabd270413cc7547bf78b9f8"
- integrity sha512-oujkYSHTlX3bHwA6hhAAnRtzrDSxMH3p0EEluD0QmhI5U89AhN5aP9b6FdPev+p4TC7TBv42jnRKwEo+NWvTlA==
- dependencies:
- tslib "^1.8.0"
-
-"@aws-sdk/signature-v4@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4/-/signature-v4-1.0.0-gamma.3.tgz#f1dabb0dfa61c2b7d4e7e5e7701998207edd5616"
- integrity sha512-LUH0Oq8YDWNydvhDmlFzyUBMx1/jHwxufgnptm6FpfDs6ueZ4OWD4XKqSI8cAFE3DXBaHW8/sIhoUZw4imY/0g==
- dependencies:
- "@aws-sdk/is-array-buffer" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- "@aws-sdk/util-hex-encoding" "1.0.0-gamma.3"
- "@aws-sdk/util-uri-escape" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/smithy-client@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/smithy-client/-/smithy-client-1.0.0-gamma.3.tgz#8312ddbea363a166128feb99ae1dfd0af08f7520"
- integrity sha512-emEqdzh7Dy3pAPE1HzgKNqw+7xeGaaVQ8XA++1gXL8ht8DFMN6YiV97/Yg0NtBt0oeiVaxlL0plNd/oyx9e3cA==
- dependencies:
- "@aws-sdk/middleware-stack" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/types@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-1.0.0-gamma.3.tgz#44d274f874d90b9c658d8cbbcf139d401cbd9dc3"
- integrity sha512-6Zu64X/6I8Y0gO/+J2CGXjYUmYkiI89MX3BEgRcQRh3jUNpKnOm1j4r40w4qsu1QAYxwWJL1M/rjLJPOQPV7zw==
-
-"@aws-sdk/types@^1.0.0-alpha.0":
- version "1.0.0-gamma.4"
- resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-1.0.0-gamma.4.tgz#c91e6f6ed49d73b596904a7da2539b20bac29d39"
- integrity sha512-2UuEGILakoRTPlJIheadNbBGlJIbxSS7xFqbidMdHPa+LXvtds20XQh0y6hKIcBZqR2bhmb3uNgpuw5jO7MDRw==
-
-"@aws-sdk/url-parser-browser@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser-browser/-/url-parser-browser-1.0.0-gamma.3.tgz#036bff05ef03f1e2c61a25efddcb78f3bed979d0"
- integrity sha512-wo0SwwuFluTIjt2+j49GNQ0Vza+UVOirz2Up0VCbp7aqyMirIzDA66fQWXfzPiDvo0xV80TA7/P4/oyrrGhdbg==
- dependencies:
- "@aws-sdk/querystring-parser" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/url-parser-node@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser-node/-/url-parser-node-1.0.0-gamma.3.tgz#40b35d85c03145590c1cda1bf20b854977558ba6"
- integrity sha512-sq779pjaFlQEEFBToNb3m7J1h84Jk9ZcXj+VUixjjUwi8ieDCgea8zMQUAtkaHe0OU6FRcFp4WTadFr0sNrLnQ==
- dependencies:
- "@aws-sdk/querystring-parser" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
- url "^0.11.0"
-
-"@aws-sdk/util-base64-browser@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-browser/-/util-base64-browser-1.0.0-gamma.3.tgz#d6d4d18d990cb3bb542e4637f6b6559f3bed31b1"
- integrity sha512-VOhetzPDQMgZERY37B6k1Dy/idhirLJk/5EvTDaL78QkihfoWa4N/58Td821WDgY/oaZNV0N4ul61tk0/n65QQ==
- dependencies:
- tslib "^1.8.0"
-
-"@aws-sdk/util-base64-node@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-node/-/util-base64-node-1.0.0-gamma.3.tgz#2413e1d66b4e91e9175b936eca29336bb59d1765"
- integrity sha512-n2bxJXaSD+1pe3bKeFDWNO3UFnahNKVCqU/I2AKa6ZsWnEWhb8PuUu6A6BvCVdOGYqn77x3sLJvhOxLbsjjU4Q==
- dependencies:
- "@aws-sdk/util-buffer-from" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/util-body-length-browser@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-browser/-/util-body-length-browser-1.0.0-gamma.3.tgz#6132cbbbd2ab04286b5550f8babaecdc830f92c4"
- integrity sha512-5mkzClLPvo763FeLEsd8RKBHBMQSijuEz2uCG/UNI6SYjzl0tx0RQiK24DoMMVLJq+TQ7goMMJK0REqnGOGYqA==
- dependencies:
- tslib "^1.8.0"
-
-"@aws-sdk/util-body-length-node@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-node/-/util-body-length-node-1.0.0-gamma.3.tgz#01deb6b3ba0812b01d3990f3f179cebb5bb34f28"
- integrity sha512-ugDiAA1ivTalwIEH8TX/gshFwpuGs02+vULUyDmL/RQU7VhWR145k+fnoMfP3y1geAwUvudrqS01ZpCUX9w+5g==
- dependencies:
- tslib "^1.8.0"
-
-"@aws-sdk/util-buffer-from@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-1.0.0-gamma.3.tgz#e76c053a95852d8c1bd1ccd7e1ce6b4316c79151"
- integrity sha512-v6z3b2mjdzSBWgMPwgdb821zFrxvVxILRIPVPe3E2ijnRaQfB4hVSaVHuogZuI949p/Pp4ctcZswwKRJEXIWVw==
- dependencies:
- "@aws-sdk/is-array-buffer" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/util-create-request@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-create-request/-/util-create-request-1.0.0-gamma.3.tgz#cc2627d6d16f3a038ea40b48dc51bd44b3148293"
- integrity sha512-ShEj88J+0tZiZAvUgS6PaLkvBFOrHTJqxsM6DusrA3pmZIavdLS4cUtnp+28VK2Op3HRnL5UkTgjJG/zLAd+UQ==
- dependencies:
- "@aws-sdk/middleware-stack" "1.0.0-gamma.3"
- "@aws-sdk/smithy-client" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/util-format-url@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-format-url/-/util-format-url-1.0.0-gamma.3.tgz#aaceef2a5309de84990e90bcd9d29a953d120839"
- integrity sha512-MERO4Zty7BSshScyrigXPpqCSxKixqUHIJ3912TuUF8F3MAf3LM6CgDiaJ19a8KkXdKFglp/8apDWdV5+FmyUg==
- dependencies:
- "@aws-sdk/querystring-builder" "1.0.0-gamma.3"
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/util-hex-encoding@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-hex-encoding/-/util-hex-encoding-1.0.0-gamma.3.tgz#3035ff0c1af9e0536e739557b25764c3c9187328"
- integrity sha512-wappzF+OLeFtCGdRVxmKQoCCIotlOwe+zAJSVqymTFR94D2CtreIZo1azum6PxHbPiSzRFJs7KxgboHJ9pd18Q==
- dependencies:
- tslib "^1.8.0"
-
-"@aws-sdk/util-locate-window@^1.0.0-alpha.0":
- version "1.0.0-gamma.5"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-1.0.0-gamma.5.tgz#9df6a390d9b51d3f7b32a0c992fe3ba66a636f76"
- integrity sha512-eQR8cilsx/+kAZ5RZSWVWT0vxVqZBq4ZhszjlmA27mYES6qte5+AnlkNWEM6xhGBdCSiuSjeD8nSr8JE6HZIgA==
- dependencies:
- tslib "^1.8.0"
-
-"@aws-sdk/util-uri-escape@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-uri-escape/-/util-uri-escape-1.0.0-gamma.3.tgz#0f6377e42e994b3f1f301f6ee64ca4a30c77f3e3"
- integrity sha512-4iH08ZsB2/OFLFpjyQ0MHd3yPeOl7h8D6fY9zHjyHN62+syPNNH5jYwFCxyBhwx/SXWVddwPzIqBD5VY4JkR4w==
- dependencies:
- tslib "^1.8.0"
-
-"@aws-sdk/util-user-agent-browser@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-1.0.0-gamma.3.tgz#0099f9b128ad8f7b832e5ccd97ffe2958997bbad"
- integrity sha512-//iH3jfxDLylUBmf6kbE19tm/aXGUf65CV6oal+Fgx8QqQJBCDgXdsl/aWWxr54EbANR6Gf/daw+EM7gGVOmPA==
- dependencies:
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/util-user-agent-node@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-1.0.0-gamma.3.tgz#434764d8be2944c8cdef9e3c76818d02bdbc0754"
- integrity sha512-n2+yTdRioPjn2LyMlR+1faB5G0bP35vhEwW1JtZess7UnScUUcieMiRvdIqiH9ZRApsoIhW7zDjtFZQ7nBpHXg==
- dependencies:
- "@aws-sdk/types" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/util-utf8-browser@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-1.0.0-gamma.3.tgz#ba8f73abca8fd585fbddbb3c734c7ad574b18e5c"
- integrity sha512-N94lggxZnICncYKPQCofy0zx93nZJCGWOOFtcAUdpof78LtQEurqjL4d45Ov4SEF0xcyoNSbtENTSAKCiWFlZQ==
- dependencies:
- tslib "^1.8.0"
-
-"@aws-sdk/util-utf8-browser@^1.0.0-alpha.0":
- version "1.0.0-gamma.5"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-1.0.0-gamma.5.tgz#cc26f18bb7cd7f0b7d690cd4a95de17340b08a65"
- integrity sha512-KqnWfuZtpXC8qjQCEb2jjxNYdAvOqUBItTuCduU7v8MgOexYqUvgwCrv1gaIy8HtuKul4ix9NqrK5VtQPWW3Ug==
- dependencies:
- tslib "^1.8.0"
-
-"@aws-sdk/util-utf8-node@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-node/-/util-utf8-node-1.0.0-gamma.3.tgz#863afd37a80be77815d702f703892e21ac844029"
- integrity sha512-JmJMfupYQr6MeB9ww8Jm5Gwvx3xfHGrY4HJxw1e7EnFHUwFUyevd3lVcBgKJEy2OSXwzDOt2XOTeDFkMcjiVuA==
- dependencies:
- "@aws-sdk/util-buffer-from" "1.0.0-gamma.3"
- tslib "^1.8.0"
-
-"@aws-sdk/xml-builder@1.0.0-gamma.3":
- version "1.0.0-gamma.3"
- resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-1.0.0-gamma.3.tgz#59da3eeba7e4686209affa2de36e88ad0e2ecf60"
- integrity sha512-h36zfSXsSyTQWjLP54ik0Ocbb/6+o3GvDWpMe7in//+pog0jH6fSoeoagLikLuKTNJ9lDhtY0RtClcNQ7LkVXQ==
- dependencies:
- tslib "^1.8.0"
-
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.3", "@babel/code-frame@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
- integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
- dependencies:
- "@babel/highlight" "^7.10.4"
-
-"@babel/compat-data@^7.10.4", "@babel/compat-data@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.11.0.tgz#e9f73efe09af1355b723a7f39b11bad637d7c99c"
- integrity sha512-TPSvJfv73ng0pfnEOh17bYMPQbI95+nGWc71Ss4vZdRBHTDqmM9Z8ZV4rYz8Ks7sfzc95n30k6ODIq5UGnXcYQ==
- dependencies:
- browserslist "^4.12.0"
- invariant "^2.2.4"
- semver "^5.5.0"
-
-"@babel/core@7.10.5":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.5.tgz#1f15e2cca8ad9a1d78a38ddba612f5e7cdbbd330"
- integrity sha512-O34LQooYVDXPl7QWCdW9p4NR+QlzOr7xShPPJz8GsuCU3/8ua/wqTr7gmnxXv+WBESiGU/G5s16i6tUvHkNb+w==
- dependencies:
- "@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/core@^7.10.3", "@babel/core@^7.4.5", "@babel/core@^7.5.5", "@babel/core@^7.9.6":
- version "7.11.1"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.1.tgz#2c55b604e73a40dc21b0e52650b11c65cf276643"
- integrity sha512-XqF7F6FWQdKGGWAzGELL+aCO1p+lRY5Tj5/tbT3St1G8NaH70jhhDIKknIZaDans0OQBG5wRAldROLHSt44BgQ==
- dependencies:
- "@babel/code-frame" "^7.10.4"
- "@babel/generator" "^7.11.0"
- "@babel/helper-module-transforms" "^7.11.0"
- "@babel/helpers" "^7.10.4"
- "@babel/parser" "^7.11.1"
- "@babel/template" "^7.10.4"
- "@babel/traverse" "^7.11.0"
- "@babel/types" "^7.11.0"
- 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/generator@^7.10.3", "@babel/generator@^7.10.5", "@babel/generator@^7.11.0", "@babel/generator@^7.9.6":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.0.tgz#4b90c78d8c12825024568cbe83ee6c9af193585c"
- integrity sha512-fEm3Uzw7Mc9Xi//qU20cBKatTfs2aOtKqmvy/Vm7RkJEGFQ4xc9myCfbXxqK//ZS8MR/ciOHw6meGASJuKmDfQ==
- dependencies:
- "@babel/types" "^7.11.0"
- 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"
- integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==
- dependencies:
- "@babel/types" "^7.10.4"
-
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3"
- integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==
- dependencies:
- "@babel/helper-explode-assignable-expression" "^7.10.4"
- "@babel/types" "^7.10.4"
-
-"@babel/helper-builder-react-jsx-experimental@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.10.5.tgz#f35e956a19955ff08c1258e44a515a6d6248646b"
- integrity sha512-Buewnx6M4ttG+NLkKyt7baQn7ScC/Td+e99G914fRU8fGIUivDDgVIQeDHFa5e4CRSJQt58WpNHhsAZgtzVhsg==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.10.4"
- "@babel/helper-module-imports" "^7.10.4"
- "@babel/types" "^7.10.5"
-
-"@babel/helper-builder-react-jsx@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz#8095cddbff858e6fa9c326daee54a2f2732c1d5d"
- integrity sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.10.4"
- "@babel/types" "^7.10.4"
-
-"@babel/helper-compilation-targets@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz#804ae8e3f04376607cc791b9d47d540276332bd2"
- integrity sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==
- dependencies:
- "@babel/compat-data" "^7.10.4"
- browserslist "^4.12.0"
- invariant "^2.2.4"
- levenary "^1.1.1"
- semver "^5.5.0"
-
-"@babel/helper-create-class-features-plugin@^7.10.4", "@babel/helper-create-class-features-plugin@^7.10.5":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d"
- integrity sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A==
- dependencies:
- "@babel/helper-function-name" "^7.10.4"
- "@babel/helper-member-expression-to-functions" "^7.10.5"
- "@babel/helper-optimise-call-expression" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-replace-supers" "^7.10.4"
- "@babel/helper-split-export-declaration" "^7.10.4"
-
-"@babel/helper-create-regexp-features-plugin@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz#fdd60d88524659a0b6959c0579925e425714f3b8"
- integrity sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.10.4"
- "@babel/helper-regex" "^7.10.4"
- regexpu-core "^4.7.0"
-
-"@babel/helper-define-map@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30"
- integrity sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==
- dependencies:
- "@babel/helper-function-name" "^7.10.4"
- "@babel/types" "^7.10.5"
- lodash "^4.17.19"
-
-"@babel/helper-explode-assignable-expression@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz#40a1cd917bff1288f699a94a75b37a1a2dbd8c7c"
- integrity sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==
- dependencies:
- "@babel/traverse" "^7.10.4"
- "@babel/types" "^7.10.4"
-
-"@babel/helper-function-name@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a"
- integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==
- dependencies:
- "@babel/helper-get-function-arity" "^7.10.4"
- "@babel/template" "^7.10.4"
- "@babel/types" "^7.10.4"
-
-"@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"
- integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==
- dependencies:
- "@babel/types" "^7.10.4"
-
-"@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"
- integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==
- dependencies:
- "@babel/types" "^7.10.4"
-
-"@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df"
- integrity sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==
- dependencies:
- "@babel/types" "^7.11.0"
-
-"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620"
- integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==
- dependencies:
- "@babel/types" "^7.10.4"
-
-"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5", "@babel/helper-module-transforms@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359"
- integrity sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==
- dependencies:
- "@babel/helper-module-imports" "^7.10.4"
- "@babel/helper-replace-supers" "^7.10.4"
- "@babel/helper-simple-access" "^7.10.4"
- "@babel/helper-split-export-declaration" "^7.11.0"
- "@babel/template" "^7.10.4"
- "@babel/types" "^7.11.0"
- lodash "^4.17.19"
-
-"@babel/helper-optimise-call-expression@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673"
- integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==
- dependencies:
- "@babel/types" "^7.10.4"
-
-"@babel/helper-plugin-utils@7.10.4", "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.3", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375"
- integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==
-
-"@babel/helper-regex@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0"
- integrity sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==
- dependencies:
- lodash "^4.17.19"
-
-"@babel/helper-remap-async-to-generator@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz#fce8bea4e9690bbe923056ded21e54b4e8b68ed5"
- integrity sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.10.4"
- "@babel/helper-wrap-function" "^7.10.4"
- "@babel/template" "^7.10.4"
- "@babel/traverse" "^7.10.4"
- "@babel/types" "^7.10.4"
-
-"@babel/helper-replace-supers@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf"
- integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==
- dependencies:
- "@babel/helper-member-expression-to-functions" "^7.10.4"
- "@babel/helper-optimise-call-expression" "^7.10.4"
- "@babel/traverse" "^7.10.4"
- "@babel/types" "^7.10.4"
-
-"@babel/helper-simple-access@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461"
- integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==
- dependencies:
- "@babel/template" "^7.10.4"
- "@babel/types" "^7.10.4"
-
-"@babel/helper-skip-transparent-expression-wrappers@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz#eec162f112c2f58d3af0af125e3bb57665146729"
- integrity sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q==
- dependencies:
- "@babel/types" "^7.11.0"
-
-"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f"
- integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==
- dependencies:
- "@babel/types" "^7.11.0"
-
-"@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-wrap-function@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87"
- integrity sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==
- dependencies:
- "@babel/helper-function-name" "^7.10.4"
- "@babel/template" "^7.10.4"
- "@babel/traverse" "^7.10.4"
- "@babel/types" "^7.10.4"
-
-"@babel/helpers@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044"
- integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==
- dependencies:
- "@babel/template" "^7.10.4"
- "@babel/traverse" "^7.10.4"
- "@babel/types" "^7.10.4"
-
-"@babel/highlight@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143"
- integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==
- dependencies:
- "@babel/helper-validator-identifier" "^7.10.4"
- chalk "^2.0.0"
- js-tokens "^4.0.0"
-
-"@babel/parser@^7.10.3", "@babel/parser@^7.10.4", "@babel/parser@^7.10.5", "@babel/parser@^7.11.0", "@babel/parser@^7.11.1", "@babel/parser@^7.7.0":
- version "7.11.3"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.3.tgz#9e1eae46738bcd08e23e867bab43e7b95299a8f9"
- integrity sha512-REo8xv7+sDxkKvoxEywIdsNFiZLybwdI7hcT5uEPyQrSMB4YQ973BfC9OOrD/81MaIjh6UxdulIQXkjmiH3PcA==
-
-"@babel/plugin-proposal-async-generator-functions@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558"
- integrity sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-remap-async-to-generator" "^7.10.4"
- "@babel/plugin-syntax-async-generators" "^7.8.0"
-
-"@babel/plugin-proposal-class-properties@^7.10.1", "@babel/plugin-proposal-class-properties@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz#a33bf632da390a59c7a8c570045d1115cd778807"
- integrity sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-proposal-dynamic-import@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz#ba57a26cb98b37741e9d5bca1b8b0ddf8291f17e"
- integrity sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-dynamic-import" "^7.8.0"
-
-"@babel/plugin-proposal-export-namespace-from@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.10.4.tgz#570d883b91031637b3e2958eea3c438e62c05f54"
- integrity sha512-aNdf0LY6/3WXkhh0Fdb6Zk9j1NMD8ovj3F6r0+3j837Pn1S1PdNtcwJ5EG9WkVPNHPxyJDaxMaAOVq4eki0qbg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-
-"@babel/plugin-proposal-json-strings@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz#593e59c63528160233bd321b1aebe0820c2341db"
- integrity sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-json-strings" "^7.8.0"
-
-"@babel/plugin-proposal-logical-assignment-operators@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.11.0.tgz#9f80e482c03083c87125dee10026b58527ea20c8"
- integrity sha512-/f8p4z+Auz0Uaf+i8Ekf1iM7wUNLcViFUGiPxKeXvxTSl63B875YPiVdUDdem7hREcI0E0kSpEhS8tF5RphK7Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-
-"@babel/plugin-proposal-nullish-coalescing-operator@^7.10.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz#02a7e961fc32e6d5b2db0649e01bf80ddee7e04a"
- integrity sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
-
-"@babel/plugin-proposal-numeric-separator@^7.10.1", "@babel/plugin-proposal-numeric-separator@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz#ce1590ff0a65ad12970a609d78855e9a4c1aef06"
- integrity sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-numeric-separator" "^7.10.4"
-
-"@babel/plugin-proposal-object-rest-spread@7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz#50129ac216b9a6a55b3853fdd923e74bf553a4c0"
- integrity sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==
- dependencies:
- "@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-proposal-object-rest-spread@^7.10.3", "@babel/plugin-proposal-object-rest-spread@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz#bd81f95a1f746760ea43b6c2d3d62b11790ad0af"
- integrity sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA==
- dependencies:
- "@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-proposal-optional-catch-binding@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz#31c938309d24a78a49d68fdabffaa863758554dd"
- integrity sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
-
-"@babel/plugin-proposal-optional-chaining@^7.10.3", "@babel/plugin-proposal-optional-chaining@^7.11.0", "@babel/plugin-proposal-optional-chaining@^7.9.4":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz#de5866d0646f6afdaab8a566382fe3a221755076"
- integrity sha512-v9fZIu3Y8562RRwhm1BbMRxtqZNFmFA2EG+pT2diuU8PT3H6T/KXoZ54KgYisfOFZHV6PfvAiBIZ9Rcz+/JCxA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0"
- "@babel/plugin-syntax-optional-chaining" "^7.8.0"
-
-"@babel/plugin-proposal-private-methods@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz#b160d972b8fdba5c7d111a145fc8c421fc2a6909"
- integrity sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-proposal-unicode-property-regex@^7.10.4", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d"
- integrity sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-async-generators@^7.8.0":
- version "7.8.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
- integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-class-properties@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c"
- integrity sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
- integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-export-namespace-from@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a"
- integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
-"@babel/plugin-syntax-json-strings@^7.8.0":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
- integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-jsx@7.10.4", "@babel/plugin-syntax-jsx@^7.10.4", "@babel/plugin-syntax-jsx@^7.2.0":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz#39abaae3cbf710c4373d8429484e6ba21340166c"
- integrity sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
- integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
- integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-numeric-separator@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
- integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-object-rest-spread@7.8.3", "@babel/plugin-syntax-object-rest-spread@^7.8.0":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
- integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-catch-binding@^7.8.0":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
- integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-chaining@^7.8.0":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
- integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-top-level-await@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz#4bbeb8917b54fcf768364e0a81f560e33a3ef57d"
- integrity sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-typescript@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.10.4.tgz#2f55e770d3501e83af217d782cb7517d7bb34d25"
- integrity sha512-oSAEz1YkBCAKr5Yiq8/BNtvSAPwkp/IyUnwZogd8p+F0RuYQQrLeRUzIQhueQTTBy/F+a40uS7OFKxnkRvmvFQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-arrow-functions@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz#e22960d77e697c74f41c501d44d73dbf8a6a64cd"
- integrity sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-async-to-generator@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz#41a5017e49eb6f3cda9392a51eef29405b245a37"
- integrity sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==
- dependencies:
- "@babel/helper-module-imports" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-remap-async-to-generator" "^7.10.4"
-
-"@babel/plugin-transform-block-scoped-functions@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz#1afa595744f75e43a91af73b0d998ecfe4ebc2e8"
- integrity sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-block-scoping@^7.10.4":
- version "7.11.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz#5b7efe98852bef8d652c0b28144cd93a9e4b5215"
- integrity sha512-00dYeDE0EVEHuuM+26+0w/SCL0BH2Qy7LwHuI4Hi4MH5gkC8/AqMN5uWFJIsoXZrAphiMm1iXzBw6L2T+eA0ew==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-classes@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz#405136af2b3e218bc4a1926228bc917ab1a0adc7"
- integrity sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==
- dependencies:
- "@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.10.4"
- "@babel/helper-split-export-declaration" "^7.10.4"
- globals "^11.1.0"
-
-"@babel/plugin-transform-computed-properties@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz#9ded83a816e82ded28d52d4b4ecbdd810cdfc0eb"
- integrity sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-destructuring@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz#70ddd2b3d1bea83d01509e9bb25ddb3a74fc85e5"
- integrity sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-dotall-regex@^7.10.4", "@babel/plugin-transform-dotall-regex@^7.4.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee"
- integrity sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-duplicate-keys@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz#697e50c9fee14380fe843d1f306b295617431e47"
- integrity sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-exponentiation-operator@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz#5ae338c57f8cf4001bdb35607ae66b92d665af2e"
- integrity sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==
- dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-for-of@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz#c08892e8819d3a5db29031b115af511dbbfebae9"
- integrity sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-function-name@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz#6a467880e0fc9638514ba369111811ddbe2644b7"
- integrity sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==
- dependencies:
- "@babel/helper-function-name" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-literals@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz#9f42ba0841100a135f22712d0e391c462f571f3c"
- integrity sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-member-expression-literals@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz#b1ec44fcf195afcb8db2c62cd8e551c881baf8b7"
- integrity sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-modules-amd@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz#1b9cddaf05d9e88b3aad339cb3e445c4f020a9b1"
- integrity sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw==
- dependencies:
- "@babel/helper-module-transforms" "^7.10.5"
- "@babel/helper-plugin-utils" "^7.10.4"
- babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-commonjs@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz#66667c3eeda1ebf7896d41f1f16b17105a2fbca0"
- integrity sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==
- dependencies:
- "@babel/helper-module-transforms" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-simple-access" "^7.10.4"
- babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-systemjs@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz#6270099c854066681bae9e05f87e1b9cadbe8c85"
- integrity sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw==
- dependencies:
- "@babel/helper-hoist-variables" "^7.10.4"
- "@babel/helper-module-transforms" "^7.10.5"
- "@babel/helper-plugin-utils" "^7.10.4"
- babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-umd@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz#9a8481fe81b824654b3a0b65da3df89f3d21839e"
- integrity sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==
- dependencies:
- "@babel/helper-module-transforms" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-named-capturing-groups-regex@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz#78b4d978810b6f3bcf03f9e318f2fc0ed41aecb6"
- integrity sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.10.4"
-
-"@babel/plugin-transform-new-target@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz#9097d753cb7b024cb7381a3b2e52e9513a9c6888"
- integrity sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-object-super@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz#d7146c4d139433e7a6526f888c667e314a093894"
- integrity sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-replace-supers" "^7.10.4"
-
-"@babel/plugin-transform-parameters@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz#59d339d58d0b1950435f4043e74e2510005e2c4a"
- integrity sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw==
- dependencies:
- "@babel/helper-get-function-arity" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-property-literals@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz#f6fe54b6590352298785b83edd815d214c42e3c0"
- integrity sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-react-constant-elements@^7.0.0":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.10.4.tgz#0f485260bf1c29012bb973e7e404749eaac12c9e"
- integrity sha512-cYmQBW1pXrqBte1raMkAulXmi7rjg3VI6ZLg9QIic8Hq7BtYXaWuZSxsr2siOMI6SWwpxjWfnwhTUrd7JlAV7g==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-react-display-name@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.10.4.tgz#b5795f4e3e3140419c3611b7a2a3832b9aef328d"
- integrity sha512-Zd4X54Mu9SBfPGnEcaGcOrVAYOtjT2on8QZkLKEq1S/tHexG39d9XXGZv19VfRrDjPJzFmPfTAqOQS1pfFOujw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-react-jsx-development@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.10.4.tgz#6ec90f244394604623880e15ebc3c34c356258ba"
- integrity sha512-RM3ZAd1sU1iQ7rI2dhrZRZGv0aqzNQMbkIUCS1txYpi9wHQ2ZHNjo5TwX+UD6pvFW4AbWqLVYvKy5qJSAyRGjQ==
- dependencies:
- "@babel/helper-builder-react-jsx-experimental" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-jsx" "^7.10.4"
-
-"@babel/plugin-transform-react-jsx-self@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.10.4.tgz#cd301a5fed8988c182ed0b9d55e9bd6db0bd9369"
- integrity sha512-yOvxY2pDiVJi0axdTWHSMi5T0DILN+H+SaeJeACHKjQLezEzhLx9nEF9xgpBLPtkZsks9cnb5P9iBEi21En3gg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-jsx" "^7.10.4"
-
-"@babel/plugin-transform-react-jsx-source@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.10.5.tgz#34f1779117520a779c054f2cdd9680435b9222b4"
- integrity sha512-wTeqHVkN1lfPLubRiZH3o73f4rfon42HpgxUSs86Nc+8QIcm/B9s8NNVXu/gwGcOyd7yDib9ikxoDLxJP0UiDA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-jsx" "^7.10.4"
-
-"@babel/plugin-transform-react-jsx@^7.10.4", "@babel/plugin-transform-react-jsx@^7.3.0", "@babel/plugin-transform-react-jsx@^7.9.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.10.4.tgz#673c9f913948764a4421683b2bef2936968fddf2"
- integrity sha512-L+MfRhWjX0eI7Js093MM6MacKU4M6dnCRa/QPDwYMxjljzSCzzlzKzj9Pk4P3OtrPcxr2N3znR419nr3Xw+65A==
- dependencies:
- "@babel/helper-builder-react-jsx" "^7.10.4"
- "@babel/helper-builder-react-jsx-experimental" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-jsx" "^7.10.4"
-
-"@babel/plugin-transform-react-pure-annotations@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.10.4.tgz#3eefbb73db94afbc075f097523e445354a1c6501"
- integrity sha512-+njZkqcOuS8RaPakrnR9KvxjoG1ASJWpoIv/doyWngId88JoFlPlISenGXjrVacZUIALGUr6eodRs1vmPnF23A==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-regenerator@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz#2015e59d839074e76838de2159db421966fd8b63"
- integrity sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==
- dependencies:
- regenerator-transform "^0.14.2"
-
-"@babel/plugin-transform-reserved-words@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz#8f2682bcdcef9ed327e1b0861585d7013f8a54dd"
- integrity sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-runtime@^7.10.3":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.11.0.tgz#e27f78eb36f19448636e05c33c90fd9ad9b8bccf"
- integrity sha512-LFEsP+t3wkYBlis8w6/kmnd6Kb1dxTd+wGJ8MlxTGzQo//ehtqlVL4S9DNUa53+dtPSQobN2CXx4d81FqC58cw==
- dependencies:
- "@babel/helper-module-imports" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
- resolve "^1.8.1"
- semver "^5.5.1"
-
-"@babel/plugin-transform-shorthand-properties@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz#9fd25ec5cdd555bb7f473e5e6ee1c971eede4dd6"
- integrity sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-spread@^7.10.1", "@babel/plugin-transform-spread@^7.11.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz#fa84d300f5e4f57752fe41a6d1b3c554f13f17cc"
- integrity sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0"
-
-"@babel/plugin-transform-sticky-regex@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz#8f3889ee8657581130a29d9cc91d7c73b7c4a28d"
- integrity sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-regex" "^7.10.4"
-
-"@babel/plugin-transform-template-literals@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz#78bc5d626a6642db3312d9d0f001f5e7639fde8c"
- integrity sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-typeof-symbol@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz#9509f1a7eec31c4edbffe137c16cc33ff0bc5bfc"
- integrity sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-typescript@^7.10.4":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.11.0.tgz#2b4879676af37342ebb278216dd090ac67f13abb"
- integrity sha512-edJsNzTtvb3MaXQwj8403B7mZoGu9ElDJQZOKjGUnvilquxBA3IQoEIOvkX/1O8xfAsnHS/oQhe2w/IXrr+w0w==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.10.5"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-typescript" "^7.10.4"
-
-"@babel/plugin-transform-unicode-escapes@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz#feae523391c7651ddac115dae0a9d06857892007"
- integrity sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-transform-unicode-regex@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz#e56d71f9282fac6db09c82742055576d5e6d80a8"
- integrity sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/preset-env@^7.10.3", "@babel/preset-env@^7.4.5":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.11.0.tgz#860ee38f2ce17ad60480c2021ba9689393efb796"
- integrity sha512-2u1/k7rG/gTh02dylX2kL3S0IJNF+J6bfDSp4DI2Ma8QN6Y9x9pmAax59fsCk6QUQG0yqH47yJWA+u1I1LccAg==
- dependencies:
- "@babel/compat-data" "^7.11.0"
- "@babel/helper-compilation-targets" "^7.10.4"
- "@babel/helper-module-imports" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-proposal-async-generator-functions" "^7.10.4"
- "@babel/plugin-proposal-class-properties" "^7.10.4"
- "@babel/plugin-proposal-dynamic-import" "^7.10.4"
- "@babel/plugin-proposal-export-namespace-from" "^7.10.4"
- "@babel/plugin-proposal-json-strings" "^7.10.4"
- "@babel/plugin-proposal-logical-assignment-operators" "^7.11.0"
- "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.4"
- "@babel/plugin-proposal-numeric-separator" "^7.10.4"
- "@babel/plugin-proposal-object-rest-spread" "^7.11.0"
- "@babel/plugin-proposal-optional-catch-binding" "^7.10.4"
- "@babel/plugin-proposal-optional-chaining" "^7.11.0"
- "@babel/plugin-proposal-private-methods" "^7.10.4"
- "@babel/plugin-proposal-unicode-property-regex" "^7.10.4"
- "@babel/plugin-syntax-async-generators" "^7.8.0"
- "@babel/plugin-syntax-class-properties" "^7.10.4"
- "@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.10.4"
- "@babel/plugin-transform-arrow-functions" "^7.10.4"
- "@babel/plugin-transform-async-to-generator" "^7.10.4"
- "@babel/plugin-transform-block-scoped-functions" "^7.10.4"
- "@babel/plugin-transform-block-scoping" "^7.10.4"
- "@babel/plugin-transform-classes" "^7.10.4"
- "@babel/plugin-transform-computed-properties" "^7.10.4"
- "@babel/plugin-transform-destructuring" "^7.10.4"
- "@babel/plugin-transform-dotall-regex" "^7.10.4"
- "@babel/plugin-transform-duplicate-keys" "^7.10.4"
- "@babel/plugin-transform-exponentiation-operator" "^7.10.4"
- "@babel/plugin-transform-for-of" "^7.10.4"
- "@babel/plugin-transform-function-name" "^7.10.4"
- "@babel/plugin-transform-literals" "^7.10.4"
- "@babel/plugin-transform-member-expression-literals" "^7.10.4"
- "@babel/plugin-transform-modules-amd" "^7.10.4"
- "@babel/plugin-transform-modules-commonjs" "^7.10.4"
- "@babel/plugin-transform-modules-systemjs" "^7.10.4"
- "@babel/plugin-transform-modules-umd" "^7.10.4"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.10.4"
- "@babel/plugin-transform-new-target" "^7.10.4"
- "@babel/plugin-transform-object-super" "^7.10.4"
- "@babel/plugin-transform-parameters" "^7.10.4"
- "@babel/plugin-transform-property-literals" "^7.10.4"
- "@babel/plugin-transform-regenerator" "^7.10.4"
- "@babel/plugin-transform-reserved-words" "^7.10.4"
- "@babel/plugin-transform-shorthand-properties" "^7.10.4"
- "@babel/plugin-transform-spread" "^7.11.0"
- "@babel/plugin-transform-sticky-regex" "^7.10.4"
- "@babel/plugin-transform-template-literals" "^7.10.4"
- "@babel/plugin-transform-typeof-symbol" "^7.10.4"
- "@babel/plugin-transform-unicode-escapes" "^7.10.4"
- "@babel/plugin-transform-unicode-regex" "^7.10.4"
- "@babel/preset-modules" "^0.1.3"
- "@babel/types" "^7.11.0"
- browserslist "^4.12.0"
- core-js-compat "^3.6.2"
- invariant "^2.2.2"
- levenary "^1.1.1"
- semver "^5.5.0"
-
-"@babel/preset-modules@^0.1.3":
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72"
- integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==
- dependencies:
- "@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@^7.0.0", "@babel/preset-react@^7.10.1":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.10.4.tgz#92e8a66d816f9911d11d4cc935be67adfc82dbcf"
- integrity sha512-BrHp4TgOIy4M19JAfO1LhycVXOPWdDbTRep7eVyatf174Hff+6Uk53sDyajqZPu8W1qXRBiYOfIamek6jA7YVw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-transform-react-display-name" "^7.10.4"
- "@babel/plugin-transform-react-jsx" "^7.10.4"
- "@babel/plugin-transform-react-jsx-development" "^7.10.4"
- "@babel/plugin-transform-react-jsx-self" "^7.10.4"
- "@babel/plugin-transform-react-jsx-source" "^7.10.4"
- "@babel/plugin-transform-react-pure-annotations" "^7.10.4"
-
-"@babel/preset-typescript@^7.10.1", "@babel/preset-typescript@^7.3.3":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.10.4.tgz#7d5d052e52a682480d6e2cc5aa31be61c8c25e36"
- integrity sha512-SdYnvGPv+bLlwkF2VkJnaX/ni1sMNetcGI1+nThF1gyv6Ph8Qucc4ZZAjM5yZcE/AKRXIOTZz7eSRDWOEjPyRQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-transform-typescript" "^7.10.4"
-
-"@babel/runtime-corejs3@^7.10.2":
- version "7.11.2"
- resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.11.2.tgz#02c3029743150188edeb66541195f54600278419"
- integrity sha512-qh5IR+8VgFz83VBa6OkaET6uN/mJOhHONuy3m1sgF0CV6mXdPSEBdA7e1eUbVvyNtANjMbg22JUv71BaDXLY6A==
- dependencies:
- 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.1", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.2.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4":
- version "7.11.2"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736"
- integrity sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==
- dependencies:
- regenerator-runtime "^0.13.4"
-
-"@babel/standalone@^7.10.2":
- version "7.11.3"
- resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.11.3.tgz#043e6ff3b12226e41ed2013418b9a4c055d9c21e"
- integrity sha512-rcoT32Hw0faYhmCDR0P84ODKL5kpEdhYPgdzlTKs7+v9oJaVLsGvq0xlkmLRj01F6LrItH3tY9eEoRsPLie4RQ==
-
-"@babel/template@^7.10.4", "@babel/template@^7.8.6":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278"
- integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==
- dependencies:
- "@babel/code-frame" "^7.10.4"
- "@babel/parser" "^7.10.4"
- "@babel/types" "^7.10.4"
-
-"@babel/traverse@^7.10.2", "@babel/traverse@^7.10.3", "@babel/traverse@^7.10.4", "@babel/traverse@^7.10.5", "@babel/traverse@^7.11.0", "@babel/traverse@^7.7.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.0.tgz#9b996ce1b98f53f7c3e4175115605d56ed07dd24"
- integrity sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg==
- dependencies:
- "@babel/code-frame" "^7.10.4"
- "@babel/generator" "^7.11.0"
- "@babel/helper-function-name" "^7.10.4"
- "@babel/helper-split-export-declaration" "^7.11.0"
- "@babel/parser" "^7.11.0"
- "@babel/types" "^7.11.0"
- debug "^4.1.0"
- globals "^11.1.0"
- lodash "^4.17.19"
-
-"@babel/types@^7.10.3", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.6":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.0.tgz#2ae6bf1ba9ae8c3c43824e5861269871b206e90d"
- integrity sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA==
- dependencies:
- "@babel/helper-validator-identifier" "^7.10.4"
- lodash "^4.17.19"
- to-fast-properties "^2.0.0"
-
-"@braintree/sanitize-url@^3.1.0":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-3.1.0.tgz#8ff71d51053cd5ee4981e5a501d80a536244f7fd"
- integrity sha512-GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==
-
-"@emotion/babel-plugin-jsx-pragmatic@^0.1.5":
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/@emotion/babel-plugin-jsx-pragmatic/-/babel-plugin-jsx-pragmatic-0.1.5.tgz#27debfe9c27c4d83574d509787ae553bf8a34d7e"
- integrity sha512-y+3AJ0SItMDaAgGPVkQBC/S/BaqaPACkQ6MyCI2CUlrjTxKttTVfD3TMtcs7vLEcLxqzZ1xiG0vzwCXjhopawQ==
- dependencies:
- "@babel/plugin-syntax-jsx" "^7.2.0"
-
-"@emotion/babel-preset-css-prop@^10.0.27":
- version "10.0.27"
- resolved "https://registry.yarnpkg.com/@emotion/babel-preset-css-prop/-/babel-preset-css-prop-10.0.27.tgz#58868d9a6afee0eeaeb0fa9dc5ccb1b12d4f786b"
- integrity sha512-rducrjTpLGDholp0l2l4pXqpzAqYYGMg/x4IteO0db2smf6zegn6RRZdDnbaoMSs63tfPWgo2WukT1/F1gX/AA==
- dependencies:
- "@babel/plugin-transform-react-jsx" "^7.3.0"
- "@babel/runtime" "^7.5.5"
- "@emotion/babel-plugin-jsx-pragmatic" "^0.1.5"
- babel-plugin-emotion "^10.0.27"
-
-"@emotion/cache@^10.0.15", "@emotion/cache@^10.0.27":
- version "10.0.29"
- resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.29.tgz#87e7e64f412c060102d589fe7c6dc042e6f9d1e0"
- integrity sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==
- dependencies:
- "@emotion/sheet" "0.9.4"
- "@emotion/stylis" "0.8.5"
- "@emotion/utils" "0.11.3"
- "@emotion/weak-memoize" "0.2.5"
-
-"@emotion/core@^10.0.14", "@emotion/core@^10.0.15", "@emotion/core@^10.0.7":
- version "10.0.34"
- resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.0.34.tgz#a643889dc32bdde829482539c9438a026631187c"
- integrity sha512-Kcs8WHZG1NgaVFQsSpgN07G0xpfPAKUclwKvUqKrYrJovezl9uTz++1M4JfXHrgFVEiJ5QO46hMo1ZDDfvY/tw==
- dependencies:
- "@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@^10.0.27":
- version "10.0.27"
- resolved "https://registry.yarnpkg.com/@emotion/css/-/css-10.0.27.tgz#3a7458198fbbebb53b01b2b87f64e5e21241e14c"
- integrity sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==
- dependencies:
- "@emotion/serialize" "^0.11.15"
- "@emotion/utils" "0.11.3"
- babel-plugin-emotion "^10.0.27"
-
-"@emotion/hash@0.8.0":
- version "0.8.0"
- resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413"
- integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==
-
-"@emotion/is-prop-valid@0.8.8", "@emotion/is-prop-valid@^0.8.1":
- version "0.8.8"
- resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a"
- integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==
- dependencies:
- "@emotion/memoize" "0.7.4"
-
-"@emotion/memoize@0.7.4":
- version "0.7.4"
- resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb"
- integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==
-
-"@emotion/serialize@^0.11.15", "@emotion/serialize@^0.11.16":
- version "0.11.16"
- resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.16.tgz#dee05f9e96ad2fb25a5206b6d759b2d1ed3379ad"
- integrity sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==
- dependencies:
- "@emotion/hash" "0.8.0"
- "@emotion/memoize" "0.7.4"
- "@emotion/unitless" "0.7.5"
- "@emotion/utils" "0.11.3"
- csstype "^2.5.7"
-
-"@emotion/sheet@0.9.4":
- version "0.9.4"
- resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.4.tgz#894374bea39ec30f489bbfc3438192b9774d32e5"
- integrity sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==
-
-"@emotion/styled-base@^10.0.27":
- version "10.0.31"
- resolved "https://registry.yarnpkg.com/@emotion/styled-base/-/styled-base-10.0.31.tgz#940957ee0aa15c6974adc7d494ff19765a2f742a"
- integrity sha512-wTOE1NcXmqMWlyrtwdkqg87Mu6Rj1MaukEoEmEkHirO5IoHDJ8LgCQL4MjJODgxWxXibGR3opGp1p7YvkNEdXQ==
- dependencies:
- "@babel/runtime" "^7.5.5"
- "@emotion/is-prop-valid" "0.8.8"
- "@emotion/serialize" "^0.11.15"
- "@emotion/utils" "0.11.3"
-
-"@emotion/styled@^10.0.14", "@emotion/styled@^10.0.7":
- version "10.0.27"
- resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-10.0.27.tgz#12cb67e91f7ad7431e1875b1d83a94b814133eaf"
- integrity sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==
- dependencies:
- "@emotion/styled-base" "^10.0.27"
- babel-plugin-emotion "^10.0.27"
-
-"@emotion/stylis@0.8.5":
- version "0.8.5"
- resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04"
- integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==
-
-"@emotion/unitless@0.7.5":
- version "0.7.5"
- resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed"
- integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
-
-"@emotion/utils@0.11.3":
- version "0.11.3"
- resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.3.tgz#a759863867befa7e583400d322652a3f44820924"
- integrity sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==
-
-"@emotion/weak-memoize@0.2.5":
- version "0.2.5"
- resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46"
- integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==
-
-"@graphql-tools/schema@^6.0.14":
- version "6.0.17"
- resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-6.0.17.tgz#5ec06205770839b63a4eeb91cb3f026c6c49eae3"
- integrity sha512-Fpuvsmc1hUF+dgebEYEQryRGj+HS0jdmVmXR4ojMT9mkwROdGtwH3G18zy15feNLe1k3hKp6HdS5TI8fUkwdKg==
- dependencies:
- "@graphql-tools/utils" "6.0.17"
- tslib "~2.0.0"
-
-"@graphql-tools/utils@6.0.17", "@graphql-tools/utils@^6.0.14":
- version "6.0.17"
- resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-6.0.17.tgz#d3958b126ec435c59a9299483291e3bd07401f8f"
- integrity sha512-msV5a15fd6g5LnR+9EwrWin/OV0Ixy/dFkcXMLPmCVbh9cXtqVU9eqmLYxKRM8p4kXoBGlWAgibBaLhrSrLgjw==
- dependencies:
- "@ardatan/aggregate-error" "0.0.1"
- camel-case "4.1.1"
-
-"@hapi/address@2.x.x":
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"
- integrity sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==
-
-"@hapi/bourne@1.x.x":
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a"
- integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==
-
-"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0":
- version "8.5.1"
- resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06"
- integrity sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==
-
-"@hapi/joi@^15.1.1":
- version "15.1.1"
- resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7"
- integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==
- dependencies:
- "@hapi/address" "2.x.x"
- "@hapi/bourne" "1.x.x"
- "@hapi/hoek" "8.x.x"
- "@hapi/topo" "3.x.x"
-
-"@hapi/topo@3.x.x":
- version "3.1.6"
- resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29"
- integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==
- dependencies:
- "@hapi/hoek" "^8.3.0"
-
-"@jest/types@^25.5.0":
- version "25.5.0"
- resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d"
- integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==
- dependencies:
- "@types/istanbul-lib-coverage" "^2.0.0"
- "@types/istanbul-reports" "^1.1.1"
- "@types/yargs" "^15.0.0"
- chalk "^3.0.0"
-
-"@kwsites/file-exists@^1.1.1":
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/@kwsites/file-exists/-/file-exists-1.1.1.tgz#ad1efcac13e1987d8dbaf235ef3be5b0d96faa99"
- integrity sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==
- dependencies:
- debug "^4.1.1"
-
-"@kwsites/promise-deferred@^1.1.1":
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz#8ace5259254426ccef57f3175bc64ed7095ed919"
- integrity sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==
-
-"@mapbox/hast-util-table-cell-style@^0.1.3":
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/@mapbox/hast-util-table-cell-style/-/hast-util-table-cell-style-0.1.3.tgz#5b7166ae01297d72216932b245e4b2f0b642dca6"
- integrity sha512-QsEsh5YaDvHoMQ2YHdvZy2iDnU3GgKVBTcHf6cILyoWDZtPSdlG444pL/ioPYO/GpXSfODBb9sefEetfC4v9oA==
- dependencies:
- unist-util-visit "^1.3.0"
-
-"@mdx-js/mdx@^1.1.0":
- version "1.6.16"
- resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.6.16.tgz#f01af0140539c1ce043d246259d8becd2153b2bb"
- integrity sha512-jnYyJ0aCafCIehn3GjYcibIapaLBgs3YkoenNQBPcPFyyuUty7B3B07OE+pMllhJ6YkWeP/R5Ax19x0nqTzgJw==
- dependencies:
- "@babel/core" "7.10.5"
- "@babel/plugin-syntax-jsx" "7.10.4"
- "@babel/plugin-syntax-object-rest-spread" "7.8.3"
- "@mdx-js/util" "1.6.16"
- babel-plugin-apply-mdx-type-prop "1.6.16"
- babel-plugin-extract-import-names "1.6.16"
- camelcase-css "2.0.1"
- detab "2.0.3"
- hast-util-raw "6.0.0"
- lodash.uniq "4.5.0"
- mdast-util-to-hast "9.1.0"
- remark-footnotes "1.0.0"
- remark-mdx "1.6.16"
- remark-parse "8.0.3"
- remark-squeeze-paragraphs "4.0.0"
- style-to-object "0.3.0"
- unified "9.1.0"
- unist-builder "2.0.3"
- unist-util-visit "2.0.3"
-
-"@mdx-js/mdx@^2.0.0-next.4", "@mdx-js/mdx@^2.0.0-next.7":
- version "2.0.0-next.7"
- resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-2.0.0-next.7.tgz#3f27449e6a78ac0a9cc682f98e1c93442e93f166"
- integrity sha512-GcdHQ+YTlIaNpsMPlw32kEp+GCrb+2GLeDDf2AFtJiRoTelgCinjYp1twxY42WF6A4K80ZYgpr0/A6PDQbKNyw==
- dependencies:
- "@babel/core" "7.10.5"
- "@babel/plugin-syntax-jsx" "7.10.4"
- "@babel/plugin-syntax-object-rest-spread" "7.8.3"
- "@mdx-js/util" "^2.0.0-next.7"
- babel-plugin-apply-mdx-type-prop "^2.0.0-next.7"
- babel-plugin-extract-export-names "^2.0.0-next.7"
- babel-plugin-extract-import-names "^2.0.0-next.7"
- camelcase-css "2.0.1"
- detab "2.0.3"
- hast-to-hyperscript "9.0.0"
- hast-util-raw "6.0.0"
- lodash.uniq "4.5.0"
- mdast-util-to-hast "9.1.0"
- remark-footnotes "1.0.0"
- remark-mdx "^2.0.0-next.7"
- remark-mdxjs "^2.0.0-next.7"
- remark-parse "8.0.2"
- remark-squeeze-paragraphs "4.0.0"
- unified "9.0.0"
- unist-builder "2.0.3"
- unist-util-visit "2.0.3"
-
-"@mdx-js/react@^1.0.27", "@mdx-js/react@^1.5.2":
- version "1.6.16"
- resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-1.6.16.tgz#538eb14473194d0b3c54020cb230e426174315cd"
- integrity sha512-+FhuSVOPo7+4fZaRwWuCSRUcZkJOkZu0rfAbBKvoCg1LWb1Td8Vzi0DTLORdSvgWNbU6+EL40HIgwTOs00x2Jw==
-
-"@mdx-js/react@^2.0.0-next.4", "@mdx-js/react@^2.0.0-next.7":
- version "2.0.0-next.7"
- resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-2.0.0-next.7.tgz#33d3a2a961d5f2ebf36d096642c2a306111feae4"
- integrity sha512-VugV3o0zOD6pABtQEDDWNxiU8f+tS4KMiOgnwNiyxxOEwEZgBnXfMhZYDtHfrnhHxS59ValJ5zITnbdBwPbJkA==
-
-"@mdx-js/runtime@^2.0.0-next.4":
- version "2.0.0-next.7"
- resolved "https://registry.yarnpkg.com/@mdx-js/runtime/-/runtime-2.0.0-next.7.tgz#6efd063bc9bec85a16e38fddab02d12812c05d43"
- integrity sha512-+Nnjjs1LsdxkkdLODnFE0gz0B69uYJ+eUxScUBDoOY61jnm1NTvq/Axu3/Ax4YMtNwVCQMqBXXeOgLBDku1ISg==
- dependencies:
- "@mdx-js/mdx" "^2.0.0-next.7"
- "@mdx-js/react" "^2.0.0-next.7"
- buble-jsx-only "^0.19.8"
-
-"@mdx-js/util@1.6.16":
- version "1.6.16"
- resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.16.tgz#07a7342f6b61ea1ecbfb31e6e23bf7a8c79b9b57"
- integrity sha512-SFtLGIGZummuyMDPRL5KdmpgI8U19Ble28UjEWihPjGxF1Lgj8aDjLWY8KiaUy9eqb9CKiVCqEIrK9jbnANfkw==
-
-"@mdx-js/util@^2.0.0-next.7":
- version "2.0.0-next.7"
- resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-2.0.0-next.7.tgz#b1c52e7622917d7601b2c9ba2f132aaf8d4224fc"
- integrity sha512-gsid2rh63B7/U1gPLXz9N5bfWR+n5GYxAcVCJDf8H+XfCC7NHsEX9ZHL9IdmXndOPT4ZTSW6V/jD8VeQdvnzLQ==
-
-"@mikaelkristiansson/domready@^1.0.10":
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/@mikaelkristiansson/domready/-/domready-1.0.10.tgz#f6d69866c0857664e70690d7a0bfedb72143adb5"
- integrity sha512-6cDuZeKSCSJ1KvfEQ25Y8OXUjqDJZ+HgUs6dhASWbAX8fxVraTfPsSeRe2bN+4QJDsgUaXaMWBYfRomCr04GGg==
-
-"@mrmlnc/readdir-enhanced@^2.2.1":
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
- integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==
- dependencies:
- call-me-maybe "^1.0.1"
- glob-to-regexp "^0.3.0"
-
-"@nodelib/fs.scandir@2.1.3":
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b"
- integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==
- dependencies:
- "@nodelib/fs.stat" "2.0.3"
- run-parallel "^1.1.9"
-
-"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2":
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3"
- integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==
-
-"@nodelib/fs.stat@^1.1.2":
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
- integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
-
-"@nodelib/fs.walk@^1.2.3":
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976"
- integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==
- dependencies:
- "@nodelib/fs.scandir" "2.1.3"
- fastq "^1.6.0"
-
-"@pieh/friendly-errors-webpack-plugin@1.7.0-chalk-2":
- version "1.7.0-chalk-2"
- resolved "https://registry.yarnpkg.com/@pieh/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0-chalk-2.tgz#2e9da9d3ade9d18d013333eb408c457d04eabac0"
- integrity sha512-65+vYGuDkHBCWWjqzzR/Ck318+d6yTI00EqII9qe3aPD1J3Olhvw0X38uM5moQb1PK/ksDXwSoPGt/5QhCiotw==
- dependencies:
- chalk "^2.4.2"
- error-stack-parser "^2.0.0"
- string-width "^2.0.0"
- strip-ansi "^3"
-
-"@pmmmwh/react-refresh-webpack-plugin@^0.3.3":
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.3.3.tgz#40a3d674f42a011b7f30a9609aa8fb68ec3c39c9"
- integrity sha512-uc6FmPEegAZawSHjUMFQwU7EjaDn7zy1iD/KD/wBROL9F4378OES8MKMYHoRAKT61Fk7LxVKZSDR5VespMQiqw==
- dependencies:
- ansi-html "^0.0.7"
- error-stack-parser "^2.0.6"
- html-entities "^1.2.1"
- lodash.debounce "^4.0.8"
- native-url "^0.2.6"
- schema-utils "^2.6.5"
-
-"@popperjs/core@^2.4.4":
- version "2.4.4"
- resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.4.4.tgz#11d5db19bd178936ec89cd84519c4de439574398"
- integrity sha512-1oO6+dN5kdIA3sKPZhRGJTfGVP4SWV6KqlMOwry4J3HfyD68sl/3KmG7DeYUzvN+RbhXDnv/D8vNNB8168tAMg==
-
-"@reach/alert@0.10.3":
- version "0.10.3"
- resolved "https://registry.yarnpkg.com/@reach/alert/-/alert-0.10.3.tgz#9e4278edf8e6cfbe94df9a105faaa1c049a84517"
- integrity sha512-Nu0XRKsHdM4gblgIgfTyJSl2KV1vrRTVVCVpol/f/ZVckTXAM/qN0C+JCCZSMfdjtt3u29CX6pRNkVu3PLfYsQ==
- dependencies:
- "@reach/utils" "^0.10.3"
- "@reach/visually-hidden" "^0.10.2"
- prop-types "^15.7.2"
- tslib "^1.11.2"
-
-"@reach/auto-id@^0.10.3":
- version "0.10.5"
- resolved "https://registry.yarnpkg.com/@reach/auto-id/-/auto-id-0.10.5.tgz#fa78c71ce2f565ebed1ad91a8d9a685176d23c48"
- integrity sha512-we4/bwjFxJ3F+2eaddQ1HltbKvJ7AB8clkN719El7Zugpn/vOjfPMOVUiBqTmPGLUvkYrq4tpuFwLvk2HyOVHg==
- dependencies:
- "@reach/utils" "0.10.5"
- tslib "^2.0.0"
-
-"@reach/combobox@0.10.3":
- version "0.10.3"
- resolved "https://registry.yarnpkg.com/@reach/combobox/-/combobox-0.10.3.tgz#a5c2b76fdaf28a8872e5a49200570970da20e7e7"
- integrity sha512-Z9Xl+j4Tm9JNC6ouHhzL0lv2Y+Of5/tD7CnpxaVudeIeXQKjeg5YSUCnIBU/OTUtRsIllkgACk70SGHqvntQAw==
- dependencies:
- "@reach/auto-id" "^0.10.3"
- "@reach/descendants" "^0.10.3"
- "@reach/popover" "^0.10.3"
- "@reach/portal" "^0.10.3"
- "@reach/utils" "^0.10.3"
- highlight-words-core "1.2.2"
- prop-types "^15.7.2"
- tslib "^1.11.2"
-
-"@reach/descendants@^0.10.3":
- version "0.10.5"
- resolved "https://registry.yarnpkg.com/@reach/descendants/-/descendants-0.10.5.tgz#2611174e9e9b326dba548356221e2f8c8f5c8612"
- integrity sha512-8HhN4DwS/HsPQ+Ym/Ft/XJ1spXBYdE8hqpnbYR9UcU7Nx3oDbTIdhjA6JXXt23t5avYIx2jRa8YHCtVKSHuiwA==
- dependencies:
- "@reach/utils" "0.10.5"
- tslib "^2.0.0"
-
-"@reach/dialog@0.10.3":
- version "0.10.3"
- resolved "https://registry.yarnpkg.com/@reach/dialog/-/dialog-0.10.3.tgz#ba789809c3b194fff79d3bcb4a583c58e03edb83"
- integrity sha512-RMpUHNjRQhkjGzKt9/oLmDhwUBikW3JbEzgzZngq5MGY5kWRPwYInLDkEA8We4E43AbBsl5J/PRzQha9V+EEXw==
- dependencies:
- "@reach/portal" "^0.10.3"
- "@reach/utils" "^0.10.3"
- prop-types "^15.7.2"
- react-focus-lock "^2.3.1"
- react-remove-scroll "^2.3.0"
- tslib "^1.11.2"
-
-"@reach/menu-button@0.10.3":
- version "0.10.3"
- resolved "https://registry.yarnpkg.com/@reach/menu-button/-/menu-button-0.10.3.tgz#6e72cd122e16f28c4b15a140f329be256adc72c8"
- integrity sha512-50C5nl7JJG9YcKqngmwTLVft+ZF2MMieto1GSCC7qEU8ykUNz0p69Ipup+Eqjk7KRHpSIYPlYIfAOS75dDuiZQ==
- dependencies:
- "@reach/auto-id" "^0.10.3"
- "@reach/descendants" "^0.10.3"
- "@reach/popover" "^0.10.3"
- "@reach/utils" "^0.10.3"
- prop-types "^15.7.2"
- tslib "^1.11.2"
-
-"@reach/observe-rect@1.2.0":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@reach/observe-rect/-/observe-rect-1.2.0.tgz#d7a6013b8aafcc64c778a0ccb83355a11204d3b2"
- integrity sha512-Ba7HmkFgfQxZqqaeIWWkNK0rEhpxVQHIoVyW1YDSkGsGIXzcaW4deC8B0pZrNSSyLTdIk7y+5olKt5+g0GmFIQ==
-
-"@reach/popover@0.10.3":
- version "0.10.3"
- resolved "https://registry.yarnpkg.com/@reach/popover/-/popover-0.10.3.tgz#82e29b91748869923756a165758a29c8269b93e3"
- integrity sha512-41iNfdjd9/5HtYuhezTc9z9WGkloYFVB8wBmPX3QOTuBP4qYd0La5sXClrfyiVqPn/uj1gGzehrZKuh8oSkorw==
- dependencies:
- "@reach/portal" "^0.10.3"
- "@reach/rect" "^0.10.3"
- "@reach/utils" "^0.10.3"
- tabbable "^4.0.0"
- tslib "^1.11.2"
-
-"@reach/popover@^0.10.3":
- version "0.10.5"
- resolved "https://registry.yarnpkg.com/@reach/popover/-/popover-0.10.5.tgz#ccf89f6540e6477d8d087e78a8294e89295a743d"
- integrity sha512-S+qWIsjrN1yMpHjgELhjpdGc4Q3q1plJtXBGGQRxUAjmCUA/5OY7t5w5C8iqMNAEBwCvYXKvK/pLcXFxxLykSw==
- dependencies:
- "@reach/portal" "0.10.5"
- "@reach/rect" "0.10.5"
- "@reach/utils" "0.10.5"
- tabbable "^4.0.0"
- tslib "^2.0.0"
-
-"@reach/portal@0.10.5", "@reach/portal@^0.10.3":
- version "0.10.5"
- resolved "https://registry.yarnpkg.com/@reach/portal/-/portal-0.10.5.tgz#532ce8472fc99d6c556520f6c8d53333d89e49a4"
- integrity sha512-K5K8gW99yqDPDCWQjEfSNZAbGOQWSx5AN2lpuR1gDVoz4xyWpTJ0k0LbetYJTDVvLP/InEcR7AU42JaDYDCXQw==
- dependencies:
- "@reach/utils" "0.10.5"
- tslib "^2.0.0"
-
-"@reach/rect@0.10.5", "@reach/rect@^0.10.3":
- version "0.10.5"
- resolved "https://registry.yarnpkg.com/@reach/rect/-/rect-0.10.5.tgz#ba68722f155b146c6790e7d10a97dca1fd7ab14e"
- integrity sha512-JBKs2HniYecq5zLO6UFReX28SUBPM3n0aizdNgHuvwZmDcTfNV4jsuJYQLqJ+FbCQsrSHkBxKZqWpfGXY9bUEg==
- dependencies:
- "@reach/observe-rect" "1.2.0"
- "@reach/utils" "0.10.5"
- prop-types "^15.7.2"
- tslib "^2.0.0"
-
-"@reach/router@^1.3.4":
- version "1.3.4"
- resolved "https://registry.yarnpkg.com/@reach/router/-/router-1.3.4.tgz#d2574b19370a70c80480ed91f3da840136d10f8c"
- integrity sha512-+mtn9wjlB9NN2CNnnC/BRYtwdKBfSyyasPYraNAyvaV1occr/5NnB4CVzjEZipNHwYebQwcndGUmpFzxAUoqSA==
- dependencies:
- create-react-context "0.3.0"
- invariant "^2.2.3"
- prop-types "^15.6.1"
- react-lifecycles-compat "^3.0.4"
-
-"@reach/tabs@0.10.3":
- version "0.10.3"
- resolved "https://registry.yarnpkg.com/@reach/tabs/-/tabs-0.10.3.tgz#392461762b33af2476d26b3018e1489260532b85"
- integrity sha512-yKHyb4NRah9+V8kjkgzIXnj+FPG9aNfHX9uBs32A4MAG4RQLsZr9jBVSoWV1jxMUcYDe4CLtQj8qVphaW/GB2A==
- dependencies:
- "@reach/auto-id" "^0.10.3"
- "@reach/descendants" "^0.10.3"
- "@reach/utils" "^0.10.3"
- prop-types "^15.7.2"
- tslib "^1.11.2"
-
-"@reach/tooltip@0.10.3":
- version "0.10.3"
- resolved "https://registry.yarnpkg.com/@reach/tooltip/-/tooltip-0.10.3.tgz#0f34630aceaba7da7ad2dd23f92cc0d484e7113f"
- integrity sha512-tbj569uSJ+O86fAvR62lK8Tb00aTQxah6dFKgf06lskCGUoYzeFxkZTds9b+TRjzz9G1v68McQHwuAZUH0XrGA==
- dependencies:
- "@reach/auto-id" "^0.10.3"
- "@reach/portal" "^0.10.3"
- "@reach/rect" "^0.10.3"
- "@reach/utils" "^0.10.3"
- "@reach/visually-hidden" "^0.10.2"
- prop-types "^15.7.2"
- tslib "^1.11.2"
-
-"@reach/utils@0.10.5", "@reach/utils@^0.10.3":
- version "0.10.5"
- resolved "https://registry.yarnpkg.com/@reach/utils/-/utils-0.10.5.tgz#fbac944d29565f6dd7abd0e1b13950e99b1e470b"
- integrity sha512-5E/xxQnUbmpI/LrufBAOXjunl96DnqX6B4zC2MO2KH/dRzLug5gM5VuOwV26egsp0jvsSPxojwciOhS43px3qw==
- dependencies:
- "@types/warning" "^3.0.0"
- tslib "^2.0.0"
- warning "^4.0.3"
-
-"@reach/visually-hidden@^0.10.2":
- version "0.10.4"
- resolved "https://registry.yarnpkg.com/@reach/visually-hidden/-/visually-hidden-0.10.4.tgz#ab390db0adf759393af4d856f84375468b1df676"
- integrity sha512-GnuPuTRCf+Ih47BoKvGyB+jP8EVWLb04GfbGa5neOrjdp90qrb4zr7pMSL4ZvTsrxt9MRooJA2BhSxs5DbyqCQ==
- dependencies:
- tslib "^2.0.0"
-
-"@sindresorhus/is@^0.14.0":
- version "0.14.0"
- resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
- integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
-
-"@sindresorhus/is@^0.7.0":
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd"
- integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==
-
-"@sindresorhus/slugify@^0.9.1":
- version "0.9.1"
- resolved "https://registry.yarnpkg.com/@sindresorhus/slugify/-/slugify-0.9.1.tgz#892ad24d70b442c0a14fe519cb4019d59bc5069f"
- integrity sha512-b6heYM9dzZD13t2GOiEQTDE0qX+I1GyOotMwKh9VQqzuNiVdPVT8dM43fe9HNb/3ul+Qwd5oKSEDrDIfhq3bnQ==
- dependencies:
- escape-string-regexp "^1.0.5"
- lodash.deburr "^4.1.0"
-
-"@sinonjs/commons@^1", "@sinonjs/commons@^1.3.0", "@sinonjs/commons@^1.4.0", "@sinonjs/commons@^1.7.0":
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz#e7df00f98a203324f6dc7cc606cad9d4a8ab2217"
- integrity sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==
- dependencies:
- type-detect "4.0.8"
-
-"@sinonjs/formatio@^3.2.1":
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-3.2.2.tgz#771c60dfa75ea7f2d68e3b94c7e888a78781372c"
- integrity sha512-B8SEsgd8gArBLMD6zpRw3juQ2FVSsmdd7qlevyDqzS9WTCtvF55/gAL+h6gue8ZvPYcdiPdvueM/qm//9XzyTQ==
- dependencies:
- "@sinonjs/commons" "^1"
- "@sinonjs/samsam" "^3.1.0"
-
-"@sinonjs/samsam@^3.1.0", "@sinonjs/samsam@^3.3.3":
- version "3.3.3"
- resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-3.3.3.tgz#46682efd9967b259b81136b9f120fd54585feb4a"
- integrity sha512-bKCMKZvWIjYD0BLGnNrxVuw4dkWCYsLqFOUWw8VgKF/+5Y+mE7LfHWPIYoDXowH+3a9LsWDMo0uAP8YDosPvHQ==
- dependencies:
- "@sinonjs/commons" "^1.3.0"
- array-from "^2.1.1"
- lodash "^4.17.15"
-
-"@sinonjs/text-encoding@^0.7.1":
- version "0.7.1"
- resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5"
- integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==
-
-"@styled-system/css@^5.0.16":
- version "5.1.5"
- resolved "https://registry.yarnpkg.com/@styled-system/css/-/css-5.1.5.tgz#0460d5f3ff962fa649ea128ef58d9584f403bbbc"
- integrity sha512-XkORZdS5kypzcBotAMPBoeckDs9aSZVkvrAlq5K3xP8IMAUek+x2O4NtwoSgkYkWWzVBu6DGdFZLR790QWGG+A==
-
-"@svgr/babel-plugin-add-jsx-attribute@^4.2.0":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz#dadcb6218503532d6884b210e7f3c502caaa44b1"
- integrity sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig==
-
-"@svgr/babel-plugin-remove-jsx-attribute@^4.2.0":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz#297550b9a8c0c7337bea12bdfc8a80bb66f85abc"
- integrity sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ==
-
-"@svgr/babel-plugin-remove-jsx-empty-expression@^4.2.0":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz#c196302f3e68eab6a05e98af9ca8570bc13131c7"
- integrity sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w==
-
-"@svgr/babel-plugin-replace-jsx-attribute-value@^4.2.0":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165"
- integrity sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w==
-
-"@svgr/babel-plugin-svg-dynamic-title@^4.3.3":
- version "4.3.3"
- resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz#2cdedd747e5b1b29ed4c241e46256aac8110dd93"
- integrity sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w==
-
-"@svgr/babel-plugin-svg-em-dimensions@^4.2.0":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz#9a94791c9a288108d20a9d2cc64cac820f141391"
- integrity sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w==
-
-"@svgr/babel-plugin-transform-react-native-svg@^4.2.0":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz#151487322843359a1ca86b21a3815fd21a88b717"
- integrity sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw==
-
-"@svgr/babel-plugin-transform-svg-component@^4.2.0":
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697"
- integrity sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw==
-
-"@svgr/babel-preset@^4.3.3":
- version "4.3.3"
- resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.3.tgz#a75d8c2f202ac0e5774e6bfc165d028b39a1316c"
- integrity sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A==
- dependencies:
- "@svgr/babel-plugin-add-jsx-attribute" "^4.2.0"
- "@svgr/babel-plugin-remove-jsx-attribute" "^4.2.0"
- "@svgr/babel-plugin-remove-jsx-empty-expression" "^4.2.0"
- "@svgr/babel-plugin-replace-jsx-attribute-value" "^4.2.0"
- "@svgr/babel-plugin-svg-dynamic-title" "^4.3.3"
- "@svgr/babel-plugin-svg-em-dimensions" "^4.2.0"
- "@svgr/babel-plugin-transform-react-native-svg" "^4.2.0"
- "@svgr/babel-plugin-transform-svg-component" "^4.2.0"
-
-"@svgr/core@^4.3.3":
- version "4.3.3"
- resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.3.tgz#b37b89d5b757dc66e8c74156d00c368338d24293"
- integrity sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w==
- dependencies:
- "@svgr/plugin-jsx" "^4.3.3"
- camelcase "^5.3.1"
- cosmiconfig "^5.2.1"
-
-"@svgr/hast-util-to-babel-ast@^4.3.2":
- version "4.3.2"
- resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz#1d5a082f7b929ef8f1f578950238f630e14532b8"
- integrity sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==
- dependencies:
- "@babel/types" "^7.4.4"
-
-"@svgr/plugin-jsx@^4.3.3":
- version "4.3.3"
- resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz#e2ba913dbdfbe85252a34db101abc7ebd50992fa"
- integrity sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w==
- dependencies:
- "@babel/core" "^7.4.5"
- "@svgr/babel-preset" "^4.3.3"
- "@svgr/hast-util-to-babel-ast" "^4.3.2"
- svg-parser "^2.0.0"
-
-"@svgr/plugin-svgo@^4.3.1":
- version "4.3.1"
- resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz#daac0a3d872e3f55935c6588dd370336865e9e32"
- integrity sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==
- dependencies:
- cosmiconfig "^5.2.1"
- merge-deep "^3.0.2"
- svgo "^1.2.2"
-
-"@svgr/webpack@^4.2.0":
- version "4.3.3"
- resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.3.3.tgz#13cc2423bf3dff2d494f16b17eb7eacb86895017"
- integrity sha512-bjnWolZ6KVsHhgyCoYRFmbd26p8XVbulCzSG53BDQqAr+JOAderYK7CuYrB3bDjHJuF6LJ7Wrr42+goLRV9qIg==
- dependencies:
- "@babel/core" "^7.4.5"
- "@babel/plugin-transform-react-constant-elements" "^7.0.0"
- "@babel/preset-env" "^7.4.5"
- "@babel/preset-react" "^7.0.0"
- "@svgr/core" "^4.3.3"
- "@svgr/plugin-jsx" "^4.3.3"
- "@svgr/plugin-svgo" "^4.3.1"
- loader-utils "^1.2.3"
-
-"@szmarczak/http-timer@^1.1.2":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421"
- integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==
- dependencies:
- defer-to-connect "^1.0.1"
-
-"@tippyjs/react@^4.0.0":
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/@tippyjs/react/-/react-4.1.0.tgz#be4e826ac198d2394a5ffed3508ca9c098c527f1"
- integrity sha512-g6Dpm46edr9T9z+BYxd/eJZa6QMFc4T4z5xrztxVlkti7AhNYf7OaE6b3Nh+boUZZ9wn8xkNq9VrQM5K4huwnQ==
- dependencies:
- tippy.js "^6.2.0"
-
-"@turist/fetch@^7.1.6":
- version "7.1.6"
- resolved "https://registry.yarnpkg.com/@turist/fetch/-/fetch-7.1.6.tgz#85eb342e8dee82fe9c7e2fbfa2773abd776f0b62"
- integrity sha512-+wd8+GhYWRxjsqhzJLozcvj0Vo9bi9EMiAzsgDM187HrnEUOrk0jY+t61UEtmN8gZYqvs87aP1vjXL1uq11nQw==
- dependencies:
- "@types/node-fetch" "2"
-
-"@turist/time@^0.0.1":
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/@turist/time/-/time-0.0.1.tgz#57637d2a7d1860adb9f9cecbdcc966ce4f551d63"
- integrity sha512-M2BiThcbxMxSKX8W4z5u9jKZn6datnM3+FpEU+eYw0//l31E2xhqi7vTAuJ/Sf0P3yhp66SDJgPu3bRRpvrdQQ==
-
-"@types/classnames@^2.2.9":
- version "2.2.10"
- resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.2.10.tgz#cc658ca319b6355399efc1f5b9e818f1a24bf999"
- integrity sha512-1UzDldn9GfYYEsWWnn/P4wkTlkZDH7lDb0wBMGbtIQc9zXEQq7FlKBdZUn6OBqD8sKZZ2RQO2mAjGpXiDGoRmQ==
-
-"@types/color-name@^1.1.1":
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
- integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
-
-"@types/common-tags@^1.8.0":
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/@types/common-tags/-/common-tags-1.8.0.tgz#79d55e748d730b997be5b7fce4b74488d8b26a6b"
- integrity sha512-htRqZr5qn8EzMelhX/Xmx142z218lLyGaeZ3YR8jlze4TATRU9huKKvuBmAJEW4LCC4pnY1N6JAm6p85fMHjhg==
-
-"@types/configstore@^2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/@types/configstore/-/configstore-2.1.1.tgz#cd1e8553633ad3185c3f2f239ecff5d2643e92b6"
- integrity sha1-zR6FU2M60xhcPy8jns/10mQ+krY=
-
-"@types/debug@^0.0.30":
- version "0.0.30"
- resolved "https://registry.yarnpkg.com/@types/debug/-/debug-0.0.30.tgz#dc1e40f7af3b9c815013a7860e6252f6352a84df"
- integrity sha512-orGL5LXERPYsLov6CWs3Fh6203+dXzJkR7OnddIr2514Hsecwc8xRpzCapshBbKFImCsvS/mk6+FWiN5LyZJAQ==
-
-"@types/eslint-visitor-keys@^1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d"
- integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==
-
-"@types/estree@*":
- version "0.0.45"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884"
- integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==
-
-"@types/events@*":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
- integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==
-
-"@types/get-port@^3.2.0":
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/@types/get-port/-/get-port-3.2.0.tgz#f9e0a11443cc21336470185eae3dfba4495d29bc"
- integrity sha512-TiNg8R1kjDde5Pub9F9vCwZA/BNW9HeXP5b9j7Qucqncy/McfPZ6xze/EyBdXS5FhMIGN6Fx3vg75l5KHy3V1Q==
-
-"@types/glob@*", "@types/glob@^7.1.1":
- version "7.1.3"
- resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183"
- integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==
- dependencies:
- "@types/minimatch" "*"
- "@types/node" "*"
-
-"@types/glob@^5.0.34":
- version "5.0.36"
- resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.36.tgz#0c80a9c8664fc7d19781de229f287077fd622cb2"
- integrity sha512-KEzSKuP2+3oOjYYjujue6Z3Yqis5HKA1BsIC+jZ1v3lrRNdsqyNNtX0rQf6LSuI4DJJ2z5UV//zBZCcvM0xikg==
- dependencies:
- "@types/events" "*"
- "@types/minimatch" "*"
- "@types/node" "*"
-
-"@types/hast@^2.0.0":
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.1.tgz#b16872f2a6144c7025f296fb9636a667ebb79cd9"
- integrity sha512-viwwrB+6xGzw+G1eWpF9geV3fnsDgXqHG+cqgiHrvQfDUW5hzhCyV7Sy3UJxhfRFBsgky2SSW33qi/YrIkjX5Q==
- dependencies:
- "@types/unist" "*"
-
-"@types/history@*":
- version "4.7.7"
- resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.7.tgz#613957d900fab9ff84c8dfb24fa3eef0c2a40896"
- integrity sha512-2xtoL22/3Mv6a70i4+4RB7VgbDDORoWwjcqeNysojZA0R7NK17RbY5Gof/2QiFfJgX+KkWghbwJ+d/2SB8Ndzg==
-
-"@types/http-proxy@^1.17.4":
- version "1.17.4"
- resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.4.tgz#e7c92e3dbe3e13aa799440ff42e6d3a17a9d045b"
- integrity sha512-IrSHl2u6AWXduUaDLqYpt45tLVCtYv7o4Z0s1KghBCDgIIS9oW5K1H8mZG/A2CfeLdEa7rTd1ACOiHBc1EMT2Q==
- dependencies:
- "@types/node" "*"
-
-"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0":
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762"
- integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==
-
-"@types/istanbul-lib-report@*":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686"
- integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==
- dependencies:
- "@types/istanbul-lib-coverage" "*"
-
-"@types/istanbul-reports@^1.1.1":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2"
- integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==
- dependencies:
- "@types/istanbul-lib-coverage" "*"
- "@types/istanbul-lib-report" "*"
-
-"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.4":
- version "7.0.5"
- resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd"
- integrity sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==
-
-"@types/json5@^0.0.29":
- version "0.0.29"
- resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
- integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4=
-
-"@types/lodash.sample@^4.2.6":
- version "4.2.6"
- resolved "https://registry.yarnpkg.com/@types/lodash.sample/-/lodash.sample-4.2.6.tgz#ec7f6a6dbd0401c4a1e5f5b3c85fa5a85a42a84a"
- integrity sha512-hxBvsUjPcW1O8mC9TiBE4m8TwvLuUU+zW8J6GI1M6WmPg8J87mXGt7zavpJ/9Znb+0rVsSB3VNAjCFaJ9YUJKg==
- dependencies:
- "@types/lodash" "*"
-
-"@types/lodash@*", "@types/lodash@^4.14.92":
- version "4.14.159"
- resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.159.tgz#61089719dc6fdd9c5cb46efc827f2571d1517065"
- integrity sha512-gF7A72f7WQN33DpqOWw9geApQPh4M3PxluMtaHxWHXEGSN12/WbcEk/eNSqWNQcQhF66VSZ06vCF94CrHwXJDg==
-
-"@types/mdast@^3.0.0", "@types/mdast@^3.0.3":
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.3.tgz#2d7d671b1cd1ea3deb306ea75036c2a0407d2deb"
- integrity sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw==
- dependencies:
- "@types/unist" "*"
-
-"@types/minimatch@*":
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
- integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
-
-"@types/mkdirp@^0.5.2":
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-0.5.2.tgz#503aacfe5cc2703d5484326b1b27efa67a339c1f"
- integrity sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==
- dependencies:
- "@types/node" "*"
-
-"@types/node-fetch@2":
- version "2.5.7"
- resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.7.tgz#20a2afffa882ab04d44ca786449a276f9f6bbf3c"
- integrity sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==
- dependencies:
- "@types/node" "*"
- form-data "^3.0.0"
-
-"@types/node@*":
- version "14.0.27"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.27.tgz#a151873af5a5e851b51b3b065c9e63390a9e0eb1"
- integrity sha512-kVrqXhbclHNHGu9ztnAwSncIgJv/FaxmzXJvGXNdcCpV1b8u1/Mi6z6m0vwy0LzKeXFTPLH0NzwmoJ3fNCIq0g==
-
-"@types/node@^8.5.7":
- version "8.10.62"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.62.tgz#8d0d0db44a46ae7679d92e2e36d41bf1c3625d6a"
- integrity sha512-76fupxOYVxk36kb7O/6KtrAPZ9jnSK3+qisAX4tQMEuGNdlvl7ycwatlHqjoE6jHfVtXFM3pCrCixZOidc5cuw==
-
-"@types/parse-json@^4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
- integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
-
-"@types/parse5@^5.0.0":
- version "5.0.3"
- resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109"
- integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==
-
-"@types/prop-types@*":
- version "15.7.3"
- resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7"
- integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==
-
-"@types/q@^1.5.1":
- version "1.5.4"
- resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24"
- integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==
-
-"@types/reach__router@^1.3.3":
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.3.5.tgz#14e1e981cccd3a5e50dc9e969a72de0b9d472f6d"
- integrity sha512-h0NbqXN/tJuBY/xggZSej1SKQEstbHO7J/omt1tYoFGmj3YXOodZKbbqD4mNDh7zvEGYd7YFrac1LTtAr3xsYQ==
- dependencies:
- "@types/history" "*"
- "@types/react" "*"
-
-"@types/react@*":
- version "16.9.46"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.46.tgz#f0326cd7adceda74148baa9bff6e918632f5069e"
- integrity sha512-dbHzO3aAq1lB3jRQuNpuZ/mnu+CdD3H0WVaaBQA8LTT3S33xhVBUj232T8M3tAhSWJs/D/UqORYUlJNl/8VQZg==
- dependencies:
- "@types/prop-types" "*"
- csstype "^3.0.2"
-
-"@types/resolve@0.0.8":
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194"
- integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==
- dependencies:
- "@types/node" "*"
-
-"@types/rimraf@^2.0.2":
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-2.0.4.tgz#403887b0b53c6100a6c35d2ab24f6ccc042fec46"
- integrity sha512-8gBudvllD2A/c0CcEX/BivIDorHFt5UI5m46TsNj8DjWCCTTZT74kEe4g+QsY7P/B9WdO98d82zZgXO/RQzu2Q==
- dependencies:
- "@types/glob" "*"
- "@types/node" "*"
-
-"@types/tinycolor2@^1.4.2":
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/@types/tinycolor2/-/tinycolor2-1.4.2.tgz#721ca5c5d1a2988b4a886e35c2ffc5735b6afbdf"
- integrity sha512-PeHg/AtdW6aaIO2a+98Xj7rWY4KC1E6yOy7AFknJQ7VXUGNrMlyxDFxJo7HqLtjQms/ZhhQX52mLVW/EX3JGOw==
-
-"@types/tmp@^0.0.33":
- version "0.0.33"
- resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.0.33.tgz#1073c4bc824754ae3d10cfab88ab0237ba964e4d"
- integrity sha1-EHPEvIJHVK49EM+riKsCN7qWTk0=
-
-"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3":
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
- integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==
-
-"@types/vfile-message@*":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@types/vfile-message/-/vfile-message-2.0.0.tgz#690e46af0fdfc1f9faae00cd049cc888957927d5"
- integrity sha512-GpTIuDpb9u4zIO165fUy9+fXcULdD8HFRNli04GehoMVbeNq7D6OBnqSmg3lxZnC+UvgUhEWKxdKiwYUkGltIw==
- dependencies:
- vfile-message "*"
-
-"@types/vfile@^3.0.0":
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/@types/vfile/-/vfile-3.0.2.tgz#19c18cd232df11ce6fa6ad80259bc86c366b09b9"
- integrity sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==
- dependencies:
- "@types/node" "*"
- "@types/unist" "*"
- "@types/vfile-message" "*"
-
-"@types/warning@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@types/warning/-/warning-3.0.0.tgz#0d2501268ad8f9962b740d387c4654f5f8e23e52"
- integrity sha1-DSUBJorY+ZYrdA04fEZU9fjiPlI=
-
-"@types/yargs-parser@*":
- version "15.0.0"
- resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d"
- integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==
-
-"@types/yargs@^15.0.0":
- version "15.0.5"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz#947e9a6561483bdee9adffc983e91a6902af8b79"
- integrity sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==
- dependencies:
- "@types/yargs-parser" "*"
-
-"@types/yoga-layout@1.9.2":
- version "1.9.2"
- resolved "https://registry.yarnpkg.com/@types/yoga-layout/-/yoga-layout-1.9.2.tgz#efaf9e991a7390dc081a0b679185979a83a9639a"
- integrity sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==
-
-"@typescript-eslint/eslint-plugin@^2.24.0":
- version "2.34.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9"
- integrity sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==
- dependencies:
- "@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@2.34.0":
- version "2.34.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f"
- integrity sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==
- dependencies:
- "@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@^2.24.0":
- version "2.34.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8"
- integrity sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==
- dependencies:
- "@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@2.34.0":
- version "2.34.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5"
- integrity sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==
- dependencies:
- 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"
-
-"@urql/core@^1.12.3":
- version "1.12.3"
- resolved "https://registry.yarnpkg.com/@urql/core/-/core-1.12.3.tgz#74f7b8e073cf706380bb3dd28484b8136cc96905"
- integrity sha512-e4IXXQ4nes3KyusgYV925DuzfDAfo4ex7Ls3tZfOExkxEcXh0i0XnizXp0rvZmWRch69YCkc+Lh1Gy2aY49HTQ==
- dependencies:
- wonka "^4.0.14"
-
-"@webassemblyjs/ast@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964"
- integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==
- dependencies:
- "@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@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4"
- integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==
-
-"@webassemblyjs/helper-api-error@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2"
- integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==
-
-"@webassemblyjs/helper-buffer@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00"
- integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==
-
-"@webassemblyjs/helper-code-frame@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27"
- integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==
- dependencies:
- "@webassemblyjs/wast-printer" "1.9.0"
-
-"@webassemblyjs/helper-fsm@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8"
- integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==
-
-"@webassemblyjs/helper-module-context@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07"
- integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
-
-"@webassemblyjs/helper-wasm-bytecode@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790"
- integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==
-
-"@webassemblyjs/helper-wasm-section@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346"
- integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==
- dependencies:
- "@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@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4"
- integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==
- dependencies:
- "@xtuc/ieee754" "^1.2.0"
-
-"@webassemblyjs/leb128@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95"
- integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==
- dependencies:
- "@xtuc/long" "4.2.2"
-
-"@webassemblyjs/utf8@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab"
- integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==
-
-"@webassemblyjs/wasm-edit@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf"
- integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==
- dependencies:
- "@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@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c"
- integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==
- dependencies:
- "@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@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61"
- integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==
- dependencies:
- "@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@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e"
- integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==
- dependencies:
- "@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@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914"
- integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==
- dependencies:
- "@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@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899"
- integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/wast-parser" "1.9.0"
- "@xtuc/long" "4.2.2"
-
-"@xtuc/ieee754@^1.2.0":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
- integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
-
-"@xtuc/long@4.2.2":
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
- integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
-
-abstract-leveldown@~0.12.0, abstract-leveldown@~0.12.1:
- version "0.12.4"
- resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz#29e18e632e60e4e221d5810247852a63d7b2e410"
- integrity sha1-KeGOYy5g5OIh1YECR4UqY9ey5BA=
- dependencies:
- xtend "~3.0.0"
-
-accepts@^1.3.7, accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7:
- version "1.3.7"
- resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
- integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
- dependencies:
- mime-types "~2.1.24"
- negotiator "0.6.2"
-
-acorn-dynamic-import@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948"
- integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==
-
-acorn-jsx@^5.0.1, acorn-jsx@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe"
- integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==
-
-acorn@^5.7.3:
- version "5.7.4"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e"
- integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==
-
-acorn@^6.1.1, acorn@^6.4.1:
- version "6.4.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
- integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==
-
-acorn@^7.1.0, acorn@^7.1.1, acorn@^7.2.0:
- version "7.4.0"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c"
- integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==
-
-address@1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9"
- integrity sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg==
-
-address@1.1.2, address@^1.0.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6"
- integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==
-
-after@0.8.2:
- version "0.8.2"
- resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
- integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=
-
-agent-base@^4.3.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee"
- integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==
- dependencies:
- es6-promisify "^5.0.0"
-
-aggregate-error@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0"
- integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==
- dependencies:
- clean-stack "^2.0.0"
- indent-string "^4.0.0"
-
-ajv-errors@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
- integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
-
-ajv-keywords@^3.1.0, ajv-keywords@^3.4.1:
- version "3.5.2"
- resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
- integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
-
-ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3:
- version "6.12.3"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706"
- integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==
- dependencies:
- fast-deep-equal "^3.1.1"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.4.1"
- uri-js "^4.2.2"
-
-alphanum-sort@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
- integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=
-
-amazon-cognito-identity-js@^4.3.3:
- version "4.3.3"
- resolved "https://registry.yarnpkg.com/amazon-cognito-identity-js/-/amazon-cognito-identity-js-4.3.3.tgz#1b940fbd0d9e7eeb78f8944b8dc2a06ea01f1b5f"
- integrity sha512-LrOJU8zhRrfO9C+zYNYbLYg67i607eVWQW1kQXuxMieq0e9i/ThAuZoUq8OV/rprmjQRFvg9EHhY24OlmC7OAA==
- dependencies:
- buffer "4.9.1"
- crypto-js "^3.3.0"
- js-cookie "^2.1.4"
-
-ansi-align@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb"
- integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==
- dependencies:
- string-width "^3.0.0"
-
-ansi-colors@^3.0.0:
- version "3.2.4"
- resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
- integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==
-
-ansi-escapes@^3.0.0, ansi-escapes@^3.1.0, ansi-escapes@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
- integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
-
-ansi-escapes@^4.2.1:
- version "4.3.1"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61"
- integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==
- dependencies:
- type-fest "^0.11.0"
-
-ansi-html@0.0.7, ansi-html@^0.0.7:
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
- integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4=
-
-ansi-regex@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
- integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
-
-ansi-regex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
- integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
-
-ansi-regex@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
- integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
-
-ansi-regex@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
- integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
-
-ansi-styles@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
- integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
-
-ansi-styles@^3.2.0, ansi-styles@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
- integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
- dependencies:
- color-convert "^1.9.0"
-
-ansi-styles@^4.0.0, ansi-styles@^4.1.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
- integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
- dependencies:
- "@types/color-name" "^1.1.1"
- color-convert "^2.0.1"
-
-antd@^4.0.0, antd@^4.2.4:
- version "4.5.3"
- resolved "https://registry.yarnpkg.com/antd/-/antd-4.5.3.tgz#1ea0cf501e1e71626a4a57ca5e6d9544470afc09"
- integrity sha512-/drsnAfUjrdDrIni7zmbRk4HwtuWszj+D6WBCWKh6JO3XLvCjNMJN0ayYMykS80FPw4RaOx0tl2yKhiQODvBgA==
- dependencies:
- "@ant-design/css-animation" "^1.7.2"
- "@ant-design/icons" "^4.2.1"
- "@ant-design/react-slick" "~0.27.0"
- "@babel/runtime" "^7.10.4"
- array-tree-filter "^2.1.0"
- classnames "^2.2.6"
- copy-to-clipboard "^3.2.0"
- lodash "^4.17.13"
- moment "^2.25.3"
- omit.js "^2.0.2"
- raf "^3.4.1"
- rc-animate "~3.1.0"
- rc-cascader "~1.3.0"
- rc-checkbox "~2.3.0"
- rc-collapse "~2.0.0"
- rc-dialog "~8.1.0"
- rc-drawer "~4.1.0"
- rc-dropdown "~3.1.2"
- rc-field-form "~1.8.0"
- rc-input-number "~6.0.0"
- rc-mentions "~1.4.0"
- rc-menu "~8.5.2"
- rc-motion "^1.0.0"
- rc-notification "~4.4.0"
- rc-pagination "~2.4.5"
- rc-picker "~1.15.1"
- rc-progress "~3.0.0"
- rc-rate "~2.8.2"
- rc-resize-observer "^0.2.3"
- rc-select "~11.0.12"
- rc-slider "~9.3.0"
- rc-steps "~4.1.0"
- rc-switch "~3.2.0"
- rc-table "~7.8.0"
- rc-tabs "~11.5.0"
- rc-textarea "~0.3.0"
- rc-tooltip "~4.2.0"
- rc-tree "~3.8.5"
- rc-tree-select "~4.1.1"
- rc-trigger "~4.4.0"
- rc-upload "~3.2.0"
- rc-util "^5.0.1"
- scroll-into-view-if-needed "^2.2.25"
- warning "^4.0.3"
-
-any-promise@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
- integrity sha1-q8av7tzqUugJzcA3au0845Y10X8=
-
-anymatch@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
- integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==
- dependencies:
- micromatch "^3.1.4"
- normalize-path "^2.1.1"
-
-anymatch@~3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
- integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==
- dependencies:
- normalize-path "^3.0.0"
- picomatch "^2.0.4"
-
-application-config-path@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/application-config-path/-/application-config-path-0.1.0.tgz#193c5f0a86541a4c66fba1e2dc38583362ea5e8f"
- integrity sha1-GTxfCoZUGkxm+6Hi3DhYM2LqXo8=
-
-aproba@^1.1.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
- integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
-
-arch@^2.1.1:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/arch/-/arch-2.1.2.tgz#0c52bbe7344bb4fa260c443d2cbad9c00ff2f0bf"
- integrity sha512-NTBIIbAfkJeIletyABbVtdPgeKfDafR+1mZV/AyyfC1UkVkp9iUjV+wwmqtUgphHYajbI86jejBJp5e+jkGTiQ==
-
-argparse@^1.0.7:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
- integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
- dependencies:
- sprintf-js "~1.0.2"
-
-aria-query@^4.2.2:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b"
- integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==
- dependencies:
- "@babel/runtime" "^7.10.2"
- "@babel/runtime-corejs3" "^7.10.2"
-
-arr-diff@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
- integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
-
-arr-flatten@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
- integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
-
-arr-union@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
- integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
-
-array-filter@~0.0.0:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec"
- integrity sha1-fajPLiZijtcygDWB/SH2fKzS7uw=
-
-array-find-index@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
- integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=
-
-array-flatten@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
- integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
-
-array-flatten@^2.1.0:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099"
- integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
-
-array-from@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz#cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195"
- integrity sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=
-
-array-includes@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348"
- integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.0"
- is-string "^1.0.5"
-
-array-iterate@^1.0.0:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/array-iterate/-/array-iterate-1.1.4.tgz#add1522e9dd9749bb41152d08b845bd08d6af8b7"
- integrity sha512-sNRaPGh9nnmdC8Zf+pT3UqP8rnWj5Hf9wiFGsX3wUQ2yVSIhO2ShFwCoceIPpB41QF6i2OEmrHmCo36xronCVA==
-
-array-map@~0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"
- integrity sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=
-
-array-reduce@~0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b"
- integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=
-
-array-tree-filter@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190"
- integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==
-
-array-union@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
- integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=
- dependencies:
- array-uniq "^1.0.1"
-
-array-union@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
- integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
-
-array-uniq@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
- integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=
-
-array-unique@^0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
- integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
-
-array.prototype.flat@^1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b"
- integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.0-next.1"
-
-array.prototype.flatmap@^1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz#1c13f84a178566042dd63de4414440db9222e443"
- integrity sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.0-next.1"
- function-bind "^1.1.1"
-
-arraybuffer.slice@~0.0.7:
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675"
- integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==
-
-arrify@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa"
- integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==
-
-asap@~2.0.3:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
- integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=
-
-asn1.js@^4.0.0:
- version "4.10.1"
- resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
- integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==
- dependencies:
- bn.js "^4.0.0"
- inherits "^2.0.1"
- minimalistic-assert "^1.0.0"
-
-asn1@~0.2.3:
- version "0.2.4"
- resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
- integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
- dependencies:
- safer-buffer "~2.1.0"
-
-assert-plus@1.0.0, assert-plus@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
- integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
-
-assert@^1.1.1:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb"
- integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==
- dependencies:
- object-assign "^4.1.1"
- util "0.10.3"
-
-assign-symbols@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
- integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
-
-ast-types-flow@^0.0.7:
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
- integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0=
-
-astral-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
- integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
-
-astral-regex@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
- integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
-
-async-cache@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/async-cache/-/async-cache-1.1.0.tgz#4a9a5a89d065ec5d8e5254bd9ee96ba76c532b5a"
- integrity sha1-SppaidBl7F2OUlS9nulrp2xTK1o=
- dependencies:
- lru-cache "^4.0.0"
-
-async-each@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
- integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
-
-async-limiter@~1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
- integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
-
-async-retry-ng@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/async-retry-ng/-/async-retry-ng-2.0.1.tgz#f5285ec1c52654a2ba6a505d0c18b1eadfaebd41"
- integrity sha512-iitlc2murdQ3/A5Re3CcplQBEf7vOmFrFQ6RFn3+/+zZUyIHYkZnnEziMSa6YIb2Bs2EJEPZWReTxjHqvQbDbw==
-
-async-validator@^3.0.3:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-3.4.0.tgz#871b3e594124bf4c4eb7bcd1a9e78b44f3b09cae"
- integrity sha512-VrFk4eYiJAWKskEz115iiuCf9O0ftnMMPXrOFMqyzGH2KxO7YwncKyn/FgOOP+0MDHMfXL7gLExagCutaZGigA==
-
-async@1.5.2:
- version "1.5.2"
- resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
- integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=
-
-async@^2.6.2:
- version "2.6.3"
- resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
- integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==
- dependencies:
- lodash "^4.17.14"
-
-asynckit@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
- integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
-
-atob@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
- integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
-
-auto-bind@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-4.0.0.tgz#e3589fc6c2da8f7ca43ba9f84fa52a744fc997fb"
- integrity sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==
-
-autoprefixer@^9.8.4:
- version "9.8.6"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f"
- integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==
- dependencies:
- 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"
-
-aws-amplify@^3.0.17:
- version "3.0.23"
- resolved "https://registry.yarnpkg.com/aws-amplify/-/aws-amplify-3.0.23.tgz#379de03b7b2e4facaffb7c84606b2b138dc01482"
- integrity sha512-qNvUptJ9d6/jLtPB1508X9qJx6SaB/7QKm5ym9WqxRdh13PVPePZwaSIzIalCWcZzx1lbS5XiYMphGbQdY/aWQ==
- dependencies:
- "@aws-amplify/analytics" "^3.2.6"
- "@aws-amplify/api" "^3.1.22"
- "@aws-amplify/auth" "^3.3.4"
- "@aws-amplify/cache" "^3.1.22"
- "@aws-amplify/core" "^3.4.5"
- "@aws-amplify/datastore" "^2.2.9"
- "@aws-amplify/interactions" "^3.1.22"
- "@aws-amplify/predictions" "^3.1.22"
- "@aws-amplify/pubsub" "^3.0.23"
- "@aws-amplify/storage" "^3.2.12"
- "@aws-amplify/ui" "^2.0.2"
- "@aws-amplify/xr" "^2.1.22"
-
-aws-sign2@~0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
- integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
-
-aws4@^1.8.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2"
- integrity sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==
-
-axe-core@^3.5.4:
- version "3.5.5"
- resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.5.5.tgz#84315073b53fa3c0c51676c588d59da09a192227"
- integrity sha512-5P0QZ6J5xGikH780pghEdbEKijCTrruK9KxtPZCFWUpef0f6GipO+xEZ5GKCb020mmqgbiNO6TcA55CriL784Q==
-
-axios@0.19.0:
- version "0.19.0"
- resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.0.tgz#8e09bff3d9122e133f7b8101c8fbdd00ed3d2ab8"
- integrity sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==
- dependencies:
- follow-redirects "1.5.10"
- is-buffer "^2.0.2"
-
-axios@^0.19.0, axios@^0.19.2:
- version "0.19.2"
- resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27"
- integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==
- dependencies:
- follow-redirects "1.5.10"
-
-axobject-query@^2.1.2:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be"
- integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==
-
-babel-code-frame@6.26.0, babel-code-frame@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
- integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
- dependencies:
- chalk "^1.1.3"
- esutils "^2.0.2"
- js-tokens "^3.0.2"
-
-babel-core@7.0.0-bridge.0:
- version "7.0.0-bridge.0"
- resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece"
- integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==
-
-babel-eslint@^10.1.0:
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232"
- integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==
- dependencies:
- "@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-loader@^8.1.0:
- version "8.1.0"
- resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3"
- integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==
- dependencies:
- find-cache-dir "^2.1.0"
- loader-utils "^1.4.0"
- mkdirp "^0.5.3"
- pify "^4.0.1"
- schema-utils "^2.6.5"
-
-babel-plugin-add-module-exports@^0.3.3:
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.3.3.tgz#b9f7c0a93b989170dce07c3e97071a905a13fc29"
- integrity sha512-hC37mm7aAdEb1n8SgggG8a1QuhZapsY/XLCi4ETSH6AVjXBCWEa50CXlOsAMPPWLnSx5Ns6mzz39uvuseh0Xjg==
- optionalDependencies:
- chokidar "^2.0.4"
-
-babel-plugin-apply-mdx-type-prop@1.6.16:
- version "1.6.16"
- resolved "https://registry.yarnpkg.com/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.16.tgz#4becd65b3aa108f15c524a0b125ca7c81f3443d8"
- integrity sha512-hjUd24Yhnr5NKtHpC2mcRBGjC6RUKGzSzjN9g5SdjT4WpL/JDlpmjyBf7vWsJJSXFvMIbzRyxF4lT9ukwOnj/w==
- dependencies:
- "@babel/helper-plugin-utils" "7.10.4"
- "@mdx-js/util" "1.6.16"
-
-babel-plugin-apply-mdx-type-prop@^2.0.0-next.7:
- version "2.0.0-next.7"
- resolved "https://registry.yarnpkg.com/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-2.0.0-next.7.tgz#6a2eeac3b0c281515c69cbc08d5163856e288e50"
- integrity sha512-JhT3sMNjNRzrMxpgkVUN5s3UvDpDCcUTsqsgZvIC2OXtQqNR8ZJxMHckbAJRWmz0YqyuVbFgLUQKpDGHAAB6GA==
- dependencies:
- "@babel/helper-plugin-utils" "7.10.4"
- "@mdx-js/util" "^2.0.0-next.7"
-
-babel-plugin-dynamic-import-node@^2.3.3:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3"
- integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==
- dependencies:
- object.assign "^4.1.0"
-
-babel-plugin-emotion@^10.0.27:
- version "10.0.33"
- resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.33.tgz#ce1155dcd1783bbb9286051efee53f4e2be63e03"
- integrity sha512-bxZbTTGz0AJQDHm8k6Rf3RQJ8tX2scsfsRyKVgAbiUPUNIRtlK+7JxP+TAd1kRLABFxe0CFm2VdK4ePkoA9FxQ==
- dependencies:
- "@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-extract-export-names@^2.0.0-next.7:
- version "2.0.0-next.7"
- resolved "https://registry.yarnpkg.com/babel-plugin-extract-export-names/-/babel-plugin-extract-export-names-2.0.0-next.7.tgz#26be2512f8535a92c47fc727ce2de873313658cd"
- integrity sha512-CTsKh5l99oBd5jemej5BHdzxwaXDYNi3zryGEHaCcO6h3H6OAx7sQyHV76yO7eWHXFBc+t30YSuubpwJQwLHhg==
- dependencies:
- "@babel/helper-plugin-utils" "7.10.4"
-
-babel-plugin-extract-import-names@1.6.16:
- version "1.6.16"
- resolved "https://registry.yarnpkg.com/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.16.tgz#b964004e794bdd62534c525db67d9e890d5cc079"
- integrity sha512-Da6Ra0sbA/1Iavli8LdMbTjyrsOPaxMm4lrKl8VJN4sJI5F64qy2EpLj3+5INLvNPfW4ddwpStbfP3Rf3jIgcw==
- dependencies:
- "@babel/helper-plugin-utils" "7.10.4"
-
-babel-plugin-extract-import-names@^2.0.0-next.7:
- version "2.0.0-next.7"
- resolved "https://registry.yarnpkg.com/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-2.0.0-next.7.tgz#e55b24fd2c86b2a7e55af279953c4a1bb6bc7b60"
- integrity sha512-WSYLKKC9a3nLbfnrrbXoEeC8LS3jCn1wBWOcc4Tlwl7n97EBuvCEEMQCHnV7rEDQFl9impbAKr9kLH0QEa8IXg==
- dependencies:
- "@babel/helper-plugin-utils" "7.10.4"
-
-babel-plugin-import@^1.13.0:
- version "1.13.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-import/-/babel-plugin-import-1.13.0.tgz#c532fd533df9db53b47d4d4db3676090fc5c07a5"
- integrity sha512-bHU8m0SrY89ub2hBBuYjbennOeH0YUYkVpH6jxKFk0uD8rhN+0jNHIPtXnac+Vn7N/hgkLGGDcIoYK7je3Hhew==
- dependencies:
- "@babel/helper-module-imports" "^7.0.0"
- "@babel/runtime" "^7.0.0"
-
-babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.2.2, babel-plugin-macros@^2.8.0:
- version "2.8.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138"
- integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==
- dependencies:
- "@babel/runtime" "^7.7.2"
- cosmiconfig "^6.0.0"
- resolve "^1.12.0"
-
-babel-plugin-preval@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-preval/-/babel-plugin-preval-3.0.1.tgz#a26f9690114a864a54a5cbdf865496ebf541a9c3"
- integrity sha512-s8hmTlRSmzcL7cHSIi0s6WxmpOAxfIlWqSVQwBIt7V5bNBaac+8JMZ6kJXLOazMJ8gCIcb5AJgQUgPHvbSYUzw==
- dependencies:
- babel-plugin-macros "^2.2.2"
- require-from-string "^2.0.2"
-
-babel-plugin-remove-export-keywords@^1.6.5:
- version "1.6.16"
- resolved "https://registry.yarnpkg.com/babel-plugin-remove-export-keywords/-/babel-plugin-remove-export-keywords-1.6.16.tgz#e764b42e3c8e4a5ce3e2c996dc43b6348d5d94cf"
- integrity sha512-JrB9ZASlMAfkRF+5NdgoQxgenhJxzXFEO1vrqsSDJdzLrC38L2wrvXF9mm1YLbrehkZxcrNz9UYDyARP4jaY9g==
-
-babel-plugin-remove-graphql-queries@^2.9.17:
- version "2.9.17"
- resolved "https://registry.yarnpkg.com/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.17.tgz#f66c421a58392ddca8b2f06473ca0eb2c4ec632d"
- integrity sha512-ThFGZlxD+U4H+aSX4DRpz7pdJq6Y7wob0rDDx7Q2rZPp9lbNfnGACUjPyTiCIy8EsBMpPYvT4WZjb4Gd0Xq6zQ==
-
-babel-plugin-syntax-jsx@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
- integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=
-
-babel-plugin-transform-react-remove-prop-types@^0.4.24:
- version "0.4.24"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a"
- integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==
-
-babel-preset-gatsby@^0.5.5:
- version "0.5.5"
- resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-0.5.5.tgz#f8d05aa407a56514d7786f7b576c1954e0a3f425"
- integrity sha512-gkBRAEv5OvSerqh15gMHCCtExiUpTuKiKwb6QBImb3nSBAuCcjr0ESHzpgk4m0eZLbxUaeooVd0uPyC6FQsCBQ==
- dependencies:
- "@babel/plugin-proposal-class-properties" "^7.10.1"
- "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.1"
- "@babel/plugin-proposal-optional-chaining" "^7.10.3"
- "@babel/plugin-syntax-dynamic-import" "^7.8.3"
- "@babel/plugin-transform-runtime" "^7.10.3"
- "@babel/plugin-transform-spread" "^7.10.1"
- "@babel/preset-env" "^7.10.3"
- "@babel/preset-react" "^7.10.1"
- "@babel/runtime" "^7.10.3"
- 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.3.15"
- gatsby-legacy-polyfills "^0.0.2"
-
-babel-runtime@^6.26.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
- integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
- dependencies:
- core-js "^2.4.0"
- regenerator-runtime "^0.11.0"
-
-backo2@1.0.2, backo2@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
- integrity sha1-MasayLEpNjRj41s+u2n038+6eUc=
-
-bail@^1.0.0:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776"
- integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==
-
-balanced-match@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
- integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
-
-base64-arraybuffer@0.1.5:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
- integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg=
-
-base64-js@^1.0.2:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
- integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==
-
-base64id@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6"
- integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==
-
-base@^0.11.1:
- version "0.11.2"
- resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
- integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
- dependencies:
- 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"
-
-batch@0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16"
- integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=
-
-bcrypt-pbkdf@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
- integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
- dependencies:
- tweetnacl "^0.14.3"
-
-better-assert@~1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
- integrity sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=
- dependencies:
- callsite "1.0.0"
-
-better-opn@1.0.0, better-opn@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/better-opn/-/better-opn-1.0.0.tgz#0454e4bb9115c6a9e4e5744417dd9c97fb9fce41"
- integrity sha512-q3eO2se4sFbTERB1dFBDdjTiIIpRohMErpwBX21lhPvmgmQNNrcQj0zbWRhMREDesJvyod9kxBS3kOtdAvkB/A==
- dependencies:
- open "^6.4.0"
-
-better-queue-memory@^1.0.1:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/better-queue-memory/-/better-queue-memory-1.0.4.tgz#f390d6b30bb3b36aaf2ce52b37a483e8a7a81a22"
- integrity sha512-SWg5wFIShYffEmJpI6LgbL8/3Dqhku7xI1oEiy6FroP9DbcZlG0ZDjxvPdP9t7hTGW40IpIcC6zVoGT1oxjOuA==
-
-better-queue@^3.8.10:
- version "3.8.10"
- resolved "https://registry.yarnpkg.com/better-queue/-/better-queue-3.8.10.tgz#1c93b9ec4cb3d1b72eb91d0efcb84fc80e8c6835"
- integrity sha512-e3gwNZgDCnNWl0An0Tz6sUjKDV9m6aB+K9Xg//vYeo8+KiH8pWhLFxkawcXhm6FpM//GfD9IQv/kmvWCAVVpKA==
- dependencies:
- better-queue-memory "^1.0.1"
- node-eta "^0.9.0"
- uuid "^3.0.0"
-
-big.js@^5.2.2:
- version "5.2.2"
- resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
- integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
-
-binary-extensions@^1.0.0:
- version "1.13.1"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
- integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
-
-binary-extensions@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9"
- integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==
-
-bindings@^1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
- integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
- dependencies:
- file-uri-to-path "1.0.0"
-
-bl@^1.0.1, bl@~0.8.1:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c"
- integrity sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==
- dependencies:
- readable-stream "^2.3.5"
- safe-buffer "^5.1.1"
-
-bl@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.2.tgz#52b71e9088515d0606d9dd9cc7aa48dc1f98e73a"
- integrity sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ==
- dependencies:
- buffer "^5.5.0"
- inherits "^2.0.4"
- readable-stream "^3.4.0"
-
-blob@0.0.5:
- version "0.0.5"
- resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683"
- integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==
-
-bluebird@^3.0.5, bluebird@^3.5.5, bluebird@^3.7.2:
- version "3.7.2"
- resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
- integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
-
-bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0:
- version "4.11.9"
- resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
- integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
-
-bn.js@^5.1.1:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0"
- integrity sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==
-
-body-parser@1.19.0:
- version "1.19.0"
- resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
- integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==
- dependencies:
- 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"
-
-bonjour@^3.5.0:
- version "3.5.0"
- resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5"
- integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU=
- dependencies:
- 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"
-
-boolbase@^1.0.0, boolbase@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
- integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
-
-bowser@^1.7.3:
- version "1.9.4"
- resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.9.4.tgz#890c58a2813a9d3243704334fa81b96a5c150c9a"
- integrity sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ==
-
-boxen@^3.0.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/boxen/-/boxen-3.2.0.tgz#fbdff0de93636ab4450886b6ff45b92d098f45eb"
- integrity sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==
- dependencies:
- ansi-align "^3.0.0"
- camelcase "^5.3.1"
- chalk "^2.4.2"
- cli-boxes "^2.2.0"
- string-width "^3.0.0"
- term-size "^1.2.0"
- type-fest "^0.3.0"
- widest-line "^2.0.0"
-
-boxen@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64"
- integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==
- dependencies:
- 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"
-
-brace-expansion@^1.0.0, brace-expansion@^1.1.7:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
- integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
- dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
-
-braces@^2.3.1, braces@^2.3.2:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
- integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
- dependencies:
- 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"
-
-braces@^3.0.1, braces@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
- integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
- dependencies:
- fill-range "^7.0.1"
-
-brorand@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
- integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
-
-browserify-aes@^1.0.0, browserify-aes@^1.0.4:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
- integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
- dependencies:
- 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@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
- integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==
- dependencies:
- browserify-aes "^1.0.4"
- browserify-des "^1.0.0"
- evp_bytestokey "^1.0.0"
-
-browserify-des@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c"
- integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==
- dependencies:
- cipher-base "^1.0.1"
- des.js "^1.0.0"
- inherits "^2.0.1"
- safe-buffer "^5.1.2"
-
-browserify-fs@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/browserify-fs/-/browserify-fs-1.0.0.tgz#f075aa8a729d4d1716d066620e386fcc1311a96f"
- integrity sha1-8HWqinKdTRcW0GZiDjhvzBMRqW8=
- dependencies:
- level-filesystem "^1.0.1"
- level-js "^2.1.3"
- levelup "^0.18.2"
-
-browserify-rsa@^4.0.0, browserify-rsa@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
- integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=
- dependencies:
- bn.js "^4.1.0"
- randombytes "^2.0.1"
-
-browserify-sign@^4.0.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3"
- integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==
- dependencies:
- 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"
-
-browserify-zlib@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
- integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
- dependencies:
- pako "~1.0.5"
-
-browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.12.2, browserslist@^4.8.5:
- version "4.14.0"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.0.tgz#2908951abfe4ec98737b72f34c3bcedc8d43b000"
- integrity sha512-pUsXKAF2lVwhmtpeA3LJrZ76jXuusrNyhduuQs7CDFf9foT4Y38aQOserd2lMe5DSSrjf3fx34oHwryuvxAUgQ==
- dependencies:
- caniuse-lite "^1.0.30001111"
- electron-to-chromium "^1.3.523"
- escalade "^3.0.2"
- node-releases "^1.1.60"
-
-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"
- integrity sha512-7AW19pf7PrKFnGTEDzs6u9+JZqQwM1VnLS19OlqYDhXomtFFknnoQJAPHeg84RMFWAvOhYrG7harizJNwUKJsA==
- dependencies:
- acorn "^6.1.1"
- acorn-dynamic-import "^4.0.0"
- acorn-jsx "^5.0.1"
- chalk "^2.4.2"
- magic-string "^0.25.3"
- minimist "^1.2.0"
- regexpu-core "^4.5.4"
-
-buffer-alloc-unsafe@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0"
- integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==
-
-buffer-alloc@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec"
- integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==
- dependencies:
- buffer-alloc-unsafe "^1.1.0"
- buffer-fill "^1.0.0"
-
-buffer-crc32@~0.2.3:
- version "0.2.13"
- resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
- integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
-
-buffer-es6@^4.9.2, buffer-es6@^4.9.3:
- version "4.9.3"
- resolved "https://registry.yarnpkg.com/buffer-es6/-/buffer-es6-4.9.3.tgz#f26347b82df76fd37e18bcb5288c4970cfd5c404"
- integrity sha1-8mNHuC33b9N+GLy1KIxJcM/VxAQ=
-
-buffer-fill@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
- integrity sha1-+PeLdniYiO858gXNY39o5wISKyw=
-
-buffer-from@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
- integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
-
-buffer-indexof@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c"
- integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==
-
-buffer-xor@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
- integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
-
-buffer@4.9.1:
- version "4.9.1"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
- integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=
- dependencies:
- base64-js "^1.0.2"
- ieee754 "^1.1.4"
- isarray "^1.0.0"
-
-buffer@^4.3.0:
- version "4.9.2"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8"
- integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==
- dependencies:
- base64-js "^1.0.2"
- ieee754 "^1.1.4"
- isarray "^1.0.0"
-
-buffer@^5.5.0:
- version "5.6.0"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786"
- integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==
- dependencies:
- base64-js "^1.0.2"
- ieee754 "^1.1.4"
-
-builtin-modules@^3.0.0, builtin-modules@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484"
- integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==
-
-builtin-status-codes@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
- integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
-
-bytes@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
- integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
-
-bytes@3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
- integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
-
-cacache@^12.0.2:
- version "12.0.4"
- resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c"
- integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==
- dependencies:
- 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"
-
-cache-base@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
- integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
- dependencies:
- 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"
-
-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"
- integrity sha512-XhUuc9eYwkzpK89iNewFwtvcDYMUsvtwzHeyEOPJna/WsVsXcrzsA1ft2M0QqPNunEzLhNCYPo05tEfG+YuNow==
- dependencies:
- async "1.5.2"
- lodash.clonedeep "4.5.0"
- lru-cache "4.0.0"
-
-cacheable-request@^2.1.1:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d"
- integrity sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=
- dependencies:
- 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"
-
-cacheable-request@^6.0.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912"
- integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==
- dependencies:
- 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"
-
-call-me-maybe@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b"
- integrity sha1-JtII6onje1y95gJQoV8DHBak1ms=
-
-caller-callsite@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
- integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=
- dependencies:
- callsites "^2.0.0"
-
-caller-path@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
- integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=
- dependencies:
- caller-callsite "^2.0.0"
-
-callsite@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
- integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA=
-
-callsites@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
- integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=
-
-callsites@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
- integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
-
-camel-case@4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.1.tgz#1fc41c854f00e2f7d0139dfeba1542d6896fe547"
- integrity sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q==
- dependencies:
- pascal-case "^3.1.1"
- tslib "^1.10.0"
-
-camel-case@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
- integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=
- dependencies:
- no-case "^2.2.0"
- upper-case "^1.1.1"
-
-camelcase-css@2.0.1, camelcase-css@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
- integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
-
-camelcase@^5.0.0, camelcase@^5.3.1:
- version "5.3.1"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
- integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-
-caniuse-api@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
- integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==
- dependencies:
- browserslist "^4.0.0"
- caniuse-lite "^1.0.0"
- lodash.memoize "^4.1.2"
- lodash.uniq "^4.5.0"
-
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001111:
- version "1.0.30001113"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001113.tgz#22016ab55b5a8b04fa00ca342d9ee1b98df48065"
- integrity sha512-qMvjHiKH21zzM/VDZr6oosO6Ri3U0V2tC015jRXjOecwQCJtsU5zklTNTk31jQbIOP8gha0h1ccM/g0ECP+4BA==
-
-case@^1.6.2:
- version "1.6.3"
- resolved "https://registry.yarnpkg.com/case/-/case-1.6.3.tgz#0a4386e3e9825351ca2e6216c60467ff5f1ea1c9"
- integrity sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==
-
-caseless@~0.12.0:
- version "0.12.0"
- resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
- integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
-
-ccount@^1.0.0, ccount@^1.0.3:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.5.tgz#ac82a944905a65ce204eb03023157edf29425c17"
- integrity sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==
-
-chalk@1.1.3, chalk@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
- integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
- dependencies:
- 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"
-
-chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
- integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
- dependencies:
- ansi-styles "^3.2.1"
- escape-string-regexp "^1.0.5"
- supports-color "^5.3.0"
-
-chalk@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
- integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-chalk@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
- integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-change-case@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.1.0.tgz#0e611b7edc9952df2e8513b27b42de72647dd17e"
- integrity sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==
- dependencies:
- camel-case "^3.0.0"
- constant-case "^2.0.0"
- dot-case "^2.1.0"
- header-case "^1.0.0"
- is-lower-case "^1.1.0"
- is-upper-case "^1.1.0"
- lower-case "^1.1.1"
- lower-case-first "^1.0.0"
- no-case "^2.3.2"
- param-case "^2.1.0"
- pascal-case "^2.0.0"
- path-case "^2.1.0"
- sentence-case "^2.1.0"
- snake-case "^2.1.0"
- swap-case "^1.1.0"
- title-case "^2.1.0"
- upper-case "^1.1.1"
- upper-case-first "^1.1.0"
-
-change-emitter@^0.1.2:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/change-emitter/-/change-emitter-0.1.6.tgz#e8b2fe3d7f1ab7d69a32199aff91ea6931409515"
- integrity sha1-6LL+PX8at9aaMhma/5HqaTFAlRU=
-
-character-entities-html4@^1.0.0:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125"
- integrity sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==
-
-character-entities-legacy@^1.0.0:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1"
- integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==
-
-character-entities@^1.0.0:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b"
- integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==
-
-character-reference-invalid@^1.0.0:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560"
- integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==
-
-chardet@^0.4.0:
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
- integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=
-
-chardet@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
- integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
-
-cheerio@^0.22.0:
- version "0.22.0"
- resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e"
- integrity sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=
- dependencies:
- css-select "~1.2.0"
- dom-serializer "~0.1.0"
- entities "~1.1.1"
- htmlparser2 "^3.9.1"
- lodash.assignin "^4.0.9"
- lodash.bind "^4.1.4"
- lodash.defaults "^4.0.1"
- lodash.filter "^4.4.0"
- lodash.flatten "^4.2.0"
- lodash.foreach "^4.3.0"
- lodash.map "^4.4.0"
- lodash.merge "^4.4.0"
- lodash.pick "^4.2.1"
- lodash.reduce "^4.4.0"
- lodash.reject "^4.4.0"
- lodash.some "^4.4.0"
-
-cheerio@^1.0.0-rc.3:
- version "1.0.0-rc.3"
- resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.3.tgz#094636d425b2e9c0f4eb91a46c05630c9a1a8bf6"
- integrity sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==
- dependencies:
- css-select "~1.2.0"
- dom-serializer "~0.1.1"
- entities "~1.1.1"
- htmlparser2 "^3.9.1"
- lodash "^4.15.0"
- parse5 "^3.0.1"
-
-chokidar@3.4.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8"
- integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==
- dependencies:
- anymatch "~3.1.1"
- braces "~3.0.2"
- glob-parent "~5.1.0"
- is-binary-path "~2.1.0"
- is-glob "~4.0.1"
- normalize-path "~3.0.0"
- readdirp "~3.4.0"
- optionalDependencies:
- fsevents "~2.1.2"
-
-chokidar@^2.0.4, chokidar@^2.1.8:
- version "2.1.8"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
- integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
- 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"
- optionalDependencies:
- fsevents "^1.2.7"
-
-chokidar@^3.4.1:
- version "3.4.2"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d"
- integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==
- dependencies:
- anymatch "~3.1.1"
- braces "~3.0.2"
- glob-parent "~5.1.0"
- is-binary-path "~2.1.0"
- is-glob "~4.0.1"
- normalize-path "~3.0.0"
- readdirp "~3.4.0"
- optionalDependencies:
- fsevents "~2.1.2"
-
-chownr@^1.1.1:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
- integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
-
-chrome-trace-event@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4"
- integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==
- dependencies:
- tslib "^1.9.0"
-
-ci-info@2.0.0, ci-info@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
- integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
-
-cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
- integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
- dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-class-utils@^0.3.5:
- version "0.3.6"
- resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
- integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
- dependencies:
- arr-union "^3.1.0"
- define-property "^0.2.5"
- isobject "^3.0.0"
- static-extend "^0.1.1"
-
-classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6:
- version "2.2.6"
- resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
- integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==
-
-clean-css@^4.1.6, clean-css@^4.2.1:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78"
- integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==
- dependencies:
- source-map "~0.6.0"
-
-clean-stack@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
- integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
-
-cli-boxes@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d"
- integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==
-
-cli-cursor@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
- integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
- dependencies:
- restore-cursor "^2.0.0"
-
-cli-cursor@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
- integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
- dependencies:
- restore-cursor "^3.1.0"
-
-cli-spinners@^1.0.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a"
- integrity sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==
-
-cli-table3@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202"
- integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==
- dependencies:
- object-assign "^4.1.0"
- string-width "^2.1.1"
- optionalDependencies:
- colors "^1.1.2"
-
-cli-truncate@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
- integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==
- dependencies:
- slice-ansi "^3.0.0"
- string-width "^4.2.0"
-
-cli-width@^2.0.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48"
- integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==
-
-cli-width@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
- integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
-
-clipboard@^2.0.0:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.6.tgz#52921296eec0fdf77ead1749421b21c968647376"
- integrity sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==
- dependencies:
- good-listener "^1.2.2"
- select "^1.1.2"
- tiny-emitter "^2.0.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==
- dependencies:
- arch "^2.1.1"
- execa "^1.0.0"
- is-wsl "^2.1.1"
-
-cliui@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
- integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
- dependencies:
- string-width "^3.1.0"
- strip-ansi "^5.2.0"
- wrap-ansi "^5.1.0"
-
-cliui@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
- integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
- dependencies:
- string-width "^4.2.0"
- strip-ansi "^6.0.0"
- wrap-ansi "^6.2.0"
-
-clone-deep@^0.2.4:
- version "0.2.4"
- resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6"
- integrity sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=
- dependencies:
- for-own "^0.1.3"
- is-plain-object "^2.0.1"
- kind-of "^3.0.2"
- lazy-cache "^1.0.3"
- shallow-clone "^0.1.2"
-
-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"
- integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=
- dependencies:
- mimic-response "^1.0.0"
-
-clone@^2.1.1:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
- integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=
-
-clone@~0.1.9:
- version "0.1.19"
- resolved "https://registry.yarnpkg.com/clone/-/clone-0.1.19.tgz#613fb68639b26a494ac53253e15b1a6bd88ada85"
- integrity sha1-YT+2hjmyaklKxTJT4Vsaa9iK2oU=
-
-coa@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3"
- integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==
- dependencies:
- "@types/q" "^1.5.1"
- chalk "^2.4.1"
- q "^1.1.2"
-
-collapse-white-space@^1.0.0, collapse-white-space@^1.0.2:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287"
- integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==
-
-collection-visit@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
- integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
- dependencies:
- map-visit "^1.0.0"
- object-visit "^1.0.0"
-
-color-convert@^1.9.0, color-convert@^1.9.1:
- version "1.9.3"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
- integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
- dependencies:
- color-name "1.1.3"
-
-color-convert@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
- integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
- dependencies:
- color-name "~1.1.4"
-
-color-name@1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
- integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
-
-color-name@^1.0.0, color-name@~1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
-color-string@^1.5.2:
- version "1.5.3"
- resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc"
- integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==
- dependencies:
- color-name "^1.0.0"
- simple-swizzle "^0.2.2"
-
-color@^3.0.0:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10"
- integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==
- dependencies:
- color-convert "^1.9.1"
- color-string "^1.5.2"
-
-colorette@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b"
- integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==
-
-colors@^1.1.2:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
- integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
-
-combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
- integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
- dependencies:
- delayed-stream "~1.0.0"
-
-comma-separated-tokens@^1.0.0, comma-separated-tokens@^1.0.1:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea"
- integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==
-
-command-exists@^1.2.4:
- version "1.2.9"
- resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69"
- integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==
-
-commander@2, commander@^2.19.0, commander@^2.20.0, commander@^2.20.3:
- version "2.20.3"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
- integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
-
-common-tags@^1.8.0:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937"
- integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==
-
-commondir@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
- integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
-
-component-bind@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
- integrity sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=
-
-component-emitter@1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
- integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=
-
-component-emitter@^1.2.1, component-emitter@~1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
- integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
-
-component-inherit@0.0.3:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143"
- integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=
-
-compressible@~2.0.16:
- version "2.0.18"
- resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba"
- integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==
- dependencies:
- mime-db ">= 1.43.0 < 2"
-
-compression@^1.7.4:
- version "1.7.4"
- resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f"
- integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==
- dependencies:
- 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"
-
-compute-scroll-into-view@^1.0.14:
- version "1.0.14"
- resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.14.tgz#80e3ebb25d6aa89f42e533956cb4b16a04cfe759"
- integrity sha512-mKDjINe3tc6hGelUMNDzuhorIUZ7kS7BwyY0r2wQd2HOH2tRuJykiC06iSEX8y1TuhNzvz4GcJnK16mM2J1NMQ==
-
-concat-map@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
- integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
-
-concat-stream@^1.4.4, concat-stream@^1.5.0, concat-stream@^1.6.2:
- version "1.6.2"
- resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
- integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
- dependencies:
- buffer-from "^1.0.0"
- inherits "^2.0.3"
- readable-stream "^2.2.2"
- typedarray "^0.0.6"
-
-concurrently@^5.0.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-5.3.0.tgz#7500de6410d043c912b2da27de3202cb489b1e7b"
- integrity sha512-8MhqOB6PWlBfA2vJ8a0bSFKATOdWlHiQlk11IfmQBPaHVP8oP2gsh2MObE6UR3hqDHqvaIvLTyceNW6obVuFHQ==
- dependencies:
- chalk "^2.4.2"
- date-fns "^2.0.1"
- lodash "^4.17.15"
- read-pkg "^4.0.1"
- rxjs "^6.5.2"
- spawn-command "^0.0.2-1"
- supports-color "^6.1.0"
- tree-kill "^1.2.2"
- yargs "^13.3.0"
-
-configstore@^3.0.0:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f"
- integrity sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==
- dependencies:
- dot-prop "^4.1.0"
- graceful-fs "^4.1.2"
- make-dir "^1.0.0"
- unique-string "^1.0.0"
- write-file-atomic "^2.0.0"
- xdg-basedir "^3.0.0"
-
-configstore@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96"
- integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==
- dependencies:
- 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@^1.0.9:
- version "1.0.9"
- resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd"
- integrity sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==
-
-connect-history-api-fallback@^1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc"
- integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==
-
-console-browserify@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336"
- integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==
-
-constant-case@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-2.0.0.tgz#4175764d389d3fa9c8ecd29186ed6005243b6a46"
- integrity sha1-QXV2TTidP6nI7NKRhu1gBSQ7akY=
- dependencies:
- snake-case "^2.1.0"
- upper-case "^1.1.1"
-
-constants-browserify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
- integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
-
-contains-path@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
- integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=
-
-content-disposition@0.5.3:
- version "0.5.3"
- resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
- integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==
- dependencies:
- safe-buffer "5.1.2"
-
-content-type@^1.0.4, content-type@~1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
- integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
-
-contentful-management@^5.26.3:
- version "5.28.0"
- resolved "https://registry.yarnpkg.com/contentful-management/-/contentful-management-5.28.0.tgz#f3b58d60400d66e42439bbd9085cecb0e486f0bb"
- integrity sha512-o+qihN3zrD6+/BT/e8n26jl/zQvmV6+9S6NY5QDmzM+IaiSeCk6yvPMq74s+IZT9mOS54igl6qFTbeIpdJ9FDA==
- dependencies:
- axios "^0.19.0"
- contentful-sdk-core "^6.4.0"
- lodash "^4.17.11"
- type-fest "0.15.1"
-
-contentful-sdk-core@^6.4.0:
- version "6.4.5"
- resolved "https://registry.yarnpkg.com/contentful-sdk-core/-/contentful-sdk-core-6.4.5.tgz#e73f4c5426f354608543fc73e46c17c6730180e9"
- integrity sha512-rygNuiwbG6UKrJg6EDlaKewayTeLWrjA2wJwVmq7rV/DYo0cic6t28y0EMhRQ4pgJDV5HyUQFoFeBm2lwLfG2Q==
- dependencies:
- lodash "^4.17.10"
- qs "^6.5.2"
-
-convert-hrtime@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/convert-hrtime/-/convert-hrtime-3.0.0.tgz#62c7593f5809ca10be8da858a6d2f702bcda00aa"
- integrity sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==
-
-convert-source-map@^1.5.0, convert-source-map@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
- integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
- dependencies:
- safe-buffer "~5.1.1"
-
-cookie-signature@1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
- integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
-
-cookie@0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
- integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=
-
-cookie@0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
- integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
-
-copy-concurrently@^1.0.0:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
- integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==
- dependencies:
- 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"
-
-copy-descriptor@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
- integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
-
-copy-to-clipboard@^3.1.0, copy-to-clipboard@^3.2.0:
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae"
- integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==
- dependencies:
- toggle-selection "^1.0.6"
-
-copyfiles@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/copyfiles/-/copyfiles-2.3.0.tgz#1c26ebbe3d46bba2d309a3fd8e3aaccf53af8c76"
- integrity sha512-73v7KFuDFJ/ofkQjZBMjMBFWGgkS76DzXvBMUh7djsMOE5EELWtAO/hRB6Wr5Vj5Zg+YozvoHemv0vnXpqxmOQ==
- dependencies:
- glob "^7.0.5"
- minimatch "^3.0.3"
- mkdirp "^1.0.4"
- noms "0.0.0"
- through2 "^2.0.1"
- yargs "^15.3.1"
-
-core-js-compat@^3.6.2, core-js-compat@^3.6.5:
- version "3.6.5"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c"
- integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==
- dependencies:
- browserslist "^4.8.5"
- semver "7.0.0"
-
-core-js-pure@^3.0.0:
- version "3.6.5"
- resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813"
- integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==
-
-core-js@^1.0.0:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
- integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=
-
-core-js@^2.4.0:
- version "2.6.11"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c"
- integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==
-
-core-js@^3.6.5:
- version "3.6.5"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a"
- integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==
-
-core-util-is@1.0.2, core-util-is@~1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
- integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
-
-cors@^2.8.5:
- version "2.8.5"
- resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
- integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
- dependencies:
- object-assign "^4"
- vary "^1"
-
-cosmiconfig@^5.0.0, cosmiconfig@^5.2.1:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
- integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
- dependencies:
- import-fresh "^2.0.0"
- is-directory "^0.3.1"
- js-yaml "^3.13.1"
- parse-json "^4.0.0"
-
-cosmiconfig@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
- integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==
- dependencies:
- "@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"
-
-create-ecdh@^4.0.0:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e"
- integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==
- dependencies:
- bn.js "^4.1.0"
- elliptic "^6.5.3"
-
-create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
- integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
- dependencies:
- 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@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
- integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
- dependencies:
- 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@0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.3.0.tgz#546dede9dc422def0d3fc2fe03afe0bc0f4f7d8c"
- integrity sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==
- dependencies:
- gud "^1.0.0"
- warning "^4.0.3"
-
-cross-fetch@2.2.2:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.2.tgz#a47ff4f7fc712daba8f6a695a11c948440d45723"
- integrity sha1-pH/09/xxLauo9qaVoRyUhEDUVyM=
- dependencies:
- node-fetch "2.1.2"
- whatwg-fetch "2.0.4"
-
-cross-spawn@5.1.0, cross-spawn@^5.0.1:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
- integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=
- dependencies:
- lru-cache "^4.0.1"
- shebang-command "^1.2.0"
- which "^1.2.9"
-
-cross-spawn@^6.0.0, cross-spawn@^6.0.5:
- version "6.0.5"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
- integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
- dependencies:
- nice-try "^1.0.4"
- path-key "^2.0.1"
- semver "^5.5.0"
- shebang-command "^1.2.0"
- which "^1.2.9"
-
-cross-spawn@^7.0.0:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
- integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
- dependencies:
- path-key "^3.1.0"
- shebang-command "^2.0.0"
- which "^2.0.1"
-
-crypto-browserify@^3.11.0:
- version "3.12.0"
- resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
- integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==
- dependencies:
- 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-js@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.3.0.tgz#846dd1cce2f68aacfa156c8578f926a609b7976b"
- integrity sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==
-
-crypto-random-string@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
- integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=
-
-crypto-random-string@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
- integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
-
-css-b64-images@~0.2.5:
- version "0.2.5"
- resolved "https://registry.yarnpkg.com/css-b64-images/-/css-b64-images-0.2.5.tgz#42005d83204b2b4a5d93b6b1a5644133b5927a02"
- integrity sha1-QgBdgyBLK0pdk7axpWRBM7WSegI=
-
-css-color-names@0.0.4, css-color-names@^0.0.4:
- version "0.0.4"
- resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
- integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=
-
-css-declaration-sorter@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22"
- integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==
- dependencies:
- postcss "^7.0.1"
- timsort "^0.3.0"
-
-css-in-js-utils@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz#3b472b398787291b47cfe3e44fecfdd9e914ba99"
- integrity sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA==
- dependencies:
- hyphenate-style-name "^1.0.2"
- isobject "^3.0.1"
-
-css-loader@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-1.0.1.tgz#6885bb5233b35ec47b006057da01cc640b6b79fe"
- integrity sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==
- dependencies:
- 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-select-base-adapter@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7"
- integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==
-
-css-select@^1.1.0, css-select@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
- integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=
- dependencies:
- boolbase "~1.0.0"
- css-what "2.1"
- domutils "1.5.1"
- nth-check "~1.0.1"
-
-css-select@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef"
- integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==
- dependencies:
- boolbase "^1.0.0"
- css-what "^3.2.1"
- domutils "^1.7.0"
- nth-check "^1.0.2"
-
-css-selector-parser@^1.1.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/css-selector-parser/-/css-selector-parser-1.4.1.tgz#03f9cb8a81c3e5ab2c51684557d5aaf6d2569759"
- integrity sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==
-
-css-selector-tokenizer@^0.7.0:
- version "0.7.3"
- resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz#735f26186e67c749aaf275783405cf0661fae8f1"
- integrity sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==
- dependencies:
- cssesc "^3.0.0"
- fastparse "^1.1.2"
-
-css-tree@1.0.0-alpha.37:
- version "1.0.0-alpha.37"
- resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22"
- integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==
- dependencies:
- mdn-data "2.0.4"
- source-map "^0.6.1"
-
-css-tree@1.0.0-alpha.39, css-tree@^1.0.0-alpha.28:
- version "1.0.0-alpha.39"
- resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb"
- integrity sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==
- dependencies:
- mdn-data "2.0.6"
- source-map "^0.6.1"
-
-css-what@2.1:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
- integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==
-
-css-what@^3.2.1:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.3.0.tgz#10fec696a9ece2e591ac772d759aacabac38cd39"
- integrity sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==
-
-cssesc@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
- integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
-
-cssfilter@0.0.10:
- version "0.0.10"
- resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae"
- integrity sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=
-
-cssnano-preset-default@^4.0.7:
- version "4.0.7"
- resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76"
- integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==
- dependencies:
- 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"
-
-cssnano-util-get-arguments@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f"
- integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=
-
-cssnano-util-get-match@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d"
- integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=
-
-cssnano-util-raw-cache@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282"
- integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==
- dependencies:
- postcss "^7.0.0"
-
-cssnano-util-same-parent@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3"
- integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==
-
-cssnano@^4.1.10:
- version "4.1.10"
- resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2"
- integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==
- dependencies:
- cosmiconfig "^5.0.0"
- cssnano-preset-default "^4.0.7"
- is-resolvable "^1.0.0"
- postcss "^7.0.0"
-
-csso@^4.0.2:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903"
- integrity sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==
- dependencies:
- css-tree "1.0.0-alpha.39"
-
-csstype@^2.5.5, csstype@^2.5.7:
- version "2.6.13"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.13.tgz#a6893015b90e84dd6e85d0e3b442a1e84f2dbe0f"
- integrity sha512-ul26pfSQTZW8dcOnD2iiJssfXw0gdNVX9IJDH/X3K5DGPfj+fUYe3kB+swUY6BF3oZDxaID3AJt+9/ojSAE05A==
-
-csstype@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.2.tgz#ee5ff8f208c8cd613b389f7b222c9801ca62b3f7"
- integrity sha512-ofovWglpqoqbfLNOTBNZLSbMuGrblAf1efvvArGKOZMBrIoJeu5UsAipQolkijtyQx5MtAzT/J9IHj/CEY1mJw==
-
-currently-unhandled@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
- integrity sha1-mI3zP+qxke95mmE2nddsF635V+o=
- dependencies:
- array-find-index "^1.0.1"
-
-cyclist@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9"
- integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=
-
-d3-array@1, d3-array@^1.1.1, d3-array@^1.2.0:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f"
- integrity sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==
-
-d3-axis@1:
- version "1.0.12"
- resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-1.0.12.tgz#cdf20ba210cfbb43795af33756886fb3638daac9"
- integrity sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==
-
-d3-brush@1:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-1.1.5.tgz#066b8e84d17b192986030446c97c0fba7e1bacdc"
- integrity sha512-rEaJ5gHlgLxXugWjIkolTA0OyMvw8UWU1imYXy1v642XyyswmI1ybKOv05Ft+ewq+TFmdliD3VuK0pRp1VT/5A==
- dependencies:
- d3-dispatch "1"
- d3-drag "1"
- d3-interpolate "1"
- d3-selection "1"
- d3-transition "1"
-
-d3-chord@1:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-1.0.6.tgz#309157e3f2db2c752f0280fedd35f2067ccbb15f"
- integrity sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==
- dependencies:
- d3-array "1"
- d3-path "1"
-
-d3-collection@1:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e"
- integrity sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==
-
-d3-color@1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.4.1.tgz#c52002bf8846ada4424d55d97982fef26eb3bc8a"
- integrity sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==
-
-d3-contour@1:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-1.3.2.tgz#652aacd500d2264cb3423cee10db69f6f59bead3"
- integrity sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==
- dependencies:
- d3-array "^1.1.1"
-
-d3-dispatch@1:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-1.0.6.tgz#00d37bcee4dd8cd97729dd893a0ac29caaba5d58"
- integrity sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==
-
-d3-drag@1:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-1.2.5.tgz#2537f451acd39d31406677b7dc77c82f7d988f70"
- integrity sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==
- dependencies:
- d3-dispatch "1"
- d3-selection "1"
-
-d3-dsv@1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.2.0.tgz#9d5f75c3a5f8abd611f74d3f5847b0d4338b885c"
- integrity sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==
- dependencies:
- commander "2"
- iconv-lite "0.4"
- rw "1"
-
-d3-ease@1:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.6.tgz#ebdb6da22dfac0a22222f2d4da06f66c416a0ec0"
- integrity sha512-SZ/lVU7LRXafqp7XtIcBdxnWl8yyLpgOmzAk0mWBI9gXNzLDx5ybZgnRbH9dN/yY5tzVBqCQ9avltSnqVwessQ==
-
-d3-fetch@1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-1.2.0.tgz#15ce2ecfc41b092b1db50abd2c552c2316cf7fc7"
- integrity sha512-yC78NBVcd2zFAyR/HnUiBS7Lf6inSCoWcSxFfw8FYL7ydiqe80SazNwoffcqOfs95XaLo7yebsmQqDKSsXUtvA==
- dependencies:
- d3-dsv "1"
-
-d3-force@1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-1.2.1.tgz#fd29a5d1ff181c9e7f0669e4bd72bdb0e914ec0b"
- integrity sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==
- dependencies:
- d3-collection "1"
- d3-dispatch "1"
- d3-quadtree "1"
- d3-timer "1"
-
-d3-format@1:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.4.4.tgz#356925f28d0fd7c7983bfad593726fce46844030"
- integrity sha512-TWks25e7t8/cqctxCmxpUuzZN11QxIA7YrMbram94zMQ0PXjE4LVIMe/f6a4+xxL8HQ3OsAFULOINQi1pE62Aw==
-
-d3-geo@1:
- version "1.12.1"
- resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.12.1.tgz#7fc2ab7414b72e59fbcbd603e80d9adc029b035f"
- integrity sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==
- dependencies:
- d3-array "1"
-
-d3-hierarchy@1:
- version "1.1.9"
- resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz#2f6bee24caaea43f8dc37545fa01628559647a83"
- integrity sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==
-
-d3-interpolate@1:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.4.0.tgz#526e79e2d80daa383f9e0c1c1c7dcc0f0583e987"
- integrity sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==
- dependencies:
- d3-color "1"
-
-d3-path@1:
- version "1.0.9"
- resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.9.tgz#48c050bb1fe8c262493a8caf5524e3e9591701cf"
- integrity sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==
-
-d3-polygon@1:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-1.0.6.tgz#0bf8cb8180a6dc107f518ddf7975e12abbfbd38e"
- integrity sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ==
-
-d3-quadtree@1:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-1.0.7.tgz#ca8b84df7bb53763fe3c2f24bd435137f4e53135"
- integrity sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==
-
-d3-random@1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-1.1.2.tgz#2833be7c124360bf9e2d3fd4f33847cfe6cab291"
- integrity sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==
-
-d3-scale-chromatic@1:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz#54e333fc78212f439b14641fb55801dd81135a98"
- integrity sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==
- dependencies:
- d3-color "1"
- d3-interpolate "1"
-
-d3-scale@2:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-2.2.2.tgz#4e880e0b2745acaaddd3ede26a9e908a9e17b81f"
- integrity sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==
- dependencies:
- d3-array "^1.2.0"
- d3-collection "1"
- d3-format "1"
- d3-interpolate "1"
- d3-time "1"
- d3-time-format "2"
-
-d3-selection@1, d3-selection@^1.1.0:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.4.2.tgz#dcaa49522c0dbf32d6c1858afc26b6094555bc5c"
- integrity sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==
-
-d3-shape@1:
- version "1.3.7"
- resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.7.tgz#df63801be07bc986bc54f63789b4fe502992b5d7"
- integrity sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==
- dependencies:
- d3-path "1"
-
-d3-time-format@2:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.2.3.tgz#0c9a12ee28342b2037e5ea1cf0b9eb4dd75f29cb"
- integrity sha512-RAHNnD8+XvC4Zc4d2A56Uw0yJoM7bsvOlJR33bclxq399Rak/b9bhvu/InjxdWhPtkgU53JJcleJTGkNRnN6IA==
- dependencies:
- d3-time "1"
-
-d3-time@1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.1.0.tgz#b1e19d307dae9c900b7e5b25ffc5dcc249a8a0f1"
- integrity sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==
-
-d3-timer@1:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.10.tgz#dfe76b8a91748831b13b6d9c793ffbd508dd9de5"
- integrity sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==
-
-d3-transition@1:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-1.3.2.tgz#a98ef2151be8d8600543434c1ca80140ae23b398"
- integrity sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==
- dependencies:
- d3-color "1"
- d3-dispatch "1"
- d3-ease "1"
- d3-interpolate "1"
- d3-selection "^1.1.0"
- d3-timer "1"
-
-d3-voronoi@1:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.4.tgz#dd3c78d7653d2bb359284ae478645d95944c8297"
- integrity sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==
-
-d3-zoom@1:
- version "1.8.3"
- resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-1.8.3.tgz#b6a3dbe738c7763121cd05b8a7795ffe17f4fc0a"
- integrity sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==
- dependencies:
- d3-dispatch "1"
- d3-drag "1"
- d3-interpolate "1"
- d3-selection "1"
- d3-transition "1"
-
-d3@^5.14, d3@^5.7.0:
- version "5.16.0"
- resolved "https://registry.yarnpkg.com/d3/-/d3-5.16.0.tgz#9c5e8d3b56403c79d4ed42fbd62f6113f199c877"
- integrity sha512-4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==
- dependencies:
- d3-array "1"
- d3-axis "1"
- d3-brush "1"
- d3-chord "1"
- d3-collection "1"
- d3-color "1"
- d3-contour "1"
- d3-dispatch "1"
- d3-drag "1"
- d3-dsv "1"
- d3-ease "1"
- d3-fetch "1"
- d3-force "1"
- d3-format "1"
- d3-geo "1"
- d3-hierarchy "1"
- d3-interpolate "1"
- d3-path "1"
- d3-polygon "1"
- d3-quadtree "1"
- d3-random "1"
- d3-scale "2"
- d3-scale-chromatic "1"
- d3-selection "1"
- d3-shape "1"
- d3-time "1"
- d3-time-format "2"
- d3-timer "1"
- d3-transition "1"
- d3-voronoi "1"
- d3-zoom "1"
-
-dagre-d3@^0.6.4:
- version "0.6.4"
- resolved "https://registry.yarnpkg.com/dagre-d3/-/dagre-d3-0.6.4.tgz#0728d5ce7f177ca2337df141ceb60fbe6eeb7b29"
- integrity sha512-e/6jXeCP7/ptlAM48clmX4xTZc5Ek6T6kagS7Oz2HrYSdqcLZFLqpAfh7ldbZRFfxCZVyh61NEPR08UQRVxJzQ==
- dependencies:
- d3 "^5.14"
- dagre "^0.8.5"
- graphlib "^2.1.8"
- lodash "^4.17.15"
-
-dagre@^0.8.4, dagre@^0.8.5:
- version "0.8.5"
- resolved "https://registry.yarnpkg.com/dagre/-/dagre-0.8.5.tgz#ba30b0055dac12b6c1fcc247817442777d06afee"
- integrity sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==
- dependencies:
- graphlib "^2.1.8"
- lodash "^4.17.15"
-
-damerau-levenshtein@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791"
- integrity sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==
-
-dashdash@^1.12.0:
- version "1.14.1"
- resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
- integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
- dependencies:
- assert-plus "^1.0.0"
-
-dataloader@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8"
- integrity sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==
-
-date-fns@^2.0.1, date-fns@^2.14.0, date-fns@^2.15.0, date-fns@^2.8.1:
- version "2.15.0"
- resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.15.0.tgz#424de6b3778e4e69d3ff27046ec136af58ae5d5f"
- integrity sha512-ZCPzAMJZn3rNUvvQIMlXhDr4A+Ar07eLeGsGREoWU19a3Pqf5oYa+ccd+B3F6XVtQY6HANMFdOQ8A+ipFnvJdQ==
-
-dayjs@^1.8.30:
- version "1.8.33"
- resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.8.33.tgz#18bc4a2b6c1c6f4d67b4c4f2536c0b97e5b766f7"
- integrity sha512-881TDLZCdpJFKbraWRHcUG8zfMLLX400ENf9rFZDuWc5zYMss6xifo2PhlDX0ftOmR2NRmaIY47bAa4gKQfXqw==
-
-debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.6, debug@^2.6.9:
- version "2.6.9"
- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
- dependencies:
- ms "2.0.0"
-
-debug@=3.1.0, debug@~3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
- integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
- dependencies:
- ms "2.0.0"
-
-debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6:
- version "3.2.6"
- resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
- integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
- dependencies:
- ms "^2.1.1"
-
-debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@~4.1.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
- integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
- dependencies:
- ms "^2.1.1"
-
-decamelize@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
- integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
-
-decode-uri-component@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
- integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
-
-decompress-response@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
- integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=
- dependencies:
- mimic-response "^1.0.0"
-
-deep-equal@^1.0.1, deep-equal@^1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a"
- integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==
- dependencies:
- 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@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
- integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
-
-deep-is@~0.1.3:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
- integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
-
-deepmerge@^2.1.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.2.1.tgz#5d3ff22a01c00f645405a2fbc17d0778a1801170"
- integrity sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==
-
-deepmerge@^4.0.0:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
- integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
-
-default-gateway@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b"
- integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==
- dependencies:
- execa "^1.0.0"
- ip-regex "^2.1.0"
-
-defer-to-connect@^1.0.1:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
- integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==
-
-deferred-leveldown@~0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz#2cef1f111e1c57870d8bbb8af2650e587cd2f5b4"
- integrity sha1-LO8fER4cV4cNi7uK8mUOWHzS9bQ=
- dependencies:
- abstract-leveldown "~0.12.1"
-
-define-properties@^1.1.2, define-properties@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
- integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
- dependencies:
- object-keys "^1.0.12"
-
-define-property@^0.2.5:
- version "0.2.5"
- resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
- integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
- dependencies:
- is-descriptor "^0.1.0"
-
-define-property@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
- integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
- dependencies:
- is-descriptor "^1.0.0"
-
-define-property@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
- integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
- dependencies:
- is-descriptor "^1.0.2"
- isobject "^3.0.1"
-
-del@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4"
- integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==
- dependencies:
- "@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"
-
-del@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/del/-/del-5.1.0.tgz#d9487c94e367410e6eff2925ee58c0c84a75b3a7"
- integrity sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==
- dependencies:
- 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@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
- integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
-
-delegate@^3.1.2:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
- integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==
-
-depd@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
- integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
-
-des.js@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843"
- integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==
- dependencies:
- inherits "^2.0.1"
- minimalistic-assert "^1.0.0"
-
-destroy@~1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
- integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
-
-detab@2.0.3, detab@^2.0.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.3.tgz#33e5dd74d230501bd69985a0d2b9a3382699a130"
- integrity sha512-Up8P0clUVwq0FnFjDclzZsy9PadzRn5FFxrr47tQQvMHqyiFYVbpH8oXDzWtF0Q7pYy3l+RPmtBl+BsFF6wH0A==
- dependencies:
- repeat-string "^1.5.4"
-
-detect-indent@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd"
- integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==
-
-detect-newline@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-1.0.3.tgz#e97b1003877d70c09af1af35bfadff168de4920d"
- integrity sha1-6XsQA4d9cMCa8a81v63/Fo3kkg0=
- dependencies:
- get-stdin "^4.0.1"
- minimist "^1.1.0"
-
-detect-node-es@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.0.0.tgz#c0318b9e539a5256ca780dd9575c9345af05b8ed"
- integrity sha512-S4AHriUkTX9FoFvL4G8hXDcx6t3gp2HpfCza3Q0v6S78gul2hKWifLQbeW+ZF89+hSm2ZIc/uF3J97ZgytgTRg==
-
-detect-node@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c"
- integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==
-
-detect-port-alt@1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.3.tgz#a4d2f061d757a034ecf37c514260a98750f2b131"
- integrity sha1-pNLwYddXoDTs83xRQmCph1DysTE=
- dependencies:
- address "^1.0.1"
- debug "^2.6.0"
-
-detect-port@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.3.0.tgz#d9c40e9accadd4df5cac6a782aefd014d573d1f1"
- integrity sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==
- dependencies:
- address "^1.0.1"
- debug "^2.6.0"
-
-devcert@^1.1.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/devcert/-/devcert-1.1.2.tgz#5c4f816e27be540c68916e0f023cf8774f2616d6"
- integrity sha512-B72N5Z2Lzu11dsPvg/KD9IwQCyNg6JgsNcHw7zJ+QQN9/rusMpc0tSSOYLczmty5D7vOs94IHITPQ0uei5D3cw==
- dependencies:
- "@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"
- configstore "^3.0.0"
- 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"
-
-diff-sequences@^25.2.6:
- version "25.2.6"
- resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd"
- integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==
-
-diff@^3.5.0:
- version "3.5.0"
- resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
- integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==
-
-diffie-hellman@^5.0.0:
- version "5.0.3"
- resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
- integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==
- dependencies:
- bn.js "^4.1.0"
- miller-rabin "^4.0.0"
- randombytes "^2.0.0"
-
-dir-glob@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
- integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
- dependencies:
- path-type "^4.0.0"
-
-dns-equal@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d"
- integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0=
-
-dns-packet@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a"
- integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==
- dependencies:
- ip "^1.1.0"
- safe-buffer "^5.0.1"
-
-dns-txt@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6"
- integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=
- dependencies:
- buffer-indexof "^1.0.0"
-
-doctrine@1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
- integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=
- dependencies:
- esutils "^2.0.2"
- isarray "^1.0.0"
-
-doctrine@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
- integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
- dependencies:
- esutils "^2.0.2"
-
-doctrine@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
- integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
- dependencies:
- esutils "^2.0.2"
-
-dom-align@^1.7.0:
- version "1.12.0"
- resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.0.tgz#56fb7156df0b91099830364d2d48f88963f5a29c"
- integrity sha512-YkoezQuhp3SLFGdOlr5xkqZ640iXrnHAwVYcDg8ZKRUtO7mSzSC2BA5V0VuyAwPSJA4CLIc6EDDJh4bEsD2+zA==
-
-dom-converter@^0.2:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
- integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==
- dependencies:
- utila "~0.4"
-
-dom-serializer@0, dom-serializer@^0.2.1:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51"
- integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==
- dependencies:
- domelementtype "^2.0.1"
- entities "^2.0.0"
-
-dom-serializer@~0.1.0, dom-serializer@~0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0"
- integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==
- dependencies:
- domelementtype "^1.3.0"
- entities "^1.1.1"
-
-dom-walk@^0.1.0:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84"
- integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==
-
-domain-browser@^1.1.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
- integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
-
-domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
- integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
-
-domelementtype@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d"
- integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==
-
-domhandler@^2.3.0:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803"
- integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==
- dependencies:
- domelementtype "1"
-
-domhandler@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-3.0.0.tgz#51cd13efca31da95bbb0c5bee3a48300e333b3e9"
- integrity sha512-eKLdI5v9m67kbXQbJSNn1zjh0SDzvzWVWtX+qEI3eMjZw8daH9k8rlj1FZY9memPwjiskQFbe7vHVVJIAqoEhw==
- dependencies:
- domelementtype "^2.0.1"
-
-domutils@1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
- integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=
- dependencies:
- dom-serializer "0"
- domelementtype "1"
-
-domutils@^1.5.1, domutils@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a"
- integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==
- dependencies:
- dom-serializer "0"
- domelementtype "1"
-
-domutils@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.1.0.tgz#7ade3201af43703fde154952e3a868eb4b635f16"
- integrity sha512-CD9M0Dm1iaHfQ1R/TI+z3/JWp/pgub0j4jIQKH89ARR4ATAV2nbaOQS5XxU9maJP5jHaPdDDQSEHuE2UmpUTKg==
- dependencies:
- dom-serializer "^0.2.1"
- domelementtype "^2.0.1"
- domhandler "^3.0.0"
-
-dot-case@^2.1.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-2.1.1.tgz#34dcf37f50a8e93c2b3bca8bb7fb9155c7da3bee"
- integrity sha1-NNzzf1Co6TwrO8qLt/uRVcfaO+4=
- dependencies:
- no-case "^2.2.0"
-
-dot-prop@^4.1.0, dot-prop@^5.1.1, dot-prop@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb"
- integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==
- dependencies:
- is-obj "^2.0.0"
-
-dotenv@^8.2.0:
- version "8.2.0"
- resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a"
- integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==
-
-duplexer3@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
- integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
-
-duplexer@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
- integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=
-
-duplexify@^3.4.2, duplexify@^3.6.0:
- version "3.7.1"
- resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
- integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
- dependencies:
- end-of-stream "^1.0.0"
- inherits "^2.0.1"
- readable-stream "^2.0.0"
- stream-shift "^1.0.0"
-
-ecc-jsbn@~0.1.1:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
- integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
- dependencies:
- jsbn "~0.1.0"
- safer-buffer "^2.1.0"
-
-ee-first@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
- integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
-
-electron-to-chromium@^1.3.523:
- version "1.3.528"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.528.tgz#9d815a1ab50d2e90755116fd6e02c3c5bdddf7db"
- integrity sha512-PEwLXeD679xF6+hYL32QBMzpyEr/H2v/K2v8N0ANkVvSrw2kblSgM7xmLYvzQTUy9d6V5SeV89lbwFqpatNqmw==
-
-elliptic@^6.5.3:
- version "6.5.3"
- resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6"
- integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==
- dependencies:
- 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"
-
-"emoji-regex@>=6.0.0 <=6.1.1":
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.1.1.tgz#c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e"
- integrity sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=
-
-emoji-regex@^7.0.1:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
- integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
-
-emoji-regex@^8.0.0:
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
- integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
-
-emoji-regex@^9.0.0:
- version "9.0.0"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.0.0.tgz#48a2309cc8a1d2e9d23bc6a67c39b63032e76ea4"
- integrity sha512-6p1NII1Vm62wni/VR/cUMauVQoxmLVb9csqQlvLz+hO2gk8U2UYDfXHQSUYIBKmZwAKz867IDqG7B+u0mj+M6w==
-
-emojis-list@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
- integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
-
-encodeurl@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
- integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
-
-encoding@^0.1.11:
- version "0.1.13"
- resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
- integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
- dependencies:
- iconv-lite "^0.6.2"
-
-end-of-stream@^1.0.0, end-of-stream@^1.1.0:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
- integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
- dependencies:
- once "^1.4.0"
-
-engine.io-client@~3.4.0:
- version "3.4.3"
- resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.4.3.tgz#192d09865403e3097e3575ebfeb3861c4d01a66c"
- integrity sha512-0NGY+9hioejTEJCaSJZfWZLk4FPI9dN+1H1C4+wj2iuFba47UgZbJzfWs4aNFajnX/qAaYKbe2lLTfEEWzCmcw==
- dependencies:
- component-emitter "~1.3.0"
- component-inherit "0.0.3"
- debug "~4.1.0"
- engine.io-parser "~2.2.0"
- has-cors "1.1.0"
- indexof "0.0.1"
- parseqs "0.0.5"
- parseuri "0.0.5"
- ws "~6.1.0"
- xmlhttprequest-ssl "~1.5.4"
- yeast "0.1.2"
-
-engine.io-parser@~2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.2.0.tgz#312c4894f57d52a02b420868da7b5c1c84af80ed"
- integrity sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==
- dependencies:
- after "0.8.2"
- arraybuffer.slice "~0.0.7"
- base64-arraybuffer "0.1.5"
- blob "0.0.5"
- has-binary2 "~1.0.2"
-
-engine.io@~3.4.0:
- version "3.4.2"
- resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.4.2.tgz#8fc84ee00388e3e228645e0a7d3dfaeed5bd122c"
- integrity sha512-b4Q85dFkGw+TqgytGPrGgACRUhsdKc9S9ErRAXpPGy/CXKs4tYoHDkvIRdsseAF7NjfVwjRFIn6KTnbw7LwJZg==
- dependencies:
- 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"
-
-enhanced-resolve@^4.1.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126"
- integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==
- dependencies:
- graceful-fs "^4.1.2"
- memory-fs "^0.5.0"
- tapable "^1.0.0"
-
-entities@^1.1.1, entities@~1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
- integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==
-
-entities@^2.0.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f"
- integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==
-
-entity-decode@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/entity-decode/-/entity-decode-2.0.2.tgz#e4f807e52c3294246e9347d1f2b02b07fd5f92e7"
- integrity sha512-5CCY/3ci4MC1m2jlumNjWd7VBFt4VfFnmSqSNmVcXq4gxM3Vmarxtt+SvmBnzwLS669MWdVuXboNVj1qN2esVg==
- dependencies:
- he "^1.1.1"
-
-envinfo@^7.5.1:
- version "7.7.2"
- resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.2.tgz#098f97a0e902f8141f9150553c92dbb282c4cabe"
- integrity sha512-k3Eh5bKuQnZjm49/L7H4cHzs2FlL5QjbTB3JrPxoTI8aJG7hVMe4uKyJxSYH4ahseby2waUwk5OaKX/nAsaYgg==
-
-eol@^0.9.1:
- version "0.9.1"
- resolved "https://registry.yarnpkg.com/eol/-/eol-0.9.1.tgz#f701912f504074be35c6117a5c4ade49cd547acd"
- integrity sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==
-
-errno@^0.1.1, errno@^0.1.3, errno@~0.1.1, errno@~0.1.7:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
- integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==
- dependencies:
- prr "~1.0.1"
-
-error-ex@^1.2.0, error-ex@^1.3.1:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
- integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
- dependencies:
- is-arrayish "^0.2.1"
-
-error-stack-parser@^2.0.0, error-stack-parser@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8"
- integrity sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==
- dependencies:
- stackframe "^1.1.1"
-
-es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5:
- version "1.17.6"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a"
- integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==
- dependencies:
- es-to-primitive "^1.2.1"
- function-bind "^1.1.1"
- has "^1.0.3"
- has-symbols "^1.0.1"
- is-callable "^1.2.0"
- is-regex "^1.1.0"
- object-inspect "^1.7.0"
- object-keys "^1.1.1"
- object.assign "^4.1.0"
- string.prototype.trimend "^1.0.1"
- string.prototype.trimstart "^1.0.1"
-
-es-to-primitive@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
- integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
- dependencies:
- is-callable "^1.1.4"
- is-date-object "^1.0.1"
- is-symbol "^1.0.2"
-
-es6-promise@^4.0.3:
- version "4.2.8"
- resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a"
- integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==
-
-es6-promisify@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203"
- integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=
- dependencies:
- es6-promise "^4.0.3"
-
-escalade@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4"
- integrity sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ==
-
-escape-goat@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675"
- integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==
-
-escape-html@~1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
- integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
-
-escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
- integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
-
-eslint-config-react-app@^5.2.1:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz#698bf7aeee27f0cea0139eaef261c7bf7dd623df"
- integrity sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==
- dependencies:
- confusing-browser-globals "^1.0.9"
-
-eslint-import-resolver-node@^0.3.3:
- version "0.3.4"
- resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717"
- integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==
- dependencies:
- debug "^2.6.9"
- resolve "^1.13.1"
-
-eslint-loader@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.2.1.tgz#28b9c12da54057af0845e2a6112701a2f6bf8337"
- integrity sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==
- dependencies:
- 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"
-
-eslint-module-utils@^2.6.0:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6"
- integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==
- dependencies:
- debug "^2.6.9"
- pkg-dir "^2.0.0"
-
-eslint-plugin-flowtype@^3.13.0:
- version "3.13.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz#e241ebd39c0ce519345a3f074ec1ebde4cf80f2c"
- integrity sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==
- dependencies:
- lodash "^4.17.15"
-
-eslint-plugin-graphql@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-graphql/-/eslint-plugin-graphql-3.1.1.tgz#640f7f73f12cee2f7145140bd2ff21694018bff5"
- integrity sha512-VNu2AipS8P1BAnE/tcJ2EmBWjFlCnG+1jKdUlFNDQjocWZlFiPpMu9xYNXePoEXK+q+jG51M/6PdhOjEgJZEaQ==
- dependencies:
- graphql-config "^2.0.1"
- lodash "^4.11.1"
-
-eslint-plugin-import@^2.22.0:
- version "2.22.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz#92f7736fe1fde3e2de77623c838dd992ff5ffb7e"
- integrity sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg==
- dependencies:
- 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.3"
- 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"
-
-eslint-plugin-jsx-a11y@^6.3.1:
- version "6.3.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.3.1.tgz#99ef7e97f567cc6a5b8dd5ab95a94a67058a2660"
- integrity sha512-i1S+P+c3HOlBJzMFORRbC58tHa65Kbo8b52/TwCwSKLohwvpfT5rm2GjGWzOHTEuq4xxf2aRlHHTtmExDQOP+g==
- dependencies:
- "@babel/runtime" "^7.10.2"
- aria-query "^4.2.2"
- array-includes "^3.1.1"
- ast-types-flow "^0.0.7"
- axe-core "^3.5.4"
- axobject-query "^2.1.2"
- damerau-levenshtein "^1.0.6"
- emoji-regex "^9.0.0"
- has "^1.0.3"
- jsx-ast-utils "^2.4.1"
- language-tags "^1.0.5"
-
-eslint-plugin-react-hooks@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04"
- integrity sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA==
-
-eslint-plugin-react@^7.20.2:
- version "7.20.5"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.20.5.tgz#29480f3071f64a04b2c3d99d9b460ce0f76fb857"
- integrity sha512-ajbJfHuFnpVNJjhyrfq+pH1C0gLc2y94OiCbAXT5O0J0YCKaFEHDV8+3+mDOr+w8WguRX+vSs1bM2BDG0VLvCw==
- dependencies:
- 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"
- object.entries "^1.1.2"
- object.fromentries "^2.0.2"
- object.values "^1.1.1"
- prop-types "^15.7.2"
- resolve "^1.17.0"
- string.prototype.matchall "^4.0.2"
-
-eslint-scope@^4.0.3:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
- integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==
- dependencies:
- esrecurse "^4.1.0"
- estraverse "^4.1.1"
-
-eslint-scope@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5"
- integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==
- dependencies:
- esrecurse "^4.1.0"
- estraverse "^4.1.1"
-
-eslint-utils@^1.4.3:
- version "1.4.3"
- resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f"
- integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==
- dependencies:
- eslint-visitor-keys "^1.1.0"
-
-eslint-utils@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
- integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
- dependencies:
- eslint-visitor-keys "^1.1.0"
-
-eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
- integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
-
-eslint@^6.8.0:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb"
- integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==
- dependencies:
- "@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"
-
-espree@^6.1.2:
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a"
- integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==
- dependencies:
- acorn "^7.1.1"
- acorn-jsx "^5.2.0"
- eslint-visitor-keys "^1.1.0"
-
-esprima@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
- integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-
-esquery@^1.0.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57"
- integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==
- dependencies:
- estraverse "^5.1.0"
-
-esrecurse@^4.1.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
- integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==
- dependencies:
- estraverse "^4.1.0"
-
-estraverse@^4.1.0, estraverse@^4.1.1:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
- integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
-
-estraverse@^5.1.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
- integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
-
-estree-walker@^0.5.2:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39"
- integrity sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==
-
-estree-walker@^0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362"
- integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==
-
-esutils@^2.0.2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
- integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
-
-etag@~1.8.1:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
- integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
-
-eval@^0.1.0, eval@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/eval/-/eval-0.1.4.tgz#e05dbe0dab4b9330215cbb7bf4886eb24bd58700"
- integrity sha512-npGsebJejyjMRnLdFu+T/97dnigqIU0Ov3IGrZ8ygd1v7RL1vGkEKtvyWZobqUH1AQgKlg0Yqqe2BtMA9/QZLw==
- dependencies:
- require-like ">= 0.1.1"
-
-event-source-polyfill@^1.0.15:
- version "1.0.16"
- resolved "https://registry.yarnpkg.com/event-source-polyfill/-/event-source-polyfill-1.0.16.tgz#24a035cf95efcc6d44e7288887da2e8de6859ca9"
- integrity sha512-8Uw+cbuKGC8NwA2EW5zV95qmyvrxQcFlVjaZcK1NpJD/M+4aSIGhLobsY8L5QXRQ7+oVX4jA0FcyTgdlv8C0TA==
-
-eventemitter3@^3.1.0:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7"
- integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==
-
-eventemitter3@^4.0.0:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384"
- integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==
-
-events@^3.0.0, events@^3.1.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379"
- integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==
-
-eventsource@0.1.6:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232"
- integrity sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=
- dependencies:
- original ">=0.0.5"
-
-eventsource@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0"
- integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==
- dependencies:
- original "^1.0.0"
-
-evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
- integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
- dependencies:
- md5.js "^1.3.4"
- safe-buffer "^5.1.1"
-
-execa@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
- integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=
- dependencies:
- 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"
-
-execa@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
- integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
- dependencies:
- 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"
-
-execa@^3.4.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89"
- integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==
- dependencies:
- 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"
-
-execa@^4.0.2:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2"
- integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==
- dependencies:
- 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"
-
-expand-brackets@^2.1.4:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
- integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
- dependencies:
- 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"
-
-expand-tilde@^2.0.0, expand-tilde@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
- integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=
- dependencies:
- homedir-polyfill "^1.0.1"
-
-express-graphql@^0.9.0:
- version "0.9.0"
- resolved "https://registry.yarnpkg.com/express-graphql/-/express-graphql-0.9.0.tgz#00fd8552f866bac5c9a4612b2c4c82076107b3c2"
- integrity sha512-wccd9Lb6oeJ8yHpUs/8LcnGjFUUQYmOG9A5BNLybRdCzGw0PeUrtBxsIR8bfiur6uSW4OvPkVDoYH06z6/N9+w==
- dependencies:
- accepts "^1.3.7"
- content-type "^1.0.4"
- http-errors "^1.7.3"
- raw-body "^2.4.1"
-
-express@^4.17.1:
- version "4.17.1"
- resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
- integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==
- dependencies:
- 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"
-
-extend-shallow@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
- integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
- dependencies:
- is-extendable "^0.1.0"
-
-extend-shallow@^3.0.0, extend-shallow@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
- integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
- dependencies:
- assign-symbols "^1.0.0"
- is-extendable "^1.0.1"
-
-extend@^3.0.0, extend@^3.0.2, extend@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
- integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-
-external-editor@^2.0.4:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5"
- integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==
- dependencies:
- chardet "^0.4.0"
- iconv-lite "^0.4.17"
- tmp "^0.0.33"
-
-external-editor@^3.0.3:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
- integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
- dependencies:
- chardet "^0.7.0"
- iconv-lite "^0.4.24"
- tmp "^0.0.33"
-
-extglob@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
- integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
- dependencies:
- 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"
-
-extract-zip@^1.6.6:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927"
- integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==
- dependencies:
- concat-stream "^1.6.2"
- debug "^2.6.9"
- mkdirp "^0.5.4"
- yauzl "^2.10.0"
-
-extsprintf@1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
- integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
-
-extsprintf@^1.2.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
- integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
-
-fast-base64-decode@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz#b434a0dd7d92b12b43f26819300d2dafb83ee418"
- integrity sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q==
-
-fast-deep-equal@^3.1.1:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
- integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
-
-fast-glob@^2.2.3:
- version "2.2.7"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d"
- integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==
- dependencies:
- "@mrmlnc/readdir-enhanced" "^2.2.1"
- "@nodelib/fs.stat" "^1.1.2"
- glob-parent "^3.1.0"
- is-glob "^4.0.0"
- merge2 "^1.2.3"
- micromatch "^3.1.10"
-
-fast-glob@^3.0.3, fast-glob@^3.1.1:
- version "3.2.4"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3"
- integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==
- dependencies:
- "@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@^2.0.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"
- integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
-
-fast-xml-parser@^3.16.0:
- version "3.17.4"
- resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-3.17.4.tgz#d668495fb3e4bbcf7970f3c24ac0019d82e76477"
- integrity sha512-qudnQuyYBgnvzf5Lj/yxMcf4L9NcVWihXJg7CiU1L+oUCq8MUnFEfH2/nXR/W5uq+yvUN1h7z6s7vs2v1WkL1A==
-
-fastest-stable-stringify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/fastest-stable-stringify/-/fastest-stable-stringify-1.0.1.tgz#9122d406d4c9d98bea644a6b6853d5874b87b028"
- integrity sha1-kSLUBtTJ2YvqZEpraFPVh0uHsCg=
-
-fastparse@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9"
- integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==
-
-fastq@^1.6.0:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481"
- integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==
- dependencies:
- reusify "^1.0.4"
-
-faye-websocket@^0.10.0:
- version "0.10.0"
- resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
- integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=
- dependencies:
- websocket-driver ">=0.5.1"
-
-faye-websocket@~0.11.0, faye-websocket@~0.11.1:
- version "0.11.3"
- resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e"
- integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==
- dependencies:
- websocket-driver ">=0.5.1"
-
-fbjs@^0.8.1:
- version "0.8.17"
- resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
- integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=
- dependencies:
- core-js "^1.0.0"
- isomorphic-fetch "^2.1.1"
- loose-envify "^1.0.0"
- object-assign "^4.1.0"
- promise "^7.1.1"
- setimmediate "^1.0.5"
- ua-parser-js "^0.7.18"
-
-fd-slicer@~1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"
- integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=
- dependencies:
- pend "~1.2.0"
-
-fd@~0.0.2:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/fd/-/fd-0.0.3.tgz#b3240de86dbf5a345baae7382a07d4713566ff0c"
- integrity sha512-iAHrIslQb3U68OcMSP0kkNWabp7sSN6d2TBSb2JO3gcLJVDd4owr/hKM4SFJovFOUeeXeItjYgouEDTMWiVAnA==
-
-figgy-pudding@^3.5.1:
- version "3.5.2"
- resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
- integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==
-
-figures@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
- integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=
- dependencies:
- escape-string-regexp "^1.0.5"
-
-figures@^3.0.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
- integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
- dependencies:
- escape-string-regexp "^1.0.5"
-
-file-entry-cache@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
- integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==
- dependencies:
- flat-cache "^2.0.1"
-
-file-loader@^1.1.11:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-1.1.11.tgz#6fe886449b0f2a936e43cabaac0cdbfb369506f8"
- integrity sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==
- dependencies:
- loader-utils "^1.0.2"
- schema-utils "^0.4.5"
-
-file-type@^12.4.2:
- version "12.4.2"
- resolved "https://registry.yarnpkg.com/file-type/-/file-type-12.4.2.tgz#a344ea5664a1d01447ee7fb1b635f72feb6169d9"
- integrity sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==
-
-file-uri-to-path@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
- integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
-
-filesize@3.5.11:
- version "3.5.11"
- resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.11.tgz#1919326749433bb3cf77368bd158caabcc19e9ee"
- integrity sha512-ZH7loueKBoDb7yG9esn1U+fgq7BzlzW6NRi5/rMdxIZ05dj7GFD/Xc5rq2CDt5Yq86CyfSYVyx4242QQNZbx1g==
-
-fill-range@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
- integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
- dependencies:
- extend-shallow "^2.0.1"
- is-number "^3.0.0"
- repeat-string "^1.6.1"
- to-regex-range "^2.1.0"
-
-fill-range@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
- integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
- dependencies:
- to-regex-range "^5.0.1"
-
-finalhandler@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
- integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
- dependencies:
- 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"
-
-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"
- integrity sha1-yN765XyKUqinhPnjHFfHQumToLk=
- dependencies:
- commondir "^1.0.1"
- mkdirp "^0.5.1"
- pkg-dir "^1.0.0"
-
-find-cache-dir@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
- integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==
- dependencies:
- commondir "^1.0.1"
- make-dir "^2.0.0"
- pkg-dir "^3.0.0"
-
-find-cache-dir@^3.3.1:
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880"
- integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==
- dependencies:
- commondir "^1.0.1"
- make-dir "^3.0.2"
- pkg-dir "^4.1.0"
-
-find-root@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
- integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
-
-find-up@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
- integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=
- dependencies:
- path-exists "^2.0.0"
- pinkie-promise "^2.0.0"
-
-find-up@^2.0.0, find-up@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
- integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
- dependencies:
- locate-path "^2.0.0"
-
-find-up@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
- integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
- dependencies:
- locate-path "^3.0.0"
-
-find-up@^4.0.0, find-up@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
- integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
- dependencies:
- locate-path "^5.0.0"
- path-exists "^4.0.0"
-
-flat-cache@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
- integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==
- dependencies:
- flatted "^2.0.0"
- rimraf "2.6.3"
- write "1.0.3"
-
-flatted@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
- integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==
-
-flatted@^3.0.0:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.0.4.tgz#f75ed043c803c8ca43a4d0bbc05f2bf20b5d9656"
- integrity sha512-4gZhsMc26tSiMgQ+0gRN818ST2KCkX/4EvqocCkE1+SRb7mapNk4KLSP+XAj02jc8rxuyD3DrmI3a0BQ/TNOpg==
-
-flush-write-stream@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
- integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==
- dependencies:
- inherits "^2.0.3"
- readable-stream "^2.3.6"
-
-fn-name@~2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7"
- integrity sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=
-
-focus-lock@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/focus-lock/-/focus-lock-0.7.0.tgz#b2bfb0ca7beacc8710a1ff74275fe0dc60a1d88a"
- integrity sha512-LI7v2mH02R55SekHYdv9pRHR9RajVNyIJ2N5IEkWbg7FT5ZmJ9Hw4mWxHeEUcd+dJo0QmzztHvDvWcc7prVFsw==
-
-follow-redirects@1.5.10:
- version "1.5.10"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
- integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==
- dependencies:
- debug "=3.1.0"
-
-follow-redirects@^1.0.0:
- version "1.13.0"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db"
- integrity sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==
-
-for-in@^0.1.3:
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1"
- integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=
-
-for-in@^1.0.1, for-in@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
- integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
-
-for-own@^0.1.3:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
- integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=
- dependencies:
- for-in "^1.0.1"
-
-foreach@~2.0.1:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
- integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k=
-
-forever-agent@~0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
- integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
-
-form-data@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682"
- integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==
- dependencies:
- asynckit "^0.4.0"
- combined-stream "^1.0.8"
- mime-types "^2.1.12"
-
-form-data@~2.3.2:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
- integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
- dependencies:
- asynckit "^0.4.0"
- combined-stream "^1.0.6"
- mime-types "^2.1.12"
-
-formik@^2.0.8:
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/formik/-/formik-2.1.5.tgz#de5bbbe35543fa6d049fe96b8ee329d6cd6892b8"
- integrity sha512-bWpo3PiqVDYslvrRjTq0Isrm0mFXHiO33D8MS6t6dWcqSFGeYF52nlpCM2xwOJ6tRVRznDkL+zz/iHPL4LDuvQ==
- dependencies:
- deepmerge "^2.1.1"
- hoist-non-react-statics "^3.3.0"
- lodash "^4.17.14"
- lodash-es "^4.17.14"
- react-fast-compare "^2.0.1"
- scheduler "^0.18.0"
- tiny-warning "^1.0.2"
- tslib "^1.10.0"
-
-forwarded@~0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
- integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=
-
-fragment-cache@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
- integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
- dependencies:
- map-cache "^0.2.2"
-
-fresh@0.5.2:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
- integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
-
-from2@^2.1.0, from2@^2.1.1:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
- integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=
- dependencies:
- inherits "^2.0.1"
- readable-stream "^2.0.0"
-
-fs-exists-cached@1.0.0, fs-exists-cached@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz#cf25554ca050dc49ae6656b41de42258989dcbce"
- integrity sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=
-
-fs-extra@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd"
- integrity sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==
- dependencies:
- graceful-fs "^4.1.2"
- jsonfile "^4.0.0"
- universalify "^0.1.0"
-
-fs-extra@^8.1.0:
- version "8.1.0"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
- integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
- dependencies:
- graceful-fs "^4.2.0"
- jsonfile "^4.0.0"
- universalify "^0.1.0"
-
-fs-write-stream-atomic@^1.0.8:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
- integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=
- dependencies:
- graceful-fs "^4.1.2"
- iferr "^0.1.5"
- imurmurhash "^0.1.4"
- readable-stream "1 || 2"
-
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
- integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
-
-fsevents@^1.2.7:
- version "1.2.13"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38"
- integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==
- dependencies:
- bindings "^1.5.0"
- nan "^2.12.1"
-
-fsevents@~2.1.2:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
- integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
-
-function-bind@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
- integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
-
-functional-red-black-tree@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
- integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
-
-fwd-stream@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/fwd-stream/-/fwd-stream-1.0.4.tgz#ed281cabed46feecf921ee32dc4c50b372ac7cfa"
- integrity sha1-7Sgcq+1G/uz5Ie4y3ExQs3KsfPo=
- dependencies:
- readable-stream "~1.0.26-4"
-
-gatsby-cli@^2.12.82:
- version "2.12.82"
- resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-2.12.82.tgz#a2237f435e99c84ed96a0ca23e61e69a61bab144"
- integrity sha512-KB+aHONL5FDlzCAxeP/ySklFlqsqpRDo/CotYymKSRP/mBRiPLTUqGsiMx6PRjS8df1kweX4mZ+BcPu3pKn3sA==
- dependencies:
- "@babel/code-frame" "^7.10.3"
- "@hapi/joi" "^15.1.1"
- "@types/common-tags" "^1.8.0"
- better-opn "^1.0.0"
- chalk "^2.4.2"
- clipboardy "^2.3.0"
- common-tags "^1.8.0"
- configstore "^5.0.1"
- convert-hrtime "^3.0.0"
- envinfo "^7.5.1"
- execa "^3.4.0"
- fs-exists-cached "^1.0.0"
- fs-extra "^8.1.0"
- gatsby-core-utils "^1.3.15"
- gatsby-recipes "^0.2.12"
- gatsby-telemetry "^1.3.26"
- hosted-git-info "^3.0.4"
- ink "^2.7.1"
- ink-spinner "^3.1.0"
- is-valid-path "^0.1.1"
- lodash "^4.17.15"
- meant "^1.0.1"
- node-fetch "^2.6.0"
- opentracing "^0.14.4"
- pretty-error "^2.1.1"
- progress "^2.0.3"
- prompts "^2.3.2"
- react "^16.8.0"
- redux "^4.0.5"
- resolve-cwd "^3.0.0"
- semver "^6.3.0"
- signal-exit "^3.0.3"
- source-map "0.7.3"
- stack-trace "^0.0.10"
- strip-ansi "^5.2.0"
- update-notifier "^4.1.0"
- uuid "3.4.0"
- yargs "^15.3.1"
- yurnalist "^1.1.2"
-
-gatsby-core-utils@^1.3.15:
- version "1.3.15"
- resolved "https://registry.yarnpkg.com/gatsby-core-utils/-/gatsby-core-utils-1.3.15.tgz#6fad76a238df514afa70fed0f94427fbb39762ca"
- integrity sha512-np1tJCGejhCHtgHdFl6+y5EwVAzdrieJZ3hdvpeOrJ22bL9ktl5XVLy4K937ThgxHLp8+ElMDVdziNun5tC8eg==
- dependencies:
- 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"
- xdg-basedir "^4.0.0"
-
-gatsby-design-tokens@^2.0.2:
- version "2.0.10"
- resolved "https://registry.yarnpkg.com/gatsby-design-tokens/-/gatsby-design-tokens-2.0.10.tgz#cade197f538f93196b4e2253e48f09b9cac6cf68"
- integrity sha512-W+BNx3IJqN8VgI/dRwlzKNqBNWw5rlESq6Jd2JNyarsw9wjsN+P5/+zJvPzFG4ALs5H9agA/6iLBX7JOSqZsuA==
- dependencies:
- hex2rgba "^0.0.1"
-
-gatsby-graphiql-explorer@^0.4.12:
- version "0.4.12"
- resolved "https://registry.yarnpkg.com/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-0.4.12.tgz#9c7a3c9c562e7bb8e3e24bf7c8ac4b319d0ce64b"
- integrity sha512-kHVHzGvebZlUGeGOoAAJVdLWAXftZiYeOk6EitWFkXEZtYxpgXM5Pum9qDMCzUCJ6pzS8r9U5IBJncjMal3ScQ==
- dependencies:
- "@babel/runtime" "^7.10.3"
-
-gatsby-interface@^0.0.166:
- version "0.0.166"
- resolved "https://registry.yarnpkg.com/gatsby-interface/-/gatsby-interface-0.0.166.tgz#ce970498fa0b36767595d423a30ed16a4832ac1e"
- integrity sha512-PN0lTVOKu50zfY7kfjgHvT5jsYZIOdSxuWrV/WVxDXo4O3oifLiWUyfFy8zg9T8S1G+TwRyfzhWT9Pfj1CZ2Dg==
- dependencies:
- "@mdx-js/react" "^1.5.2"
- "@reach/alert" "0.10.3"
- "@reach/combobox" "0.10.3"
- "@reach/dialog" "0.10.3"
- "@reach/menu-button" "0.10.3"
- "@reach/popover" "0.10.3"
- "@reach/tabs" "0.10.3"
- "@reach/tooltip" "0.10.3"
- "@types/lodash.sample" "^4.2.6"
- case "^1.6.2"
- date-fns "^2.8.1"
- gatsby-design-tokens "^2.0.2"
- lodash.sample "^4.2.1"
- theme-ui "^0.2.49"
-
-gatsby-legacy-polyfills@^0.0.2:
- version "0.0.2"
- resolved "https://registry.yarnpkg.com/gatsby-legacy-polyfills/-/gatsby-legacy-polyfills-0.0.2.tgz#c0e2524eccb7fd53e883161a291edcb022ff5aa8"
- integrity sha512-i8LLwvtupC92AjQMivLDKDCgN51sV6FLbtoNn0CRQJdLJY31P06k+5qKcjdprGLdPjCjkCsYLTYi08pdvqAuPw==
- dependencies:
- core-js-compat "^3.6.5"
-
-gatsby-link@^2.4.13:
- version "2.4.13"
- resolved "https://registry.yarnpkg.com/gatsby-link/-/gatsby-link-2.4.13.tgz#018461021a775c97859fe3c8e1f5d593287def78"
- integrity sha512-0qTM9JJvYZCsqAF/FLkChHwECbjl2DxUl8M0cYNgCDcaw5BI6PhF4FhuGUcr17dZ6KlpEMrpApaF5MMQqV0WSQ==
- dependencies:
- "@babel/runtime" "^7.10.3"
- "@types/reach__router" "^1.3.3"
- prop-types "^15.7.2"
-
-gatsby-page-utils@^0.2.20:
- version "0.2.20"
- resolved "https://registry.yarnpkg.com/gatsby-page-utils/-/gatsby-page-utils-0.2.20.tgz#2d9360f274b09476224f178b23d7cb106afc961a"
- integrity sha512-waq2TpDjNxH5+Q+xFnuf9of3Xt0wxBkJwb6VbCGz4LS0XQ6c9KYMgC2OCBwPJOnv2Vo/6BglpRyn4lYcJEQJdw==
- dependencies:
- "@babel/runtime" "^7.10.3"
- bluebird "^3.7.2"
- chokidar "3.4.0"
- fs-exists-cached "^1.0.0"
- gatsby-core-utils "^1.3.15"
- glob "^7.1.6"
- lodash "^4.17.15"
- micromatch "^3.1.10"
-
-gatsby-plugin-antd@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/gatsby-plugin-antd/-/gatsby-plugin-antd-2.2.0.tgz#9d9565e3e98e03517854b1b68b7bdcac9ed73d27"
- integrity sha512-hfELJ/PKxm1e3mvT+BstvVBUatSeqAAD2CkTrBwxSqn5BuRQWBPQmQAYhXQAtHAkLeheebBCAz1dCqZr9qtE0Q==
- dependencies:
- antd "^4.0.0"
- babel-plugin-import "^1.13.0"
-
-gatsby-plugin-catch-links@^2.3.2:
- version "2.3.11"
- resolved "https://registry.yarnpkg.com/gatsby-plugin-catch-links/-/gatsby-plugin-catch-links-2.3.11.tgz#6a61a126a2ffcc3b155a1647123eb069a0b9e5d6"
- integrity sha512-30oNCe85evOmyEQ4THwfV0Uokv0GVQv+VpR6ztabLDF78J3p3yFQNQhtcyXPjHrLU2EeuWutSZYk3v1etdh9Hw==
- dependencies:
- "@babel/runtime" "^7.10.3"
- escape-string-regexp "^1.0.5"
-
-gatsby-plugin-emotion@^4.0.3:
- version "4.3.10"
- resolved "https://registry.yarnpkg.com/gatsby-plugin-emotion/-/gatsby-plugin-emotion-4.3.10.tgz#569e9489837fa0f55db0a0264efda7f3c6c4a4cd"
- integrity sha512-OQrNgq3Te+bjra/sNo2PwOm24dPVr8MsjWf3X/3ciPf4bkf+Ey0jzJ36JnIIUIzZvpbyBHAr6eNzSOWnE2X2zA==
- dependencies:
- "@babel/runtime" "^7.10.3"
- "@emotion/babel-preset-css-prop" "^10.0.27"
-
-gatsby-plugin-google-analytics@^2.2.5:
- version "2.3.13"
- resolved "https://registry.yarnpkg.com/gatsby-plugin-google-analytics/-/gatsby-plugin-google-analytics-2.3.13.tgz#46f78f4df11cc773d44e5909ea491c8f8c0e6774"
- integrity sha512-K/6c9iByR8uDpFZuJrappjyMsVtWFwPyAkRlXFHhq2mmNtgZeRVKFf5XoGiOHCeMPEpBGE58LLana/F01LLteQ==
- dependencies:
- "@babel/runtime" "^7.10.3"
- minimatch "3.0.4"
-
-gatsby-plugin-less@^3.0.1:
- version "3.2.9"
- resolved "https://registry.yarnpkg.com/gatsby-plugin-less/-/gatsby-plugin-less-3.2.9.tgz#bce554256a722ae201720e0595a6aea49b2677a6"
- integrity sha512-JcUpHv53WdgSCKxaatqGTc/zRqJ6hc39W62ClLPLHLTtm7fa1x8RCrzuBu1kFLJl6uRkZfbAg4DSKuc50KMNNQ==
- dependencies:
- "@babel/runtime" "^7.10.3"
- less-loader "^5.0.0"
-
-gatsby-plugin-mdx@^1.0.23:
- version "1.2.34"
- resolved "https://registry.yarnpkg.com/gatsby-plugin-mdx/-/gatsby-plugin-mdx-1.2.34.tgz#ad470d66cc488c9f77436f9b7dbc309d5437fb40"
- integrity sha512-YCuVgpUaOHPTEbt2/OXSXU/wr4fz3ONt49NImO8eNIJZqUqM8tuG8mBVOq2ukW2QIbp2kT9A7kbHHaBAZtuBDQ==
- dependencies:
- "@babel/core" "^7.10.3"
- "@babel/generator" "^7.10.3"
- "@babel/helper-plugin-utils" "^7.10.3"
- "@babel/plugin-proposal-object-rest-spread" "^7.10.3"
- "@babel/preset-env" "^7.10.3"
- "@babel/preset-react" "^7.10.1"
- "@babel/types" "^7.10.3"
- camelcase-css "^2.0.1"
- change-case "^3.1.0"
- core-js "^3.6.5"
- dataloader "^1.4.0"
- debug "^4.1.1"
- escape-string-regexp "^1.0.5"
- eval "^0.1.4"
- fs-extra "^8.1.0"
- gatsby-core-utils "^1.3.15"
- gray-matter "^4.0.2"
- json5 "^2.1.3"
- loader-utils "^1.4.0"
- lodash "^4.17.15"
- mdast-util-to-string "^1.1.0"
- mdast-util-toc "^3.1.0"
- mime "^2.4.6"
- p-queue "^5.0.0"
- pretty-bytes "^5.3.0"
- remark "^10.0.1"
- remark-retext "^3.1.3"
- retext-english "^3.0.4"
- slugify "^1.4.4"
- static-site-generator-webpack-plugin "^3.4.2"
- style-to-object "^0.3.0"
- underscore.string "^3.3.5"
- unified "^8.4.2"
- unist-util-map "^1.0.5"
- unist-util-remove "^1.0.3"
- unist-util-visit "^1.4.1"
-
-gatsby-plugin-page-creator@^2.3.21:
- version "2.3.21"
- resolved "https://registry.yarnpkg.com/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.21.tgz#f1fc434e726d7fe81616dab8c3ac278ed727edac"
- integrity sha512-DlkKW6UOfM6sap2vyqwcEfkECugYblaa5t7oNBydU7U2rR7bAFyZCfuwPMfMhDrYwWnTtY0pH8q2Yz+tT9aAOg==
- dependencies:
- "@babel/traverse" "^7.10.2"
- fs-exists-cached "^1.0.0"
- gatsby-page-utils "^0.2.20"
- globby "^11.0.1"
- graphql "^14.6.0"
- lodash "^4.17.15"
- slugify "^1.4.4"
-
-gatsby-plugin-printer@1.0.x:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/gatsby-plugin-printer/-/gatsby-plugin-printer-1.0.8.tgz#281c562395b3cc80664da62267076fd4b7241dc5"
- integrity sha512-a9V1sFQxIrFx47jQJdMkRmTd6jJj3cs+YT1mfuctkmTjBvKU7+L4b3XVqkr0fyljGsAZg/Ztdgud0ccmux4rgQ==
- dependencies:
- "@sindresorhus/slugify" "^0.9.1"
- babel-plugin-preval "^3.0.1"
- fs-extra "^8.1.0"
- puppeteer "^1.19.0"
- rollup "1.23.1"
- rollup-plugin-babel "^4.3.3"
- rollup-plugin-commonjs "^10.0.1"
- rollup-plugin-node-builtins "^2.1.2"
- rollup-plugin-node-globals "^1.4.0"
- rollup-plugin-node-resolve "^5.2.0"
- rollup-plugin-replace "^2.2.0"
-
-gatsby-plugin-react-helmet@^3.0.2:
- version "3.3.10"
- resolved "https://registry.yarnpkg.com/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-3.3.10.tgz#ba2f84715cc2471606b90327c7c3ba11c5287bc7"
- integrity sha512-AcXYwmS3r298JWs6iQ3OLNxIe8L8i5a2iSdLr/SDMpHqumYm7q/vB9kCX0et5wM7DIuZ7aPXDrdi5yDCAvU5lg==
- dependencies:
- "@babel/runtime" "^7.10.3"
-
-gatsby-plugin-sitemap@^2.4.3:
- version "2.4.11"
- resolved "https://registry.yarnpkg.com/gatsby-plugin-sitemap/-/gatsby-plugin-sitemap-2.4.11.tgz#080b3fe49e011a473582a660720de7a36089ae84"
- integrity sha512-OX8Jry3t6iPqWoo/WDo0DTmaKuIPa0RDrd/fFeS5DYGyclpIVnAK1fr92X2222ZtdRwn6NLd5c+RpNrjxDvJDA==
- dependencies:
- "@babel/runtime" "^7.10.3"
- minimatch "^3.0.4"
- pify "^3.0.0"
- sitemap "^1.13.0"
-
-gatsby-plugin-svgr@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/gatsby-plugin-svgr/-/gatsby-plugin-svgr-2.0.2.tgz#22e08fb67ec63b68aca6ac3e89962af20214e2a5"
- integrity sha512-54REIMe79qFBAwpcnWHBkvEE9CKoEVkefF9rDXai0k642r91SZ4UeWFuAmsegPG+sPVub7tHfHu/2LVXK1I9kg==
-
-gatsby-plugin-typescript@^2.4.18:
- version "2.4.18"
- resolved "https://registry.yarnpkg.com/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.18.tgz#9361ef69f149f68e55ebf2d3f773b9aafce75df8"
- integrity sha512-irFd9xu+LjEmL7olcuUziVSb2yRf0nVWFwgaDb+l5rfU6HeKr3zyHuxLqBMwvXWTxu6gVs8sAJVXCcxxM4DbeA==
- dependencies:
- "@babel/core" "^7.10.3"
- "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.1"
- "@babel/plugin-proposal-numeric-separator" "^7.10.1"
- "@babel/plugin-proposal-optional-chaining" "^7.10.3"
- "@babel/preset-typescript" "^7.10.1"
- "@babel/runtime" "^7.10.3"
- babel-plugin-remove-graphql-queries "^2.9.17"
-
-gatsby-react-router-scroll@^3.0.12:
- version "3.0.12"
- resolved "https://registry.yarnpkg.com/gatsby-react-router-scroll/-/gatsby-react-router-scroll-3.0.12.tgz#1c6a7c3fd2d54ec618f42a6e793ff8293070b6bc"
- integrity sha512-rA7qe/LjKAPnwI4KdKjvx94XIV9a4hCPT+BzKBiifTkm5sFpQyXsfEWmaFfzIaxpKxOwrWsJGpW0OA39yunL8g==
- dependencies:
- "@babel/runtime" "^7.10.3"
-
-gatsby-recipes@^0.2.12:
- version "0.2.12"
- resolved "https://registry.yarnpkg.com/gatsby-recipes/-/gatsby-recipes-0.2.12.tgz#74c65c1169b27c2c46f561c933a6a81021866fc0"
- integrity sha512-lvZzxqk2gqmFJipb5liCeVGbRRT1H4OOaLsJ9dT1TgbSrf1YnpvvfEEaJuOnm/prHs1oOlEdf14ZooA5OxhJeA==
- dependencies:
- "@babel/core" "^7.9.6"
- "@babel/generator" "^7.9.6"
- "@babel/helper-plugin-utils" "^7.8.3"
- "@babel/plugin-proposal-optional-chaining" "^7.9.4"
- "@babel/plugin-transform-react-jsx" "^7.9.4"
- "@babel/standalone" "^7.10.2"
- "@babel/template" "^7.8.6"
- "@babel/types" "^7.9.6"
- "@emotion/core" "^10.0.14"
- "@emotion/styled" "^10.0.14"
- "@graphql-tools/schema" "^6.0.14"
- "@graphql-tools/utils" "^6.0.14"
- "@hapi/hoek" "8.x.x"
- "@hapi/joi" "^15.1.1"
- "@mdx-js/mdx" "^2.0.0-next.4"
- "@mdx-js/react" "^2.0.0-next.4"
- "@mdx-js/runtime" "^2.0.0-next.4"
- acorn "^7.2.0"
- acorn-jsx "^5.2.0"
- ansi-html "^0.0.7"
- babel-plugin-remove-export-keywords "^1.6.5"
- better-queue "^3.8.10"
- chokidar "3.4.0"
- concurrently "^5.0.0"
- contentful-management "^5.26.3"
- cors "^2.8.5"
- debug "^4.1.1"
- detect-port "^1.3.0"
- dotenv "^8.2.0"
- execa "^4.0.2"
- express "^4.17.1"
- express-graphql "^0.9.0"
- flatted "^3.0.0"
- formik "^2.0.8"
- fs-extra "^8.1.0"
- gatsby-core-utils "^1.3.15"
- gatsby-interface "^0.0.166"
- gatsby-telemetry "^1.3.26"
- 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.7.0"
- html-tag-names "^1.1.5"
- ink-box "^1.0.0"
- is-binary-path "^2.1.0"
- is-url "^1.2.4"
- isomorphic-fetch "^2.1.0"
- jest-diff "^25.5.0"
- lodash "^4.17.15"
- mitt "^1.2.0"
- mkdirp "^0.5.1"
- node-fetch "^2.5.0"
- normalize.css "^8.0.1"
- pkg-dir "^4.2.0"
- prettier "^2.0.5"
- prop-types "^15.6.1"
- property-information "5.5.0"
- react-circular-progressbar "^2.0.0"
- react-icons "^3.0.1"
- react-reconciler "^0.25.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-cwd "^3.0.0"
- semver "^7.3.2"
- single-trailing-newline "^1.0.0"
- strip-ansi "^6.0.0"
- style-to-object "^0.3.0"
- subscriptions-transport-ws "^0.9.16"
- svg-tag-names "^2.0.1"
- unified "^8.4.2"
- unist-util-remove "^2.0.0"
- unist-util-visit "^2.0.2"
- urql "^1.9.7"
- uuid "^8.2.0"
- ws "^7.3.0"
- xstate "^4.9.1"
- yoga-layout-prebuilt "^1.9.6"
- yup "^0.27.0"
-
-gatsby-remark-autolink-headers@^2.3.11, gatsby-remark-autolink-headers@^2.3.3:
- version "2.3.11"
- resolved "https://registry.yarnpkg.com/gatsby-remark-autolink-headers/-/gatsby-remark-autolink-headers-2.3.11.tgz#13f9e6354b73d0088896dad8bea8e35b5a85ba43"
- integrity sha512-jYGgZ+NTbVxJmyS6z1oojWxOR12R7MGl4jM5aOXSmPuTSo8gbpm3aW7l5XMyud5fDDdP3xfbYuTX4RvBUWrx7g==
- dependencies:
- "@babel/runtime" "^7.10.3"
- github-slugger "^1.3.0"
- lodash "^4.17.15"
- mdast-util-to-string "^1.1.0"
- unist-util-visit "^1.4.1"
-
-gatsby-remark-check-links@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/gatsby-remark-check-links/-/gatsby-remark-check-links-2.1.0.tgz#8e8a2b1b82ac6c516fcc2074e8f806e2c0d53571"
- integrity sha512-TbhT8oVlAgJfxe0WUQWDOb0kLkMUYo1N4AfFstejClPWO4OjRlznt3IMW3weQkwuweiovF5cxVpQcFrkCGVFBw==
- dependencies:
- unist-util-visit "^1.4.1"
-
-gatsby-remark-code-titles@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/gatsby-remark-code-titles/-/gatsby-remark-code-titles-1.1.0.tgz#1b7246e4ac78669c1ca7c18ea70c3dd11fede139"
- integrity sha512-RuNqziXi99eBIj5NJP0TgdzAxzWFL+ArGRb3961Ff9Tto/nCvmyqR1qySaWKXtkOgeqoVUlqAFNUCyEAyNuc8w==
- dependencies:
- query-string "~6.0.0"
- unist-util-visit "~1.3.0"
-
-gatsby-remark-copy-linked-files@^2.0.12:
- version "2.3.12"
- resolved "https://registry.yarnpkg.com/gatsby-remark-copy-linked-files/-/gatsby-remark-copy-linked-files-2.3.12.tgz#f873ef6ddf3333ff16ed718a525c728901a5bce8"
- integrity sha512-heDSTfvzrfWWr3Itxk7TFdaObXv6i0wjmdgPKXchMPV2nUHTGGuoe3aLRLHrFXD/XsWpG/YI4Z57W0meyHMzFQ==
- dependencies:
- "@babel/runtime" "^7.10.3"
- cheerio "^1.0.0-rc.3"
- fs-extra "^8.1.0"
- is-relative-url "^3.0.0"
- lodash "^4.17.15"
- path-is-inside "^1.0.2"
- probe-image-size "^4.1.1"
- unist-util-visit "^1.4.1"
-
-gatsby-remark-mermaid@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/gatsby-remark-mermaid/-/gatsby-remark-mermaid-1.2.0.tgz#73d134cbf4eba62f24aad468f3378ed17e0bbb59"
- integrity sha512-Er1Ck802dVP3/XYdRxZs3T6Kwi6fzwzDAKkxayzEhC+BrVWLmEKpANkEcdaKDhG3Cx54sWPrFpchitn/E0K5/Q==
- dependencies:
- mermaid "^8.0.0"
- puppeteer "^1.12.2"
- unist-util-visit "^1.4.0"
-
-gatsby-remark-prismjs@^3.2.8:
- version "3.5.10"
- resolved "https://registry.yarnpkg.com/gatsby-remark-prismjs/-/gatsby-remark-prismjs-3.5.10.tgz#4291818501c2d3f5970830b9509592efaf0f6b07"
- integrity sha512-1lywDdXyu+y7ieZ7PsrXgwtso1n59gO5btHdbZXCFpvuYt7MHoJhb0FewkbsZ3goJMJ2q8yug5jEGaRKX2vSOQ==
- dependencies:
- "@babel/runtime" "^7.10.3"
- parse-numeric-range "^0.0.2"
- unist-util-visit "^1.4.1"
-
-gatsby-remark-rewrite-relative-links@^1.0.8:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/gatsby-remark-rewrite-relative-links/-/gatsby-remark-rewrite-relative-links-1.0.8.tgz#b2a1190336fa0760518a4e318bc2c503a904f20a"
- integrity sha512-7jCyMM+AWdp8mFLUWuJ5RGPQIKFzpLqf253QR6Aq8xrhlV0Bcz2k1+03MxPnGP0R5XetIoRm2W864KrbIZdk9Q==
- dependencies:
- unist-util-visit "^2.0.0"
-
-gatsby-source-filesystem@^2.0.29, gatsby-source-filesystem@^2.1.19:
- version "2.3.24"
- resolved "https://registry.yarnpkg.com/gatsby-source-filesystem/-/gatsby-source-filesystem-2.3.24.tgz#857932fb91cba876ff1e48172103ead66cf2b0fe"
- integrity sha512-TiuuV7sczagVOKW94dfx1AkW/wfe678UOdBAJrMxA2wZvuTe/gXz4Vg4F+EJIoZ8pyy8BjQbclmqXEnGX4eYKw==
- dependencies:
- "@babel/runtime" "^7.10.3"
- better-queue "^3.8.10"
- bluebird "^3.7.2"
- chokidar "3.4.0"
- file-type "^12.4.2"
- fs-extra "^8.1.0"
- gatsby-core-utils "^1.3.15"
- got "^9.6.0"
- md5-file "^3.2.3"
- mime "^2.4.6"
- pretty-bytes "^5.3.0"
- progress "^2.0.3"
- read-chunk "^3.2.0"
- valid-url "^1.0.9"
- xstate "^4.11.0"
-
-gatsby-source-git@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/gatsby-source-git/-/gatsby-source-git-1.1.0.tgz#99faab2b8053a78afec6f7a67c2e74b68b1575d3"
- integrity sha512-f5HllxwS+ivVn6SitSJPEQe8tf/apjwq5TOZRiEIRJtlrm9eSBqM2hO6ZIOK5na6UuvI+BH8xxbgj0qrwNTznA==
- dependencies:
- fast-glob "^2.2.3"
- fs-extra "^5.0.0"
- gatsby-source-filesystem "^2.1.19"
- git-url-parse "^11.1.1"
- rimraf "^2.6.2"
- simple-git "^1.105.0"
-
-gatsby-telemetry@^1.3.26:
- version "1.3.26"
- resolved "https://registry.yarnpkg.com/gatsby-telemetry/-/gatsby-telemetry-1.3.26.tgz#c9b3845787ed47258da0d902d565f7c930534871"
- integrity sha512-10DqlSw0mvuRcQfoYmYdt+XAZqECqCUY8wYWo1Vpg3BwSpRtaW2rFjDqPa+MZSB5qfBfL92urDw8g1uZZolBNQ==
- dependencies:
- "@babel/code-frame" "^7.10.3"
- "@babel/runtime" "^7.10.3"
- "@turist/fetch" "^7.1.6"
- "@turist/time" "^0.0.1"
- async-retry-ng "^2.0.1"
- boxen "^4.2.0"
- configstore "^5.0.1"
- envinfo "^7.5.1"
- fs-extra "^8.1.0"
- gatsby-core-utils "^1.3.15"
- git-up "4.0.1"
- is-docker "2.0.0"
- lodash "^4.17.15"
- node-fetch "2.6.0"
- uuid "3.4.0"
-
-gatsby-theme-apollo-core@^3.0.18:
- version "3.0.18"
- resolved "https://registry.yarnpkg.com/gatsby-theme-apollo-core/-/gatsby-theme-apollo-core-3.0.18.tgz#6cf477fba102f3056c4d81d6d352e17885fb2a60"
- integrity sha512-/Av0iOdqPe2zRuTooABB/j1LjnS7WtNddNaXHsWEVcg4a9U0+ZiLwmTfWnW29/1VFJjKtuBw7GvDuXqmyHQCtg==
- dependencies:
- "@apollo/space-kit" "^5.6.0"
- "@emotion/core" "^10.0.7"
- "@emotion/styled" "^10.0.7"
- "@svgr/webpack" "^4.2.0"
- gatsby-plugin-emotion "^4.0.3"
- gatsby-plugin-less "^3.0.1"
- gatsby-plugin-react-helmet "^3.0.2"
- gatsby-plugin-svgr "^2.0.1"
- less "^3.10.1"
- lodash "^4.17.14"
- polished "^2.3.3"
- prop-types "^15.6.2"
- react-helmet "^5.2.0"
- react-use "^9.11.0"
-
-gatsby-theme-apollo-docs@^4.3.5:
- version "4.3.7"
- resolved "https://registry.yarnpkg.com/gatsby-theme-apollo-docs/-/gatsby-theme-apollo-docs-4.3.7.tgz#f26f7818c6d7e24a690a69daef6db6b25ff12b62"
- integrity sha512-c1dhi4raNi9XS+5h42Q1kE3OUDjbWwCG2fsjsHHvawPYb6He2mfptB781NVYN3aRPY3aYgEwlKKI527qglRmJw==
- dependencies:
- "@mdx-js/mdx" "^1.1.0"
- "@mdx-js/react" "^1.0.27"
- gatsby-plugin-google-analytics "^2.2.5"
- gatsby-plugin-mdx "^1.0.23"
- gatsby-plugin-printer "1.0.x"
- gatsby-remark-autolink-headers "^2.3.11"
- gatsby-remark-check-links "^2.1.0"
- gatsby-remark-code-titles "^1.1.0"
- gatsby-remark-copy-linked-files "^2.0.12"
- gatsby-remark-mermaid "^1.2.0"
- gatsby-remark-prismjs "^3.2.8"
- gatsby-remark-rewrite-relative-links "^1.0.8"
- gatsby-source-filesystem "^2.0.29"
- gatsby-source-git "^1.0.1"
- gatsby-theme-apollo-core "^3.0.18"
- gatsby-transformer-remark "^2.6.30"
- js-yaml "^3.13.1"
- prismjs "^1.15.0"
- react-textfit "^1.1.0"
- recompose "^0.30.0"
- rehype-react "^3.1.0"
- remark "^10.0.1"
- remark-react "^5.0.1"
- remark-typescript "^0.3.0"
- simple-git "^2.7.0"
- source-sans-pro "^3.6.0"
- striptags "^3.1.1"
-
-gatsby-transformer-remark@^2.6.30:
- version "2.8.28"
- resolved "https://registry.yarnpkg.com/gatsby-transformer-remark/-/gatsby-transformer-remark-2.8.28.tgz#e3e05c7c953303cff8569d0f885c38641d42e7bd"
- integrity sha512-89f3ouvgXx7ZMvqk7zggdnbucvGs0w9z0k8Gqn8RMhipPRWeGngh2+WOh9q9ekus1e8wyMJxTe0kFdn37KHykg==
- dependencies:
- "@babel/runtime" "^7.10.3"
- bluebird "^3.7.2"
- gatsby-core-utils "^1.3.15"
- gray-matter "^4.0.2"
- hast-util-raw "^4.0.0"
- hast-util-to-html "^4.0.1"
- lodash "^4.17.15"
- mdast-util-to-hast "^3.0.4"
- mdast-util-to-string "^1.1.0"
- mdast-util-toc "^5.0"
- remark "^10.0.1"
- remark-parse "^6.0.3"
- remark-retext "^3.1.3"
- remark-stringify "6.0.4"
- retext-english "^3.0.4"
- sanitize-html "^1.27.0"
- underscore.string "^3.3.5"
- unified "^6.2.0"
- unist-util-remove-position "^1.1.4"
- unist-util-select "^1.5.0"
- unist-util-visit "^1.4.1"
-
-gatsby@^2.24.37:
- version "2.24.40"
- resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-2.24.40.tgz#afc1fe5b169c33d3de625bca714f10ad7a941454"
- integrity sha512-8keaqWP7giwqmYQH6zBZAkQZKh4Jenvjei2GQ9sCIMkusV9//4NI3xzkOGBdiGTadDoZjfTwNMkwMdw4eYkOtA==
- dependencies:
- "@babel/code-frame" "^7.10.3"
- "@babel/core" "^7.10.3"
- "@babel/parser" "^7.10.3"
- "@babel/runtime" "^7.10.3"
- "@babel/traverse" "^7.10.3"
- "@hapi/joi" "^15.1.1"
- "@mikaelkristiansson/domready" "^1.0.10"
- "@pieh/friendly-errors-webpack-plugin" "1.7.0-chalk-2"
- "@pmmmwh/react-refresh-webpack-plugin" "^0.3.3"
- "@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"
- autoprefixer "^9.8.4"
- axios "^0.19.2"
- babel-core "7.0.0-bridge.0"
- babel-eslint "^10.1.0"
- babel-loader "^8.1.0"
- babel-plugin-add-module-exports "^0.3.3"
- babel-plugin-dynamic-import-node "^2.3.3"
- babel-plugin-remove-graphql-queries "^2.9.17"
- babel-preset-gatsby "^0.5.5"
- better-opn "1.0.0"
- better-queue "^3.8.10"
- bluebird "^3.7.2"
- browserslist "^4.12.2"
- cache-manager "^2.11.1"
- cache-manager-fs-hash "^0.0.9"
- chalk "^2.4.2"
- chokidar "3.4.0"
- 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.6"
- del "^5.1.0"
- detect-port "^1.3.0"
- devcert "^1.1.0"
- 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 "^3.1.1"
- eslint-plugin-import "^2.22.0"
- eslint-plugin-jsx-a11y "^6.3.1"
- eslint-plugin-react "^7.20.2"
- eslint-plugin-react-hooks "^1.7.0"
- event-source-polyfill "^1.0.15"
- express "^4.17.1"
- express-graphql "^0.9.0"
- fast-levenshtein "^2.0.6"
- 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.12.82"
- gatsby-core-utils "^1.3.15"
- gatsby-graphiql-explorer "^0.4.12"
- gatsby-legacy-polyfills "^0.0.2"
- gatsby-link "^2.4.13"
- gatsby-plugin-page-creator "^2.3.21"
- gatsby-plugin-typescript "^2.4.18"
- gatsby-react-router-scroll "^3.0.12"
- gatsby-telemetry "^1.3.26"
- 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"
- is-wsl "^2.2.0"
- jest-worker "^24.9.0"
- json-loader "^0.5.7"
- json-stringify-safe "^5.0.1"
- latest-version "5.1.0"
- lodash "^4.17.15"
- md5-file "^3.2.3"
- meant "^1.0.1"
- micromatch "^3.1.10"
- mime "^2.4.6"
- mini-css-extract-plugin "^0.8.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.7.0"
- redux "^4.0.5"
- redux-thunk "^2.3.0"
- semver "^5.7.1"
- 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"
- st "^2.0.0"
- stack-trace "^0.0.10"
- string-similarity "^1.2.2"
- style-loader "^0.23.1"
- terser-webpack-plugin "^1.4.4"
- 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.43.0"
- webpack-dev-middleware "^3.7.2"
- webpack-dev-server "^3.11.0"
- webpack-hot-middleware "^2.25.0"
- webpack-merge "^4.2.2"
- webpack-stats-plugin "^0.3.1"
- webpack-virtual-modules "^0.2.2"
- xstate "^4.11.0"
- yaml-loader "^0.6.0"
-
-gensync@^1.0.0-beta.1:
- version "1.0.0-beta.1"
- resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269"
- integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==
-
-get-caller-file@^2.0.1:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
- integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-
-get-nonce@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3"
- integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==
-
-get-port@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc"
- integrity sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=
-
-get-stdin@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
- integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
-
-get-stream@3.0.0, get-stream@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
- integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
-
-get-stream@^4.0.0, get-stream@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
- integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
- dependencies:
- pump "^3.0.0"
-
-get-stream@^5.0.0, get-stream@^5.1.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
- integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
- dependencies:
- pump "^3.0.0"
-
-get-value@^2.0.3, get-value@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
- integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
-
-getpass@^0.1.1:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
- integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
- dependencies:
- assert-plus "^1.0.0"
-
-git-up@4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.1.tgz#cb2ef086653640e721d2042fe3104857d89007c0"
- integrity sha512-LFTZZrBlrCrGCG07/dm1aCjjpL1z9L3+5aEeI9SBhAqSc+kiA9Or1bgZhQFNppJX6h/f5McrvJt1mQXTFm6Qrw==
- dependencies:
- is-ssh "^1.3.0"
- parse-url "^5.0.0"
-
-git-up@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.2.tgz#10c3d731051b366dc19d3df454bfca3f77913a7c"
- integrity sha512-kbuvus1dWQB2sSW4cbfTeGpCMd8ge9jx9RKnhXhuJ7tnvT+NIrTVfYZxjtflZddQYcmdOTlkAcjmx7bor+15AQ==
- dependencies:
- is-ssh "^1.3.0"
- parse-url "^5.0.0"
-
-git-url-parse@^11.1.1:
- version "11.1.3"
- resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.1.3.tgz#03625b6fc09905e9ad1da7bb2b84be1bf9123143"
- integrity sha512-GPsfwticcu52WQ+eHp0IYkAyaOASgYdtsQDIt4rUp6GbiNt1P9ddrh3O0kQB0eD4UJZszVqNT3+9Zwcg40fywA==
- dependencies:
- git-up "^4.0.0"
-
-github-slugger@^1.2.1, github-slugger@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.3.0.tgz#9bd0a95c5efdfc46005e82a906ef8e2a059124c9"
- integrity sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q==
- dependencies:
- emoji-regex ">=6.0.0 <=6.1.1"
-
-glob-parent@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
- integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=
- dependencies:
- is-glob "^3.1.0"
- path-dirname "^1.0.0"
-
-glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
- integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
- dependencies:
- is-glob "^4.0.1"
-
-glob-to-regexp@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab"
- integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=
-
-glob@^7.0.3, glob@^7.0.5, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
- version "7.1.6"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
- integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
- dependencies:
- 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"
-
-global-dirs@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.0.1.tgz#acdf3bb6685bcd55cb35e8a052266569e9469201"
- integrity sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==
- dependencies:
- ini "^1.3.5"
-
-global-modules@1.0.0, global-modules@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
- integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==
- dependencies:
- global-prefix "^1.0.1"
- is-windows "^1.0.1"
- resolve-dir "^1.0.0"
-
-global-prefix@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
- integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=
- dependencies:
- expand-tilde "^2.0.2"
- homedir-polyfill "^1.0.1"
- ini "^1.3.4"
- is-windows "^1.0.1"
- which "^1.2.14"
-
-global@^4.3.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406"
- integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==
- dependencies:
- min-document "^2.19.0"
- process "^0.11.10"
-
-globals@^11.1.0:
- version "11.12.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
- integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-
-globals@^12.1.0:
- version "12.4.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
- integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==
- dependencies:
- type-fest "^0.8.1"
-
-globby@^10.0.1:
- version "10.0.2"
- resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543"
- integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==
- dependencies:
- "@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"
-
-globby@^11.0.1:
- version "11.0.1"
- resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357"
- integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==
- dependencies:
- 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"
-
-globby@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
- integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=
- dependencies:
- array-union "^1.0.1"
- glob "^7.0.3"
- object-assign "^4.0.1"
- pify "^2.0.0"
- pinkie-promise "^2.0.0"
-
-good-listener@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
- integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=
- dependencies:
- delegate "^3.1.2"
-
-got@8.3.2:
- version "8.3.2"
- resolved "https://registry.yarnpkg.com/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937"
- integrity sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==
- dependencies:
- "@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"
-
-got@^9.6.0:
- version "9.6.0"
- resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85"
- integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==
- dependencies:
- "@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"
-
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3:
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
- integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
-
-graphlib@^2.1.7, graphlib@^2.1.8:
- version "2.1.8"
- resolved "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.8.tgz#5761d414737870084c92ec7b5dbcb0592c9d35da"
- integrity sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==
- dependencies:
- lodash "^4.17.15"
-
-graphql-compose@^6.3.8:
- version "6.3.8"
- resolved "https://registry.yarnpkg.com/graphql-compose/-/graphql-compose-6.3.8.tgz#9f82a85d5001a83adf1f7c4d3b5e5f72c432a062"
- integrity sha512-o0/jzQEMIpSjryLKwmD1vGrCubiPxD0LxlGTgWDSu38TBepu2GhugC9gYgTEbtiCZAHPtvkZ90SzzABOWZyQLA==
- dependencies:
- graphql-type-json "^0.2.4"
- object-path "^0.11.4"
-
-graphql-config@^2.0.1:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-2.2.2.tgz#a4b577826bba9b83e7b0f6cd617be43ca67da045"
- integrity sha512-mtv1ejPyyR2mJUUZNhljggU+B/Xl8tJJWf+h145hB+1Y48acSghFalhNtXfPBcYl2tJzpb+lGxfj3O7OjaiMgw==
- dependencies:
- graphql-import "^0.7.1"
- graphql-request "^1.5.0"
- js-yaml "^3.10.0"
- lodash "^4.17.4"
- minimatch "^3.0.4"
-
-graphql-import@^0.7.1:
- version "0.7.1"
- resolved "https://registry.yarnpkg.com/graphql-import/-/graphql-import-0.7.1.tgz#4add8d91a5f752d764b0a4a7a461fcd93136f223"
- integrity sha512-YpwpaPjRUVlw2SN3OPljpWbVRWAhMAyfSba5U47qGMOSsPLi2gYeJtngGpymjm9nk57RFWEpjqwh4+dpYuFAPw==
- dependencies:
- lodash "^4.17.4"
- resolve-from "^4.0.0"
-
-graphql-playground-html@1.6.25:
- version "1.6.25"
- resolved "https://registry.yarnpkg.com/graphql-playground-html/-/graphql-playground-html-1.6.25.tgz#2d8fa250cec4036a4f5b7f8ad069c86d6d64c95f"
- integrity sha512-wMNvGsQ0OwBVhn72VVi7OdpI85IxiIZT43glRx7gQIwQ6NvhFnzMYBIVmcJAJ4UlXRYiWtrQhuOItDXObiR3kg==
- dependencies:
- xss "^1.0.6"
-
-graphql-playground-middleware-express@^1.7.18:
- version "1.7.18"
- resolved "https://registry.yarnpkg.com/graphql-playground-middleware-express/-/graphql-playground-middleware-express-1.7.18.tgz#306d64d54ccb531baf7df0699df3220ca4e25364"
- integrity sha512-EywRL+iBa4u//5YbY1iJxrl0n4IKyomBKgLXrMbG8gHJUwxmFs5FCWJJ4Q6moSn5Q3RgMZvrWzXB27lKwN8Kgw==
- dependencies:
- graphql-playground-html "1.6.25"
-
-graphql-request@^1.5.0:
- version "1.8.2"
- resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-1.8.2.tgz#398d10ae15c585676741bde3fc01d5ca948f8fbe"
- integrity sha512-dDX2M+VMsxXFCmUX0Vo0TopIZIX4ggzOtiCsThgtrKR4niiaagsGTDIHj3fsOMFETpa064vzovI+4YV4QnMbcg==
- dependencies:
- cross-fetch "2.2.2"
-
-graphql-subscriptions@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-1.1.0.tgz#5f2fa4233eda44cf7570526adfcf3c16937aef11"
- integrity sha512-6WzlBFC0lWmXJbIVE8OgFgXIP4RJi3OQgTPa0DVMsDXdpRDjTsM1K9wfl5HSYX7R87QAGlvcv2Y4BIZa/ItonA==
- dependencies:
- iterall "^1.2.1"
-
-graphql-type-json@^0.2.4:
- version "0.2.4"
- resolved "https://registry.yarnpkg.com/graphql-type-json/-/graphql-type-json-0.2.4.tgz#545af27903e40c061edd30840a272ea0a49992f9"
- integrity sha512-/tq02ayMQjrG4oDFDRLLrPk0KvJXue0nVXoItBe7uAdbNXjQUu+HYCBdAmPLQoseVzUKKMzrhq2P/sfI76ON6w==
-
-graphql-type-json@^0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/graphql-type-json/-/graphql-type-json-0.3.2.tgz#f53a851dbfe07bd1c8157d24150064baab41e115"
- integrity sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg==
-
-graphql@14.0.0:
- version "14.0.0"
- resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.0.0.tgz#4ee771c5266d08cb75df2d3ac41e8dd51ce3d599"
- integrity sha512-HGVcnO6B25YZcSt6ZsH6/N+XkYuPA7yMqJmlJ4JWxWlS4Tr8SHI56R1Ocs8Eor7V7joEZPRXPDH8RRdll1w44Q==
- dependencies:
- iterall "^1.2.2"
-
-graphql@^14.6.0:
- version "14.7.0"
- resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.7.0.tgz#7fa79a80a69be4a31c27dda824dc04dac2035a72"
- integrity sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==
- dependencies:
- iterall "^1.2.2"
-
-gray-matter@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.2.tgz#9aa379e3acaf421193fce7d2a28cebd4518ac454"
- integrity sha512-7hB/+LxrOjq/dd8APlK0r24uL/67w7SkYnfwhNFwg/VDIGWGmduTDYf3WNstLW2fbbmRwrDGCVSJ2isuf2+4Hw==
- dependencies:
- js-yaml "^3.11.0"
- kind-of "^6.0.2"
- section-matter "^1.0.0"
- strip-bom-string "^1.0.0"
-
-gud@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0"
- integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==
-
-gzip-size@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520"
- integrity sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=
- dependencies:
- duplexer "^0.1.1"
-
-handle-thing@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e"
- integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==
-
-har-schema@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
- integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
-
-har-validator@~5.1.3:
- version "5.1.5"
- resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
- integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
- dependencies:
- ajv "^6.12.3"
- har-schema "^2.0.0"
-
-has-ansi@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
- integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
- dependencies:
- ansi-regex "^2.0.0"
-
-has-binary2@~1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d"
- integrity sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==
- dependencies:
- isarray "2.0.1"
-
-has-cors@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39"
- integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=
-
-has-flag@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
- integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
-
-has-flag@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
- integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-
-has-symbol-support-x@^1.4.1:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455"
- integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==
-
-has-symbols@^1.0.0, has-symbols@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
- integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
-
-has-to-string-tag-x@^1.2.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d"
- integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==
- dependencies:
- has-symbol-support-x "^1.4.1"
-
-has-value@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
- integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
- dependencies:
- get-value "^2.0.3"
- has-values "^0.1.4"
- isobject "^2.0.0"
-
-has-value@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
- integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
- dependencies:
- get-value "^2.0.6"
- has-values "^1.0.0"
- isobject "^3.0.0"
-
-has-values@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
- integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
-
-has-values@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
- integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
- dependencies:
- is-number "^3.0.0"
- kind-of "^4.0.0"
-
-has-yarn@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77"
- integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==
-
-has@^1.0.0, has@^1.0.1, has@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
- integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
- dependencies:
- function-bind "^1.1.1"
-
-hash-base@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"
- integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==
- dependencies:
- inherits "^2.0.4"
- readable-stream "^3.6.0"
- safe-buffer "^5.2.0"
-
-hash.js@^1.0.0, hash.js@^1.0.3:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
- integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
- dependencies:
- inherits "^2.0.3"
- minimalistic-assert "^1.0.1"
-
-hasha@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/hasha/-/hasha-5.2.0.tgz#33094d1f69c40a4a6ac7be53d5fe3ff95a269e0c"
- integrity sha512-2W+jKdQbAdSIrggA8Q35Br8qKadTrqCTC8+XZvBWepKDK6m9XkX6Iz1a2yh2KP01kzAR/dpuMeUnocoLYDcskw==
- dependencies:
- is-stream "^2.0.0"
- type-fest "^0.8.0"
-
-hast-to-hyperscript@9.0.0, hast-to-hyperscript@^9.0.0:
- version "9.0.0"
- resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-9.0.0.tgz#768fb557765fe28749169c885056417342d71e83"
- integrity sha512-NJvMYU3GlMLs7hN3CRbsNlMzusVNkYBogVWDGybsuuVQ336gFLiD+q9qtFZT2meSHzln3pNISZWTASWothMSMg==
- dependencies:
- "@types/unist" "^2.0.3"
- comma-separated-tokens "^1.0.0"
- property-information "^5.3.0"
- space-separated-tokens "^1.0.0"
- style-to-object "^0.3.0"
- unist-util-is "^4.0.0"
- web-namespaces "^1.0.0"
-
-hast-to-hyperscript@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-5.0.0.tgz#5106cbba78edb7c95e2e8a49079371eb196c1ced"
- integrity sha512-DLl3eYTz8uwwzEubDUdCChsR5t5b2ne+yvHrA2h58Suq/JnN3+Gsb9Tc4iZoCCsykmFUc6UUpwxTmQXs0akSeg==
- dependencies:
- comma-separated-tokens "^1.0.0"
- property-information "^4.0.0"
- space-separated-tokens "^1.0.0"
- style-to-object "^0.2.1"
- unist-util-is "^2.0.0"
- web-namespaces "^1.1.2"
-
-hast-to-hyperscript@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-6.0.0.tgz#051ee17d41b30da8c5ceb001189adf70226f12f4"
- integrity sha512-QnJbXddVGNJ5v3KegK1MY6luTkNDBcJnCQZcekt7AkES2z4tYy85pbFUXx7Mb0iXZBKfwoVdgfxU12GbmlwbbQ==
- dependencies:
- comma-separated-tokens "^1.0.0"
- property-information "^5.0.0"
- space-separated-tokens "^1.0.0"
- style-to-object "^0.2.1"
- unist-util-is "^2.0.0"
- web-namespaces "^1.1.2"
-
-hast-util-from-parse5@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-4.0.2.tgz#b7164a7ffc88da4f751dc7c2f801ff8d7c143bab"
- integrity sha512-I6dtjsGtDqz4fmGSiFClFyiXdKhj5bPceS6intta7k/VDuiKz9P61C6hO6WMiNNmEm1b/EtBH8f+juvz4o0uwQ==
- dependencies:
- ccount "^1.0.3"
- hastscript "^4.0.0"
- property-information "^4.0.0"
- web-namespaces "^1.1.2"
- xtend "^4.0.1"
-
-hast-util-from-parse5@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-6.0.0.tgz#b38793c81e1a99f5fd592a4a88fc2731dccd0f30"
- integrity sha512-3ZYnfKenbbkhhNdmOQqgH10vnvPivTdsOJCri+APn0Kty+nRkDHArnaX9Hiaf8H+Ig+vkNptL+SRY/6RwWJk1Q==
- dependencies:
- "@types/parse5" "^5.0.0"
- ccount "^1.0.0"
- hastscript "^5.0.0"
- property-information "^5.0.0"
- vfile "^4.0.0"
- web-namespaces "^1.0.0"
-
-hast-util-is-element@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-1.0.4.tgz#059090a05cc02e275df1ad02caf8cb422fcd2e02"
- integrity sha512-NFR6ljJRvDcyPP5SbV7MyPBgF47X3BsskLnmw1U34yL+X6YC0MoBx9EyMg8Jtx4FzGH95jw8+c1VPLHaRA0wDQ==
-
-hast-util-parse-selector@^2.0.0, hast-util-parse-selector@^2.2.0:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.4.tgz#60c99d0b519e12ab4ed32e58f150ec3f61ed1974"
- integrity sha512-gW3sxfynIvZApL4L07wryYF4+C9VvH3AUi7LAnVXV4MneGEgwOByXvFo18BgmTWnm7oHAe874jKbIB1YhHSIzA==
-
-hast-util-raw@6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-6.0.0.tgz#49a38f5107d483f83a139709f2f705f22e7e7d32"
- integrity sha512-IQo6tv3bMMKxk53DljswliucCJOQxaZFCuKEJ7X80249dmJ1nA9LtOnnylsLlqTG98NjQ+iGcoLAYo9q5FRhRg==
- dependencies:
- "@types/hast" "^2.0.0"
- hast-util-from-parse5 "^6.0.0"
- hast-util-to-parse5 "^6.0.0"
- html-void-elements "^1.0.0"
- parse5 "^6.0.0"
- unist-util-position "^3.0.0"
- vfile "^4.0.0"
- web-namespaces "^1.0.0"
- xtend "^4.0.0"
- zwitch "^1.0.0"
-
-hast-util-raw@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-4.0.0.tgz#2dc10c9facd9b810ea6ac51df251e6f87c2ed5b5"
- integrity sha512-5xYHyEJMCf8lX/NT4iA5z6N43yoFsrJqXJ5GWwAbLn815URbIz+UNNFEgid33F9paZuDlqVKvB+K3Aqu5+DdSw==
- dependencies:
- hast-util-from-parse5 "^4.0.2"
- hast-util-to-parse5 "^4.0.1"
- html-void-elements "^1.0.1"
- parse5 "^5.0.0"
- unist-util-position "^3.0.0"
- web-namespaces "^1.0.0"
- xtend "^4.0.1"
- zwitch "^1.0.0"
-
-hast-util-sanitize@^1.0.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/hast-util-sanitize/-/hast-util-sanitize-1.3.1.tgz#4e60d66336bd67e52354d581967467029a933f2e"
- integrity sha512-AIeKHuHx0Wk45nSkGVa2/ujQYTksnDl8gmmKo/mwQi7ag7IBZ8cM3nJ2G86SajbjGP/HRpud6kMkPtcM2i0Tlw==
- dependencies:
- xtend "^4.0.1"
-
-hast-util-to-html@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-4.0.1.tgz#3666b05afb62bd69f8f5e6c94db04dea19438e2a"
- integrity sha512-2emzwyf0xEsc4TBIPmDJmBttIw8R4SXAJiJZoiRR/s47ODYWgOqNoDbf2SJAbMbfNdFWMiCSOrI3OVnX6Qq2Mg==
- dependencies:
- ccount "^1.0.0"
- comma-separated-tokens "^1.0.1"
- hast-util-is-element "^1.0.0"
- hast-util-whitespace "^1.0.0"
- html-void-elements "^1.0.0"
- property-information "^4.0.0"
- space-separated-tokens "^1.0.0"
- stringify-entities "^1.0.1"
- unist-util-is "^2.0.0"
- xtend "^4.0.1"
-
-hast-util-to-parse5@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-4.0.1.tgz#e52534b4bf40dc4e7d0428fcaf6d32bc75c62ee5"
- integrity sha512-U/61W+fsNfBpCyJBB5Pt3l5ypIfgXqEyW9pyrtxF7XrqDJHzcFrYpnC94d0JDYjvobLpYCzcU9srhMRPEO1YXw==
- dependencies:
- hast-to-hyperscript "^5.0.0"
- property-information "^4.0.0"
- web-namespaces "^1.0.0"
- xtend "^4.0.1"
- zwitch "^1.0.0"
-
-hast-util-to-parse5@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz#1ec44650b631d72952066cea9b1445df699f8479"
- integrity sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==
- dependencies:
- hast-to-hyperscript "^9.0.0"
- property-information "^5.0.0"
- web-namespaces "^1.0.0"
- xtend "^4.0.0"
- zwitch "^1.0.0"
-
-hast-util-whitespace@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-1.0.4.tgz#e4fe77c4a9ae1cb2e6c25e02df0043d0164f6e41"
- integrity sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A==
-
-hastscript@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-4.1.0.tgz#ea5593fa6f6709101fc790ced818393ddaa045ce"
- integrity sha512-bOTn9hEfzewvHyXdbYGKqOr/LOz+2zYhKbC17U2YAjd16mnjqB1BQ0nooM/RdMy/htVyli0NAznXiBtwDi1cmQ==
- dependencies:
- comma-separated-tokens "^1.0.0"
- hast-util-parse-selector "^2.2.0"
- property-information "^4.0.0"
- space-separated-tokens "^1.0.0"
-
-hastscript@^5.0.0:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-5.1.2.tgz#bde2c2e56d04c62dd24e8c5df288d050a355fb8a"
- integrity sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==
- dependencies:
- comma-separated-tokens "^1.0.0"
- hast-util-parse-selector "^2.0.0"
- property-information "^5.0.0"
- space-separated-tokens "^1.0.0"
-
-he@^1.1.1, he@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
- integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
-
-header-case@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/header-case/-/header-case-1.0.1.tgz#9535973197c144b09613cd65d317ef19963bd02d"
- integrity sha1-lTWXMZfBRLCWE81l0xfvGZY70C0=
- dependencies:
- no-case "^2.2.0"
- upper-case "^1.1.3"
-
-hex-color-regex@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
- integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
-
-hex2rgba@^0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/hex2rgba/-/hex2rgba-0.0.1.tgz#8701ba1c6ec02c204504158407c1c4b47a9336ed"
- integrity sha1-hwG6HG7ALCBFBBWEB8HEtHqTNu0=
-
-hicat@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/hicat/-/hicat-0.7.0.tgz#a704cb3f57e49fbd7d38c2edd7aba38ff0b35263"
- integrity sha1-pwTLP1fkn719OMLt16ujj/CzUmM=
- dependencies:
- highlight.js "^8.1.0"
- minimist "^0.2.0"
-
-highlight-words-core@1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/highlight-words-core/-/highlight-words-core-1.2.2.tgz#1eff6d7d9f0a22f155042a00791237791b1eeaaa"
- integrity sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg==
-
-highlight.js@^8.1.0:
- version "8.9.1"
- resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-8.9.1.tgz#b8a9c5493212a9392f0222b649c9611497ebfb88"
- integrity sha1-uKnFSTISqTkvAiK2SclhFJfr+4g=
-
-hmac-drbg@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
- integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
- dependencies:
- hash.js "^1.0.3"
- minimalistic-assert "^1.0.0"
- minimalistic-crypto-utils "^1.0.1"
-
-hoist-non-react-statics@^2.3.1:
- version "2.5.5"
- resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47"
- integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==
-
-hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
- integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
- dependencies:
- react-is "^16.7.0"
-
-homedir-polyfill@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8"
- integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==
- dependencies:
- parse-passwd "^1.0.0"
-
-hosted-git-info@^2.1.4:
- version "2.8.8"
- resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
- integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
-
-hosted-git-info@^3.0.4:
- version "3.0.5"
- resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.5.tgz#bea87905ef7317442e8df3087faa3c842397df03"
- integrity sha512-i4dpK6xj9BIpVOTboXIlKG9+8HMKggcrMX7WA24xZtKwX0TPelq/rbaS5rCKeNX8sJXZJGdSxpnEGtta+wismQ==
- dependencies:
- lru-cache "^6.0.0"
-
-hpack.js@^2.1.6:
- version "2.1.6"
- resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2"
- integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=
- dependencies:
- inherits "^2.0.1"
- obuf "^1.0.0"
- readable-stream "^2.0.1"
- wbuf "^1.1.0"
-
-hsl-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e"
- integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=
-
-hsla-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38"
- integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg=
-
-html-comment-regex@^1.1.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7"
- integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==
-
-html-entities@^1.2.0, html-entities@^1.2.1, html-entities@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44"
- integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==
-
-html-minifier@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-4.0.0.tgz#cca9aad8bce1175e02e17a8c33e46d8988889f56"
- integrity sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==
- dependencies:
- camel-case "^3.0.0"
- clean-css "^4.2.1"
- commander "^2.19.0"
- he "^1.2.0"
- param-case "^2.1.1"
- relateurl "^0.2.7"
- uglify-js "^3.5.1"
-
-html-tag-names@^1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/html-tag-names/-/html-tag-names-1.1.5.tgz#f537420c16769511283f8ae1681785fbc89ee0a9"
- integrity sha512-aI5tKwNTBzOZApHIynaAwecLBv8TlZTEy/P4Sj2SzzAhBrGuI8yGZ0UIXVPQzOHGS+to2mjb04iy6VWt/8+d8A==
-
-html-void-elements@^1.0.0, html-void-elements@^1.0.1:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483"
- integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==
-
-htmlparser2@^3.3.0, htmlparser2@^3.9.1:
- version "3.10.1"
- resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f"
- integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==
- dependencies:
- 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"
-
-htmlparser2@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-4.1.0.tgz#9a4ef161f2e4625ebf7dfbe6c0a2f52d18a59e78"
- integrity sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==
- dependencies:
- domelementtype "^2.0.1"
- domhandler "^3.0.0"
- domutils "^2.0.0"
- entities "^2.0.0"
-
-http-cache-semantics@3.8.1:
- version "3.8.1"
- resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2"
- integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==
-
-http-cache-semantics@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
- integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
-
-http-deceiver@^1.2.7:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
- integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=
-
-http-errors@1.7.2:
- version "1.7.2"
- resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
- integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
- dependencies:
- depd "~1.1.2"
- inherits "2.0.3"
- setprototypeof "1.1.1"
- statuses ">= 1.5.0 < 2"
- toidentifier "1.0.0"
-
-http-errors@1.7.3, http-errors@~1.7.2:
- version "1.7.3"
- resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
- integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
- dependencies:
- depd "~1.1.2"
- inherits "2.0.4"
- setprototypeof "1.1.1"
- statuses ">= 1.5.0 < 2"
- toidentifier "1.0.0"
-
-http-errors@^1.7.3:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.0.tgz#75d1bbe497e1044f51e4ee9e704a62f28d336507"
- integrity sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==
- dependencies:
- depd "~1.1.2"
- inherits "2.0.4"
- setprototypeof "1.2.0"
- statuses ">= 1.5.0 < 2"
- toidentifier "1.0.0"
-
-http-errors@~1.6.2:
- version "1.6.3"
- resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
- integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=
- dependencies:
- depd "~1.1.2"
- inherits "2.0.3"
- setprototypeof "1.1.0"
- statuses ">= 1.4.0 < 2"
-
-http-parser-js@>=0.5.1:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77"
- integrity sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==
-
-http-proxy-middleware@0.19.1:
- version "0.19.1"
- resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a"
- integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==
- dependencies:
- http-proxy "^1.17.0"
- is-glob "^4.0.0"
- lodash "^4.17.11"
- micromatch "^3.1.10"
-
-http-proxy@^1.17.0, http-proxy@^1.18.1:
- version "1.18.1"
- resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
- integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==
- dependencies:
- eventemitter3 "^4.0.0"
- follow-redirects "^1.0.0"
- requires-port "^1.0.0"
-
-http-signature@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
- integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
- dependencies:
- assert-plus "^1.0.0"
- jsprim "^1.2.2"
- sshpk "^1.7.0"
-
-https-browserify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
- integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
-
-https-proxy-agent@^2.2.1:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b"
- integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==
- dependencies:
- agent-base "^4.3.0"
- debug "^3.1.0"
-
-human-signals@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
- integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
-
-hyphenate-style-name@^1.0.2:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d"
- integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==
-
-iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24:
- version "0.4.24"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
- integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
- dependencies:
- safer-buffer ">= 2.1.2 < 3"
-
-iconv-lite@^0.6.2:
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01"
- integrity sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==
- dependencies:
- safer-buffer ">= 2.1.2 < 3.0.0"
-
-icss-replace-symbols@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
- integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=
-
-icss-utils@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962"
- integrity sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=
- dependencies:
- postcss "^6.0.1"
-
-idb-wrapper@^1.5.0:
- version "1.7.2"
- resolved "https://registry.yarnpkg.com/idb-wrapper/-/idb-wrapper-1.7.2.tgz#8251afd5e77fe95568b1c16152eb44b396767ea2"
- integrity sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg==
-
-idb@5.0.2:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/idb/-/idb-5.0.2.tgz#294e5dd0f1930519dd07393a793cd4edfac93834"
- integrity sha512-53yU1RbSPkSkQxufmNgcBkxxnbsTMGaYCv2NwQDmBP75muYj4Z75DsvCqhCCivYcC1XaXDi9tZSUOfDQFxuABA==
-
-ieee754@^1.1.4:
- version "1.1.13"
- resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
- integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
-
-iferr@^0.1.5:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
- integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE=
-
-ignore@^4.0.6:
- version "4.0.6"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
- integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
-
-ignore@^5.1.1, ignore@^5.1.4:
- version "5.1.8"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
- integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
-
-image-size@~0.5.0:
- version "0.5.5"
- resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"
- integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=
-
-immer@6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/immer/-/immer-6.0.1.tgz#7af35e35753d9da6bc9123f0cc99f7e8f2e10681"
- integrity sha512-oXwigCKgznQywsXi1VgrqgWbQEU3wievNCVc4Fcwky6mwXU6YHj6JuYp0WEM/B1EphkqsLr0x18lm5OiuemPcA==
-
-import-cwd@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9"
- integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=
- dependencies:
- import-from "^2.1.0"
-
-import-fresh@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
- integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY=
- dependencies:
- caller-path "^2.0.0"
- resolve-from "^3.0.0"
-
-import-fresh@^3.0.0, import-fresh@^3.1.0:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
- integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
- dependencies:
- parent-module "^1.0.0"
- resolve-from "^4.0.0"
-
-import-from@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1"
- integrity sha1-M1238qev/VOqpHHUuAId7ja387E=
- dependencies:
- resolve-from "^3.0.0"
-
-import-lazy@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
- integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=
-
-import-local@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d"
- integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==
- dependencies:
- pkg-dir "^3.0.0"
- resolve-cwd "^2.0.0"
-
-imurmurhash@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
- integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
-
-indent-string@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
- integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
-
-indexes-of@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
- integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc=
-
-indexof@0.0.1, indexof@~0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
- integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=
-
-infer-owner@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
- integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==
-
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
- integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
-inherits@2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
- integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
-
-inherits@2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
- integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
-
-ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
- integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
-
-ink-box@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/ink-box/-/ink-box-1.0.0.tgz#8cbcb5541d32787d08d43acf1a9907e86e3572f3"
- integrity sha512-wD2ldWX9lcE/6+flKbAJ0TZF7gKbTH8CRdhEor6DD8d+V0hPITrrGeST2reDBpCia8wiqHrdxrqTyafwtmVanA==
- dependencies:
- boxen "^3.0.0"
- prop-types "^15.7.2"
-
-ink-spinner@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/ink-spinner/-/ink-spinner-3.1.0.tgz#a1090102663bf3cc90f1dbfb81f143378a892300"
- integrity sha512-sPqmE4qeJ43vJFk9DGLd0wIqhMBAr3129ZqHPt7b847fVl+YTZ3g96khI82Db+FYE7v/Fc5B3lp4ZNtJfqpRUg==
- dependencies:
- cli-spinners "^1.0.0"
- prop-types "^15.5.10"
-
-ink@^2.7.1:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/ink/-/ink-2.7.1.tgz#ff1c75b4b022924e2993af62297fa0e48e85618b"
- integrity sha512-s7lJuQDJEdjqtaIWhp3KYHl6WV3J04U9zoQ6wVc+Xoa06XM27SXUY57qC5DO46xkF0CfgXMKkKNcgvSu/SAEpA==
- dependencies:
- ansi-escapes "^4.2.1"
- arrify "^2.0.1"
- auto-bind "^4.0.0"
- chalk "^3.0.0"
- cli-cursor "^3.1.0"
- cli-truncate "^2.1.0"
- is-ci "^2.0.0"
- lodash.throttle "^4.1.1"
- log-update "^3.0.0"
- prop-types "^15.6.2"
- react-reconciler "^0.24.0"
- scheduler "^0.18.0"
- signal-exit "^3.0.2"
- slice-ansi "^3.0.0"
- string-length "^3.1.0"
- widest-line "^3.1.0"
- wrap-ansi "^6.2.0"
- yoga-layout-prebuilt "^1.9.3"
-
-inline-style-parser@0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1"
- integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==
-
-inline-style-prefixer@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-4.0.2.tgz#d390957d26f281255fe101da863158ac6eb60911"
- integrity sha512-N8nVhwfYga9MiV9jWlwfdj1UDIaZlBFu4cJSJkIr7tZX7sHpHhGR5su1qdpW+7KPL8ISTvCIkcaFi/JdBknvPg==
- dependencies:
- bowser "^1.7.3"
- css-in-js-utils "^2.0.0"
-
-inquirer@3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9"
- integrity sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==
- dependencies:
- 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"
-
-inquirer@^7.0.0:
- version "7.3.3"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003"
- integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==
- dependencies:
- 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"
-
-insert-css@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/insert-css/-/insert-css-2.0.0.tgz#eb5d1097b7542f4c79ea3060d3aee07d053880f4"
- integrity sha1-610Ql7dUL0x56jBg067gfQU4gPQ=
-
-internal-ip@^4.3.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907"
- integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==
- dependencies:
- default-gateway "^4.2.0"
- ipaddr.js "^1.9.0"
-
-internal-slot@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3"
- integrity sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==
- dependencies:
- es-abstract "^1.17.0-next.1"
- has "^1.0.3"
- side-channel "^1.0.2"
-
-into-stream@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6"
- integrity sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=
- dependencies:
- from2 "^2.1.1"
- p-is-promise "^1.1.0"
-
-invariant@^2.2.0, invariant@^2.2.2, invariant@^2.2.3, invariant@^2.2.4:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
- integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
- dependencies:
- loose-envify "^1.0.0"
-
-ip-regex@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"
- integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=
-
-ip@^1.1.0, ip@^1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
- integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
-
-ipaddr.js@1.9.1, ipaddr.js@^1.9.0:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
- integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
-
-is-absolute-url@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
- integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=
-
-is-absolute-url@^3.0.0, is-absolute-url@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698"
- integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==
-
-is-accessor-descriptor@^0.1.6:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
- integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
- dependencies:
- kind-of "^3.0.2"
-
-is-accessor-descriptor@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
- integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
- dependencies:
- kind-of "^6.0.0"
-
-is-alphabetical@1.0.4, is-alphabetical@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d"
- integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==
-
-is-alphanumeric@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4"
- integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=
-
-is-alphanumerical@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf"
- integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==
- dependencies:
- is-alphabetical "^1.0.0"
- is-decimal "^1.0.0"
-
-is-arguments@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3"
- integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==
-
-is-arrayish@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
- integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
-
-is-arrayish@^0.3.1:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
- integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
-
-is-binary-path@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
- integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=
- dependencies:
- binary-extensions "^1.0.0"
-
-is-binary-path@^2.1.0, is-binary-path@~2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
- integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
- dependencies:
- binary-extensions "^2.0.0"
-
-is-buffer@^1.0.2, is-buffer@^1.1.4, is-buffer@^1.1.5:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
- integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
-
-is-buffer@^2.0.0, is-buffer@^2.0.2:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623"
- integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==
-
-is-builtin-module@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.0.0.tgz#137d3d2425023a19a660fb9dd6ddfabe52c03466"
- integrity sha512-/93sDihsAD652hrMEbJGbMAVBf1qc96kyThHQ0CAOONHaE3aROLpTjDe4WQ5aoC5ITHFxEq1z8XqSU7km+8amw==
- dependencies:
- builtin-modules "^3.0.0"
-
-is-callable@^1.1.4, is-callable@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb"
- integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==
-
-is-ci@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
- integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
- dependencies:
- ci-info "^2.0.0"
-
-is-color-stop@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345"
- integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=
- dependencies:
- 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-data-descriptor@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
- integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
- dependencies:
- kind-of "^3.0.2"
-
-is-data-descriptor@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
- integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
- dependencies:
- kind-of "^6.0.0"
-
-is-date-object@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
- integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
-
-is-decimal@^1.0.0, is-decimal@^1.0.2:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5"
- integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==
-
-is-descriptor@^0.1.0:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
- integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
- dependencies:
- is-accessor-descriptor "^0.1.6"
- is-data-descriptor "^0.1.4"
- kind-of "^5.0.0"
-
-is-descriptor@^1.0.0, is-descriptor@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
- integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
- dependencies:
- is-accessor-descriptor "^1.0.0"
- is-data-descriptor "^1.0.0"
- kind-of "^6.0.2"
-
-is-directory@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
- integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
-
-is-docker@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b"
- integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==
-
-is-docker@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156"
- integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==
-
-is-extendable@^0.1.0, is-extendable@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
- integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
-
-is-extendable@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
- integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
- dependencies:
- is-plain-object "^2.0.4"
-
-is-extglob@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
- integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=
-
-is-extglob@^2.1.0, is-extglob@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
- integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
-
-is-fullwidth-code-point@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
- integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
-
-is-fullwidth-code-point@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
- integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
-
-is-glob@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
- integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=
- dependencies:
- is-extglob "^1.0.0"
-
-is-glob@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
- integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
- dependencies:
- is-extglob "^2.1.0"
-
-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
- integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
- dependencies:
- is-extglob "^2.1.1"
-
-is-hexadecimal@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7"
- integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
-
-is-installed-globally@^0.3.1:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141"
- integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==
- dependencies:
- global-dirs "^2.0.1"
- is-path-inside "^3.0.1"
-
-is-invalid-path@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/is-invalid-path/-/is-invalid-path-0.1.0.tgz#307a855b3cf1a938b44ea70d2c61106053714f34"
- integrity sha1-MHqFWzzxqTi0TqcNLGEQYFNxTzQ=
- dependencies:
- is-glob "^2.0.0"
-
-is-lower-case@^1.1.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-1.1.3.tgz#7e147be4768dc466db3bfb21cc60b31e6ad69393"
- integrity sha1-fhR75HaNxGbbO/shzGCzHmrWk5M=
- dependencies:
- lower-case "^1.1.0"
-
-is-module@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
- integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=
-
-is-npm@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d"
- integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==
-
-is-number@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
- integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
- dependencies:
- kind-of "^3.0.2"
-
-is-number@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
- integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-
-is-obj@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
- integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
-
-is-object@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470"
- integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA=
-
-is-object@~0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/is-object/-/is-object-0.1.2.tgz#00efbc08816c33cfc4ac8251d132e10dc65098d7"
- integrity sha1-AO+8CIFsM8/ErIJR0TLhDcZQmNc=
-
-is-path-cwd@^2.0.0, is-path-cwd@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb"
- integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==
-
-is-path-in-cwd@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb"
- integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==
- dependencies:
- is-path-inside "^2.1.0"
-
-is-path-inside@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2"
- integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==
- dependencies:
- path-is-inside "^1.0.2"
-
-is-path-inside@^3.0.1:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017"
- integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==
-
-is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
- integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
-
-is-plain-obj@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
- integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
-
-is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
- integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
- dependencies:
- isobject "^3.0.1"
-
-is-reference@^1.1.2:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7"
- integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==
- dependencies:
- "@types/estree" "*"
-
-is-regex@^1.0.4, is-regex@^1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9"
- integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==
- dependencies:
- has-symbols "^1.0.1"
-
-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"
- integrity sha512-U1iSYRlY2GIMGuZx7gezlB5dp1Kheaym7zKzO1PV06mOihiWTXejLwm4poEJysPyXF+HtK/BEd0DVlcCh30pEA==
- dependencies:
- is-absolute-url "^3.0.0"
-
-is-relative@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d"
- integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==
- dependencies:
- is-unc-path "^1.0.0"
-
-is-resolvable@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
- integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==
-
-is-retry-allowed@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4"
- integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==
-
-is-root@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-root/-/is-root-1.0.0.tgz#07b6c233bc394cd9d02ba15c966bd6660d6342d5"
- integrity sha1-B7bCM7w5TNnQK6FclmvWZg1jQtU=
-
-is-ssh@^1.3.0:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.2.tgz#a4b82ab63d73976fd8263cceee27f99a88bdae2b"
- integrity sha512-elEw0/0c2UscLrNG+OAorbP539E3rhliKPg+hDMWN9VwrDXfYK+4PBEykDPfxlYYtQvl84TascnQyobfQLHEhQ==
- dependencies:
- protocols "^1.1.0"
-
-is-stream@^1.0.1, is-stream@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
- integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
-
-is-stream@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
- integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
-
-is-string@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
- integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
-
-is-svg@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75"
- integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==
- dependencies:
- html-comment-regex "^1.1.0"
-
-is-symbol@^1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937"
- integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==
- dependencies:
- has-symbols "^1.0.1"
-
-is-typedarray@^1.0.0, is-typedarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
- integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
-
-is-unc-path@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d"
- integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==
- dependencies:
- unc-path-regex "^0.1.2"
-
-is-upper-case@^1.1.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-1.1.2.tgz#8d0b1fa7e7933a1e58483600ec7d9661cbaf756f"
- integrity sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8=
- dependencies:
- upper-case "^1.1.0"
-
-is-url@^1.2.4:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52"
- integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==
-
-is-valid-path@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/is-valid-path/-/is-valid-path-0.1.1.tgz#110f9ff74c37f663e1ec7915eb451f2db93ac9df"
- integrity sha1-EQ+f90w39mPh7HkV60UfLbk6yd8=
- dependencies:
- is-invalid-path "^0.1.0"
-
-is-whitespace-character@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7"
- integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==
-
-is-windows@^1.0.1, is-windows@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
- integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
-
-is-word-character@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230"
- integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==
-
-is-wsl@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
- integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
-
-is-wsl@^2.1.1, is-wsl@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
- integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
- dependencies:
- is-docker "^2.0.0"
-
-is-yarn-global@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232"
- integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==
-
-is@~0.2.6:
- version "0.2.7"
- resolved "https://registry.yarnpkg.com/is/-/is-0.2.7.tgz#3b34a2c48f359972f35042849193ae7264b63562"
- integrity sha1-OzSixI81mXLzUEKEkZOucmS2NWI=
-
-isarray@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
- integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
-
-isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
- integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
-
-isarray@2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e"
- integrity sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=
-
-isbuffer@~0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/isbuffer/-/isbuffer-0.0.0.tgz#38c146d9df528b8bf9b0701c3d43cf12df3fc39b"
- integrity sha1-OMFG2d9Si4v5sHAcPUPPEt8/w5s=
-
-isexe@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
- integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
-
-isobject@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
- integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
- dependencies:
- isarray "1.0.0"
-
-isobject@^3.0.0, isobject@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
- integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
-
-isomorphic-fetch@^2.1.0, isomorphic-fetch@^2.1.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
- integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=
- dependencies:
- node-fetch "^1.0.1"
- whatwg-fetch ">=0.10.0"
-
-isstream@~0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
- integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
-
-isurl@^1.0.0-alpha5:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67"
- integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==
- dependencies:
- has-to-string-tag-x "^1.2.0"
- is-object "^1.0.1"
-
-iterall@^1.2.1, iterall@^1.2.2:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea"
- integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==
-
-jest-diff@^25.5.0:
- version "25.5.0"
- resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9"
- integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==
- dependencies:
- chalk "^3.0.0"
- diff-sequences "^25.2.6"
- jest-get-type "^25.2.6"
- pretty-format "^25.5.0"
-
-jest-get-type@^25.2.6:
- version "25.2.6"
- resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877"
- integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==
-
-jest-worker@^24.9.0:
- version "24.9.0"
- resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5"
- integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==
- dependencies:
- merge-stream "^2.0.0"
- supports-color "^6.1.0"
-
-js-cookie@^2.1.4:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8"
- integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==
-
-"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
- integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-
-js-tokens@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
- integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
-
-js-yaml@^3.10.0, js-yaml@^3.11.0, js-yaml@^3.13.1:
- version "3.14.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482"
- integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==
- dependencies:
- argparse "^1.0.7"
- esprima "^4.0.0"
-
-jsbn@~0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
- integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
-
-jsesc@^2.5.1:
- version "2.5.2"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
- integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
-
-jsesc@~0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
- integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
-
-json-buffer@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
- integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=
-
-json-loader@^0.5.7:
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d"
- integrity sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==
-
-json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
- integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
-
-json-schema-traverse@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
- integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
-
-json-schema@0.2.3:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
- integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
-
-json-stable-stringify-without-jsonify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
- integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
-
-json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
- integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
-
-json2mq@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/json2mq/-/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a"
- integrity sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=
- dependencies:
- string-convert "^0.2.0"
-
-json3@^3.3.2:
- version "3.3.3"
- resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81"
- integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==
-
-json5@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
- integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
- dependencies:
- minimist "^1.2.0"
-
-json5@^2.1.2, json5@^2.1.3:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
- integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
- dependencies:
- minimist "^1.2.5"
-
-jsonfile@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
- integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
- optionalDependencies:
- graceful-fs "^4.1.6"
-
-jsonify@~0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
- integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=
-
-jsprim@^1.2.2:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
- integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
- dependencies:
- assert-plus "1.0.0"
- extsprintf "1.3.0"
- json-schema "0.2.3"
- verror "1.10.0"
-
-jsx-ast-utils@^2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz#1114a4c1209481db06c690c2b4f488cc665f657e"
- integrity sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==
- dependencies:
- array-includes "^3.1.1"
- object.assign "^4.1.0"
-
-just-extend@^4.0.2:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.1.0.tgz#7278a4027d889601640ee0ce0e5a00b992467da4"
- integrity sha512-ApcjaOdVTJ7y4r08xI5wIqpvwS48Q0PBG4DJROcEkH1f8MdAiNFyFxz3xoL0LWAVwjrwPYZdVHHxhRHcx/uGLA==
-
-keyv@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373"
- integrity sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==
- dependencies:
- json-buffer "3.0.0"
-
-keyv@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
- integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==
- dependencies:
- json-buffer "3.0.0"
-
-khroma@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/khroma/-/khroma-1.1.0.tgz#cc17723eb719c5245ea66d23dd577d5695452db5"
- integrity sha512-aTO+YX22tYOLEQJYFiatAj1lc5QZ+H5sHWFRBWNCiKwc5NWNUJZyeSeiHEPeURJ2a1GEVYcmyMUwGjjLe5ec5A==
-
-killable@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892"
- integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==
-
-kind-of@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5"
- integrity sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=
- dependencies:
- is-buffer "^1.0.2"
-
-kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
- integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
- dependencies:
- is-buffer "^1.1.5"
-
-kind-of@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
- integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
- dependencies:
- is-buffer "^1.1.5"
-
-kind-of@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
- integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
-
-kind-of@^6.0.0, kind-of@^6.0.2:
- version "6.0.3"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
- integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
-
-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==
-
-language-subtag-registry@~0.3.2:
- version "0.3.20"
- resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.20.tgz#a00a37121894f224f763268e431c55556b0c0755"
- integrity sha512-KPMwROklF4tEx283Xw0pNKtfTj1gZ4UByp4EsIFWLgBavJltF4TiYPc39k06zSTsLzxTVXXDSpbwaQXaFB4Qeg==
-
-language-tags@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a"
- integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=
- dependencies:
- language-subtag-registry "~0.3.2"
-
-last-call-webpack-plugin@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555"
- integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==
- dependencies:
- lodash "^4.17.5"
- webpack-sources "^1.1.0"
-
-latest-version@5.1.0, latest-version@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face"
- integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==
- dependencies:
- package-json "^6.3.0"
-
-lazy-cache@^0.2.3:
- version "0.2.7"
- resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65"
- integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=
-
-lazy-cache@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
- integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4=
-
-less-loader@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-5.0.0.tgz#498dde3a6c6c4f887458ee9ed3f086a12ad1b466"
- integrity sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg==
- dependencies:
- clone "^2.1.1"
- loader-utils "^1.1.0"
- pify "^4.0.1"
-
-less@^3.10.1:
- version "3.12.2"
- resolved "https://registry.yarnpkg.com/less/-/less-3.12.2.tgz#157e6dd32a68869df8859314ad38e70211af3ab4"
- integrity sha512-+1V2PCMFkL+OIj2/HrtrvZw0BC0sYLMICJfbQjuj/K8CEnlrFX6R5cKKgzzttsZDHyxQNL1jqMREjKN3ja/E3Q==
- dependencies:
- tslib "^1.10.0"
- optionalDependencies:
- errno "^0.1.1"
- graceful-fs "^4.1.2"
- image-size "~0.5.0"
- make-dir "^2.1.0"
- mime "^1.4.1"
- native-request "^1.0.5"
- source-map "~0.6.0"
-
-level-blobs@^0.1.7:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/level-blobs/-/level-blobs-0.1.7.tgz#9ab9b97bb99f1edbf9f78a3433e21ed56386bdaf"
- integrity sha1-mrm5e7mfHtv594o0M+Ie1WOGva8=
- dependencies:
- level-peek "1.0.6"
- once "^1.3.0"
- readable-stream "^1.0.26-4"
-
-level-filesystem@^1.0.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/level-filesystem/-/level-filesystem-1.2.0.tgz#a00aca9919c4a4dfafdca6a8108d225aadff63b3"
- integrity sha1-oArKmRnEpN+v3KaoEI0iWq3/Y7M=
- dependencies:
- concat-stream "^1.4.4"
- errno "^0.1.1"
- fwd-stream "^1.0.4"
- level-blobs "^0.1.7"
- level-peek "^1.0.6"
- level-sublevel "^5.2.0"
- octal "^1.0.0"
- once "^1.3.0"
- xtend "^2.2.0"
-
-level-fix-range@2.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/level-fix-range/-/level-fix-range-2.0.0.tgz#c417d62159442151a19d9a2367868f1724c2d548"
- integrity sha1-xBfWIVlEIVGhnZojZ4aPFyTC1Ug=
- dependencies:
- clone "~0.1.9"
-
-level-fix-range@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/level-fix-range/-/level-fix-range-1.0.2.tgz#bf15b915ae36d8470c821e883ddf79cd16420828"
- integrity sha1-vxW5Fa422EcMgh6IPd95zRZCCCg=
-
-"level-hooks@>=4.4.0 <5":
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/level-hooks/-/level-hooks-4.5.0.tgz#1b9ae61922930f3305d1a61fc4d83c8102c0dd93"
- integrity sha1-G5rmGSKTDzMF0aYfxNg8gQLA3ZM=
- dependencies:
- string-range "~1.2"
-
-level-js@^2.1.3:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/level-js/-/level-js-2.2.4.tgz#bc055f4180635d4489b561c9486fa370e8c11697"
- integrity sha1-vAVfQYBjXUSJtWHJSG+jcOjBFpc=
- dependencies:
- abstract-leveldown "~0.12.0"
- idb-wrapper "^1.5.0"
- isbuffer "~0.0.0"
- ltgt "^2.1.2"
- typedarray-to-buffer "~1.0.0"
- xtend "~2.1.2"
-
-level-peek@1.0.6, level-peek@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/level-peek/-/level-peek-1.0.6.tgz#bec51c72a82ee464d336434c7c876c3fcbcce77f"
- integrity sha1-vsUccqgu5GTTNkNMfIdsP8vM538=
- dependencies:
- level-fix-range "~1.0.2"
-
-level-sublevel@^5.2.0:
- version "5.2.3"
- resolved "https://registry.yarnpkg.com/level-sublevel/-/level-sublevel-5.2.3.tgz#744c12c72d2e72be78dde3b9b5cd84d62191413a"
- integrity sha1-dEwSxy0ucr543eO5tc2E1iGRQTo=
- dependencies:
- level-fix-range "2.0"
- level-hooks ">=4.4.0 <5"
- string-range "~1.2.1"
- xtend "~2.0.4"
-
-levelup@^0.18.2:
- version "0.18.6"
- resolved "https://registry.yarnpkg.com/levelup/-/levelup-0.18.6.tgz#e6a01cb089616c8ecc0291c2a9bd3f0c44e3e5eb"
- integrity sha1-5qAcsIlhbI7MApHCqb0/DETj5es=
- dependencies:
- bl "~0.8.1"
- deferred-leveldown "~0.2.0"
- errno "~0.1.1"
- prr "~0.0.0"
- readable-stream "~1.0.26"
- semver "~2.3.1"
- xtend "~3.0.0"
-
-leven@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
- integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
-
-levenary@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77"
- integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==
- dependencies:
- leven "^3.1.0"
-
-levn@^0.3.0, levn@~0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
- integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
- dependencies:
- prelude-ls "~1.1.2"
- type-check "~0.3.2"
-
-lines-and-columns@^1.1.6:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
- integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
-
-load-json-file@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
- integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=
- dependencies:
- graceful-fs "^4.1.2"
- parse-json "^2.2.0"
- pify "^2.0.0"
- strip-bom "^3.0.0"
-
-loader-fs-cache@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz#f08657646d607078be2f0a032f8bd69dd6f277d9"
- integrity sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==
- dependencies:
- find-cache-dir "^0.1.1"
- mkdirp "^0.5.1"
-
-loader-runner@^2.4.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
- integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
-
-loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
- integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
- dependencies:
- big.js "^5.2.2"
- emojis-list "^3.0.0"
- json5 "^1.0.1"
-
-locate-path@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
- integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
- dependencies:
- p-locate "^2.0.0"
- path-exists "^3.0.0"
-
-locate-path@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
- integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
- dependencies:
- p-locate "^3.0.0"
- path-exists "^3.0.0"
-
-locate-path@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
- integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
- dependencies:
- p-locate "^4.1.0"
-
-lockfile@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.4.tgz#07f819d25ae48f87e538e6578b6964a4981a5609"
- integrity sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==
- dependencies:
- signal-exit "^3.0.2"
-
-lodash-es@^4.17.14:
- version "4.17.15"
- resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.15.tgz#21bd96839354412f23d7a10340e5eac6ee455d78"
- integrity sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ==
-
-lodash.assignin@^4.0.9:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2"
- integrity sha1-uo31+4QesKPoBEIysOJjqNxqKKI=
-
-lodash.bind@^4.1.4:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35"
- integrity sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=
-
-lodash.clonedeep@4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
- integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=
-
-lodash.debounce@^4.0.8:
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
- integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
-
-lodash.deburr@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/lodash.deburr/-/lodash.deburr-4.1.0.tgz#ddb1bbb3ef07458c0177ba07de14422cb033ff9b"
- integrity sha1-3bG7s+8HRYwBd7oH3hRCLLAz/5s=
-
-lodash.defaults@^4.0.1:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
- integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=
-
-lodash.every@^4.6.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/lodash.every/-/lodash.every-4.6.0.tgz#eb89984bebc4364279bb3aefbbd1ca19bfa6c6a7"
- integrity sha1-64mYS+vENkJ5uzrvu9HKGb+mxqc=
-
-lodash.filter@^4.4.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace"
- integrity sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=
-
-lodash.flatten@^4.2.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
- integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=
-
-lodash.flattendeep@^4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2"
- integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=
-
-lodash.foreach@^4.3.0, lodash.foreach@^4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53"
- integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=
-
-lodash.map@^4.4.0, lodash.map@^4.6.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3"
- integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=
-
-lodash.maxby@^4.6.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/lodash.maxby/-/lodash.maxby-4.6.0.tgz#082240068f3c7a227aa00a8380e4f38cf0786e3d"
- integrity sha1-CCJABo88eiJ6oAqDgOTzjPB4bj0=
-
-lodash.memoize@^4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
- integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
-
-lodash.merge@^4.4.0:
- version "4.6.2"
- resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
- integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
-
-lodash.pick@^4.2.1:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
- integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=
-
-lodash.reduce@^4.4.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b"
- integrity sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=
-
-lodash.reject@^4.4.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415"
- integrity sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=
-
-lodash.sample@^4.2.1:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/lodash.sample/-/lodash.sample-4.2.1.tgz#5e4291b0c753fa1abeb0aab8fb29df1b66f07f6d"
- integrity sha1-XkKRsMdT+hq+sKq4+ynfG2bwf20=
-
-lodash.some@^4.4.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d"
- integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=
-
-lodash.throttle@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
- integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=
-
-lodash.toarray@^4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561"
- integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE=
-
-lodash.uniq@4.5.0, lodash.uniq@^4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
- integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
-
-lodash@^4.11.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0:
- version "4.17.19"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
- integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
-
-log-update@^3.0.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/log-update/-/log-update-3.4.0.tgz#3b9a71e00ac5b1185cc193a36d654581c48f97b9"
- integrity sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg==
- dependencies:
- ansi-escapes "^3.2.0"
- cli-cursor "^2.1.0"
- wrap-ansi "^5.0.0"
-
-loglevel@^1.6.8:
- version "1.6.8"
- resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.8.tgz#8a25fb75d092230ecd4457270d80b54e28011171"
- integrity sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==
-
-lolex@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/lolex/-/lolex-4.2.0.tgz#ddbd7f6213ca1ea5826901ab1222b65d714b3cd7"
- integrity sha512-gKO5uExCXvSm6zbF562EvM+rd1kQDnB9AZBbiQVzf1ZmdDpxUSvpnAaVOP83N/31mRK8Ml8/VE8DMvsAZQ+7wg==
-
-lolex@^5.0.1:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367"
- integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==
- dependencies:
- "@sinonjs/commons" "^1.7.0"
-
-longest-streak@^2.0.1:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4"
- integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==
-
-loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
- integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
- dependencies:
- js-tokens "^3.0.0 || ^4.0.0"
-
-loud-rejection@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-2.2.0.tgz#4255eb6e9c74045b0edc021fa7397ab655a8517c"
- integrity sha512-S0FayMXku80toa5sZ6Ro4C+s+EtFDCsyJNG/AzFMfX3AxD5Si4dZsgzm/kKnbOxHl5Cv8jBlno8+3XYIh2pNjQ==
- dependencies:
- currently-unhandled "^0.4.1"
- signal-exit "^3.0.2"
-
-lower-case-first@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-1.0.2.tgz#e5da7c26f29a7073be02d52bac9980e5922adfa1"
- integrity sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E=
- dependencies:
- lower-case "^1.1.2"
-
-lower-case@^1.1.0, lower-case@^1.1.1, lower-case@^1.1.2:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
- integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw=
-
-lower-case@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7"
- integrity sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ==
- dependencies:
- tslib "^1.10.0"
-
-lowercase-keys@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306"
- integrity sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=
-
-lowercase-keys@^1.0.0, lowercase-keys@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
- integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
-
-lowercase-keys@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
- integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
-
-lru-cache@4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.0.tgz#b5cbf01556c16966febe54ceec0fb4dc90df6c28"
- integrity sha1-tcvwFVbBaWb+vlTO7A+03JDfbCg=
- dependencies:
- pseudomap "^1.0.1"
- yallist "^2.0.0"
-
-lru-cache@^4.0.0, lru-cache@^4.0.1:
- version "4.1.5"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
- integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
- dependencies:
- pseudomap "^1.0.2"
- yallist "^2.1.2"
-
-lru-cache@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
- integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
- 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"
-
-ltgt@^2.1.2:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5"
- integrity sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=
-
-magic-string@^0.22.5:
- version "0.22.5"
- resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e"
- integrity sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==
- dependencies:
- vlq "^0.2.2"
-
-magic-string@^0.25.2, magic-string@^0.25.3:
- version "0.25.7"
- resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051"
- integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==
- dependencies:
- sourcemap-codec "^1.4.4"
-
-make-dir@^1.0.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
- integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==
- dependencies:
- pify "^3.0.0"
-
-make-dir@^2.0.0, make-dir@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
- integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
- dependencies:
- pify "^4.0.1"
- semver "^5.6.0"
-
-make-dir@^3.0.0, make-dir@^3.0.2:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
- integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
- dependencies:
- semver "^6.0.0"
-
-map-cache@^0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
- integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
-
-map-visit@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
- integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
- dependencies:
- object-visit "^1.0.0"
-
-markdown-escapes@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535"
- integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==
-
-markdown-table@^1.1.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60"
- integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==
-
-markdown-table@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b"
- integrity sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==
- dependencies:
- repeat-string "^1.0.0"
-
-md5-file@^3.2.3:
- version "3.2.3"
- resolved "https://registry.yarnpkg.com/md5-file/-/md5-file-3.2.3.tgz#f9bceb941eca2214a4c0727f5e700314e770f06f"
- integrity sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw==
- dependencies:
- buffer-alloc "^1.1.0"
-
-md5.js@^1.3.4:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
- integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
- dependencies:
- hash-base "^3.0.0"
- inherits "^2.0.1"
- safe-buffer "^5.1.2"
-
-mdast-squeeze-paragraphs@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz#7c4c114679c3bee27ef10b58e2e015be79f1ef97"
- integrity sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==
- dependencies:
- unist-util-remove "^2.0.0"
-
-mdast-util-compact@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz#d531bb7667b5123abf20859be086c4d06c894593"
- integrity sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==
- dependencies:
- unist-util-visit "^1.1.0"
-
-mdast-util-compact@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz#cabc69a2f43103628326f35b1acf735d55c99490"
- integrity sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==
- dependencies:
- unist-util-visit "^2.0.0"
-
-mdast-util-definitions@^1.2.0:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-1.2.5.tgz#3fe622a4171c774ebd06f11e9f8af7ec53ea5c74"
- integrity sha512-CJXEdoLfiISCDc2JB6QLb79pYfI6+GcIH+W2ox9nMc7od0Pz+bovcHsiq29xAQY6ayqe/9CsK2VzkSJdg1pFYA==
- dependencies:
- unist-util-visit "^1.0.0"
-
-mdast-util-definitions@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-3.0.1.tgz#06af6c49865fc63d6d7d30125569e2f7ae3d0a86"
- integrity sha512-BAv2iUm/e6IK/b2/t+Fx69EL/AGcq/IG2S+HxHjDJGfLJtd6i9SZUS76aC9cig+IEucsqxKTR0ot3m933R3iuA==
- dependencies:
- unist-util-visit "^2.0.0"
-
-mdast-util-to-hast@9.1.0:
- version "9.1.0"
- resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-9.1.0.tgz#6ef121dd3cd3b006bf8650b1b9454da0faf79ffe"
- integrity sha512-Akl2Vi9y9cSdr19/Dfu58PVwifPXuFt1IrHe7l+Crme1KvgUT+5z+cHLVcQVGCiNTZZcdqjnuv9vPkGsqWytWA==
- dependencies:
- "@types/mdast" "^3.0.0"
- "@types/unist" "^2.0.3"
- collapse-white-space "^1.0.0"
- detab "^2.0.0"
- mdast-util-definitions "^3.0.0"
- mdurl "^1.0.0"
- trim-lines "^1.0.0"
- unist-builder "^2.0.0"
- unist-util-generated "^1.0.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^2.0.0"
-
-mdast-util-to-hast@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-3.0.4.tgz#132001b266031192348d3366a6b011f28e54dc40"
- integrity sha512-/eIbly2YmyVgpJNo+bFLLMCI1XgolO/Ffowhf+pHDq3X4/V6FntC9sGQCDLM147eTS+uSXv5dRzJyFn+o0tazA==
- dependencies:
- collapse-white-space "^1.0.0"
- detab "^2.0.0"
- mdast-util-definitions "^1.2.0"
- mdurl "^1.0.1"
- trim "0.0.1"
- trim-lines "^1.0.0"
- unist-builder "^1.0.1"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.0"
- xtend "^4.0.1"
-
-mdast-util-to-hast@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-4.0.0.tgz#d8467ce28ea73b4648667bc389aa39dfa9f67f18"
- integrity sha512-yOTZSxR1aPvWRUxVeLaLZ1sCYrK87x2Wusp1bDM/Ao2jETBhYUKITI3nHvgy+HkZW54HuCAhHnS0mTcbECD5Ig==
- dependencies:
- collapse-white-space "^1.0.0"
- detab "^2.0.0"
- mdast-util-definitions "^1.2.0"
- mdurl "^1.0.1"
- trim "0.0.1"
- trim-lines "^1.0.0"
- unist-builder "^1.0.1"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.0"
- xtend "^4.0.1"
-
-mdast-util-to-nlcst@^3.2.0:
- version "3.2.3"
- resolved "https://registry.yarnpkg.com/mdast-util-to-nlcst/-/mdast-util-to-nlcst-3.2.3.tgz#dcd0f51b59515b11a0700aeb40f168ed7ba9ed3d"
- integrity sha512-hPIsgEg7zCvdU6/qvjcR6lCmJeRuIEpZGY5xBV+pqzuMOvQajyyF8b6f24f8k3Rw8u40GwkI3aAxUXr3bB2xag==
- dependencies:
- nlcst-to-string "^2.0.0"
- repeat-string "^1.5.2"
- unist-util-position "^3.0.0"
- vfile-location "^2.0.0"
-
-mdast-util-to-string@^1.0.5, mdast-util-to-string@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527"
- integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==
-
-mdast-util-toc@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/mdast-util-toc/-/mdast-util-toc-3.1.0.tgz#395eeb877f067f9d2165d990d77c7eea6f740934"
- integrity sha512-Za0hqL1PqWrvxGtA/3NH9D5nhGAUS9grMM4obEAz5+zsk1RIw/vWUchkaoDLNdrwk05A0CSC5eEXng36/1qE5w==
- dependencies:
- github-slugger "^1.2.1"
- mdast-util-to-string "^1.0.5"
- unist-util-is "^2.1.2"
- unist-util-visit "^1.1.0"
-
-mdast-util-toc@^5.0:
- version "5.0.3"
- resolved "https://registry.yarnpkg.com/mdast-util-toc/-/mdast-util-toc-5.0.3.tgz#5fb1503e3655688929d596799a6910cc6548e420"
- integrity sha512-A3xzcgC1XFHK0+abFmbINOxjwo7Bi0Nsfp3yTgTy5JHo2q2V6YZ5BVJreDWoK3szcLlSMvHqe8WPbjY50wAkow==
- dependencies:
- "@types/mdast" "^3.0.3"
- "@types/unist" "^2.0.3"
- extend "^3.0.2"
- github-slugger "^1.2.1"
- mdast-util-to-string "^1.0.5"
- unist-util-is "^4.0.0"
- unist-util-visit "^2.0.0"
-
-mdn-data@2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b"
- integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==
-
-mdn-data@2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978"
- integrity sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==
-
-mdurl@^1.0.0, mdurl@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"
- integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=
-
-meant@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/meant/-/meant-1.0.2.tgz#5d0c78310a3d8ae1408a16be0fe0bd42a969f560"
- integrity sha512-KN+1uowN/NK+sT/Lzx7WSGIj2u+3xe5n2LbwObfjOhPZiA+cCfCm6idVl0RkEfjThkw5XJ96CyRcanq6GmKtUg==
-
-media-typer@0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
- integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
-
-memory-fs@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
- integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=
- dependencies:
- errno "^0.1.3"
- readable-stream "^2.0.1"
-
-memory-fs@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c"
- integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==
- dependencies:
- errno "^0.1.3"
- readable-stream "^2.0.1"
-
-merge-deep@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2"
- integrity sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA==
- dependencies:
- arr-union "^3.1.0"
- clone-deep "^0.2.4"
- kind-of "^3.0.2"
-
-merge-descriptors@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
- integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
-
-merge-stream@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
- integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-
-merge2@^1.2.3, merge2@^1.3.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
- integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-
-mermaid@^8.0.0:
- version "8.7.0"
- resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-8.7.0.tgz#741a1c4e81a29b612010f623b2abd25c4bc3d71e"
- integrity sha512-SkinxAY3sIdML+o5U4U7rQEIa628OEywEw+pfhc3wSVDFqLk2XNdX2j3YmkyCw3Kcbp9BXar533ei+/saYBs5g==
- dependencies:
- "@braintree/sanitize-url" "^3.1.0"
- babel-eslint "^10.1.0"
- d3 "^5.7.0"
- dagre "^0.8.4"
- dagre-d3 "^0.6.4"
- entity-decode "^2.0.2"
- graphlib "^2.1.7"
- he "^1.2.0"
- khroma "^1.1.0"
- minify "^4.1.1"
- moment-mini "^2.22.1"
- stylis "^3.5.2"
-
-methods@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
- integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
-
-micromatch@^3.1.10, micromatch@^3.1.4:
- version "3.1.10"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
- integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
- dependencies:
- 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"
-
-micromatch@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
- integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
- dependencies:
- braces "^3.0.1"
- picomatch "^2.0.5"
-
-miller-rabin@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
- integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==
- dependencies:
- bn.js "^4.0.0"
- brorand "^1.0.1"
-
-mime-db@1.44.0, "mime-db@>= 1.43.0 < 2":
- version "1.44.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
- integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
-
-mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:
- version "2.1.27"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
- integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
- dependencies:
- mime-db "1.44.0"
-
-mime@1.6.0, mime@^1.4.1:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
- integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
-
-mime@^2.0.3, mime@^2.4.4, mime@^2.4.6:
- version "2.4.6"
- resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1"
- integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==
-
-mimic-fn@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
- integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
-
-mimic-fn@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
- integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
-
-mimic-response@^1.0.0, mimic-response@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
- integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
-
-min-document@^2.19.0:
- version "2.19.0"
- resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
- integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=
- dependencies:
- dom-walk "^0.1.0"
-
-min-indent@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
- integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
-
-mini-css-extract-plugin@^0.8.2:
- version "0.8.2"
- resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.2.tgz#a875e169beb27c88af77dd962771c9eedc3da161"
- integrity sha512-a3Y4of27Wz+mqK3qrcd3VhYz6cU0iW5x3Sgvqzbj+XmlrSizmvu8QQMl5oMYJjgHOC4iyt+w7l4umP+dQeW3bw==
- dependencies:
- loader-utils "^1.1.0"
- normalize-url "1.9.1"
- schema-utils "^1.0.0"
- webpack-sources "^1.1.0"
-
-mini-store@^3.0.1:
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/mini-store/-/mini-store-3.0.6.tgz#44b86be5b2877271224ce0689b3a35a2dffb1ca9"
- integrity sha512-YzffKHbYsMQGUWQRKdsearR79QsMzzJcDDmZKlJBqt5JNkqpyJHYlK6gP61O36X+sLf76sO9G6mhKBe83gIZIQ==
- dependencies:
- hoist-non-react-statics "^3.3.2"
- shallowequal "^1.0.2"
-
-minify@^4.1.1:
- version "4.1.3"
- resolved "https://registry.yarnpkg.com/minify/-/minify-4.1.3.tgz#58467922d14303f55a3a28fa79641371955b8fbd"
- integrity sha512-ykuscavxivSmVpcCzsXmsVTukWYLUUtPhHj0w2ILvHDGqC+hsuTCihBn9+PJBd58JNvWTNg9132J9nrrI2anzA==
- dependencies:
- clean-css "^4.1.6"
- css-b64-images "~0.2.5"
- debug "^4.1.0"
- html-minifier "^4.0.0"
- terser "^4.0.0"
- try-catch "^2.0.0"
- try-to-catch "^1.0.2"
-
-minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
- integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
-
-minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
- integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
-
-minimatch@3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
- integrity sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=
- dependencies:
- brace-expansion "^1.0.0"
-
-minimatch@3.0.4, minimatch@^3.0.3, minimatch@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
- integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
- dependencies:
- brace-expansion "^1.1.7"
-
-minimist@^0.2.0:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.2.1.tgz#827ba4e7593464e7c221e8c5bed930904ee2c455"
- integrity sha512-GY8fANSrTMfBVfInqJAY41QkOM+upUTytK1jZ0c8+3HdHrJxBJ3rF5i9moClXTE8uUSnUo8cAsCoxDXvSY4DHg==
-
-minimist@^1.1.0, minimist@^1.2.0, minimist@^1.2.5:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
- integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
-
-mississippi@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
- integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==
- dependencies:
- 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@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mitt/-/mitt-1.2.0.tgz#cb24e6569c806e31bd4e3995787fe38a04fdf90d"
- integrity sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==
-
-mixin-deep@^1.2.0:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
- integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
- dependencies:
- for-in "^1.0.2"
- is-extendable "^1.0.1"
-
-mixin-object@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e"
- integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=
- dependencies:
- for-in "^0.1.3"
- is-extendable "^0.1.1"
-
-mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@^0.5.5, mkdirp@~0.5.1:
- version "0.5.5"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
- integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
- dependencies:
- minimist "^1.2.5"
-
-mkdirp@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
- integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-
-moment-mini@^2.22.1:
- version "2.24.0"
- resolved "https://registry.yarnpkg.com/moment-mini/-/moment-mini-2.24.0.tgz#fa68d98f7fe93ae65bf1262f6abb5fb6983d8d18"
- integrity sha512-9ARkWHBs+6YJIvrIp0Ik5tyTTtP9PoV0Ssu2Ocq5y9v8+NOOpWiRshAp8c4rZVWTOe+157on/5G+zj5pwIQFEQ==
-
-moment@^2.24.0, moment@^2.25.3, moment@^2.27.0:
- version "2.27.0"
- resolved "https://registry.yarnpkg.com/moment/-/moment-2.27.0.tgz#8bff4e3e26a236220dfe3e36de756b6ebaa0105d"
- integrity sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ==
-
-move-concurrently@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
- integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=
- dependencies:
- 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"
-
-ms@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
- integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
-
-ms@2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
- integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
-
-ms@^2.1.1:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
- integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-
-multicast-dns-service-types@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901"
- integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=
-
-multicast-dns@^6.0.1:
- version "6.2.3"
- resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229"
- integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==
- dependencies:
- dns-packet "^1.3.1"
- thunky "^1.0.2"
-
-mute-stream@0.0.7:
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
- integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
-
-mute-stream@0.0.8, mute-stream@~0.0.4:
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
- integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
-
-name-all-modules-plugin@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/name-all-modules-plugin/-/name-all-modules-plugin-1.0.1.tgz#0abfb6ad835718b9fb4def0674e06657a954375c"
- integrity sha1-Cr+2rYNXGLn7Te8GdOBmV6lUN1w=
-
-nan@^2.12.1:
- version "2.14.1"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
- integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==
-
-nano-css@^5.1.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/nano-css/-/nano-css-5.3.0.tgz#9d3cd29788d48b6a07f52aa4aec7cf4da427b6b5"
- integrity sha512-uM/9NGK9/E9/sTpbIZ/bQ9xOLOIHZwrrb/CRlbDHBU/GFS7Gshl24v/WJhwsVViWkpOXUmiZ66XO7fSB4Wd92Q==
- dependencies:
- css-tree "^1.0.0-alpha.28"
- csstype "^2.5.5"
- fastest-stable-stringify "^1.0.1"
- inline-style-prefixer "^4.0.0"
- rtl-css-js "^1.9.0"
- sourcemap-codec "^1.4.1"
- stacktrace-js "^2.0.0"
- stylis "3.5.0"
-
-nanomatch@^1.2.9:
- version "1.2.13"
- resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
- integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
- dependencies:
- 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"
-
-native-request@^1.0.5:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/native-request/-/native-request-1.0.7.tgz#ff742dc555b4c8f2f1c14b548639ba174e573856"
- integrity sha512-9nRjinI9bmz+S7dgNtf4A70+/vPhnd+2krGpy4SUlADuOuSa24IDkNaZ+R/QT1wQ6S8jBdi6wE7fLekFZNfUpQ==
-
-native-url@^0.2.6:
- version "0.2.6"
- resolved "https://registry.yarnpkg.com/native-url/-/native-url-0.2.6.tgz#ca1258f5ace169c716ff44eccbddb674e10399ae"
- integrity sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==
- dependencies:
- querystring "^0.2.0"
-
-natural-compare@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
- integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
-
-negotiator@0.6.2, negotiator@~0.6.2:
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
- integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
-
-neo-async@^2.5.0, neo-async@^2.6.1:
- version "2.6.2"
- resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
- integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
-
-next-tick@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb"
- integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==
-
-nice-try@^1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
- integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
-
-nise@^1.5.2:
- version "1.5.3"
- resolved "https://registry.yarnpkg.com/nise/-/nise-1.5.3.tgz#9d2cfe37d44f57317766c6e9408a359c5d3ac1f7"
- integrity sha512-Ymbac/94xeIrMf59REBPOv0thr+CJVFMhrlAkW/gjCIE58BGQdCj0x7KRCb3yz+Ga2Rz3E9XXSvUyyxqqhjQAQ==
- dependencies:
- "@sinonjs/formatio" "^3.2.1"
- "@sinonjs/text-encoding" "^0.7.1"
- just-extend "^4.0.2"
- lolex "^5.0.1"
- path-to-regexp "^1.7.0"
-
-nlcst-to-string@^2.0.0:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/nlcst-to-string/-/nlcst-to-string-2.0.4.tgz#9315dfab80882bbfd86ddf1b706f53622dc400cc"
- integrity sha512-3x3jwTd6UPG7vi5k4GEzvxJ5rDA7hVUIRNHPblKuMVP9Z3xmlsd9cgLcpAMkc5uPOBna82EeshROFhsPkbnTZg==
-
-no-case@^2.2.0, no-case@^2.3.2:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
- integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==
- dependencies:
- lower-case "^1.1.1"
-
-no-case@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.3.tgz#c21b434c1ffe48b39087e86cfb4d2582e9df18f8"
- integrity sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw==
- dependencies:
- lower-case "^2.0.1"
- tslib "^1.10.0"
-
-node-emoji@^1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da"
- integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==
- dependencies:
- lodash.toarray "^4.4.0"
-
-node-eta@^0.9.0:
- version "0.9.0"
- resolved "https://registry.yarnpkg.com/node-eta/-/node-eta-0.9.0.tgz#9fb0b099bcd2a021940e603c64254dc003d9a7a8"
- integrity sha1-n7CwmbzSoCGUDmA8ZCVNwAPZp6g=
-
-node-fetch@2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5"
- integrity sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=
-
-node-fetch@2.6.0, node-fetch@^2.5.0, node-fetch@^2.6.0:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd"
- integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==
-
-node-fetch@^1.0.1:
- version "1.7.3"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
- integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==
- dependencies:
- encoding "^0.1.11"
- is-stream "^1.0.1"
-
-node-forge@0.9.0:
- version "0.9.0"
- resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579"
- integrity sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==
-
-node-libs-browser@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425"
- integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==
- dependencies:
- 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"
-
-node-object-hash@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/node-object-hash/-/node-object-hash-2.0.0.tgz#9971fcdb7d254f05016bd9ccf508352bee11116b"
- integrity sha512-VZR0zroAusy1ETZMZiGeLkdu50LGjG5U1KHZqTruqtTyQ2wfWhHG2Ow4nsUbfTFGlaREgNHcCWoM/OzEm6p+NQ==
-
-node-releases@^1.1.60:
- version "1.1.60"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084"
- integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA==
-
-noms@0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/noms/-/noms-0.0.0.tgz#da8ebd9f3af9d6760919b27d9cdc8092a7332859"
- integrity sha1-2o69nzr51nYJGbJ9nNyAkqczKFk=
- dependencies:
- inherits "^2.0.1"
- readable-stream "~1.0.31"
-
-normalize-package-data@^2.3.2:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
- integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
- dependencies:
- hosted-git-info "^2.1.4"
- resolve "^1.10.0"
- semver "2 || 3 || 4 || 5"
- validate-npm-package-license "^3.0.1"
-
-normalize-path@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
- integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
- dependencies:
- remove-trailing-separator "^1.0.1"
-
-normalize-path@^3.0.0, normalize-path@~3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
- integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-
-normalize-range@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
- integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=
-
-normalize-url@1.9.1:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c"
- integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=
- dependencies:
- object-assign "^4.0.1"
- prepend-http "^1.0.0"
- query-string "^4.1.0"
- sort-keys "^1.0.0"
-
-normalize-url@2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6"
- integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==
- dependencies:
- prepend-http "^2.0.0"
- query-string "^5.0.1"
- sort-keys "^2.0.0"
-
-normalize-url@^3.0.0, normalize-url@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
- integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
-
-normalize-url@^4.1.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129"
- integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==
-
-normalize.css@^8.0.1:
- version "8.0.1"
- resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-8.0.1.tgz#9b98a208738b9cc2634caacbc42d131c97487bf3"
- integrity sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==
-
-npm-run-path@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
- integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
- dependencies:
- path-key "^2.0.0"
-
-npm-run-path@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
- integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
- dependencies:
- path-key "^3.0.0"
-
-nth-check@^1.0.1, nth-check@^1.0.2, nth-check@~1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
- integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==
- dependencies:
- boolbase "~1.0.0"
-
-null-loader@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/null-loader/-/null-loader-3.0.0.tgz#3e2b6c663c5bda8c73a54357d8fa0708dc61b245"
- integrity sha512-hf5sNLl8xdRho4UPBOOeoIwT3WhjYcMUQm0zj44EhD6UscMAz72o2udpoDFBgykucdEDGIcd6SXbc/G6zssbzw==
- dependencies:
- loader-utils "^1.2.3"
- schema-utils "^1.0.0"
-
-num2fraction@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
- integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=
-
-oauth-sign@~0.9.0:
- version "0.9.0"
- resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
- integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
-
-object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
- integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
-
-object-component@0.0.3:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291"
- integrity sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=
-
-object-copy@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
- integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
- dependencies:
- copy-descriptor "^0.1.0"
- define-property "^0.2.5"
- kind-of "^3.0.3"
-
-object-hash@^1.1.4:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df"
- integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==
-
-object-inspect@^1.7.0:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0"
- integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==
-
-object-is@^1.0.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6"
- integrity sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.5"
-
-object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
- integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
-
-object-keys@~0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.2.0.tgz#cddec02998b091be42bf1035ae32e49f1cb6ea67"
- integrity sha1-zd7AKZiwkb5CvxA1rjLknxy26mc=
- dependencies:
- foreach "~2.0.1"
- indexof "~0.0.1"
- is "~0.2.6"
-
-object-keys@~0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336"
- integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=
-
-object-path@^0.11.2, object-path@^0.11.4:
- version "0.11.4"
- resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949"
- integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=
-
-object-visit@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
- integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
- dependencies:
- isobject "^3.0.0"
-
-object.assign@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
- integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
- dependencies:
- define-properties "^1.1.2"
- function-bind "^1.1.1"
- has-symbols "^1.0.0"
- object-keys "^1.0.11"
-
-object.entries@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add"
- integrity sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.5"
- has "^1.0.3"
-
-object.fromentries@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9"
- integrity sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.0-next.1"
- function-bind "^1.1.1"
- has "^1.0.3"
-
-object.getownpropertydescriptors@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649"
- integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.0-next.1"
-
-object.pick@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
- integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
- dependencies:
- isobject "^3.0.1"
-
-object.values@^1.1.0, object.values@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e"
- integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.0-next.1"
- function-bind "^1.1.1"
- has "^1.0.3"
-
-obuf@^1.0.0, obuf@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
- integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==
-
-octal@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/octal/-/octal-1.0.0.tgz#63e7162a68efbeb9e213588d58e989d1e5c4530b"
- integrity sha1-Y+cWKmjvvrniE1iNWOmJ0eXEUws=
-
-omit.js@^2.0.0, omit.js@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/omit.js/-/omit.js-2.0.2.tgz#dd9b8436fab947a5f3ff214cb2538631e313ec2f"
- integrity sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==
-
-on-finished@~2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
- integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
- dependencies:
- ee-first "1.1.1"
-
-on-headers@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
- integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
-
-once@^1.3.0, once@^1.3.1, once@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
- integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
- dependencies:
- wrappy "1"
-
-onetime@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
- integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
- dependencies:
- mimic-fn "^1.0.0"
-
-onetime@^5.1.0:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
- integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
- dependencies:
- mimic-fn "^2.1.0"
-
-open@^6.4.0:
- version "6.4.0"
- resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9"
- integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==
- dependencies:
- is-wsl "^1.1.0"
-
-opentracing@^0.14.4:
- version "0.14.4"
- resolved "https://registry.yarnpkg.com/opentracing/-/opentracing-0.14.4.tgz#a113408ea740da3a90fde5b3b0011a375c2e4268"
- integrity sha512-nNnZDkUNExBwEpb7LZaeMeQgvrlO8l4bgY/LvGNZCR0xG/dGWqHqjKrAmR5GUoYo0FIz38kxasvA1aevxWs2CA==
-
-opn@5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519"
- integrity sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==
- dependencies:
- is-wsl "^1.1.0"
-
-opn@^5.5.0:
- version "5.5.0"
- resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc"
- integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==
- dependencies:
- is-wsl "^1.1.0"
-
-optimize-css-assets-webpack-plugin@^5.0.3:
- version "5.0.3"
- resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572"
- integrity sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA==
- dependencies:
- cssnano "^4.1.10"
- last-call-webpack-plugin "^3.0.0"
-
-optionator@^0.8.3:
- version "0.8.3"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
- integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
- dependencies:
- 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@>=0.0.5, original@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f"
- integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==
- dependencies:
- url-parse "^1.4.3"
-
-os-browserify@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
- integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
-
-os-tmpdir@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
- integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
-
-p-cancelable@^0.4.0:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.4.1.tgz#35f363d67d52081c8d9585e37bcceb7e0bbcb2a0"
- integrity sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==
-
-p-cancelable@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc"
- integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==
-
-p-defer@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-3.0.0.tgz#d1dceb4ee9b2b604b1d94ffec83760175d4e6f83"
- integrity sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==
-
-p-finally@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
- integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
-
-p-finally@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561"
- integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==
-
-p-is-promise@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e"
- integrity sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=
-
-p-limit@^1.1.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
- integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
- dependencies:
- p-try "^1.0.0"
-
-p-limit@^2.0.0, p-limit@^2.2.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
- integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
- dependencies:
- p-try "^2.0.0"
-
-p-locate@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
- integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
- dependencies:
- p-limit "^1.1.0"
-
-p-locate@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
- integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
- dependencies:
- p-limit "^2.0.0"
-
-p-locate@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
- integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
- dependencies:
- p-limit "^2.2.0"
-
-p-map@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175"
- integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==
-
-p-map@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d"
- integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==
- dependencies:
- aggregate-error "^3.0.0"
-
-p-queue@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-5.0.0.tgz#80f1741d5e78a6fa72fce889406481baa5617a3c"
- integrity sha512-6QfeouDf236N+MAxHch0CVIy8o/KBnmhttKjxZoOkUlzqU+u9rZgEyXH3OdckhTgawbqf5rpzmyR+07+Lv0+zg==
- dependencies:
- eventemitter3 "^3.1.0"
-
-p-retry@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328"
- integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==
- dependencies:
- retry "^0.12.0"
-
-p-timeout@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-2.0.1.tgz#d8dd1979595d2dc0139e1fe46b8b646cb3cdf038"
- integrity sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==
- dependencies:
- p-finally "^1.0.0"
-
-p-try@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
- integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
-
-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==
-
-package-json@^6.3.0:
- version "6.5.0"
- resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0"
- integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==
- dependencies:
- got "^9.6.0"
- registry-auth-token "^4.0.0"
- registry-url "^5.0.0"
- semver "^6.2.0"
-
-paho-mqtt@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/paho-mqtt/-/paho-mqtt-1.1.0.tgz#8c10e29eb162e966fb15188d965c3dce505de9d9"
- integrity sha512-KPbL9KAB0ASvhSDbOrZBaccXS+/s7/LIofbPyERww8hM5Ko71GUJQ6Nmg0BWqj8phAIT8zdf/Sd/RftHU9i2HA==
-
-pako@~1.0.5:
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
- integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
-
-parallel-transform@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc"
- integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==
- dependencies:
- cyclist "^1.0.1"
- inherits "^2.0.3"
- readable-stream "^2.1.5"
-
-param-case@^2.1.0, param-case@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
- integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc=
- dependencies:
- no-case "^2.2.0"
-
-parent-module@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
- integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
- dependencies:
- callsites "^3.0.0"
-
-parse-asn1@^5.0.0, parse-asn1@^5.1.5:
- version "5.1.5"
- resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e"
- integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==
- dependencies:
- asn1.js "^4.0.0"
- browserify-aes "^1.0.0"
- create-hash "^1.1.0"
- evp_bytestokey "^1.0.0"
- pbkdf2 "^3.0.3"
- safe-buffer "^5.1.1"
-
-parse-english@^4.0.0:
- version "4.1.3"
- resolved "https://registry.yarnpkg.com/parse-english/-/parse-english-4.1.3.tgz#692ec002e515b4b9b3e9e64ee1224b082667a20b"
- integrity sha512-IQl1v/ik9gw437T8083coohMihae0rozpc7JYC/9h6hi9xKBSxFwh5HWRpzVC2ZhEs2nUlze2aAktpNBJXdJKA==
- dependencies:
- nlcst-to-string "^2.0.0"
- parse-latin "^4.0.0"
- unist-util-modify-children "^1.0.0"
- unist-util-visit-children "^1.0.0"
-
-parse-entities@^1.0.2, parse-entities@^1.1.0:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50"
- integrity sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==
- dependencies:
- 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-entities@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8"
- integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==
- dependencies:
- 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-json@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
- integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
- dependencies:
- error-ex "^1.2.0"
-
-parse-json@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
- integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
- dependencies:
- error-ex "^1.3.1"
- json-parse-better-errors "^1.0.1"
-
-parse-json@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.1.tgz#7cfe35c1ccd641bce3981467e6c2ece61b3b3878"
- integrity sha512-ztoZ4/DYeXQq4E21v169sC8qWINGpcosGv9XhTDvg9/hWvx/zrFkc9BiWxR58OJLHGk28j5BL0SDLeV2WmFZlQ==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- error-ex "^1.3.1"
- json-parse-better-errors "^1.0.1"
- lines-and-columns "^1.1.6"
-
-parse-latin@^4.0.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/parse-latin/-/parse-latin-4.2.1.tgz#b78c57c026cdf8e4e9924b296a2d0aa69877fab8"
- integrity sha512-7T9g6mIsFFpLlo0Zzb2jLWdCt+H9Qtf/hRmMYFi/Mq6Ovi+YKo+AyDFX3OhFfu0vXX5Nid9FKJGKSSzNcTkWiA==
- dependencies:
- nlcst-to-string "^2.0.0"
- unist-util-modify-children "^1.0.0"
- unist-util-visit-children "^1.0.0"
-
-parse-numeric-range@^0.0.2:
- version "0.0.2"
- resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-0.0.2.tgz#b4f09d413c7adbcd987f6e9233c7b4b210c938e4"
- integrity sha1-tPCdQTx6282Yf26SM8e0shDJOOQ=
-
-parse-passwd@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
- integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=
-
-parse-path@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.2.tgz#ef14f0d3d77bae8dd4bc66563a4c151aac9e65aa"
- integrity sha512-HSqVz6iuXSiL8C1ku5Gl1Z5cwDd9Wo0q8CoffdAghP6bz8pJa1tcMC+m4N+z6VAS8QdksnIGq1TB6EgR4vPR6w==
- dependencies:
- is-ssh "^1.3.0"
- protocols "^1.4.0"
-
-parse-srcset@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/parse-srcset/-/parse-srcset-1.0.2.tgz#f2bd221f6cc970a938d88556abc589caaaa2bde1"
- integrity sha1-8r0iH2zJcKk42IVWq8WJyqqiveE=
-
-parse-url@^5.0.0:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-5.0.2.tgz#856a3be1fcdf78dc93fc8b3791f169072d898b59"
- integrity sha512-Czj+GIit4cdWtxo3ISZCvLiUjErSo0iI3wJ+q9Oi3QuMYTI6OZu+7cewMWZ+C1YAnKhYTk6/TLuhIgCypLthPA==
- dependencies:
- is-ssh "^1.3.0"
- normalize-url "^3.3.0"
- parse-path "^4.0.0"
- protocols "^1.4.0"
-
-parse5@^3.0.1:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c"
- integrity sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==
- dependencies:
- "@types/node" "*"
-
-parse5@^5.0.0:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178"
- integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==
-
-parse5@^6.0.0:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
- integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
-
-parseqs@0.0.5:
- version "0.0.5"
- resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
- integrity sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=
- dependencies:
- better-assert "~1.0.0"
-
-parseuri@0.0.5:
- version "0.0.5"
- resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a"
- integrity sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=
- dependencies:
- better-assert "~1.0.0"
-
-parseurl@^1.3.3, parseurl@~1.3.2, parseurl@~1.3.3:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
- integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
-
-pascal-case@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-2.0.1.tgz#2d578d3455f660da65eca18ef95b4e0de912761e"
- integrity sha1-LVeNNFX2YNpl7KGO+VtODekSdh4=
- dependencies:
- camel-case "^3.0.0"
- upper-case-first "^1.1.0"
-
-pascal-case@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.1.tgz#5ac1975133ed619281e88920973d2cd1f279de5f"
- integrity sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA==
- dependencies:
- no-case "^3.0.3"
- tslib "^1.10.0"
-
-pascalcase@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
- integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
-
-password-prompt@^1.0.4:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/password-prompt/-/password-prompt-1.1.2.tgz#85b2f93896c5bd9e9f2d6ff0627fa5af3dc00923"
- integrity sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==
- dependencies:
- ansi-escapes "^3.1.0"
- cross-spawn "^6.0.5"
-
-path-browserify@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
- integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
-
-path-case@^2.1.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/path-case/-/path-case-2.1.1.tgz#94b8037c372d3fe2906e465bb45e25d226e8eea5"
- integrity sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU=
- dependencies:
- no-case "^2.2.0"
-
-path-dirname@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
- integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=
-
-path-exists@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
- integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=
- dependencies:
- pinkie-promise "^2.0.0"
-
-path-exists@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
- integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
-
-path-exists@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
- integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
-
-path-is-absolute@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
- integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
-
-path-is-inside@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
- integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=
-
-path-key@^2.0.0, path-key@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
- integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
-
-path-key@^3.0.0, path-key@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
- integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
-
-path-parse@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
- integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
-
-path-to-regexp@0.1.7:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
- integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
-
-path-to-regexp@^1.7.0:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a"
- integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==
- dependencies:
- isarray "0.0.1"
-
-path-type@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
- integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=
- dependencies:
- pify "^2.0.0"
-
-path-type@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
- integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
-
-pbkdf2@^3.0.3:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94"
- integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==
- dependencies:
- create-hash "^1.1.2"
- create-hmac "^1.1.4"
- ripemd160 "^2.0.1"
- safe-buffer "^5.0.1"
- sha.js "^2.4.8"
-
-pend@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
- integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA=
-
-performance-now@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
- integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
-
-physical-cpu-count@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz#18de2f97e4bf7a9551ad7511942b5496f7aba660"
- integrity sha1-GN4vl+S/epVRrXURlCtUlverpmA=
-
-picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
- integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
-
-pify@^2.0.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
- integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
-
-pify@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
- integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
-
-pify@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
- integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
-
-pinkie-promise@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
- integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o=
- dependencies:
- pinkie "^2.0.0"
-
-pinkie@^2.0.0:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
- integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
-
-pkg-dir@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"
- integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q=
- dependencies:
- find-up "^1.0.0"
-
-pkg-dir@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
- integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=
- dependencies:
- find-up "^2.1.0"
-
-pkg-dir@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
- integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
- dependencies:
- find-up "^3.0.0"
-
-pkg-dir@^4.1.0, pkg-dir@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
- integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
- dependencies:
- find-up "^4.0.0"
-
-pnp-webpack-plugin@^1.6.4:
- version "1.6.4"
- resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149"
- integrity sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==
- dependencies:
- ts-pnp "^1.1.6"
-
-polished@^2.3.3:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/polished/-/polished-2.3.3.tgz#bdbaba962ba8271b0e11aa287f2befd4c87be99a"
- integrity sha512-59V4fDbdxtH4I1m9TWxFsoGJbC8nnOpUYo5uFmvMfKp9Qh+6suo4VMUle1TGIIUZIGxfkW+Rs485zPk0wcwR2Q==
- dependencies:
- "@babel/runtime" "^7.2.0"
-
-portfinder@^1.0.26:
- version "1.0.28"
- resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778"
- integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==
- dependencies:
- async "^2.6.2"
- debug "^3.1.1"
- mkdirp "^0.5.5"
-
-posix-character-classes@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
- integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
-
-postcss-calc@^7.0.1:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.3.tgz#d65cca92a3c52bf27ad37a5f732e0587b74f1623"
- integrity sha512-IB/EAEmZhIMEIhG7Ov4x+l47UaXOS1n2f4FBUk/aKllQhtSCxWhTzn0nJgkqN7fo/jcWySvWTSB6Syk9L+31bA==
- dependencies:
- postcss "^7.0.27"
- postcss-selector-parser "^6.0.2"
- postcss-value-parser "^4.0.2"
-
-postcss-colormin@^4.0.3:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381"
- integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==
- dependencies:
- browserslist "^4.0.0"
- color "^3.0.0"
- has "^1.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-convert-values@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f"
- integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==
- dependencies:
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-discard-comments@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033"
- integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==
- dependencies:
- postcss "^7.0.0"
-
-postcss-discard-duplicates@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb"
- integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==
- dependencies:
- postcss "^7.0.0"
-
-postcss-discard-empty@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765"
- integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==
- dependencies:
- postcss "^7.0.0"
-
-postcss-discard-overridden@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57"
- integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==
- dependencies:
- postcss "^7.0.0"
-
-postcss-flexbugs-fixes@^4.2.1:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz#9218a65249f30897deab1033aced8578562a6690"
- integrity sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==
- dependencies:
- postcss "^7.0.26"
-
-postcss-load-config@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003"
- integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==
- dependencies:
- cosmiconfig "^5.0.0"
- import-cwd "^2.0.0"
-
-postcss-loader@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d"
- integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==
- dependencies:
- loader-utils "^1.1.0"
- postcss "^7.0.0"
- postcss-load-config "^2.0.0"
- schema-utils "^1.0.0"
-
-postcss-merge-longhand@^4.0.11:
- version "4.0.11"
- resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24"
- integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==
- dependencies:
- css-color-names "0.0.4"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
- stylehacks "^4.0.0"
-
-postcss-merge-rules@^4.0.3:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650"
- integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==
- dependencies:
- 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"
-
-postcss-minify-font-values@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6"
- integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==
- dependencies:
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-minify-gradients@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471"
- integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==
- dependencies:
- cssnano-util-get-arguments "^4.0.0"
- is-color-stop "^1.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-minify-params@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874"
- integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==
- dependencies:
- 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"
-
-postcss-minify-selectors@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8"
- integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==
- dependencies:
- alphanum-sort "^1.0.0"
- has "^1.0.0"
- postcss "^7.0.0"
- postcss-selector-parser "^3.0.0"
-
-postcss-modules-extract-imports@^1.2.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz#dc87e34148ec7eab5f791f7cd5849833375b741a"
- integrity sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==
- dependencies:
- postcss "^6.0.1"
-
-postcss-modules-local-by-default@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069"
- integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=
- dependencies:
- css-selector-tokenizer "^0.7.0"
- postcss "^6.0.1"
-
-postcss-modules-scope@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90"
- integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A=
- dependencies:
- css-selector-tokenizer "^0.7.0"
- postcss "^6.0.1"
-
-postcss-modules-values@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20"
- integrity sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=
- dependencies:
- icss-replace-symbols "^1.1.0"
- postcss "^6.0.1"
-
-postcss-normalize-charset@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4"
- integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==
- dependencies:
- postcss "^7.0.0"
-
-postcss-normalize-display-values@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a"
- integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==
- dependencies:
- cssnano-util-get-match "^4.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-positions@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f"
- integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==
- dependencies:
- cssnano-util-get-arguments "^4.0.0"
- has "^1.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-repeat-style@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c"
- integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==
- dependencies:
- cssnano-util-get-arguments "^4.0.0"
- cssnano-util-get-match "^4.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-string@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c"
- integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==
- dependencies:
- has "^1.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-timing-functions@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9"
- integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==
- dependencies:
- cssnano-util-get-match "^4.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-unicode@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb"
- integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==
- dependencies:
- browserslist "^4.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-url@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1"
- integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==
- dependencies:
- is-absolute-url "^2.0.0"
- normalize-url "^3.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-normalize-whitespace@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82"
- integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==
- dependencies:
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-ordered-values@^4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee"
- integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==
- dependencies:
- cssnano-util-get-arguments "^4.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-reduce-initial@^4.0.3:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df"
- integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==
- dependencies:
- browserslist "^4.0.0"
- caniuse-api "^3.0.0"
- has "^1.0.0"
- postcss "^7.0.0"
-
-postcss-reduce-transforms@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29"
- integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==
- dependencies:
- cssnano-util-get-match "^4.0.0"
- has "^1.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
-
-postcss-selector-parser@^3.0.0:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270"
- integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==
- dependencies:
- dot-prop "^5.2.0"
- indexes-of "^1.0.1"
- uniq "^1.0.1"
-
-postcss-selector-parser@^6.0.2:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c"
- integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==
- dependencies:
- cssesc "^3.0.0"
- indexes-of "^1.0.1"
- uniq "^1.0.1"
-
-postcss-svgo@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258"
- integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==
- dependencies:
- is-svg "^3.0.0"
- postcss "^7.0.0"
- postcss-value-parser "^3.0.0"
- svgo "^1.0.0"
-
-postcss-unique-selectors@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac"
- integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==
- dependencies:
- alphanum-sort "^1.0.0"
- postcss "^7.0.0"
- uniqs "^2.0.0"
-
-postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0:
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
- integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
-
-postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
- integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
-
-postcss@^6.0.1, postcss@^6.0.23:
- version "6.0.23"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324"
- integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==
- dependencies:
- chalk "^2.4.1"
- source-map "^0.6.1"
- supports-color "^5.4.0"
-
-postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32:
- version "7.0.32"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d"
- integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==
- dependencies:
- chalk "^2.4.2"
- source-map "^0.6.1"
- supports-color "^6.1.0"
-
-prelude-ls@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
- integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
-
-prepend-http@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
- integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
-
-prepend-http@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
- integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
-
-prettier@^1.18.2:
- version "1.19.1"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
- integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
-
-prettier@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4"
- integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==
-
-pretty-bytes@^5.3.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2"
- integrity sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg==
-
-pretty-error@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3"
- integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=
- dependencies:
- renderkid "^2.0.1"
- utila "~0.4"
-
-pretty-format@^25.5.0:
- version "25.5.0"
- resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a"
- integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==
- dependencies:
- "@jest/types" "^25.5.0"
- ansi-regex "^5.0.0"
- ansi-styles "^4.0.0"
- react-is "^16.12.0"
-
-prismjs@^1.15.0:
- version "1.21.0"
- resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.21.0.tgz#36c086ec36b45319ec4218ee164c110f9fc015a3"
- integrity sha512-uGdSIu1nk3kej2iZsLyDoJ7e9bnPzIgY0naW/HdknGj61zScaprVEVGHrPoXqI+M9sP0NDnTK2jpkvmldpuqDw==
- optionalDependencies:
- clipboard "^2.0.0"
-
-probe-image-size@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/probe-image-size/-/probe-image-size-4.1.1.tgz#c836c53154b6dd04dbcf66af2bbd50087b15e1dc"
- integrity sha512-42LqKZqTLxH/UvAZ2/cKhAsR4G/Y6B7i7fI2qtQu9hRBK4YjS6gqO+QRtwTjvojUx4+/+JuOMzLoFyRecT9qRw==
- dependencies:
- any-promise "^1.3.0"
- deepmerge "^4.0.0"
- inherits "^2.0.3"
- next-tick "^1.0.0"
- request "^2.83.0"
- stream-parser "~0.3.1"
-
-process-es6@^0.11.2, process-es6@^0.11.6:
- version "0.11.6"
- resolved "https://registry.yarnpkg.com/process-es6/-/process-es6-0.11.6.tgz#c6bb389f9a951f82bd4eb169600105bd2ff9c778"
- integrity sha1-xrs4n5qVH4K9TrFpYAEFvS/5x3g=
-
-process-nextick-args@~2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
- integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
-
-process@^0.11.10, process@^0.11.9:
- version "0.11.10"
- resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
- integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
-
-progress@^2.0.0, progress@^2.0.1, progress@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
- integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
-
-promise-inflight@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
- integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM=
-
-promise@^7.1.1:
- version "7.3.1"
- resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
- integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==
- dependencies:
- asap "~2.0.3"
-
-prompts@^2.3.2:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068"
- integrity sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==
- dependencies:
- kleur "^3.0.3"
- sisteransi "^1.0.4"
-
-prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2:
- version "15.7.2"
- resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
- integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
- dependencies:
- loose-envify "^1.4.0"
- object-assign "^4.1.1"
- react-is "^16.8.1"
-
-proper-lockfile@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-4.1.1.tgz#284cf9db9e30a90e647afad69deb7cb06881262c"
- integrity sha512-1w6rxXodisVpn7QYvLk706mzprPTAPCYAqxMvctmPN3ekuRk/kuGkGc82pangZiAt4R3lwSuUzheTTn0/Yb7Zg==
- dependencies:
- graceful-fs "^4.1.11"
- retry "^0.12.0"
- signal-exit "^3.0.2"
-
-property-expr@^1.5.0:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-1.5.1.tgz#22e8706894a0c8e28d58735804f6ba3a3673314f"
- integrity sha512-CGuc0VUTGthpJXL36ydB6jnbyOf/rAHFvmVrJlH+Rg0DqqLFQGAP6hIaxD/G0OAmBJPhXDHuEJigrp0e0wFV6g==
-
-property-information@5.5.0, property-information@^5.0.0, property-information@^5.3.0:
- version "5.5.0"
- resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.5.0.tgz#4dc075d493061a82e2b7d096f406e076ed859943"
- integrity sha512-RgEbCx2HLa1chNgvChcx+rrCWD0ctBmGSE0M7lVm1yyv4UbvbrWoXp/BkVLZefzjrRBGW8/Js6uh/BnlHXFyjA==
- dependencies:
- xtend "^4.0.0"
-
-property-information@^4.0.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/property-information/-/property-information-4.2.0.tgz#f0e66e07cbd6fed31d96844d958d153ad3eb486e"
- integrity sha512-TlgDPagHh+eBKOnH2VYvk8qbwsCG/TAJdmTL7f1PROUcSO8qt/KSmShEQ/OKvock8X9tFjtqjCScyOkkkvIKVQ==
- dependencies:
- xtend "^4.0.1"
-
-protocols@^1.1.0, protocols@^1.4.0:
- version "1.4.8"
- resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8"
- integrity sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==
-
-proxy-addr@~2.0.5:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf"
- integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==
- dependencies:
- forwarded "~0.1.2"
- ipaddr.js "1.9.1"
-
-proxy-from-env@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
- integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
-
-prr@~0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
- integrity sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=
-
-prr@~1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
- integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY=
-
-pseudomap@^1.0.1, pseudomap@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
- integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
-
-psl@^1.1.28:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
- integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
-
-public-encrypt@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
- integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==
- dependencies:
- 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"
-
-pump@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
- integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
- dependencies:
- end-of-stream "^1.1.0"
- once "^1.3.1"
-
-pump@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
- integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
- dependencies:
- end-of-stream "^1.1.0"
- once "^1.3.1"
-
-pumpify@^1.3.3:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
- integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
- dependencies:
- duplexify "^3.6.0"
- inherits "^2.0.3"
- pump "^2.0.0"
-
-punycode@1.3.2:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
- integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
-
-punycode@^1.2.4:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
- integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
-
-punycode@^2.1.0, punycode@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
- integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
-
-pupa@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.0.1.tgz#dbdc9ff48ffbea4a26a069b6f9f7abb051008726"
- integrity sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==
- dependencies:
- escape-goat "^2.0.0"
-
-puppeteer@^1.12.2, puppeteer@^1.19.0:
- version "1.20.0"
- resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.20.0.tgz#e3d267786f74e1d87cf2d15acc59177f471bbe38"
- integrity sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ==
- dependencies:
- debug "^4.1.0"
- extract-zip "^1.6.6"
- https-proxy-agent "^2.2.1"
- mime "^2.0.3"
- progress "^2.0.1"
- proxy-from-env "^1.0.0"
- rimraf "^2.6.1"
- ws "^6.1.0"
-
-q@^1.1.2:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
- integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
-
-qs@6.7.0:
- version "6.7.0"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
- integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
-
-qs@^6.5.2:
- version "6.9.4"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.4.tgz#9090b290d1f91728d3c22e54843ca44aea5ab687"
- integrity sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==
-
-qs@~6.5.2:
- version "6.5.2"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
- integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
-
-query-string@^4.1.0:
- version "4.3.4"
- resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb"
- integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s=
- dependencies:
- object-assign "^4.1.0"
- strict-uri-encode "^1.0.0"
-
-query-string@^5.0.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb"
- integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==
- dependencies:
- decode-uri-component "^0.2.0"
- object-assign "^4.1.0"
- strict-uri-encode "^1.0.0"
-
-query-string@^6.13.1:
- version "6.13.1"
- resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.13.1.tgz#d913ccfce3b4b3a713989fe6d39466d92e71ccad"
- integrity sha512-RfoButmcK+yCta1+FuU8REvisx1oEzhMKwhLUNcepQTPGcNMp1sIqjnfCtfnvGSQZQEhaBHvccujtWoUV3TTbA==
- dependencies:
- decode-uri-component "^0.2.0"
- split-on-first "^1.0.0"
- strict-uri-encode "^2.0.0"
-
-query-string@~6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.0.0.tgz#8b8f39447b73e8290d6f5e3581779218e9171142"
- integrity sha1-i485RHtz6CkNb141gXeSGOkXEUI=
- dependencies:
- decode-uri-component "^0.2.0"
- strict-uri-encode "^2.0.0"
-
-querystring-es3@^0.2.0:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
- integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=
-
-querystring@0.2.0, querystring@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
- integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
-
-querystringify@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e"
- integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==
-
-raf@^3.4.0, raf@^3.4.1:
- version "3.4.1"
- resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39"
- integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==
- dependencies:
- performance-now "^2.1.0"
-
-randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
- integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
- dependencies:
- safe-buffer "^5.1.0"
-
-randomfill@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458"
- integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==
- dependencies:
- randombytes "^2.0.5"
- safe-buffer "^5.1.0"
-
-range-parser@^1.2.1, range-parser@~1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
- integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
-
-raw-body@2.4.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"
- integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==
- dependencies:
- bytes "3.1.0"
- http-errors "1.7.2"
- iconv-lite "0.4.24"
- unpipe "1.0.0"
-
-raw-body@^2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c"
- integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==
- dependencies:
- bytes "3.1.0"
- http-errors "1.7.3"
- iconv-lite "0.4.24"
- unpipe "1.0.0"
-
-raw-loader@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa"
- integrity sha1-DD0L6u2KAclm2Xh793goElKpeao=
-
-rc-align@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.1.tgz#0566de141a82d9a1923b7672c70bdb19dcde6e23"
- integrity sha512-RQ5Fhxl0LW+zsxbY8dxAcpXdaHkHH2jzRSSpvBTS7G9LMK3T+WRcn4ovjg/eqAESM6TdTx0hfqWF2S1pO75jxQ==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "2.x"
- dom-align "^1.7.0"
- rc-util "^5.0.1"
- resize-observer-polyfill "^1.5.1"
-
-rc-animate@3.x, rc-animate@~3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/rc-animate/-/rc-animate-3.1.0.tgz#051b689c2c7194e4c8ae016d32a0e5f9de6c8baa"
- integrity sha512-8FsM+3B1H+0AyTyGggY6JyVldHTs1CyYT8CfTmG/nGHHXlecvSLeICJhcKgRLjUiQlctNnRtB1rwz79cvBVmrw==
- dependencies:
- "@ant-design/css-animation" "^1.7.2"
- classnames "^2.2.6"
- raf "^3.4.0"
- rc-util "^5.0.1"
-
-rc-cascader@~1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-1.3.0.tgz#67925c7ac4b732fe06cabb3a9c91631c96d04ccf"
- integrity sha512-wayuMo/dSZixvdpiRFZB4Q6A3omKRXQcJ3CxN02+PNiTEcRnK2KDqKUzrx7GwgMsyH5tz90lUZ91lLaEPNFv0A==
- dependencies:
- array-tree-filter "^2.1.0"
- rc-trigger "^4.0.0"
- rc-util "^5.0.1"
- warning "^4.0.1"
-
-rc-checkbox@~2.3.0:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/rc-checkbox/-/rc-checkbox-2.3.1.tgz#2a61bc43017c783bd2e9f1a67553bf8efe7aa4d3"
- integrity sha512-i290/iTqmZ0WtI2UPIryqT9rW6O99+an4KeZIyZDH3r+Jbb6YdddaWNdzq7g5m9zaNhJvgjf//wJtC4fvve2Tg==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "^2.2.1"
-
-rc-collapse@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/rc-collapse/-/rc-collapse-2.0.0.tgz#08c5942f82005b4342ced02d983581e4c41cd324"
- integrity sha512-R5+Ge1uzwK9G1wZPRPhqQsed4FXTDmU0BKzsqfNBtZdk/wd+yey8ZutmJmSozYc5hQwjPkCvJHV7gOIRZKIlJg==
- dependencies:
- "@ant-design/css-animation" "^1.7.2"
- classnames "2.x"
- rc-animate "3.x"
- react-is "^16.7.0"
- shallowequal "^1.1.0"
-
-rc-dialog@~8.1.0:
- version "8.1.0"
- resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-8.1.0.tgz#393910963bb05ac19d6d136620bd09622f1d677a"
- integrity sha512-vMVAtyxpnokh/okFcDQVLO6ymIXfoTKYKtqJ/hMtf+0WcvRn4VgVDBvGyEk5zd94k0RgwEze9o2kGw8SyjivZg==
- dependencies:
- rc-animate "3.x"
- rc-util "^5.0.1"
-
-rc-drawer@~4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-4.1.0.tgz#d7bf0bc030300b62d282bc04e053b9acad6b08b4"
- integrity sha512-kjeQFngPjdzAFahNIV0EvEBoIKMOnvUsAxpkSPELoD/1DuR4nLafom5ryma+TIxGwkFJ92W6yjsMi1U9aiOTeQ==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "^2.2.6"
- rc-util "^5.0.1"
-
-rc-dropdown@^3.1.0, rc-dropdown@~3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-3.1.2.tgz#5199bd532ac8519813a347d194ab4b0cee702333"
- integrity sha512-s2W5jqvjTid5DxotGO5FlTBaQWeB+Bu7McQgjB8Ot3Wbl72AIKwLf11+lgbV4mA2vWC1H8DKyn6SW9TKLTi0xg==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "^2.2.6"
- rc-trigger "^4.0.0"
-
-rc-field-form@~1.8.0:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.8.1.tgz#ddb5b34cce498b11a3ad9dbfe2eb8e18539cb7e9"
- integrity sha512-OAMFhS+92+4o7Y0WyTfQ6E5EdBk7z7vEXf4dL5CpoZU2OEHv/INZP1xts2AIKNVOBligG/WcfMTuk+GvbyVsnA==
- dependencies:
- "@babel/runtime" "^7.8.4"
- async-validator "^3.0.3"
- rc-util "^5.0.0"
-
-rc-input-number@~6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-6.0.0.tgz#0c0af57c8183f3ca6b87f7edf6fed3bd5a3ba16f"
- integrity sha512-vbe+g7HvR/joknSnvLkBTi9N9I+LsV4kljfuog8WNiS7OAF3aEN0QcHSOQ4+xk6+Hx9P1tU63z2+TyEx8W/j2Q==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "^2.2.5"
- rc-util "^5.0.1"
-
-rc-mentions@~1.4.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-1.4.1.tgz#01fbfc6aa885ce26c480380c3a397a9901f456ab"
- integrity sha512-MraFCsXlorfUj4/VUjRnITAnBzhM0gMH+2yj/3jmS5rIj0NjNJoTXyEUW3gTJxnw9DP22IMccMTdP3Fjz/2UgQ==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "^2.2.6"
- rc-menu "^8.0.1"
- rc-textarea "^0.3.0"
- rc-trigger "^4.3.0"
- rc-util "^5.0.1"
-
-rc-menu@^8.0.1, rc-menu@^8.2.1, rc-menu@~8.5.2:
- version "8.5.2"
- resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-8.5.2.tgz#fa43bccabfcf422b9d3cdfcae5b71da08bab7e54"
- integrity sha512-GPtr7qoCynVEkFgco/9cW0z/xU33GV89Q6r8FgEkrdhaQSJzuSC+v8pv+Bll5fVGQlJyJgOVqiKk7l2Knk1jYg==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "2.x"
- mini-store "^3.0.1"
- omit.js "^2.0.0"
- rc-motion "^1.0.1"
- rc-trigger "^4.4.0"
- rc-util "^5.0.1"
- resize-observer-polyfill "^1.5.0"
- shallowequal "^1.1.0"
-
-rc-motion@^1.0.0, rc-motion@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-1.0.2.tgz#b8aec288642298d74ddc9ac1773e1b600aaa1c25"
- integrity sha512-FDmC9ZdzsXerlTZ+YLu+l5erjkMU98s85SFHdQac+pMy6zQ10RuON6Ntv3ZwP0+qY/YlIsK+0uMXIWOJ9LaLIg==
- dependencies:
- "@babel/runtime" "^7.11.1"
- classnames "^2.2.1"
- raf "^3.4.1"
- rc-util "^5.0.6"
-
-rc-notification@~4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-4.4.0.tgz#192d082cd6e2995705f43c6929162631c71e3db1"
- integrity sha512-IDeNAFGVeOsy1tv4zNVqMAXB9tianR80ewQbtObaAQfjwAjWfONdqdyjFkEU6nc6UQhSUYA5OcTGb7kwwbnh0g==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "2.x"
- rc-animate "3.x"
- rc-util "^5.0.1"
-
-rc-pagination@~2.4.5:
- version "2.4.6"
- resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-2.4.6.tgz#cc030c9693c730b43592bdb6974fb32c1502a500"
- integrity sha512-1ykd3Jti+JuOFdzEFXGfVpkuH+hKxLYz3FKV6BSwnnWXLr9Y8bbm7YiTSwBmdDcOg6tinH8b4IYaKzxBWRC6EA==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "^2.2.1"
-
-rc-picker@~1.15.1:
- version "1.15.3"
- resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-1.15.3.tgz#e4379e6fed9a29f0c1705115d11d196625096b83"
- integrity sha512-+VfzcsZui6oOOA0W44qQ7TRC28FUCLrZLjowwyouJKMjvU4HtKdDlSMTJHZNvBbfQoAfED4+mzUG2xtcdW7M+g==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "^2.2.1"
- date-fns "^2.15.0"
- dayjs "^1.8.30"
- moment "^2.24.0"
- rc-trigger "^4.0.0"
- rc-util "^5.0.1"
- react "^16.0.0"
- shallowequal "^1.1.0"
-
-rc-progress@~3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-3.0.0.tgz#cea324ce8fc31421cd815d94a4649a8a29f8f8db"
- integrity sha512-dQv1KU3o6Vay604FMYMF4S0x4GNXAgXf1tbQ1QoxeIeQt4d5fUeB7Ri82YPu+G+aRvH/AtxYAlEcnxyVZ1/4Hw==
- dependencies:
- classnames "^2.2.6"
-
-rc-rate@~2.8.2:
- version "2.8.2"
- resolved "https://registry.yarnpkg.com/rc-rate/-/rc-rate-2.8.2.tgz#d82d237d74fd4aef3e0581d2700b646cdd1cd8a2"
- integrity sha512-f9T/D+ZwWQrWHkpidpQbnXpnVMGMC4eSRAkwuu88a8Qv1C/9LNc4AErazoh8tpnZBFqq19F3j0Glv+sDgkfEig==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "^2.2.5"
- rc-util "^5.0.1"
-
-rc-resize-observer@^0.2.0, rc-resize-observer@^0.2.1, rc-resize-observer@^0.2.3:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-0.2.3.tgz#8268284d1766d163240b1682661ae7b59bc4523d"
- integrity sha512-dEPCGX15eRRnu+TNBIGyEghpzE24fTDW8pHdJPJS/kCR3lafFqBLqKzBgZW6pMUuM70/ZDyFQ0Kynx9kWsXRNw==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "^2.2.1"
- rc-util "^5.0.0"
- resize-observer-polyfill "^1.5.1"
-
-rc-select@^11.1.1:
- version "11.1.3"
- resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-11.1.3.tgz#acb6436e0ec389e1676903d9b514aa0d7565dbeb"
- integrity sha512-Mf/EiYFmdWOoOget6RacSz1uAfn0hxf3wOa/YSOf7bw70EH6s80biDHQ4WPk8hNMxVRhzojlkktgmN4YxNQisQ==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "2.x"
- rc-motion "^1.0.1"
- rc-trigger "^4.3.0"
- rc-util "^5.0.1"
- rc-virtual-list "^1.1.2"
- warning "^4.0.3"
-
-rc-select@~11.0.12:
- version "11.0.13"
- resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-11.0.13.tgz#fe5718af819d3e0bc12a55334bc1717257ef2dac"
- integrity sha512-4/GDmBkGnDhYre3Dvq5UkIRXQJW8hbGdpdH8SjquSbCktAVitYV+opd/lKI28qMcBxCgjOHgYXwZ18TF+kP2VQ==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "2.x"
- rc-motion "^1.0.1"
- rc-trigger "^4.3.0"
- rc-util "^5.0.1"
- rc-virtual-list "^1.1.2"
- warning "^4.0.3"
-
-rc-slider@~9.3.0:
- version "9.3.1"
- resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-9.3.1.tgz#444012f3b4847d592b167a9cee6a1a46779a6ef4"
- integrity sha512-c52PWPyrfJWh28K6dixAm0906L3/4MUIxqrNQA4TLnC/Z+cBNycWJUZoJerpwSOE1HdM3XDwixCsmtFc/7aWlQ==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "^2.2.5"
- rc-tooltip "^4.0.0"
- rc-util "^5.0.0"
- shallowequal "^1.1.0"
-
-rc-steps@~4.1.0:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-4.1.2.tgz#370f4c6b40d3888f03b271f1628953c66eb91c04"
- integrity sha512-kTPiojPtJi12Y7whRqlydRgJXQ1u9JlvGchI6xDrmOMZVpCTLpfc/18iu+aHCtCZaSnM2ENU/9lfm/naWVFcRw==
- dependencies:
- "@babel/runtime" "^7.10.2"
- classnames "^2.2.3"
- rc-util "^5.0.1"
-
-rc-switch@~3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/rc-switch/-/rc-switch-3.2.0.tgz#aa36bb417409ff4cc7d542ec4381cb5d87cfedc1"
- integrity sha512-WQZnRrWZ+KGh4Cd98FpP1ZgvMmebctoHzKAO2n1Xsry1FQBSGgIw4rQJRxET31VS/dR1LIKb5md/k0UzcXXc0g==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "^2.2.1"
- rc-util "^5.0.1"
-
-rc-table@~7.8.0:
- version "7.8.6"
- resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.8.6.tgz#897fb1671c62eb3a46033b53f0690fa0fd65dc61"
- integrity sha512-rHRStVTO6FYlxs5Bk9S56Vo/Jn7pX3hOtHTHP+Vu++i9SF7DroOReMIi+OJ7RA9n3jVBxyT/9+NESXgTFvPbYA==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "^2.2.5"
- raf "^3.4.1"
- rc-resize-observer "^0.2.0"
- rc-util "^5.0.0"
- shallowequal "^1.1.0"
-
-rc-tabs@~11.5.0:
- version "11.5.6"
- resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-11.5.6.tgz#bcff03f8c8dcc08b57ca97c0debe5d9fa3373957"
- integrity sha512-Q2wqnt66SFksGXxNARLqGNMYIFH3KSm48+hMc4tq6qhgpsW104dedHcM86NUyqsQcvYWWiceUNu3TSnbe+XZnw==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "2.x"
- raf "^3.4.1"
- rc-dropdown "^3.1.0"
- rc-menu "^8.2.1"
- rc-resize-observer "^0.2.1"
- rc-trigger "^4.2.1"
- rc-util "^5.0.0"
-
-rc-textarea@^0.3.0, rc-textarea@~0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/rc-textarea/-/rc-textarea-0.3.0.tgz#9860ef797e00717d8227d1ef4ee7895dd9358ddf"
- integrity sha512-vrTPkPT6wrO7EI8ouLFZZLXA1pFVrVRCnkmyyf0yRComFbcH1ogmFEGu85CjVT96rQqAiQFOe0QV3nKopZOJow==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "^2.2.1"
- omit.js "^2.0.0"
- rc-resize-observer "^0.2.3"
-
-rc-tooltip@^4.0.0, rc-tooltip@~4.2.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-4.2.1.tgz#c1a2d5017ee03a771a9301c0dfdb46dfdf8fef94"
- integrity sha512-oykuaGsHg7RFvPUaxUpxo7ScEqtH61C66x4JUmjlFlSS8gSx2L8JFtfwM1D68SLBxUqGqJObtxj4TED75gQTiA==
- dependencies:
- rc-trigger "^4.2.1"
-
-rc-tree-select@~4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-4.1.1.tgz#2d3c61f2449de72839eddf94ab876d3f6567692f"
- integrity sha512-pawxt/W1chLpjtAEQe8mXI9C9DYNMGS/BR6eBmOY8cJDK6OWSa6M88S6F0jXc+A10D/CLfHAfF1ZIj7VGse+5Q==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "2.x"
- rc-select "^11.1.1"
- rc-tree "^3.8.0"
- rc-util "^5.0.5"
-
-rc-tree@^3.8.0:
- version "3.9.0"
- resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-3.9.0.tgz#89de29a8ea5692447d01bbbda8931bd6b3e9b2e1"
- integrity sha512-TYvIq2SKdVugS2mdOGC++CNWjj1VDBws4JZkFOAJVQfXFWg+BNW4rhuTzAs4ZY3KiE+1xG0u5cOVvIPr7qkxCA==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "2.x"
- rc-motion "^1.0.0"
- rc-util "^5.0.0"
- rc-virtual-list "^1.1.0"
-
-rc-tree@~3.8.5:
- version "3.8.5"
- resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-3.8.5.tgz#1f6d8c14a4f9263d5a426f7a24703a4c7be46ea3"
- integrity sha512-audXUWwxyGB/4rLI4v+KuVucbc74y5t10XYQlR5WUe1J0sQuxP19+5GTb6DgrGXPxWOC6mxmkiw/xsKissE0GA==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "2.x"
- rc-motion "^1.0.0"
- rc-util "^5.0.0"
- rc-virtual-list "^1.1.0"
-
-rc-trigger@^4.0.0, rc-trigger@^4.2.1, rc-trigger@^4.3.0, rc-trigger@^4.4.0, rc-trigger@~4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-4.4.0.tgz#52be45c7b40327b297ebacff84d69ce9285606bc"
- integrity sha512-09562wc5I1JUbCdWohcFYJeLTpjKjEqH+0lY7plDtyI9yFXRngrvmqsrSJyT6Nat+C35ymD7fhwCCPq3cfUI4g==
- dependencies:
- "@babel/runtime" "^7.10.1"
- classnames "^2.2.6"
- raf "^3.4.1"
- rc-align "^4.0.0"
- rc-motion "^1.0.0"
- rc-util "^5.0.1"
-
-rc-upload@~3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-3.2.0.tgz#251fc3c9105902e808600a414f368f285d63bfba"
- integrity sha512-/vyOGVxl5QVM3ZE7s+GqYPbCLC/Q/vJq0sjdwnvJw01KvAR5kVOC4jbHEaU56dMss7PFGDfNzc8zO5bWYLDzVQ==
- dependencies:
- classnames "^2.2.5"
-
-rc-util@^5.0.0, rc-util@^5.0.1, rc-util@^5.0.5, rc-util@^5.0.6:
- version "5.0.6"
- resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.0.6.tgz#2b828bc87a818a66384b813f76a561ad4609e9b0"
- integrity sha512-uLGxF9WjbpJSjd6iDnIjl8ZeMUglpcuh1DwO26aaXh++yAmlB6eIAJMUwwJCuqJvo4quCvsDPg1VkqHILc4U0A==
- dependencies:
- react-is "^16.12.0"
- shallowequal "^1.1.0"
-
-rc-virtual-list@^1.1.0, rc-virtual-list@^1.1.2:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-1.1.6.tgz#b255baf9aacde149a8893324e6307214094f4c0a"
- integrity sha512-u3+izqWL8p8bQy8nYH48qWpiGyxR/ye8D2k0zJlXmfYeL55/xh83YrzHqiDzO78uj0Ewag3nXDA0JTVrYO7ygQ==
- dependencies:
- classnames "^2.2.6"
- raf "^3.4.1"
- rc-util "^5.0.0"
-
-rc@^1.2.8:
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
- integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
- dependencies:
- deep-extend "^0.6.0"
- ini "~1.3.0"
- minimist "^1.2.0"
- strip-json-comments "~2.0.1"
-
-react-circular-progressbar@^2.0.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/react-circular-progressbar/-/react-circular-progressbar-2.0.3.tgz#fa8eb59f8db168d2904bae4590641792c80f5991"
- integrity sha512-YKN+xAShXA3gYihevbQZbavfiJxo83Dt1cUxqg/cltj4VVsRQpDr7Fg1mvjDG3x1KHGtd9NmYKvJ2mMrPwbKyw==
-
-react-clientside-effect@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/react-clientside-effect/-/react-clientside-effect-1.2.2.tgz#6212fb0e07b204e714581dd51992603d1accc837"
- integrity sha512-nRmoyxeok5PBO6ytPvSjKp9xwXg9xagoTK1mMjwnQxqM9Hd7MNPl+LS1bOSOe+CV2+4fnEquc7H/S8QD3q697A==
- dependencies:
- "@babel/runtime" "^7.0.0"
-
-react-dev-utils@^4.2.3:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-4.2.3.tgz#5b42d9ea58d5e9e017a2f57a40a8af408a3a46fb"
- integrity sha512-uvmkwl5uMexCmC0GUv1XGQP0YjfYePJufGg4YYiukhqk2vN1tQxwWJIBERqhOmSi80cppZg8mZnPP/kOMf1sUQ==
- dependencies:
- 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"
-
-react-dom@^16.13.1:
- version "16.13.1"
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f"
- integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==
- dependencies:
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
- prop-types "^15.6.2"
- scheduler "^0.19.1"
-
-react-error-overlay@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-3.0.0.tgz#c2bc8f4d91f1375b3dad6d75265d51cd5eeaf655"
- integrity sha512-XzgvowFrwDo6TWcpJ/WTiarb9UI6lhA4PMzS7n1joK3sHfBBBOQHUc0U4u57D6DWO9vHv6lVSWx2Q/Ymfyv4hw==
-
-react-fast-compare@^2.0.1, react-fast-compare@^2.0.2, react-fast-compare@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9"
- integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==
-
-react-focus-lock@^2.3.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/react-focus-lock/-/react-focus-lock-2.4.1.tgz#e842cc93da736b5c5d331799012544295cbcee4f"
- integrity sha512-c5ZP56KSpj9EAxzScTqQO7bQQNPltf/W1ZEBDqNDOV1XOIwvAyHX0O7db9ekiAtxyKgnqZjQlLppVg94fUeL9w==
- dependencies:
- "@babel/runtime" "^7.0.0"
- focus-lock "^0.7.0"
- prop-types "^15.6.2"
- react-clientside-effect "^1.2.2"
- use-callback-ref "^1.2.1"
- use-sidecar "^1.0.1"
-
-react-helmet@^5.2.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/react-helmet/-/react-helmet-5.2.1.tgz#16a7192fdd09951f8e0fe22ffccbf9bb3e591ffa"
- integrity sha512-CnwD822LU8NDBnjCpZ4ySh8L6HYyngViTZLfBBb3NjtrpN8m49clH8hidHouq20I51Y6TpCTISCBbqiY5GamwA==
- dependencies:
- 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@^4.12.21:
- version "4.12.21"
- resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-4.12.21.tgz#332e830801fb33024b5a147d6b13417f491eb975"
- integrity sha512-Ynxa6ROfWUeKWsTHxsrL2KMzujxJVPjs385lmB2t5cHUxdoRPGind9F00tOkdc1l5WBleOF4XEAMILY1KPIIDA==
- dependencies:
- 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"
-
-react-icons@^3.0.1:
- version "3.10.0"
- resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-3.10.0.tgz#6c217a2dde2e8fa8d293210023914b123f317297"
- integrity sha512-WsQ5n1JToG9VixWilSo1bHv842Cj5aZqTGiS3Ud47myF6aK7S/IUY2+dHcBdmkQcCFRuHsJ9OMUI0kTDfjyZXQ==
- dependencies:
- camelcase "^5.0.0"
-
-react-is@^16.12.0, react-is@^16.7.0, react-is@^16.8.1:
- version "16.13.1"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
- integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-
-react-lifecycles-compat@^3.0.2, react-lifecycles-compat@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
- integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
-
-react-native-get-random-values@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/react-native-get-random-values/-/react-native-get-random-values-1.4.0.tgz#1234d4dde6b56b2fab0eaa7dc1719e2f8c32c336"
- integrity sha512-NnmEZcC5zfz+QEytFPM/fw818Hodw/BNbv7jGxU4pla4K2K9DCzG83IReMJqQ2wo552AYKguqrBG2SSn/U6rbA==
- dependencies:
- fast-base64-decode "^1.0.0"
-
-react-reconciler@^0.24.0:
- version "0.24.0"
- resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.24.0.tgz#5a396b2c2f5efe8554134a5935f49f546723f2dd"
- integrity sha512-gAGnwWkf+NOTig9oOowqid9O0HjTDC+XVGBCAmJYYJ2A2cN/O4gDdIuuUQjv8A4v6GDwVfJkagpBBLW5OW9HSw==
- dependencies:
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
- prop-types "^15.6.2"
- scheduler "^0.18.0"
-
-react-reconciler@^0.25.1:
- version "0.25.1"
- resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.25.1.tgz#f9814d59d115e1210762287ce987801529363aaa"
- integrity sha512-R5UwsIvRcSs3w8n9k3tBoTtUHdVhu9u84EG7E5M0Jk9F5i6DA1pQzPfUZd6opYWGy56MJOtV3VADzy6DRwYDjw==
- dependencies:
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
- prop-types "^15.6.2"
- scheduler "^0.19.1"
-
-react-refresh@^0.7.0:
- version "0.7.2"
- resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.7.2.tgz#f30978d21eb8cac6e2f2fde056a7d04f6844dd50"
- integrity sha512-u5l7fhAJXecWUJzVxzMRU2Zvw8m4QmDNHlTrT5uo3KBlYBhmChd7syAakBoay1yIiVhx/8Fi7a6v6kQZfsw81Q==
-
-react-remove-scroll-bar@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.1.0.tgz#edafe9b42a42c0dad9bdd10712772a1f9a39d7b9"
- integrity sha512-5X5Y5YIPjIPrAoMJxf6Pfa7RLNGCgwZ95TdnVPgPuMftRfO8DaC7F4KP1b5eiO8hHbe7u+wZNDbYN5WUTpv7+g==
- dependencies:
- react-style-singleton "^2.1.0"
- tslib "^1.0.0"
-
-react-remove-scroll@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.3.0.tgz#3af06fe2f7130500704b676cdef94452c08fe593"
- integrity sha512-UqVimLeAe+5EHXKfsca081hAkzg3WuDmoT9cayjBegd6UZVhlTEchleNp9J4TMGkb/ftLve7ARB5Wph+HJ7A5g==
- dependencies:
- react-remove-scroll-bar "^2.1.0"
- react-style-singleton "^2.1.0"
- tslib "^1.0.0"
- use-callback-ref "^1.2.3"
- use-sidecar "^1.0.1"
-
-react-side-effect@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/react-side-effect/-/react-side-effect-1.2.0.tgz#0e940c78faba0c73b9b0eba9cd3dda8dfb7e7dae"
- integrity sha512-v1ht1aHg5k/thv56DRcjw+WtojuuDHFUgGfc+bFHOWsF4ZK6C2V57DO0Or0GPsg6+LSTE0M6Ry/gfzhzSwbc5w==
- dependencies:
- shallowequal "^1.0.1"
-
-react-style-singleton@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.1.0.tgz#7396885332e9729957f9df51f08cadbfc164e1c4"
- integrity sha512-DH4ED+YABC1dhvSDYGGreAHmfuTXj6+ezT3CmHoqIEfxNgEYfIMoOtmbRp42JsUst3IPqBTDL+8r4TF7EWhIHw==
- dependencies:
- get-nonce "^1.0.0"
- invariant "^2.2.4"
- tslib "^1.0.0"
-
-react-textfit@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/react-textfit/-/react-textfit-1.1.0.tgz#088855580f2e7aad269efc81b734bf636877d0e1"
- integrity sha512-iznFbj7fCizuo3Xof9iv57I8GZFiYp8vUFj+4qihHJZpzNwxWad7JZu7ALTAnwaiq/H0p60g8G4ifeEJYmfJuw==
- dependencies:
- process "^0.11.9"
- prop-types "^15.5.10"
-
-react-use@^9.11.0:
- version "9.12.0"
- resolved "https://registry.yarnpkg.com/react-use/-/react-use-9.12.0.tgz#2c03fd9303f5ab50c406bbe76bf66b5d14576609"
- integrity sha512-aqY+w2nzwZnyJEizW4mhWMUUC0HtCLuxZIN7UW5oTTbNzlinOn3cgQCApGqjtjP7g9TXMroHU9WA0rYwShAVJA==
- dependencies:
- copy-to-clipboard "^3.1.0"
- nano-css "^5.1.0"
- react-fast-compare "^2.0.4"
- react-wait "^0.3.0"
- screenfull "^4.1.0"
- throttle-debounce "^2.0.1"
- ts-easing "^0.2.0"
-
-react-wait@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/react-wait/-/react-wait-0.3.0.tgz#0cdd4d919012451a5bc3ab0a16d00c6fd9a8c10b"
- integrity sha512-kB5x/kMKWcn0uVr9gBdNz21/oGbQwEQnF3P9p6E9yLfJ9DRcKS0fagbgYMFI0YFOoyKDj+2q6Rwax0kTYJF37g==
-
-react@^16.0.0, react@^16.13.1, react@^16.8.0:
- version "16.13.1"
- resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e"
- integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==
- dependencies:
- loose-envify "^1.1.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-pkg-up@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
- integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=
- dependencies:
- find-up "^2.0.0"
- read-pkg "^2.0.0"
-
-read-pkg@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
- integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=
- dependencies:
- load-json-file "^2.0.0"
- normalize-package-data "^2.3.2"
- path-type "^2.0.0"
-
-read-pkg@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237"
- integrity sha1-ljYlN48+HE1IyFhytabsfV0JMjc=
- dependencies:
- normalize-package-data "^2.3.2"
- parse-json "^4.0.0"
- pify "^3.0.0"
-
-read@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4"
- integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=
- dependencies:
- mute-stream "~0.0.4"
-
-"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6:
- version "2.3.7"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
- integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
- dependencies:
- 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"
-
-readable-stream@^1.0.26-4:
- version "1.1.14"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
- integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.1"
- isarray "0.0.1"
- string_decoder "~0.10.x"
-
-readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
- integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
- dependencies:
- inherits "^2.0.3"
- string_decoder "^1.1.1"
- util-deprecate "^1.0.1"
-
-readable-stream@~1.0.26, readable-stream@~1.0.26-4, readable-stream@~1.0.31:
- version "1.0.34"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
- integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.1"
- isarray "0.0.1"
- string_decoder "~0.10.x"
-
-readdirp@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
- integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==
- dependencies:
- graceful-fs "^4.1.11"
- micromatch "^3.1.10"
- readable-stream "^2.0.2"
-
-readdirp@~3.4.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada"
- integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==
- dependencies:
- picomatch "^2.2.1"
-
-recompose@^0.30.0:
- version "0.30.0"
- resolved "https://registry.yarnpkg.com/recompose/-/recompose-0.30.0.tgz#82773641b3927e8c7d24a0d87d65aeeba18aabd0"
- integrity sha512-ZTrzzUDa9AqUIhRk4KmVFihH0rapdCSMFXjhHbNrjAWxBuUD/guYlyysMnuHjlZC/KRiOKRtB4jf96yYSkKE8w==
- dependencies:
- "@babel/runtime" "^7.0.0"
- change-emitter "^0.1.2"
- fbjs "^0.8.1"
- hoist-non-react-statics "^2.3.1"
- react-lifecycles-compat "^3.0.2"
- symbol-observable "^1.0.4"
-
-recursive-readdir@2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.1.tgz#90ef231d0778c5ce093c9a48d74e5c5422d13a99"
- integrity sha1-kO8jHQd4xc4JPJpI105cVCLROpk=
- dependencies:
- minimatch "3.0.3"
-
-redux-thunk@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz#51c2c19a185ed5187aaa9a2d08b666d0d6467622"
- integrity sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==
-
-redux@^4.0.5:
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.5.tgz#4db5de5816e17891de8a80c424232d06f051d93f"
- integrity sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==
- dependencies:
- loose-envify "^1.4.0"
- symbol-observable "^1.2.0"
-
-regenerate-unicode-properties@^8.2.0:
- version "8.2.0"
- resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
- integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==
- dependencies:
- regenerate "^1.4.0"
-
-regenerate@^1.4.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f"
- integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==
-
-regenerator-runtime@^0.11.0:
- version "0.11.1"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
- integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
-
-regenerator-runtime@^0.13.4:
- version "0.13.7"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55"
- integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==
-
-regenerator-transform@^0.14.2:
- version "0.14.5"
- resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4"
- integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==
- dependencies:
- "@babel/runtime" "^7.8.4"
-
-regex-not@^1.0.0, regex-not@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
- integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
- dependencies:
- extend-shallow "^3.0.2"
- safe-regex "^1.1.0"
-
-regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75"
- integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.0-next.1"
-
-regexpp@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
- integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==
-
-regexpp@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
- integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
-
-regexpu-core@^4.5.4, regexpu-core@^4.7.0:
- version "4.7.0"
- resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938"
- integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==
- dependencies:
- 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@^4.0.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.0.tgz#1d37dffda72bbecd0f581e4715540213a65eb7da"
- integrity sha512-P+lWzPrsgfN+UEpDS3U8AQKg/UjZX6mQSJueZj3EK+vNESoqBSpBUD3gmu4sF9lOsjXWjF11dQKUqemf3veq1w==
- dependencies:
- rc "^1.2.8"
-
-registry-url@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009"
- integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==
- dependencies:
- rc "^1.2.8"
-
-regjsgen@^0.5.1:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733"
- integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==
-
-regjsparser@^0.6.4:
- version "0.6.4"
- resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272"
- integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==
- dependencies:
- jsesc "~0.5.0"
-
-rehype-react@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/rehype-react/-/rehype-react-3.1.0.tgz#bdd4b66ff24bd68e57c2f2e716607b3029c9e63e"
- integrity sha512-7SiLiqNudSGkvhrePkdKqdUvngZqzG+PJhdR5EeIFELz2j2ek4aO5DHbxUXYvaZfqUiBDO2Aeq1OROUmxmu+Vg==
- dependencies:
- "@mapbox/hast-util-table-cell-style" "^0.1.3"
- has "^1.0.1"
- hast-to-hyperscript "^5.0.0"
-
-relateurl@^0.2.7:
- version "0.2.7"
- resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
- integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=
-
-remark-footnotes@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/remark-footnotes/-/remark-footnotes-1.0.0.tgz#9c7a97f9a89397858a50033373020b1ea2aad011"
- integrity sha512-X9Ncj4cj3/CIvLI2Z9IobHtVi8FVdUrdJkCNaL9kdX8ohfsi18DXHsCVd/A7ssARBdccdDb5ODnt62WuEWaM/g==
-
-remark-mdx@1.6.16:
- version "1.6.16"
- resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-1.6.16.tgz#13ee40ad0614a1cc179aca3604d7f1b79e498a2f"
- integrity sha512-xqZhBQ4TonFiSFpVt6SnTLRnxstu7M6pcaOibKZhqzk4zMRVacVenD7iECjfESK+72LkPm/NW+0r5ahJAg7zlQ==
- dependencies:
- "@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" "1.6.16"
- is-alphabetical "1.0.4"
- remark-parse "8.0.3"
- unified "9.1.0"
-
-remark-mdx@^2.0.0-next.4, remark-mdx@^2.0.0-next.7:
- version "2.0.0-next.7"
- resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-2.0.0-next.7.tgz#e8d4e4fe2c2a98bb34e10304c6e6f2823ba56dfb"
- integrity sha512-JHYCfxJzvjTw8h5y10f+mCvbfIt5klAkWlULqPu1nM/r6ghF3tzJl0AFQFj5b/m/7U553+yYb/y4n0julMERYA==
- dependencies:
- 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@^2.0.0-next.4, remark-mdxjs@^2.0.0-next.7:
- version "2.0.0-next.7"
- resolved "https://registry.yarnpkg.com/remark-mdxjs/-/remark-mdxjs-2.0.0-next.7.tgz#32db2b04abb19ee8e7e383103b16f4f555e198dc"
- integrity sha512-ixa9jEQ1mB65NYJaBq+Hv91DIqQ7B3wk+L9Agwa31NkIzvt6zcgx6TKwavr0zZG69I2n1gZzekhp51AeVCzU1Q==
- dependencies:
- "@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.7"
-
-remark-parse@8.0.2:
- version "8.0.2"
- resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-8.0.2.tgz#5999bc0b9c2e3edc038800a64ff103d0890b318b"
- integrity sha512-eMI6kMRjsAGpMXXBAywJwiwAse+KNpmt+BK55Oofy4KvBZEqUDj6mWbGLJZrujoPIPPxDXzn3T9baRlpsm2jnQ==
- dependencies:
- ccount "^1.0.0"
- 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 "^2.0.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 "^2.0.0"
- vfile-location "^3.0.0"
- xtend "^4.0.1"
-
-remark-parse@8.0.3:
- version "8.0.3"
- resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-8.0.3.tgz#9c62aa3b35b79a486454c690472906075f40c7e1"
- integrity sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==
- dependencies:
- ccount "^1.0.0"
- 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 "^2.0.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 "^2.0.0"
- vfile-location "^3.0.0"
- xtend "^4.0.1"
-
-remark-parse@^6.0.0, remark-parse@^6.0.3:
- version "6.0.3"
- resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-6.0.3.tgz#c99131052809da482108413f87b0ee7f52180a3a"
- integrity sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==
- dependencies:
- 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"
-
-remark-react@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/remark-react/-/remark-react-5.0.1.tgz#fc89c89fde282e4d277a6234e4613b126f2b042f"
- integrity sha512-yHv5WIh47srKfdm794UMIHjNLr6EY2YCzsqvdJ/qvN1Tq1jgyg3q8Zo9pJc4L7BwZOMTia6O2JgrJeOsJfowzA==
- dependencies:
- "@mapbox/hast-util-table-cell-style" "^0.1.3"
- hast-to-hyperscript "^6.0.0"
- hast-util-sanitize "^1.0.0"
- mdast-util-to-hast "^4.0.0"
-
-remark-retext@^3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/remark-retext/-/remark-retext-3.1.3.tgz#77173b1d9d13dab15ce5b38d996195fea522ee7f"
- integrity sha512-UujXAm28u4lnUvtOZQFYfRIhxX+auKI9PuA2QpQVTT7gYk1OgX6o0OUrSo1KOa6GNrFX+OODOtS5PWIHPxM7qw==
- dependencies:
- mdast-util-to-nlcst "^3.2.0"
-
-remark-squeeze-paragraphs@4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz#76eb0e085295131c84748c8e43810159c5653ead"
- integrity sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==
- dependencies:
- mdast-squeeze-paragraphs "^4.0.0"
-
-remark-stringify@6.0.4, remark-stringify@^6.0.0:
- version "6.0.4"
- resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-6.0.4.tgz#16ac229d4d1593249018663c7bddf28aafc4e088"
- integrity sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==
- dependencies:
- 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 "^1.1.0"
- mdast-util-compact "^1.0.0"
- parse-entities "^1.0.2"
- repeat-string "^1.5.4"
- state-toggle "^1.0.0"
- stringify-entities "^1.0.1"
- unherit "^1.0.4"
- xtend "^4.0.1"
-
-remark-stringify@^8.1.0:
- version "8.1.1"
- resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-8.1.1.tgz#e2a9dc7a7bf44e46a155ec78996db896780d8ce5"
- integrity sha512-q4EyPZT3PcA3Eq7vPpT6bIdokXzFGp9i85igjmhRyXWmPs0Y6/d2FYwUNotKAWyLch7g0ASZJn/KHHcHZQ163A==
- dependencies:
- 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"
-
-remark-typescript@^0.3.0:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/remark-typescript/-/remark-typescript-0.3.1.tgz#72528d84876a8c0b6af89f9db2a6be816ce387b3"
- integrity sha512-UH3VrAD6HB3JBrPrdKDHmhSb2frDT0OfDTE4P8MI807KWNHkhuA+dKjld9+mYbq+PViy86nUZstpGkHWp5Y6gA==
- dependencies:
- "@babel/core" "^7.5.5"
- "@babel/preset-typescript" "^7.3.3"
- prettier "^1.18.2"
- unist-util-visit "^1.4.1"
-
-remark@^10.0.1:
- version "10.0.1"
- resolved "https://registry.yarnpkg.com/remark/-/remark-10.0.1.tgz#3058076dc41781bf505d8978c291485fe47667df"
- integrity sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==
- dependencies:
- remark-parse "^6.0.0"
- remark-stringify "^6.0.0"
- unified "^7.0.0"
-
-remove-trailing-separator@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
- integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
-
-renderkid@^2.0.1:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149"
- integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==
- dependencies:
- css-select "^1.1.0"
- dom-converter "^0.2"
- htmlparser2 "^3.3.0"
- strip-ansi "^3.0.0"
- utila "^0.4.0"
-
-repeat-element@^1.1.2:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
- integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==
-
-repeat-string@^1.0.0, repeat-string@^1.5.2, repeat-string@^1.5.4, repeat-string@^1.6.1:
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
- integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
-
-replace-ext@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
- integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=
-
-request@^2.83.0:
- version "2.88.2"
- resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
- integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
- dependencies:
- aws-sign2 "~0.7.0"
- aws4 "^1.8.0"
- caseless "~0.12.0"
- combined-stream "~1.0.6"
- extend "~3.0.2"
- forever-agent "~0.6.1"
- form-data "~2.3.2"
- har-validator "~5.1.3"
- http-signature "~1.2.0"
- is-typedarray "~1.0.0"
- isstream "~0.1.2"
- json-stringify-safe "~5.0.1"
- mime-types "~2.1.19"
- oauth-sign "~0.9.0"
- performance-now "^2.1.0"
- qs "~6.5.2"
- safe-buffer "^5.1.2"
- tough-cookie "~2.5.0"
- tunnel-agent "^0.6.0"
- uuid "^3.3.2"
-
-require-directory@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
- integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
-
-require-from-string@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
- integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
-
-"require-like@>= 0.1.1":
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/require-like/-/require-like-0.1.2.tgz#ad6f30c13becd797010c468afa775c0c0a6b47fa"
- integrity sha1-rW8wwTvs15cBDEaK+ndcDAprR/o=
-
-require-main-filename@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
- integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
-
-requires-port@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
- integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
-
-resize-observer-polyfill@^1.5.0, resize-observer-polyfill@^1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464"
- integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
-
-resolve-cwd@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
- integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=
- dependencies:
- resolve-from "^3.0.0"
-
-resolve-cwd@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
- integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==
- dependencies:
- resolve-from "^5.0.0"
-
-resolve-dir@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
- integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=
- dependencies:
- expand-tilde "^2.0.0"
- global-modules "^1.0.0"
-
-resolve-from@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
- integrity sha1-six699nWiBvItuZTM17rywoYh0g=
-
-resolve-from@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
- integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
-
-resolve-from@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
- integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
-
-resolve-url@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
- integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
-
-resolve@^1.10.0, resolve@^1.11.0, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1:
- version "1.17.0"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
- integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
- dependencies:
- path-parse "^1.0.6"
-
-responselike@1.0.2, responselike@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7"
- integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=
- dependencies:
- lowercase-keys "^1.0.0"
-
-restore-cursor@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
- integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
- dependencies:
- onetime "^2.0.0"
- signal-exit "^3.0.2"
-
-restore-cursor@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
- integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
- dependencies:
- onetime "^5.1.0"
- signal-exit "^3.0.2"
-
-ret@~0.1.10:
- version "0.1.15"
- resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
- integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
-
-retext-english@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/retext-english/-/retext-english-3.0.4.tgz#f978828d51fbcee842bc3807a45b7f709822ea8d"
- integrity sha512-yr1PgaBDde+25aJXrnt3p1jvT8FVLVat2Bx8XeAWX13KXo8OT+3nWGU3HWxM4YFJvmfqvJYJZG2d7xxaO774gw==
- dependencies:
- parse-english "^4.0.0"
- unherit "^1.0.4"
-
-retry@^0.12.0:
- version "0.12.0"
- resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b"
- integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=
-
-reusify@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
- integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
-
-rgb-regex@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1"
- integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE=
-
-rgba-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
- integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
-
-rimraf@2.6.3:
- version "2.6.3"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
- integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
- dependencies:
- glob "^7.1.3"
-
-rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
- integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
- dependencies:
- glob "^7.1.3"
-
-rimraf@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
- integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
- dependencies:
- glob "^7.1.3"
-
-ripemd160@^2.0.0, ripemd160@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
- integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
- dependencies:
- hash-base "^3.0.0"
- inherits "^2.0.1"
-
-rollup-plugin-babel@^4.3.3:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz#d15bd259466a9d1accbdb2fe2fff17c52d030acb"
- integrity sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==
- dependencies:
- "@babel/helper-module-imports" "^7.0.0"
- rollup-pluginutils "^2.8.1"
-
-rollup-plugin-commonjs@^10.0.1:
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz#417af3b54503878e084d127adf4d1caf8beb86fb"
- integrity sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q==
- dependencies:
- estree-walker "^0.6.1"
- is-reference "^1.1.2"
- magic-string "^0.25.2"
- resolve "^1.11.0"
- rollup-pluginutils "^2.8.1"
-
-rollup-plugin-node-builtins@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/rollup-plugin-node-builtins/-/rollup-plugin-node-builtins-2.1.2.tgz#24a1fed4a43257b6b64371d8abc6ce1ab14597e9"
- integrity sha1-JKH+1KQyV7a2Q3HYq8bOGrFFl+k=
- dependencies:
- browserify-fs "^1.0.0"
- buffer-es6 "^4.9.2"
- crypto-browserify "^3.11.0"
- process-es6 "^0.11.2"
-
-rollup-plugin-node-globals@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/rollup-plugin-node-globals/-/rollup-plugin-node-globals-1.4.0.tgz#5e1f24a9bb97c0ef51249f625e16c7e61b7c020b"
- integrity sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g==
- dependencies:
- acorn "^5.7.3"
- buffer-es6 "^4.9.3"
- estree-walker "^0.5.2"
- magic-string "^0.22.5"
- process-es6 "^0.11.6"
- rollup-pluginutils "^2.3.1"
-
-rollup-plugin-node-resolve@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz#730f93d10ed202473b1fb54a5997a7db8c6d8523"
- integrity sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==
- dependencies:
- "@types/resolve" "0.0.8"
- builtin-modules "^3.1.0"
- is-module "^1.0.0"
- resolve "^1.11.1"
- rollup-pluginutils "^2.8.1"
-
-rollup-plugin-replace@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/rollup-plugin-replace/-/rollup-plugin-replace-2.2.0.tgz#f41ae5372e11e7a217cde349c8b5d5fd115e70e3"
- integrity sha512-/5bxtUPkDHyBJAKketb4NfaeZjL5yLZdeUihSfbF2PQMz+rSTEb8ARKoOl3UBT4m7/X+QOXJo3sLTcq+yMMYTA==
- dependencies:
- magic-string "^0.25.2"
- rollup-pluginutils "^2.6.0"
-
-rollup-pluginutils@^2.3.1, rollup-pluginutils@^2.6.0, rollup-pluginutils@^2.8.1:
- version "2.8.2"
- resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e"
- integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==
- dependencies:
- estree-walker "^0.6.1"
-
-rollup@1.23.1:
- version "1.23.1"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.23.1.tgz#0315a0f5d0dfb056e6363e1dff05b89ac2da6b8e"
- integrity sha512-95C1GZQpr/NIA0kMUQmSjuMDQ45oZfPgDBcN0yZwBG7Kee//m7H68vgIyg+SPuyrTZ5PrXfyLK80OzXeKG5dAA==
- dependencies:
- "@types/estree" "*"
- "@types/node" "*"
- acorn "^7.1.0"
-
-rtl-css-js@^1.9.0:
- version "1.14.0"
- resolved "https://registry.yarnpkg.com/rtl-css-js/-/rtl-css-js-1.14.0.tgz#daa4f192a92509e292a0519f4b255e6e3c076b7d"
- integrity sha512-Dl5xDTeN3e7scU1cWX8c9b6/Nqz3u/HgR4gePc1kWXYiQWVQbKCEyK6+Hxve9LbcJ5EieHy1J9nJCN3grTtGwg==
- dependencies:
- "@babel/runtime" "^7.1.2"
-
-run-async@^2.2.0, run-async@^2.4.0:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
- integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
-
-run-parallel@^1.1.9:
- version "1.1.9"
- resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679"
- integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==
-
-run-queue@^1.0.0, run-queue@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
- integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=
- dependencies:
- aproba "^1.1.1"
-
-rw@1:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4"
- integrity sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=
-
-rx-lite-aggregates@^4.0.8:
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"
- integrity sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=
- dependencies:
- rx-lite "*"
-
-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"
- integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=
-
-rxjs@^6.5.2, rxjs@^6.6.0:
- version "6.6.2"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.2.tgz#8096a7ac03f2cc4fe5860ef6e572810d9e01c0d2"
- integrity sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==
- dependencies:
- tslib "^1.9.0"
-
-safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
- integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-
-safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
- integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-
-safe-regex@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
- integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
- dependencies:
- ret "~0.1.10"
-
-"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
- integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-
-sanitize-html@^1.27.0:
- version "1.27.2"
- resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.27.2.tgz#08c0cee76e594c677ab1c466594f72cb1142f399"
- integrity sha512-REZETvhFFChM3zyQS8XoR02j5U56HtyQkxsc8cb5HEi3XU0AAX9TuKvWe3ESR0F0IA81ZghA+5YpJg8C35AFyQ==
- dependencies:
- htmlparser2 "^4.1.0"
- lodash "^4.17.15"
- parse-srcset "^1.0.2"
- postcss "^7.0.27"
-
-sax@~1.2.4:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
- integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
-
-scheduler@^0.18.0:
- version "0.18.0"
- resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.18.0.tgz#5901ad6659bc1d8f3fdaf36eb7a67b0d6746b1c4"
- integrity sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==
- dependencies:
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
-
-scheduler@^0.19.1:
- version "0.19.1"
- resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196"
- integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==
- dependencies:
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
-
-schema-utils@^0.4.5:
- version "0.4.7"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187"
- integrity sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==
- dependencies:
- ajv "^6.1.0"
- ajv-keywords "^3.1.0"
-
-schema-utils@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
- integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==
- dependencies:
- ajv "^6.1.0"
- ajv-errors "^1.0.0"
- ajv-keywords "^3.1.0"
-
-schema-utils@^2.6.5:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7"
- integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==
- dependencies:
- "@types/json-schema" "^7.0.4"
- ajv "^6.12.2"
- ajv-keywords "^3.4.1"
-
-screenfull@^4.1.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-4.2.1.tgz#3245b7bc73d2b7c9a15bd8caaf6965db7cbc7f04"
- integrity sha512-PLSp6f5XdhvjCCCO8OjavRfzkSGL3Qmdm7P82bxyU8HDDDBhDV3UckRaYcRa/NDNTYt8YBpzjoLWHUAejmOjLg==
-
-scroll-into-view-if-needed@^2.2.25:
- version "2.2.25"
- resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.25.tgz#117b7bc7c61bc7a2b7872a0984bc73a19bc6e961"
- integrity sha512-C8RKJPq9lK7eubwGpLbUkw3lklcG3Ndjmea2PyauzrA0i4DPlzAmVMGxaZrBFqCrVLfvJmP80IyHnv4jxvg1OQ==
- dependencies:
- compute-scroll-into-view "^1.0.14"
-
-section-matter@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167"
- integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==
- dependencies:
- extend-shallow "^2.0.1"
- kind-of "^6.0.0"
-
-select-hose@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
- integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=
-
-select@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
- integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
-
-selfsigned@^1.10.7:
- version "1.10.7"
- resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b"
- integrity sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==
- dependencies:
- node-forge "0.9.0"
-
-semver-diff@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b"
- integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==
- dependencies:
- semver "^6.3.0"
-
-"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.1:
- version "5.7.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
- integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
-
-semver@7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
- integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
-
-semver@^4.3.2, semver@~2.3.1:
- version "4.3.6"
- resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
- integrity sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=
-
-semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
- version "6.3.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
- integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
-
-semver@^7.3.2:
- version "7.3.2"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
- integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
-
-send@0.17.1:
- version "0.17.1"
- resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
- integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==
- dependencies:
- 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"
-
-sentence-case@^2.1.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-2.1.1.tgz#1f6e2dda39c168bf92d13f86d4a918933f667ed4"
- integrity sha1-H24t2jnBaL+S0T+G1KkYkz9mftQ=
- dependencies:
- no-case "^2.2.0"
- upper-case-first "^1.1.2"
-
-serialize-javascript@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea"
- integrity sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==
- dependencies:
- randombytes "^2.1.0"
-
-serve-index@^1.9.1:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239"
- integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=
- dependencies:
- 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"
-
-serve-static@1.14.1:
- version "1.14.1"
- resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
- integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
- dependencies:
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- parseurl "~1.3.3"
- send "0.17.1"
-
-set-blocking@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
- integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
-
-set-value@^2.0.0, set-value@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
- integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==
- dependencies:
- extend-shallow "^2.0.1"
- is-extendable "^0.1.1"
- is-plain-object "^2.0.3"
- split-string "^3.0.1"
-
-setimmediate@^1.0.4, setimmediate@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
- integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
-
-setprototypeof@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
- integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==
-
-setprototypeof@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
- integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
-
-setprototypeof@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
- integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
-
-sha.js@^2.4.0, sha.js@^2.4.8:
- version "2.4.11"
- resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
- integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
- dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-shallow-clone@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060"
- integrity sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=
- dependencies:
- is-extendable "^0.1.1"
- kind-of "^2.0.1"
- lazy-cache "^0.2.3"
- mixin-object "^2.0.1"
-
-shallow-compare@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/shallow-compare/-/shallow-compare-1.2.2.tgz#fa4794627bf455a47c4f56881d8a6132d581ffdb"
- integrity sha512-LUMFi+RppPlrHzbqmFnINTrazo0lPNwhcgzuAXVVcfy/mqPDrQmHAyz5bvV0gDAuRFrk804V0HpQ6u9sZ0tBeg==
-
-shallowequal@^1.0.1, shallowequal@^1.0.2, shallowequal@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
- integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==
-
-shebang-command@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
- integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
- dependencies:
- shebang-regex "^1.0.0"
-
-shebang-command@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
- integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
- dependencies:
- shebang-regex "^3.0.0"
-
-shebang-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
- integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
-
-shebang-regex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
- integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-
-shell-quote@1.6.1:
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767"
- integrity sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=
- dependencies:
- array-filter "~0.0.0"
- array-map "~0.0.0"
- array-reduce "~0.0.0"
- jsonify "~0.0.0"
-
-side-channel@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.2.tgz#df5d1abadb4e4bf4af1cd8852bf132d2f7876947"
- integrity sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA==
- dependencies:
- es-abstract "^1.17.0-next.1"
- object-inspect "^1.7.0"
-
-signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
- integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
-
-simple-git@^1.105.0:
- version "1.132.0"
- resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.132.0.tgz#53ac4c5ec9e74e37c2fd461e23309f22fcdf09b1"
- integrity sha512-xauHm1YqCTom1sC9eOjfq3/9RKiUA9iPnxBbrY2DdL8l4ADMu0jjM5l5lphQP5YWNqAL2aXC/OeuQ76vHtW5fg==
- dependencies:
- debug "^4.0.1"
-
-simple-git@^2.7.0:
- version "2.17.0"
- resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-2.17.0.tgz#541205913734018d32d051af847ad9fec2f95901"
- integrity sha512-l2F16fJvHWSx+E1C8WduwpNDfqf+JDD8nsEaD5szUZlbz5Y6paSnR4wlGxIa6Mr6I4kl3F9QmTaPIQjSxlcafA==
- dependencies:
- "@kwsites/file-exists" "^1.1.1"
- "@kwsites/promise-deferred" "^1.1.1"
- debug "^4.1.1"
-
-simple-swizzle@^0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
- integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
- dependencies:
- is-arrayish "^0.3.1"
-
-single-trailing-newline@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/single-trailing-newline/-/single-trailing-newline-1.0.0.tgz#81f0ad2ad645181945c80952a5c1414992ee9664"
- integrity sha1-gfCtKtZFGBlFyAlSpcFBSZLulmQ=
- dependencies:
- detect-newline "^1.0.3"
-
-sinon@^7.5.0:
- version "7.5.0"
- resolved "https://registry.yarnpkg.com/sinon/-/sinon-7.5.0.tgz#e9488ea466070ea908fd44a3d6478fd4923c67ec"
- integrity sha512-AoD0oJWerp0/rY9czP/D6hDTTUYGpObhZjMpd7Cl/A6+j0xBE+ayL/ldfggkBXUs0IkvIiM1ljM8+WkOc5k78Q==
- dependencies:
- "@sinonjs/commons" "^1.4.0"
- "@sinonjs/formatio" "^3.2.1"
- "@sinonjs/samsam" "^3.3.3"
- diff "^3.5.0"
- lolex "^4.2.0"
- nise "^1.5.2"
- supports-color "^5.5.0"
-
-sisteransi@^1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
- integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
-
-sitemap@^1.13.0:
- version "1.13.0"
- resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-1.13.0.tgz#569cbe2180202926a62a266cd3de09c9ceb43f83"
- integrity sha1-Vpy+IYAgKSamKiZs094Jyc60P4M=
- dependencies:
- underscore "^1.7.0"
- url-join "^1.1.0"
-
-slash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
- integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-
-slice-ansi@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
- integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
- dependencies:
- ansi-styles "^3.2.0"
- astral-regex "^1.0.0"
- is-fullwidth-code-point "^2.0.0"
-
-slice-ansi@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"
- integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==
- dependencies:
- ansi-styles "^4.0.0"
- astral-regex "^2.0.0"
- is-fullwidth-code-point "^3.0.0"
-
-slugify@^1.4.4:
- version "1.4.5"
- resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.4.5.tgz#a7517acf5f4c02a4df41e735354b660a4ed1efcf"
- integrity sha512-WpECLAgYaxHoEAJ8Q1Lo8HOs1ngn7LN7QjXgOLbmmfkcWvosyk4ZTXkTzKyhngK640USTZUlgoQJfED1kz5fnQ==
-
-snake-case@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-2.1.0.tgz#41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f"
- integrity sha1-Qb2xtz8w7GagTU4srRt2OH1NbZ8=
- dependencies:
- no-case "^2.2.0"
-
-snapdragon-node@^2.0.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
- integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
- dependencies:
- define-property "^1.0.0"
- isobject "^3.0.0"
- snapdragon-util "^3.0.1"
-
-snapdragon-util@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
- integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
- dependencies:
- kind-of "^3.2.0"
-
-snapdragon@^0.8.1:
- version "0.8.2"
- resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
- integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
- dependencies:
- 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"
-
-socket.io-adapter@~1.1.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz#ab3f0d6f66b8fc7fca3959ab5991f82221789be9"
- integrity sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==
-
-socket.io-client@2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.3.0.tgz#14d5ba2e00b9bcd145ae443ab96b3f86cbcc1bb4"
- integrity sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==
- dependencies:
- 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"
-
-socket.io-parser@~3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.0.tgz#2b52a96a509fdf31440ba40fed6094c7d4f1262f"
- integrity sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==
- dependencies:
- component-emitter "1.2.1"
- debug "~3.1.0"
- isarray "2.0.1"
-
-socket.io-parser@~3.4.0:
- version "3.4.1"
- resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.4.1.tgz#b06af838302975837eab2dc980037da24054d64a"
- integrity sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==
- dependencies:
- component-emitter "1.2.1"
- debug "~4.1.0"
- isarray "2.0.1"
-
-socket.io@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.3.0.tgz#cd762ed6a4faeca59bc1f3e243c0969311eb73fb"
- integrity sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==
- dependencies:
- 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"
-
-sockjs-client@1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12"
- integrity sha1-W6vjhrd15M8U51IJEUUmVAFsixI=
- dependencies:
- 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"
-
-sockjs-client@1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5"
- integrity sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==
- dependencies:
- debug "^3.2.5"
- eventsource "^1.0.7"
- faye-websocket "~0.11.1"
- inherits "^2.0.3"
- json3 "^3.3.2"
- url-parse "^1.4.3"
-
-sockjs@0.3.20:
- version "0.3.20"
- resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855"
- integrity sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==
- dependencies:
- faye-websocket "^0.10.0"
- uuid "^3.4.0"
- websocket-driver "0.6.5"
-
-sort-keys@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
- integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0=
- dependencies:
- is-plain-obj "^1.0.0"
-
-sort-keys@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128"
- integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=
- dependencies:
- is-plain-obj "^1.0.0"
-
-source-list-map@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.2.tgz#9889019d1024cce55cdc069498337ef6186a11a1"
- integrity sha1-mIkBnRAkzOVc3AaUmDN+9hhqEaE=
-
-source-list-map@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
- integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
-
-source-map-resolve@^0.5.0:
- version "0.5.3"
- resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
- integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==
- dependencies:
- 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@~0.5.12:
- version "0.5.19"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
- integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
- dependencies:
- buffer-from "^1.0.0"
- source-map "^0.6.0"
-
-source-map-url@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
- integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
-
-source-map@0.5.6:
- version "0.5.6"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
- integrity sha1-dc449SvwczxafwwRjYEzSiu19BI=
-
-source-map@0.7.3, source-map@^0.7.3:
- version "0.7.3"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
- integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
-
-source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.3:
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
- integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
-
-source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
- integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-
-source-sans-pro@^3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/source-sans-pro/-/source-sans-pro-3.6.0.tgz#f4167065ebf096136b1b4f141dbd48886dda1486"
- integrity sha512-C1RFUGu+YASuqpgDRInTM7Y6OwqeWNOuKn7v0P/4Kh66epTI4PYWwPWP5kdA4l/VqzBAWiqoz5dk0trof73R7w==
-
-sourcemap-codec@^1.4.1, sourcemap-codec@^1.4.4:
- version "1.4.8"
- resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
- integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
-
-space-separated-tokens@^1.0.0:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899"
- integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==
-
-spawn-command@^0.0.2-1:
- version "0.0.2-1"
- resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0"
- integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=
-
-spdx-correct@^3.0.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
- integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==
- dependencies:
- spdx-expression-parse "^3.0.0"
- spdx-license-ids "^3.0.0"
-
-spdx-exceptions@^2.1.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"
- integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
-
-spdx-expression-parse@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
- integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
- dependencies:
- spdx-exceptions "^2.1.0"
- spdx-license-ids "^3.0.0"
-
-spdx-license-ids@^3.0.0:
- version "3.0.5"
- resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654"
- integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==
-
-spdy-transport@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31"
- integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==
- dependencies:
- 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"
-
-spdy@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b"
- integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==
- dependencies:
- debug "^4.1.0"
- handle-thing "^2.0.0"
- http-deceiver "^1.2.7"
- select-hose "^2.0.0"
- spdy-transport "^3.0.0"
-
-split-on-first@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f"
- integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
-
-split-string@^3.0.1, split-string@^3.0.2:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
- integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
- dependencies:
- extend-shallow "^3.0.0"
-
-sprintf-js@^1.0.3:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673"
- integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==
-
-sprintf-js@~1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
- integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
-
-sshpk@^1.7.0:
- version "1.16.1"
- resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
- integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
- dependencies:
- asn1 "~0.2.3"
- assert-plus "^1.0.0"
- bcrypt-pbkdf "^1.0.0"
- dashdash "^1.12.0"
- ecc-jsbn "~0.1.1"
- getpass "^0.1.1"
- jsbn "~0.1.0"
- safer-buffer "^2.0.2"
- tweetnacl "~0.14.0"
-
-ssri@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
- integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==
- dependencies:
- figgy-pudding "^3.5.1"
-
-st@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/st/-/st-2.0.0.tgz#eabd11e7722863b8ee8cfbdd027cb25e76ff35e9"
- integrity sha512-drN+aGYnrZPNYIymmNwIY7LXYJ8MqsqXj4fMRue3FOgGMdGjSX10fhJ3qx0sVQPhcWxhEaN4U/eWM4O4dbYNAw==
- dependencies:
- async-cache "^1.1.0"
- bl "^4.0.0"
- fd "~0.0.2"
- mime "^2.4.4"
- negotiator "~0.6.2"
- optionalDependencies:
- graceful-fs "^4.2.3"
-
-stable@^0.1.8:
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
- integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
-
-stack-generator@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/stack-generator/-/stack-generator-2.0.5.tgz#fb00e5b4ee97de603e0773ea78ce944d81596c36"
- integrity sha512-/t1ebrbHkrLrDuNMdeAcsvynWgoH/i4o8EGGfX7dEYDoTXOYVAkEpFdtshlvabzc6JlJ8Kf9YdFEoz7JkzGN9Q==
- dependencies:
- stackframe "^1.1.1"
-
-stack-trace@^0.0.10:
- version "0.0.10"
- resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
- integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=
-
-stackframe@^1.1.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303"
- integrity sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==
-
-stacktrace-gps@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.0.4.tgz#7688dc2fc09ffb3a13165ebe0dbcaf41bcf0c69a"
- integrity sha512-qIr8x41yZVSldqdqe6jciXEaSCKw1U8XTXpjDuy0ki/apyTn/r3w9hDAAQOhZdxvsC93H+WwwEu5cq5VemzYeg==
- dependencies:
- source-map "0.5.6"
- stackframe "^1.1.1"
-
-stacktrace-js@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/stacktrace-js/-/stacktrace-js-2.0.2.tgz#4ca93ea9f494752d55709a081d400fdaebee897b"
- integrity sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==
- dependencies:
- error-stack-parser "^2.0.6"
- stack-generator "^2.0.5"
- stacktrace-gps "^3.0.4"
-
-state-toggle@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe"
- integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==
-
-static-extend@^0.1.1:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
- integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
- dependencies:
- define-property "^0.2.5"
- object-copy "^0.1.0"
-
-static-site-generator-webpack-plugin@^3.4.2:
- version "3.4.2"
- resolved "https://registry.yarnpkg.com/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-3.4.2.tgz#ad9fd0a4fb8b6f439a7a66018320b459bdb6d916"
- integrity sha512-39Kn+fZDVjolLYuX5y1rDvksJIW0QEUaEC/AVO/UewNXxGzoSQI1UYnRsL+ocAcN5Yti6d6rJgEL0qZ5tNXfdw==
- dependencies:
- bluebird "^3.0.5"
- cheerio "^0.22.0"
- eval "^0.1.0"
- url "^0.11.0"
- webpack-sources "^0.2.0"
-
-"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
- integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
-
-stream-browserify@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"
- integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==
- dependencies:
- inherits "~2.0.1"
- readable-stream "^2.0.2"
-
-stream-each@^1.1.0:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae"
- integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==
- dependencies:
- end-of-stream "^1.1.0"
- stream-shift "^1.0.0"
-
-stream-http@^2.7.2:
- version "2.8.3"
- resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
- integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==
- dependencies:
- builtin-status-codes "^3.0.0"
- inherits "^2.0.1"
- readable-stream "^2.3.6"
- to-arraybuffer "^1.0.0"
- xtend "^4.0.0"
-
-stream-parser@~0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/stream-parser/-/stream-parser-0.3.1.tgz#1618548694420021a1182ff0af1911c129761773"
- integrity sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M=
- dependencies:
- debug "2"
-
-stream-shift@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
- integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
-
-strict-uri-encode@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
- integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=
-
-strict-uri-encode@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
- integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY=
-
-string-convert@^0.2.0:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97"
- integrity sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c=
-
-string-length@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837"
- integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==
- dependencies:
- astral-regex "^1.0.0"
- strip-ansi "^5.2.0"
-
-string-range@~1.2, string-range@~1.2.1:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/string-range/-/string-range-1.2.2.tgz#a893ed347e72299bc83befbbf2a692a8d239d5dd"
- integrity sha1-qJPtNH5yKZvIO++78qaSqNI51d0=
-
-string-similarity@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/string-similarity/-/string-similarity-1.2.2.tgz#99b2c20a3c9bbb3903964eae1d89856db3d8db9b"
- integrity sha512-IoHUjcw3Srl8nsPlW04U3qwWPk3oG2ffLM0tN853d/E/JlIvcmZmDY2Kz5HzKp4lEi2T7QD7Zuvjq/1rDw+XcQ==
- dependencies:
- 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@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
- integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
- dependencies:
- is-fullwidth-code-point "^2.0.0"
- strip-ansi "^4.0.0"
-
-string-width@^3.0.0, string-width@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
- integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
- dependencies:
- emoji-regex "^7.0.1"
- is-fullwidth-code-point "^2.0.0"
- strip-ansi "^5.1.0"
-
-string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
- integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
- dependencies:
- emoji-regex "^8.0.0"
- is-fullwidth-code-point "^3.0.0"
- strip-ansi "^6.0.0"
-
-string.prototype.matchall@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e"
- integrity sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.0"
- has-symbols "^1.0.1"
- internal-slot "^1.0.2"
- regexp.prototype.flags "^1.3.0"
- side-channel "^1.0.2"
-
-string.prototype.trimend@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913"
- integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.5"
-
-string.prototype.trimstart@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54"
- integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.5"
-
-string_decoder@^1.0.0, string_decoder@^1.1.1:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
- integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
- dependencies:
- safe-buffer "~5.2.0"
-
-string_decoder@~0.10.x:
- version "0.10.31"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
- integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
-
-string_decoder@~1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
- integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
- dependencies:
- safe-buffer "~5.1.0"
-
-stringify-entities@^1.0.1:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-1.3.2.tgz#a98417e5471fd227b3e45d3db1861c11caf668f7"
- integrity sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==
- dependencies:
- character-entities-html4 "^1.0.0"
- character-entities-legacy "^1.0.0"
- is-alphanumerical "^1.0.0"
- is-hexadecimal "^1.0.0"
-
-stringify-entities@^3.0.0, stringify-entities@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-3.0.1.tgz#32154b91286ab0869ab2c07696223bd23b6dbfc0"
- integrity sha512-Lsk3ISA2++eJYqBMPKcr/8eby1I6L0gP0NlxF8Zja6c05yr/yCYyb2c9PwXjd08Ib3If1vn1rbs1H5ZtVuOfvQ==
- dependencies:
- character-entities-html4 "^1.0.0"
- character-entities-legacy "^1.0.0"
- is-alphanumerical "^1.0.0"
- is-decimal "^1.0.2"
- is-hexadecimal "^1.0.0"
-
-strip-ansi@3.0.1, strip-ansi@^3, strip-ansi@^3.0.0, strip-ansi@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
- integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
- dependencies:
- ansi-regex "^2.0.0"
-
-strip-ansi@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
- integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
- dependencies:
- ansi-regex "^3.0.0"
-
-strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
- integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
- dependencies:
- ansi-regex "^4.1.0"
-
-strip-ansi@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
- integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
- dependencies:
- ansi-regex "^5.0.0"
-
-strip-bom-string@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
- integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=
-
-strip-bom@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
- integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
-
-strip-bom@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
- integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
-
-strip-eof@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
- integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
-
-strip-final-newline@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
- integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
-
-strip-indent@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001"
- integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==
- dependencies:
- min-indent "^1.0.0"
-
-strip-json-comments@^3.0.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
- integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
-
-strip-json-comments@~2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
- integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
-
-striptags@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/striptags/-/striptags-3.1.1.tgz#c8c3e7fdd6fb4bb3a32a3b752e5b5e3e38093ebd"
- integrity sha1-yMPn/db7S7OjKjt1LltePjgJPr0=
-
-style-loader@^0.23.1:
- version "0.23.1"
- resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925"
- integrity sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==
- dependencies:
- loader-utils "^1.1.0"
- schema-utils "^1.0.0"
-
-style-to-object@0.3.0, style-to-object@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46"
- integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==
- dependencies:
- inline-style-parser "0.1.1"
-
-style-to-object@^0.2.1:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.2.3.tgz#afcf42bc03846b1e311880c55632a26ad2780bcb"
- integrity sha512-1d/k4EY2N7jVLOqf2j04dTc37TPOv/hHxZmvpg8Pdh8UYydxeu/C1W1U4vD8alzf5V2Gt7rLsmkr4dxAlDm9ng==
- dependencies:
- inline-style-parser "0.1.1"
-
-stylehacks@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5"
- integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==
- dependencies:
- browserslist "^4.0.0"
- postcss "^7.0.0"
- postcss-selector-parser "^3.0.0"
-
-stylis@3.5.0:
- version "3.5.0"
- resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.0.tgz#016fa239663d77f868fef5b67cf201c4b7c701e1"
- integrity sha512-pP7yXN6dwMzAR29Q0mBrabPCe0/mNO1MSr93bhay+hcZondvMMTpeGyd8nbhYJdyperNT2DRxONQuUGcJr5iPw==
-
-stylis@^3.5.2:
- version "3.5.4"
- resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe"
- integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==
-
-subscriptions-transport-ws@^0.9.16:
- version "0.9.17"
- resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.17.tgz#e30e40f0caae0d2781903c01a8cb51b6e2682098"
- integrity sha512-hNHi2N80PBz4T0V0QhnnsMGvG3XDFDS9mS6BhZ3R12T6EBywC8d/uJscsga0cVO4DKtXCkCRrWm2sOYrbOdhEA==
- dependencies:
- backo2 "^1.0.2"
- eventemitter3 "^3.1.0"
- iterall "^1.2.1"
- symbol-observable "^1.0.4"
- ws "^5.2.0"
-
-sudo-prompt@^8.2.0:
- version "8.2.5"
- resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-8.2.5.tgz#cc5ef3769a134bb94b24a631cc09628d4d53603e"
- integrity sha512-rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw==
-
-supports-color@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
- integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
-
-supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0:
- version "5.5.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
- integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
- dependencies:
- has-flag "^3.0.0"
-
-supports-color@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
- integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
- dependencies:
- has-flag "^3.0.0"
-
-supports-color@^7.1.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
- integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
- dependencies:
- has-flag "^4.0.0"
-
-svg-parser@^2.0.0:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5"
- integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==
-
-svg-tag-names@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/svg-tag-names/-/svg-tag-names-2.0.1.tgz#acf5655faaa2e4b173007599226b906be1b38a29"
- integrity sha512-BEZ508oR+X/b5sh7bT0RqDJ7GhTpezjj3P1D4kugrOaPs6HijviWksoQ63PS81vZn0QCjZmVKjHDBniTo+Domg==
-
-svgo@^1.0.0, svgo@^1.2.2:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167"
- integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==
- dependencies:
- 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"
-
-swap-case@^1.1.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-1.1.2.tgz#c39203a4587385fad3c850a0bd1bcafa081974e3"
- integrity sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=
- dependencies:
- lower-case "^1.1.1"
- upper-case "^1.1.1"
-
-symbol-observable@^1.0.4, symbol-observable@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
- integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
-
-synchronous-promise@^2.0.6:
- version "2.0.13"
- resolved "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.13.tgz#9d8c165ddee69c5a6542862b405bc50095926702"
- integrity sha512-R9N6uDkVsghHePKh1TEqbnLddO2IY25OcsksyFp/qBe7XYd0PVbKEWxhcdMhpLzE1I6skj5l4aEZ3CRxcbArlA==
-
-tabbable@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-4.0.0.tgz#5bff1d1135df1482cf0f0206434f15eadbeb9261"
- integrity sha512-H1XoH1URcBOa/rZZWxLxHCtOdVUEev+9vo5YdYhC9tCY4wnybX+VQrCYuy9ubkg69fCBxCONJOSLGfw0DWMffQ==
-
-table@^5.2.3:
- version "5.4.6"
- resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e"
- integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==
- dependencies:
- ajv "^6.10.2"
- lodash "^4.17.14"
- slice-ansi "^2.1.0"
- string-width "^3.0.0"
-
-tapable@^1.0.0, tapable@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
- integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
-
-term-size@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69"
- integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=
- dependencies:
- execa "^0.7.0"
-
-term-size@^2.1.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.0.tgz#1f16adedfe9bdc18800e1776821734086fcc6753"
- integrity sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==
-
-terser-webpack-plugin@^1.4.3, terser-webpack-plugin@^1.4.4:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz#2c63544347324baafa9a56baaddf1634c8abfc2f"
- integrity sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==
- dependencies:
- cacache "^12.0.2"
- find-cache-dir "^2.1.0"
- is-wsl "^1.1.0"
- schema-utils "^1.0.0"
- serialize-javascript "^3.1.0"
- source-map "^0.6.1"
- terser "^4.1.2"
- webpack-sources "^1.4.0"
- worker-farm "^1.7.0"
-
-terser@^4.0.0, terser@^4.1.2:
- version "4.8.0"
- resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17"
- integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==
- dependencies:
- commander "^2.20.0"
- source-map "~0.6.1"
- source-map-support "~0.5.12"
-
-text-table@0.2.0, text-table@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
- integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
-
-theme-ui@^0.2.49:
- version "0.2.52"
- resolved "https://registry.yarnpkg.com/theme-ui/-/theme-ui-0.2.52.tgz#c041a32b0b257fc8ecbae273e14e92abd48c0f2d"
- integrity sha512-JFujorP5aFxIm1UyVCtefN5baXjwh5TXHKFYNWgAP+3rqVvggIr46uSMrRNvDjyhFOQiMK8YI8ctPQrrhcETpw==
- dependencies:
- "@emotion/is-prop-valid" "^0.8.1"
- "@styled-system/css" "^5.0.16"
- deepmerge "^4.0.0"
-
-throttle-debounce@^2.0.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-2.2.1.tgz#fbd933ae6793448816f7d5b3cae259d464c98137"
- integrity sha512-i9hAVld1f+woAiyNGqWelpDD5W1tpMroL3NofTz9xzwq6acWBlO2dC8k5EFSZepU6oOINtV5Q3aSPoRg7o4+fA==
-
-through2@^2.0.0, through2@^2.0.1:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
- integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
- dependencies:
- readable-stream "~2.3.6"
- xtend "~4.0.1"
-
-through@^2.3.6:
- version "2.3.8"
- resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
- integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
-
-thunky@^1.0.2:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d"
- integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==
-
-timed-out@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
- integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=
-
-timers-browserify@^2.0.4:
- version "2.0.11"
- resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f"
- integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==
- dependencies:
- setimmediate "^1.0.4"
-
-timsort@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
- integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=
-
-tiny-emitter@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
- integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
-
-tiny-warning@^1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754"
- integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==
-
-tinycolor2@^1.4.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8"
- integrity sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=
-
-tippy.js@^6.2.0:
- version "6.2.6"
- resolved "https://registry.yarnpkg.com/tippy.js/-/tippy.js-6.2.6.tgz#4991bbe8f75e741fb92b5ccfeebcd072d71f8345"
- integrity sha512-0tTL3WQNT0nWmpslhDryRahoBm6PT9fh1xXyDfOsvZpDzq52by2rF2nvsW0WX2j9nUZP/jSGDqfKJGjCtoGFKg==
- dependencies:
- "@popperjs/core" "^2.4.4"
-
-title-case@^2.1.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/title-case/-/title-case-2.1.1.tgz#3e127216da58d2bc5becf137ab91dae3a7cd8faa"
- integrity sha1-PhJyFtpY0rxb7PE3q5Ha46fNj6o=
- dependencies:
- no-case "^2.2.0"
- upper-case "^1.0.3"
-
-tmp@^0.0.33:
- version "0.0.33"
- resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
- integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
- dependencies:
- os-tmpdir "~1.0.2"
-
-tmp@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14"
- integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==
- dependencies:
- rimraf "^3.0.0"
-
-to-array@0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
- integrity sha1-F+bBH3PdTz10zaek/zI46a2b+JA=
-
-to-arraybuffer@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
- integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=
-
-to-fast-properties@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
- integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
-
-to-object-path@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
- integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
- dependencies:
- kind-of "^3.0.2"
-
-to-readable-stream@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771"
- integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==
-
-to-regex-range@^2.1.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
- integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
- dependencies:
- is-number "^3.0.0"
- repeat-string "^1.6.1"
-
-to-regex-range@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
- integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
- dependencies:
- is-number "^7.0.0"
-
-to-regex@^3.0.1, to-regex@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
- integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
- dependencies:
- define-property "^2.0.2"
- extend-shallow "^3.0.2"
- regex-not "^1.0.2"
- safe-regex "^1.1.0"
-
-toggle-selection@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32"
- integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI=
-
-toidentifier@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
- integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
-
-toposort@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330"
- integrity sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=
-
-tough-cookie@~2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
- integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
- dependencies:
- psl "^1.1.28"
- punycode "^2.1.1"
-
-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.3"
- resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-1.1.3.tgz#839514be82428fd9e7ec89e35081afe8f6f93115"
- integrity sha512-E0ZosSWYK2mkSu+KEtQ9/KqarVjA9HztOSX+9FDdNacRAq29RRV6ZQNgob3iuW8Htar9vAfEa6yyt5qBAHZDBA==
-
-trim-trailing-lines@^1.0.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz#7f0739881ff76657b7776e10874128004b625a94"
- integrity sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==
-
-trim@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd"
- integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0=
-
-trough@^1.0.0:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406"
- integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==
-
-"true-case-path@^2.2.1":
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-2.2.1.tgz#c5bf04a5bbec3fd118be4084461b3a27c4d796bf"
- integrity sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==
-
-try-catch@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/try-catch/-/try-catch-2.0.1.tgz#a35d354187c422f291a0bcfd9eb77e3a4f90c1e5"
- integrity sha512-LsOrmObN/2WdM+y2xG+t16vhYrQsnV8wftXIcIOWZhQcBJvKGYuamJGwnU98A7Jxs2oZNkJztXlphEOoA0DWqg==
-
-try-to-catch@^1.0.2:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/try-to-catch/-/try-to-catch-1.1.1.tgz#770162dd13b9a0e55da04db5b7f888956072038a"
- integrity sha512-ikUlS+/BcImLhNYyIgZcEmq4byc31QpC+46/6Jm5ECWkVFhf8SM2Fp/0pMVXPX6vk45SMCwrP4Taxucne8I0VA==
-
-ts-easing@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/ts-easing/-/ts-easing-0.2.0.tgz#c8a8a35025105566588d87dbda05dd7fbfa5a4ec"
- integrity sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==
-
-ts-pnp@^1.1.6:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92"
- integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==
-
-tsconfig-paths@^3.9.0:
- version "3.9.0"
- resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b"
- integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==
- dependencies:
- "@types/json5" "^0.0.29"
- json5 "^1.0.1"
- minimist "^1.2.0"
- strip-bom "^3.0.0"
-
-tslib@^1.0.0, tslib@^1.10.0, tslib@^1.11.2, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
- version "1.13.0"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
- integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
-
-tslib@^2.0.0, tslib@~2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e"
- integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==
-
-tsutils@^3.17.1:
- version "3.17.1"
- resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"
- integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==
- dependencies:
- tslib "^1.8.1"
-
-tty-browserify@0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
- integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=
-
-tunnel-agent@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
- integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
- dependencies:
- safe-buffer "^5.0.1"
-
-tweetnacl@^0.14.3, tweetnacl@~0.14.0:
- version "0.14.5"
- resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
- integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
-
-type-check@~0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
- integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=
- dependencies:
- prelude-ls "~1.1.2"
-
-type-detect@4.0.8:
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
- integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
-
-type-fest@0.15.1:
- version "0.15.1"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.15.1.tgz#d2c4e73d3e4a53cf1a906396dd460a1c5178ca00"
- integrity sha512-n+UXrN8i5ioo7kqT/nF8xsEzLaqFra7k32SEsSPwvXVGyAcRgV/FUQN/sgfptJTR1oRmmq7z4IXMFSM7im7C9A==
-
-type-fest@^0.11.0:
- version "0.11.0"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
- integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==
-
-type-fest@^0.3.0:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1"
- integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==
-
-type-fest@^0.8.0, type-fest@^0.8.1:
- version "0.8.1"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
- integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
-
-type-is@~1.6.17, type-is@~1.6.18:
- version "1.6.18"
- resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
- integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
- dependencies:
- media-typer "0.3.0"
- mime-types "~2.1.24"
-
-type-of@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/type-of/-/type-of-2.0.1.tgz#e72a1741896568e9f628378d816d6912f7f23972"
- integrity sha1-5yoXQYllaOn2KDeNgW1pEvfyOXI=
-
-typedarray-to-buffer@^3.1.5:
- version "3.1.5"
- resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
- integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
- dependencies:
- is-typedarray "^1.0.0"
-
-typedarray-to-buffer@~1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-1.0.4.tgz#9bb8ba0e841fb3f4cf1fe7c245e9f3fa8a5fe99c"
- integrity sha1-m7i6DoQfs/TPH+fCRenz+opf6Zw=
-
-typedarray@^0.0.6:
- version "0.0.6"
- resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
- integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
-
-ua-parser-js@^0.7.18:
- version "0.7.21"
- resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777"
- integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==
-
-uglify-js@^3.5.1:
- version "3.10.1"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.10.1.tgz#dd14767eb7150de97f2573a5ff210db14fffe4ad"
- integrity sha512-RjxApKkrPJB6kjJxQS3iZlf///REXWYxYJxO/MpmlQzVkDWVI3PSnCBWezMecmTU/TRkNxrl8bmsfFQCp+LO+Q==
-
-ulid@2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/ulid/-/ulid-2.3.0.tgz#93063522771a9774121a84d126ecd3eb9804071f"
- integrity sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==
-
-unc-path-regex@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"
- integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo=
-
-underscore.string@^3.3.5:
- version "3.3.5"
- resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.5.tgz#fc2ad255b8bd309e239cbc5816fd23a9b7ea4023"
- integrity sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==
- dependencies:
- sprintf-js "^1.0.3"
- util-deprecate "^1.0.2"
-
-underscore@^1.7.0:
- version "1.10.2"
- resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.10.2.tgz#73d6aa3668f3188e4adb0f1943bd12cfd7efaaaf"
- integrity sha512-N4P+Q/BuyuEKFJ43B9gYuOj4TQUHXX+j2FqguVOpjkssLUUrnJofCcBccJSCoeturDoZU6GorDTHSvUDlSQbTg==
-
-unherit@^1.0.4:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22"
- integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==
- dependencies:
- inherits "^2.0.0"
- xtend "^4.0.0"
-
-unicode-canonical-property-names-ecmascript@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
- integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==
-
-unicode-match-property-ecmascript@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c"
- integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==
- dependencies:
- unicode-canonical-property-names-ecmascript "^1.0.4"
- unicode-property-aliases-ecmascript "^1.0.4"
-
-unicode-match-property-value-ecmascript@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531"
- integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==
-
-unicode-property-aliases-ecmascript@^1.0.4:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4"
- integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==
-
-unified@9.0.0:
- version "9.0.0"
- resolved "https://registry.yarnpkg.com/unified/-/unified-9.0.0.tgz#12b099f97ee8b36792dbad13d278ee2f696eed1d"
- integrity sha512-ssFo33gljU3PdlWLjNp15Inqb77d6JnJSfyplGJPT/a+fNRNyCBeveBAYJdO5khKdF6WVHa/yYCC7Xl6BDwZUQ==
- dependencies:
- bail "^1.0.0"
- extend "^3.0.0"
- is-buffer "^2.0.0"
- is-plain-obj "^2.0.0"
- trough "^1.0.0"
- vfile "^4.0.0"
-
-unified@9.1.0:
- version "9.1.0"
- resolved "https://registry.yarnpkg.com/unified/-/unified-9.1.0.tgz#7ba82e5db4740c47a04e688a9ca8335980547410"
- integrity sha512-VXOv7Ic6twsKGJDeZQ2wwPqXs2hM0KNu5Hkg9WgAZbSD1pxhZ7p8swqg583nw1Je2fhwHy6U8aEjiI79x1gvag==
- dependencies:
- bail "^1.0.0"
- extend "^3.0.0"
- is-buffer "^2.0.0"
- is-plain-obj "^2.0.0"
- trough "^1.0.0"
- vfile "^4.0.0"
-
-unified@^6.2.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/unified/-/unified-6.2.0.tgz#7fbd630f719126d67d40c644b7e3f617035f6dba"
- integrity sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==
- dependencies:
- bail "^1.0.0"
- extend "^3.0.0"
- is-plain-obj "^1.1.0"
- trough "^1.0.0"
- vfile "^2.0.0"
- x-is-string "^0.1.0"
-
-unified@^7.0.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/unified/-/unified-7.1.0.tgz#5032f1c1ee3364bd09da12e27fdd4a7553c7be13"
- integrity sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==
- dependencies:
- "@types/unist" "^2.0.0"
- "@types/vfile" "^3.0.0"
- bail "^1.0.0"
- extend "^3.0.0"
- is-plain-obj "^1.1.0"
- trough "^1.0.0"
- vfile "^3.0.0"
- x-is-string "^0.1.0"
-
-unified@^8.4.2:
- version "8.4.2"
- resolved "https://registry.yarnpkg.com/unified/-/unified-8.4.2.tgz#13ad58b4a437faa2751a4a4c6a16f680c500fff1"
- integrity sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==
- dependencies:
- bail "^1.0.0"
- extend "^3.0.0"
- is-plain-obj "^2.0.0"
- trough "^1.0.0"
- vfile "^4.0.0"
-
-union-value@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
- integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==
- dependencies:
- arr-union "^3.1.0"
- get-value "^2.0.6"
- is-extendable "^0.1.1"
- set-value "^2.0.1"
-
-uniq@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
- integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=
-
-uniqs@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
- integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI=
-
-unique-filename@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
- integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==
- dependencies:
- unique-slug "^2.0.0"
-
-unique-slug@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c"
- integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==
- dependencies:
- imurmurhash "^0.1.4"
-
-unique-string@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a"
- integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=
- dependencies:
- crypto-random-string "^1.0.0"
-
-unique-string@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d"
- integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==
- dependencies:
- crypto-random-string "^2.0.0"
-
-unist-builder@2.0.3, unist-builder@^2.0.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436"
- integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==
-
-unist-builder@^1.0.1:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-1.0.4.tgz#e1808aed30bd72adc3607f25afecebef4dd59e17"
- integrity sha512-v6xbUPP7ILrT15fHGrNyHc1Xda8H3xVhP7/HAIotHOhVPjH5dCXA097C3Rry1Q2O+HbOLCao4hfPB+EYEjHgVg==
- dependencies:
- object-assign "^4.1.0"
-
-unist-util-generated@^1.0.0, unist-util-generated@^1.1.0:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.5.tgz#1e903e68467931ebfaea386dae9ea253628acd42"
- integrity sha512-1TC+NxQa4N9pNdayCYA1EGUOCAO0Le3fVp7Jzns6lnua/mYgwHo0tz5WUAfrdpNch1RZLHc61VZ1SDgrtNXLSw==
-
-unist-util-is@^2.0.0, unist-util-is@^2.1.1, unist-util-is@^2.1.2:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-2.1.3.tgz#459182db31f4742fceaea88d429693cbf0043d20"
- integrity sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA==
-
-unist-util-is@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd"
- integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==
-
-unist-util-is@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.0.2.tgz#c7d1341188aa9ce5b3cff538958de9895f14a5de"
- integrity sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==
-
-unist-util-map@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/unist-util-map/-/unist-util-map-1.0.5.tgz#701069b72e1d1cc02db265502a5e82b77c2eb8b7"
- integrity sha512-dFil/AN6vqhnQWNCZk0GF/G3+Q5YwsB+PqjnzvpO2wzdRtUJ1E8PN+XRE/PRr/G3FzKjRTJU0haqE0Ekl+O3Ag==
- dependencies:
- object-assign "^4.0.1"
-
-unist-util-modify-children@^1.0.0:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/unist-util-modify-children/-/unist-util-modify-children-1.1.6.tgz#1587130ca0ab5c56155fa60837ff524c3fbfbfaa"
- integrity sha512-TOA6W9QLil+BrHqIZNR4o6IA5QwGOveMbnQxnWYq+7EFORx9vz/CHrtzF36zWrW61E2UKw7sM1KPtIgeceVwXw==
- dependencies:
- array-iterate "^1.0.0"
-
-unist-util-position@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.1.0.tgz#1c42ee6301f8d52f47d14f62bbdb796571fa2d47"
- integrity sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==
-
-unist-util-remove-position@^1.0.0, unist-util-remove-position@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz#ec037348b6102c897703eee6d0294ca4755a2020"
- integrity sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==
- dependencies:
- unist-util-visit "^1.1.0"
-
-unist-util-remove-position@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz#5d19ca79fdba712301999b2b73553ca8f3b352cc"
- integrity sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==
- dependencies:
- unist-util-visit "^2.0.0"
-
-unist-util-remove@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-1.0.3.tgz#58ec193dfa84b52d5a055ffbc58e5444eb8031a3"
- integrity sha512-mB6nCHCQK0pQffUAcCVmKgIWzG/AXs/V8qpS8K72tMPtOSCMSjDeMc5yN+Ye8rB0FhcE+JvW++o1xRNc0R+++g==
- dependencies:
- unist-util-is "^3.0.0"
-
-unist-util-remove@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-2.0.0.tgz#32c2ad5578802f2ca62ab808173d505b2c898488"
- integrity sha512-HwwWyNHKkeg/eXRnE11IpzY8JT55JNM1YCwwU9YNCnfzk6s8GhPXrVBBZWiwLeATJbI7euvoGSzcy9M29UeW3g==
- dependencies:
- unist-util-is "^4.0.0"
-
-unist-util-select@^1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/unist-util-select/-/unist-util-select-1.5.0.tgz#a93c2be8c0f653827803b81331adec2aa24cd933"
- integrity sha1-qTwr6MD2U4J4A7gTMa3sKqJM2TM=
- dependencies:
- css-selector-parser "^1.1.0"
- debug "^2.2.0"
- nth-check "^1.0.1"
-
-unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6"
- integrity sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==
-
-unist-util-stringify-position@^2.0.0, unist-util-stringify-position@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da"
- integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==
- dependencies:
- "@types/unist" "^2.0.2"
-
-unist-util-visit-children@^1.0.0:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/unist-util-visit-children/-/unist-util-visit-children-1.1.4.tgz#e8a087e58a33a2815f76ea1901c15dec2cb4b432"
- integrity sha512-sA/nXwYRCQVRwZU2/tQWUqJ9JSFM1X3x7JIOsIgSzrFHcfVt6NkzDtKzyxg2cZWkCwGF9CO8x4QNZRJRMK8FeQ==
-
-unist-util-visit-parents@^2.0.0:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9"
- integrity sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==
- dependencies:
- unist-util-is "^3.0.0"
-
-unist-util-visit-parents@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.0.tgz#4dd262fb9dcfe44f297d53e882fc6ff3421173d5"
- integrity sha512-0g4wbluTF93npyPrp/ymd3tCDTMnP0yo2akFD2FIBAYXq/Sga3lwaU1D8OYKbtpioaI6CkDcQ6fsMnmtzt7htw==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^4.0.0"
-
-unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c"
- integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^4.0.0"
- unist-util-visit-parents "^3.0.0"
-
-unist-util-visit@^1.0.0, unist-util-visit@^1.1.0, unist-util-visit@^1.3.0, unist-util-visit@^1.4.0, unist-util-visit@^1.4.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3"
- integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==
- dependencies:
- unist-util-visit-parents "^2.0.0"
-
-unist-util-visit@~1.3.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.3.1.tgz#c019ac9337a62486be58531bc27e7499ae7d55c7"
- integrity sha512-0fdB9EQJU0tho5tK0VzOJzAQpPv2LyLZ030b10GxuzAWEfvd54mpY7BMjQ1L69k2YNvL+SvxRzH0yUIehOO8aA==
- dependencies:
- unist-util-is "^2.1.1"
-
-universalify@^0.1.0:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
- integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
-
-unpipe@1.0.0, unpipe@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
- integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
-
-unquote@~1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544"
- integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=
-
-unset-value@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
- integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
- dependencies:
- has-value "^0.3.1"
- isobject "^3.0.0"
-
-upath@^1.1.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
- integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==
-
-update-notifier@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.0.tgz#4866b98c3bc5b5473c020b1250583628f9a328f3"
- integrity sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew==
- dependencies:
- boxen "^4.2.0"
- chalk "^3.0.0"
- configstore "^5.0.1"
- has-yarn "^2.1.0"
- import-lazy "^2.1.0"
- is-ci "^2.0.0"
- is-installed-globally "^0.3.1"
- is-npm "^4.0.0"
- is-yarn-global "^0.3.0"
- latest-version "^5.0.0"
- pupa "^2.0.1"
- semver-diff "^3.1.1"
- xdg-basedir "^4.0.0"
-
-upper-case-first@^1.1.0, upper-case-first@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115"
- integrity sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=
- dependencies:
- upper-case "^1.1.1"
-
-upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
- integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=
-
-uri-js@^4.2.2:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
- integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
- dependencies:
- punycode "^2.1.0"
-
-urix@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
- integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
-
-url-join@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/url-join/-/url-join-1.1.0.tgz#741c6c2f4596c4830d6718460920d0c92202dc78"
- integrity sha1-dBxsL0WWxIMNZxhGCSDQySIC3Hg=
-
-url-loader@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-1.1.2.tgz#b971d191b83af693c5e3fea4064be9e1f2d7f8d8"
- integrity sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==
- dependencies:
- loader-utils "^1.1.0"
- mime "^2.0.3"
- schema-utils "^1.0.0"
-
-url-parse-lax@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
- integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=
- dependencies:
- prepend-http "^2.0.0"
-
-url-parse@^1.1.8, url-parse@^1.4.3:
- version "1.4.7"
- resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278"
- integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==
- dependencies:
- querystringify "^2.1.1"
- requires-port "^1.0.0"
-
-url-to-options@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9"
- integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=
-
-url@^0.11.0:
- version "0.11.0"
- resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
- integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=
- dependencies:
- punycode "1.3.2"
- querystring "0.2.0"
-
-urql@^1.9.7:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/urql/-/urql-1.10.0.tgz#609f13891d3c5345635764b71b072edd88a1ae7e"
- integrity sha512-Cxx1INTWNUMg9A2gyltqNqukOLFVtztkHxFGfv01OvsFAtR+wCmLyJqIzGUZRKVbKepTLocGbelS7QDxtjcqtg==
- dependencies:
- "@urql/core" "^1.12.3"
- wonka "^4.0.14"
-
-use-callback-ref@^1.2.1, use-callback-ref@^1.2.3:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.2.4.tgz#d86d1577bfd0b955b6e04aaf5971025f406bea3c"
- integrity sha512-rXpsyvOnqdScyied4Uglsp14qzag1JIemLeTWGKbwpotWht57hbP78aNT+Q4wdFKQfQibbUX4fb6Qb4y11aVOQ==
-
-use-sidecar@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.0.3.tgz#17a4e567d4830c0c0ee100040e85a7fe68611e0f"
- integrity sha512-ygJwGUBeQfWgDls7uTrlEDzJUUR67L8Rm14v/KfFtYCdHhtjHZx1Krb3DIQl3/Q5dJGfXLEQ02RY8BdNBv87SQ==
- dependencies:
- detect-node-es "^1.0.0"
- tslib "^1.9.3"
-
-use@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
- integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
-
-util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
- integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
-
-util.promisify@^1.0.1, util.promisify@~1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee"
- integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.2"
- has-symbols "^1.0.1"
- object.getownpropertydescriptors "^2.1.0"
-
-util@0.10.3:
- version "0.10.3"
- resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
- integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk=
- dependencies:
- inherits "2.0.1"
-
-util@^0.11.0:
- version "0.11.1"
- resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61"
- integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==
- dependencies:
- inherits "2.0.3"
-
-utila@^0.4.0, utila@~0.4:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c"
- integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=
-
-utils-merge@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
- integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
-
-uuid@3.3.2:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
- integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
-
-uuid@3.4.0, uuid@^3.0.0, uuid@^3.2.1, uuid@^3.3.2, uuid@^3.4.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
- integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
-
-uuid@^8.2.0:
- version "8.3.0"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.0.tgz#ab738085ca22dc9a8c92725e459b1d507df5d6ea"
- integrity sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==
-
-v8-compile-cache@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz#8d32e4f16974654657e676e0e467a348e89b0dc4"
- integrity sha512-ejdrifsIydN1XDH7EuR2hn8ZrkRKUYF7tUcBjBy/lhrCvs2K+zRlbW9UHc0IQ9RsYFZJFqJrieoIHfkCa0DBRA==
-
-v8-compile-cache@^2.0.3:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745"
- integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==
-
-valid-url@^1.0.9:
- version "1.0.9"
- resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200"
- integrity sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=
-
-validate-npm-package-license@^3.0.1:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
- integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
- dependencies:
- spdx-correct "^3.0.0"
- spdx-expression-parse "^3.0.0"
-
-vary@^1, vary@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
- integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
-
-vendors@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e"
- integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==
-
-verror@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
- integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
- dependencies:
- assert-plus "^1.0.0"
- core-util-is "1.0.2"
- extsprintf "^1.2.0"
-
-vfile-location@^2.0.0:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.6.tgz#8a274f39411b8719ea5728802e10d9e0dff1519e"
- integrity sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==
-
-vfile-location@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.0.1.tgz#d78677c3546de0f7cd977544c367266764d31bb3"
- integrity sha512-yYBO06eeN/Ki6Kh1QAkgzYpWT1d3Qln+ZCtSbJqFExPl1S3y2qqotJQXoh6qEvl/jDlgpUJolBn3PItVnnZRqQ==
-
-vfile-message@*, vfile-message@^2.0.0:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a"
- integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-stringify-position "^2.0.0"
-
-vfile-message@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1"
- integrity sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==
- dependencies:
- unist-util-stringify-position "^1.1.1"
-
-vfile@^2.0.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/vfile/-/vfile-2.3.0.tgz#e62d8e72b20e83c324bc6c67278ee272488bf84a"
- integrity sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==
- dependencies:
- is-buffer "^1.1.4"
- replace-ext "1.0.0"
- unist-util-stringify-position "^1.0.0"
- vfile-message "^1.0.0"
-
-vfile@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/vfile/-/vfile-3.0.1.tgz#47331d2abe3282424f4a4bb6acd20a44c4121803"
- integrity sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==
- dependencies:
- is-buffer "^2.0.0"
- replace-ext "1.0.0"
- unist-util-stringify-position "^1.0.0"
- vfile-message "^1.0.0"
-
-vfile@^4.0.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.0.tgz#26c78ac92eb70816b01d4565e003b7e65a2a0e01"
- integrity sha512-a/alcwCvtuc8OX92rqqo7PflxiCgXRFjdyoGVuYV+qbgCb0GgZJRvIgCD4+U/Kl1yhaRsaTwksF88xbPyGsgpw==
- dependencies:
- "@types/unist" "^2.0.0"
- is-buffer "^2.0.0"
- replace-ext "1.0.0"
- unist-util-stringify-position "^2.0.0"
- vfile-message "^2.0.0"
-
-vlq@^0.2.2:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26"
- integrity sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==
-
-vm-browserify@^1.0.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
- integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
-
-warning@^4.0.1, warning@^4.0.3:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3"
- integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==
- dependencies:
- loose-envify "^1.0.0"
-
-watchpack-chokidar2@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0"
- integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==
- dependencies:
- chokidar "^2.1.8"
-
-watchpack@^1.6.1:
- version "1.7.4"
- resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b"
- integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==
- dependencies:
- graceful-fs "^4.1.2"
- neo-async "^2.5.0"
- optionalDependencies:
- chokidar "^3.4.1"
- watchpack-chokidar2 "^2.0.0"
-
-wbuf@^1.1.0, wbuf@^1.7.3:
- version "1.7.3"
- resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df"
- integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==
- dependencies:
- minimalistic-assert "^1.0.0"
-
-web-namespaces@^1.0.0, web-namespaces@^1.1.2:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec"
- integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==
-
-webpack-dev-middleware@^3.7.2:
- version "3.7.2"
- resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3"
- integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==
- dependencies:
- 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@^3.11.0:
- version "3.11.0"
- resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz#8f154a3bce1bcfd1cc618ef4e703278855e7ff8c"
- integrity sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==
- dependencies:
- 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.7"
- semver "^6.3.0"
- serve-index "^1.9.1"
- sockjs "0.3.20"
- sockjs-client "1.4.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"
-
-webpack-hot-middleware@^2.25.0:
- version "2.25.0"
- resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz#4528a0a63ec37f8f8ef565cf9e534d57d09fe706"
- integrity sha512-xs5dPOrGPCzuRXNi8F6rwhawWvQQkeli5Ro48PRuQh8pYPCPmNnltP9itiUPT4xI8oW+y0m59lyyeQk54s5VgA==
- dependencies:
- ansi-html "0.0.7"
- html-entities "^1.2.0"
- querystring "^0.2.0"
- strip-ansi "^3.0.0"
-
-webpack-log@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f"
- integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==
- dependencies:
- ansi-colors "^3.0.0"
- uuid "^3.3.2"
-
-webpack-merge@^4.2.2:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d"
- integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==
- dependencies:
- lodash "^4.17.15"
-
-webpack-sources@^0.2.0:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb"
- integrity sha1-F8Yr+vE8cH+dAsR54Nzd6DgGl/s=
- dependencies:
- source-list-map "^1.1.1"
- source-map "~0.5.3"
-
-webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1:
- version "1.4.3"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
- integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==
- dependencies:
- source-list-map "^2.0.0"
- source-map "~0.6.1"
-
-webpack-stats-plugin@^0.3.1:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/webpack-stats-plugin/-/webpack-stats-plugin-0.3.2.tgz#c06b185aa5dcc93b3f0c3a7891d24a111f849740"
- integrity sha512-kxEtPQ6lBBik2qtJlsZkiaDMI6rGXe9w1kLH9ZCdt0wgCGVnbwwPlP60cMqG6tILNFYqXDxNt4+c4OIIuE+Fnw==
-
-webpack-virtual-modules@^0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.2.2.tgz#20863dc3cb6bb2104729fff951fbe14b18bd0299"
- integrity sha512-kDUmfm3BZrei0y+1NTHJInejzxfhtU8eDj2M7OKb2IWrPFAeO1SOH2KuQ68MSZu9IGEHcxbkKKR1v18FrUSOmA==
- dependencies:
- debug "^3.0.0"
-
-webpack@~4.43.0:
- version "4.43.0"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6"
- integrity sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==
- dependencies:
- "@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.1.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.6.1"
- webpack-sources "^1.4.1"
-
-websocket-driver@0.6.5:
- version "0.6.5"
- resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36"
- integrity sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=
- dependencies:
- websocket-extensions ">=0.1.1"
-
-websocket-driver@>=0.5.1:
- version "0.7.4"
- resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760"
- integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==
- dependencies:
- http-parser-js ">=0.5.1"
- safe-buffer ">=5.1.0"
- websocket-extensions ">=0.1.1"
-
-websocket-extensions@>=0.1.1:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42"
- integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==
-
-whatwg-fetch@2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f"
- integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==
-
-whatwg-fetch@>=0.10.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.4.0.tgz#e11de14f4878f773fbebcde8871b2c0699af8b30"
- integrity sha512-rsum2ulz2iuZH08mJkT0Yi6JnKhwdw4oeyMjokgxd+mmqYSd9cPpOQf01TIWgjxG/U4+QR+AwKq6lSbXVxkyoQ==
-
-which-module@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
- integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
-
-which@^1.2.14, which@^1.2.9:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
- integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
- dependencies:
- isexe "^2.0.0"
-
-which@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
- integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
- dependencies:
- isexe "^2.0.0"
-
-widest-line@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc"
- integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==
- dependencies:
- string-width "^2.1.1"
-
-widest-line@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca"
- integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==
- dependencies:
- string-width "^4.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"
-
-wonka@^4.0.14:
- version "4.0.14"
- resolved "https://registry.yarnpkg.com/wonka/-/wonka-4.0.14.tgz#77d680a84e575ed15a9f975eb87d6c530488f3a4"
- integrity sha512-v9vmsTxpZjrA8CYfztbuoTQSHEsG3ZH+NCYfasHm0V3GqBupXrjuuz0RJyUaw2cRO7ouW2js0P6i853/qxlDcA==
-
-word-wrap@~1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
- integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
-
-worker-farm@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
- integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==
- dependencies:
- errno "~0.1.7"
-
-wrap-ansi@^5.0.0, wrap-ansi@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
- integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
- dependencies:
- ansi-styles "^3.2.0"
- string-width "^3.0.0"
- strip-ansi "^5.0.0"
-
-wrap-ansi@^6.2.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
- integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
- dependencies:
- ansi-styles "^4.0.0"
- string-width "^4.1.0"
- strip-ansi "^6.0.0"
-
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
- integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
-
-write-file-atomic@^2.0.0:
- version "2.4.3"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481"
- integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==
- dependencies:
- graceful-fs "^4.1.11"
- imurmurhash "^0.1.4"
- signal-exit "^3.0.2"
-
-write-file-atomic@^3.0.0:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
- integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
- dependencies:
- imurmurhash "^0.1.4"
- is-typedarray "^1.0.0"
- signal-exit "^3.0.2"
- typedarray-to-buffer "^3.1.5"
-
-write@1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
- integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==
- dependencies:
- mkdirp "^0.5.1"
-
-ws@^5.2.0:
- version "5.2.2"
- resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f"
- integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==
- dependencies:
- async-limiter "~1.0.0"
-
-ws@^6.1.0, ws@^6.2.1:
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb"
- integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==
- dependencies:
- async-limiter "~1.0.0"
-
-ws@^7.1.2, ws@^7.3.0:
- version "7.3.1"
- resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8"
- integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==
-
-ws@~6.1.0:
- version "6.1.4"
- resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.4.tgz#5b5c8800afab925e94ccb29d153c8d02c1776ef9"
- integrity sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==
- dependencies:
- async-limiter "~1.0.0"
-
-x-is-string@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82"
- integrity sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=
-
-xdg-basedir@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4"
- integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=
-
-xdg-basedir@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13"
- integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==
-
-xmlhttprequest-ssl@~1.5.4:
- version "1.5.5"
- resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e"
- integrity sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=
-
-xss@^1.0.6:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.8.tgz#32feb87feb74b3dcd3d404b7a68ababf10700535"
- integrity sha512-3MgPdaXV8rfQ/pNn16Eio6VXYPTkqwa0vc7GkiymmY/DqR1SE/7VPAAVZz1GJsJFrllMYO3RHfEaiUGjab6TNw==
- dependencies:
- commander "^2.20.3"
- cssfilter "0.0.10"
-
-xstate@^4.11.0, xstate@^4.9.1:
- version "4.11.0"
- resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.11.0.tgz#dc0bd31079fe22918c2c27c118d6310bef3dcd9e"
- integrity sha512-v+S3jF2YrM2tFOit8o7+4N3FuFd9IIGcIKHyfHeeNjMlmNmwuiv/IbY9uw7ECifx7H/A9aGLcxPSr0jdjTGDww==
-
-xtend@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.2.0.tgz#eef6b1f198c1c8deafad8b1765a04dad4a01c5a9"
- integrity sha1-7vax8ZjByN6vrYsXZaBNrUoBxak=
-
-xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
- integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
-
-xtend@~2.0.4:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.0.6.tgz#5ea657a6dba447069c2e59c58a1138cb0c5e6cee"
- integrity sha1-XqZXptukRwacLlnFihE4ywxebO4=
- dependencies:
- is-object "~0.1.2"
- object-keys "~0.2.0"
-
-xtend@~2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b"
- integrity sha1-bv7MKk2tjmlixJAbM3znuoe10os=
- dependencies:
- object-keys "~0.4.0"
-
-xtend@~3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-3.0.0.tgz#5cce7407baf642cba7becda568111c493f59665a"
- integrity sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=
-
-y18n@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
- integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
-
-yallist@^2.0.0, yallist@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
- integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
-
-yallist@^3.0.2:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
- integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
-
-yallist@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
- integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
-
-yaml-loader@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/yaml-loader/-/yaml-loader-0.6.0.tgz#fe1c48b9f4803dace55a59a1474e790ba6ab1b48"
- integrity sha512-1bNiLelumURyj+zvVHOv8Y3dpCri0F2S+DCcmps0pA1zWRLjS+FhZQg4o3aUUDYESh73+pKZNI18bj7stpReow==
- dependencies:
- loader-utils "^1.4.0"
- yaml "^1.8.3"
-
-yaml@^1.7.2, yaml@^1.8.3:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
- integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
-
-yargs-parser@^13.1.2:
- version "13.1.2"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
- integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
- dependencies:
- camelcase "^5.0.0"
- decamelize "^1.2.0"
-
-yargs-parser@^18.1.2:
- version "18.1.3"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
- integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
- dependencies:
- camelcase "^5.0.0"
- decamelize "^1.2.0"
-
-yargs@^13.3.0, yargs@^13.3.2:
- version "13.3.2"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
- integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
- dependencies:
- 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@^15.3.1:
- version "15.4.1"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8"
- integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
- dependencies:
- 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"
-
-yauzl@^2.10.0:
- version "2.10.0"
- resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
- integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=
- dependencies:
- buffer-crc32 "~0.2.3"
- fd-slicer "~1.1.0"
-
-yeast@0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
- integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk=
-
-yoga-layout-prebuilt@^1.9.3, yoga-layout-prebuilt@^1.9.6:
- version "1.9.6"
- resolved "https://registry.yarnpkg.com/yoga-layout-prebuilt/-/yoga-layout-prebuilt-1.9.6.tgz#98dde95bbf8e6e12835876e9305f1e995c4bb801"
- integrity sha512-Wursw6uqLXLMjBAO4SEShuzj8+EJXhCF71/rJ7YndHTkRAYSU0GY3OghRqfAk9HPUAAFMuqp3U1Wl+01vmGRQQ==
- dependencies:
- "@types/yoga-layout" "1.9.2"
-
-yup@^0.27.0:
- version "0.27.0"
- resolved "https://registry.yarnpkg.com/yup/-/yup-0.27.0.tgz#f8cb198c8e7dd2124beddc2457571329096b06e7"
- integrity sha512-v1yFnE4+u9za42gG/b/081E7uNW9mUj3qtkmelLbW5YPROZzSH/KUUyJu9Wt8vxFJcT9otL/eZopS0YK1L5yPQ==
- dependencies:
- "@babel/runtime" "^7.0.0"
- fn-name "~2.0.1"
- lodash "^4.17.11"
- property-expr "^1.5.0"
- synchronous-promise "^2.0.6"
- toposort "^2.0.2"
-
-yurnalist@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/yurnalist/-/yurnalist-1.1.2.tgz#0fce283f1c53ea25ec278e2d1ab58537323b63e0"
- integrity sha512-y7bsTXqL+YMJQ2De2CBtSftJNLQnB7gWIzzKm10GDyC8Fg4Dsmd2LG5YhT8pudvUiuotic80WVXt/g1femRVQg==
- dependencies:
- babel-runtime "^6.26.0"
- chalk "^2.4.2"
- cli-table3 "^0.5.1"
- debug "^4.1.1"
- deep-equal "^1.1.0"
- detect-indent "^6.0.0"
- inquirer "^7.0.0"
- invariant "^2.2.0"
- is-builtin-module "^3.0.0"
- is-ci "^2.0.0"
- leven "^3.1.0"
- loud-rejection "^2.2.0"
- node-emoji "^1.10.0"
- object-path "^0.11.2"
- read "^1.0.7"
- rimraf "^3.0.0"
- semver "^6.3.0"
- strip-ansi "^5.2.0"
- strip-bom "^4.0.0"
-
-zen-observable-ts@0.8.19:
- version "0.8.19"
- resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.19.tgz#c094cd20e83ddb02a11144a6e2a89706946b5694"
- integrity sha512-u1a2rpE13G+jSzrg3aiCqXU5tN2kw41b+cBZGmnc+30YimdkKiDj9bTowcB41eL77/17RF/h+393AuVgShyheQ==
- dependencies:
- tslib "^1.9.3"
- zen-observable "^0.8.0"
-
-zen-observable@^0.7.0:
- version "0.7.1"
- resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.7.1.tgz#f84075c0ee085594d3566e1d6454207f126411b3"
- integrity sha512-OI6VMSe0yeqaouIXtedC+F55Sr6r9ppS7+wTbSexkYdHbdt4ctTuPNXP/rwm7GTVI63YBc+EBT0b0tl7YnJLRg==
-
-zen-observable@^0.8.0:
- version "0.8.15"
- resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15"
- integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==
-
-zen-push@0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/zen-push/-/zen-push-0.2.1.tgz#ddc33b90f66f9a84237d5f1893970f6be60c3c28"
- integrity sha512-Qv4qvc8ZIue51B/0zmeIMxpIGDVhz4GhJALBvnKs/FRa2T7jy4Ori9wFwaHVt0zWV7MIFglKAHbgnVxVTw7U1w==
- dependencies:
- zen-observable "^0.7.0"
-
-zwitch@^1.0.0:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920"
- integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==
diff --git a/example/HelloWorldFunction/pom.xml b/example/HelloWorldFunction/pom.xml
deleted file mode 100644
index 4d54cd533..000000000
--- a/example/HelloWorldFunction/pom.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-
- 4.0.0
- helloworld
- HelloWorld
- 1.0
- jar
- A sample Hello World created for SAM CLI.
-
- 1.8
- 1.8
- 2.13.2
-
-
-
-
- software.amazon.lambda
- powertools-tracing
- 0.5.0-beta
-
-
- software.amazon.lambda
- powertools-logging
- 0.5.0-beta
-
-
- software.amazon.lambda
- powertools-metrics
- 0.5.0-beta
-
-
- software.amazon.lambda
- powertools-parameters
- 0.5.0-beta
-
-
- software.amazon.lambda
- powertools-sqs
- 0.5.0-beta
-
-
- com.amazonaws
- aws-lambda-java-core
- 1.2.0
-
-
- com.amazonaws
- aws-lambda-java-events
- 3.1.0
-
-
- org.apache.logging.log4j
- log4j-core
- ${log4j.version}
-
-
- org.apache.logging.log4j
- log4j-api
- ${log4j.version}
-
-
- com.fasterxml.jackson.core
- jackson-databind
- 2.11.2
-
-
-
- junit
- junit
- 4.12
- test
-
-
-
-
-
-
- org.codehaus.mojo
- aspectj-maven-plugin
- 1.11
-
- ${maven.compiler.source}
- ${maven.compiler.target}
- ${maven.compiler.target}
-
-
- software.amazon.lambda
- powertools-tracing
-
-
- software.amazon.lambda
- powertools-logging
-
-
- software.amazon.lambda
- powertools-metrics
-
-
- software.amazon.lambda
- powertools-sqs
-
-
-
-
-
-
- compile
-
-
-
-
-
- org.apache.maven.plugins
- maven-shade-plugin
- 3.1.1
-
-
-
-
- package
-
- shade
-
-
-
-
-
-
-
diff --git a/example/HelloWorldFunction/src/main/java/helloworld/App.java b/example/HelloWorldFunction/src/main/java/helloworld/App.java
deleted file mode 100644
index 2444a0cb6..000000000
--- a/example/HelloWorldFunction/src/main/java/helloworld/App.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package helloworld;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import com.amazonaws.services.lambda.runtime.Context;
-import com.amazonaws.services.lambda.runtime.RequestHandler;
-import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent;
-import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent;
-import com.amazonaws.xray.AWSXRay;
-import com.amazonaws.xray.entities.Entity;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import software.amazon.cloudwatchlogs.emf.model.DimensionSet;
-import software.amazon.cloudwatchlogs.emf.model.Unit;
-import software.amazon.lambda.powertools.logging.PowertoolsLogger;
-import software.amazon.lambda.powertools.logging.PowertoolsLogging;
-import software.amazon.lambda.powertools.metrics.PowertoolsMetrics;
-import software.amazon.lambda.powertools.tracing.PowerTracer;
-import software.amazon.lambda.powertools.tracing.PowertoolsTracing;
-
-import static software.amazon.lambda.powertools.metrics.PowertoolsMetricsLogger.metricsLogger;
-import static software.amazon.lambda.powertools.metrics.PowertoolsMetricsLogger.withSingleMetric;
-import static software.amazon.lambda.powertools.tracing.PowerTracer.putMetadata;
-import static software.amazon.lambda.powertools.tracing.PowerTracer.withEntitySubsegment;
-
-/**
- * Handler for requests to Lambda function.
- */
-public class App implements RequestHandler {
-
- Logger log = LogManager.getLogger();
-
- @PowertoolsLogging(logEvent = true, samplingRate = 0.7)
- @PowertoolsTracing(captureError = false, captureResponse = false)
- @PowertoolsMetrics(namespace = "ServerlessAirline", service = "payment", captureColdStart = true)
- public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent input, final Context context) {
- Map headers = new HashMap<>();
-
- headers.put("Content-Type", "application/json");
- headers.put("X-Custom-Header", "application/json");
-
- metricsLogger().putMetric("CustomMetric1", 1, Unit.COUNT);
-
- withSingleMetric("CustomMetrics2", 1, Unit.COUNT, "Another", (metric) -> {
- metric.setDimensions(DimensionSet.of("AnotherService", "CustomService"));
- metric.setDimensions(DimensionSet.of("AnotherService1", "CustomService1"));
- });
-
- PowertoolsLogger.appendKey("test", "willBeLogged");
-
- APIGatewayProxyResponseEvent response = new APIGatewayProxyResponseEvent()
- .withHeaders(headers);
- try {
- final String pageContents = this.getPageContents("https://checkip.amazonaws.com");
- log.info(pageContents);
- PowerTracer.putAnnotation("Test", "New");
- String output = String.format("{ \"message\": \"hello world\", \"location\": \"%s\" }", pageContents);
-
- PowerTracer.withSubsegment("loggingResponse", subsegment -> {
- String sampled = "log something out";
- log.info(sampled);
- log.info(output);
- });
-
- threadOption1();
-
- threadOption2();
-
- log.info("After output");
- return response
- .withStatusCode(200)
- .withBody(output);
- } catch (IOException | InterruptedException e) {
- return response
- .withBody("{}")
- .withStatusCode(500);
- }
- }
-
- private void threadOption1() throws InterruptedException {
- Entity traceEntity = AWSXRay.getTraceEntity();
- Thread thread = new Thread(() -> {
- AWSXRay.setTraceEntity(traceEntity);
- log();
- });
- thread.start();
- thread.join();
- }
-
- private void threadOption2() throws InterruptedException {
- Entity traceEntity = AWSXRay.getTraceEntity();
- Thread anotherThread = new Thread(() -> withEntitySubsegment("inlineLog", traceEntity, subsegment -> {
- String var = "somethingToProcess";
- log.info("inside threaded logging inline {}", var);
- }));
- anotherThread.start();
- anotherThread.join();
- }
-
- @PowertoolsTracing
- private void log() {
- log.info("inside threaded logging for function");
- }
-
-
- @PowertoolsTracing(namespace = "getPageContents", captureResponse = false, captureError = false)
- private String getPageContents(String address) throws IOException {
- URL url = new URL(address);
- putMetadata("getPageContents", address);
- try (BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()))) {
- return br.lines().collect(Collectors.joining(System.lineSeparator()));
- }
- }
-}
diff --git a/example/HelloWorldFunction/src/main/java/helloworld/AppParams.java b/example/HelloWorldFunction/src/main/java/helloworld/AppParams.java
deleted file mode 100644
index 7633263f3..000000000
--- a/example/HelloWorldFunction/src/main/java/helloworld/AppParams.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package helloworld;
-
-import com.amazonaws.services.lambda.runtime.Context;
-import com.amazonaws.services.lambda.runtime.RequestHandler;
-import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent;
-import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import software.amazon.lambda.powertools.parameters.ParamManager;
-import software.amazon.lambda.powertools.parameters.SSMProvider;
-import software.amazon.lambda.powertools.parameters.SecretsProvider;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import static java.time.temporal.ChronoUnit.SECONDS;
-import static software.amazon.lambda.powertools.parameters.transform.Transformer.base64;
-import static software.amazon.lambda.powertools.parameters.transform.Transformer.json;
-
-public class AppParams implements RequestHandler {
-
- Logger log = LogManager.getLogger();
-
- SSMProvider ssmProvider = ParamManager.getSsmProvider();
- SecretsProvider secretsProvider = ParamManager.getSecretsProvider();
-
- String simplevalue = ssmProvider.defaultMaxAge(30, SECONDS).get("/powertools-java/sample/simplekey");
- String listvalue = ssmProvider.withMaxAge(60, SECONDS).get("/powertools-java/sample/keylist");
- MyObject jsonobj = ssmProvider.withTransformation(json).get("/powertools-java/sample/keyjson", MyObject.class);
- Map allvalues = ssmProvider.getMultiple("/powertools-java/sample");
- String b64value = ssmProvider.withTransformation(base64).get("/powertools-java/sample/keybase64");
-
- Map secretjson = secretsProvider.withTransformation(json).get("/powertools-java/userpwd", Map.class);
- MyObject secretjsonobj = secretsProvider.withMaxAge(42, SECONDS).withTransformation(json).get("/powertools-java/secretcode", MyObject.class);
-
- @Override
- public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent input, Context context) {
-
- log.info("\n=============== SSM Parameter Store ===============");
- log.info("simplevalue={}, listvalue={}, b64value={}\n", simplevalue, listvalue, b64value);
- log.info("jsonobj={}\n", jsonobj);
-
- log.info("allvalues (multiple):");
- allvalues.forEach((key, value) -> log.info("- {}={}\n", key, value));
-
- log.info("\n=============== Secrets Manager ===============");
- log.info("secretjson:");
- secretjson.forEach((key, value) -> log.info("- {}={}\n", key, value));
- log.info("secretjsonobj={}\n", secretjsonobj);
-
- Map headers = new HashMap<>();
- headers.put("Content-Type", "application/json");
- headers.put("X-Custom-Header", "application/json");
-
- APIGatewayProxyResponseEvent response = new APIGatewayProxyResponseEvent()
- .withHeaders(headers);
- try {
- final String pageContents = this.getPageContents("https://checkip.amazonaws.com");
- String output = String.format("{ \"message\": \"hello world\", \"location\": \"%s\" }", pageContents);
-
- return response
- .withStatusCode(200)
- .withBody(output);
- } catch (IOException e) {
- return response
- .withBody("{}")
- .withStatusCode(500);
- }
- }
-
- private String getPageContents(String address) throws IOException{
- URL url = new URL(address);
- try(BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()))) {
- return br.lines().collect(Collectors.joining(System.lineSeparator()));
- }
- }
-}
diff --git a/example/HelloWorldFunction/src/main/java/helloworld/AppSqsEvent.java b/example/HelloWorldFunction/src/main/java/helloworld/AppSqsEvent.java
deleted file mode 100644
index ff9d050af..000000000
--- a/example/HelloWorldFunction/src/main/java/helloworld/AppSqsEvent.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package helloworld;
-
-import com.amazonaws.services.lambda.runtime.Context;
-import com.amazonaws.services.lambda.runtime.RequestHandler;
-import com.amazonaws.services.lambda.runtime.events.SQSEvent;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import software.amazon.lambda.powertools.logging.PowertoolsLogging;
-import software.amazon.lambda.powertools.sqs.SqsBatchProcessor;
-import software.amazon.lambda.powertools.sqs.SqsMessageHandler;
-
-import static com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage;
-
-public class AppSqsEvent implements RequestHandler {
- private static final Logger LOG = LogManager.getLogger(AppSqsEvent.class);
-
- @Override
- @SqsBatchProcessor(SampleMessageHandler.class)
- @PowertoolsLogging(logEvent = true)
- public String handleRequest(SQSEvent input, Context context) {
- return "{\"statusCode\": 200}";
- }
-
- public class SampleMessageHandler implements SqsMessageHandler {
-
- @Override
- public String process(SQSMessage message) {
- if("19dd0b57-b21e-4ac1-bd88-01bbb068cb99".equals(message.getMessageId())) {
- throw new RuntimeException(message.getMessageId());
- }
- LOG.info("Processing message with details {}", message);
- return message.getMessageId();
- }
- }
-}
diff --git a/example/HelloWorldFunction/src/main/java/helloworld/AppSqsEventUtil.java b/example/HelloWorldFunction/src/main/java/helloworld/AppSqsEventUtil.java
deleted file mode 100644
index a1300defc..000000000
--- a/example/HelloWorldFunction/src/main/java/helloworld/AppSqsEventUtil.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package helloworld;
-
-import java.util.List;
-
-import com.amazonaws.services.lambda.runtime.Context;
-import com.amazonaws.services.lambda.runtime.RequestHandler;
-import com.amazonaws.services.lambda.runtime.events.SQSEvent;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import software.amazon.lambda.powertools.sqs.PowertoolsSqs;
-import software.amazon.lambda.powertools.sqs.SQSBatchProcessingException;
-
-import static java.util.Collections.emptyList;
-
-public class AppSqsEventUtil implements RequestHandler